Z protokołu UPnP, umożliwiającego bezpośrednią komunikację między komputerami i urządzeniami sieciowymi, korzystają dziesiątki milionów urządzeń domowych. Spora ich część jest podatna na krytyczne błędy, umożliwiające przejęcie nad nimi kontroli.
Protokół Universal Plug and Play (podłącz i działaj) to rozwiązanie, umożliwiające urządzeniom takim jak komputery, domowe rutery WiFi, drukarki, kamery, telewizory czy serwery multimedialne wzajemne wykrywanie swojej obecności i nawiązywanie łączności w celu wymiany informacji (np. klient BitTorrenta automatycznie otworzy odpowiednie porty na ruterze dla ruchu przychodzącego a Windows automatycznie wykryje drukarki i skanery w sieci lokalnej). Zaletą tego rozwiązania jest brak konieczności ingerencji użytkownika – komunikacja i konfiguracja urządzeń odbywa się automatycznie. Wśród wad można wymienić co najmniej jedną – dziesiątki milionów urządzeń na całym świecie domyślnie obsługuje ten protokół, sprawiając, że jakikolwiek poważny błąd automatycznie dotyczy milionów użytkowników. Tak jest też i w tym przypadku.
Jaka jest skala zagrożenia?
HD Moore, szef firmy Rapid7, opublikował właśnie raport o odkrytych niedawno podatnościach UPnP. Po przeskanowaniu całej przestrzeni adresowej IPv4 odkrył on 81 milionów urządzeń (ponad 2% całości) reagujących na podstawowy pakiet UPnP. 20% z nich udostępnia także interfejs SOAP, umożliwiający atakowanie systemów ukrytych za firewallem. Spośród 81 milionów urządzeń obsługujących UPnP przynajmniej 23 miliony podatne są na błąd zdalnego wykonania kodu, do wywołania którego wystarczy jeden pakiet UDP (potencjalnie ze sfałszowanym adresem nadawcy…). 1500 różnych producentów i 6900 ich produktów okazało się podatnych na przynajmniej jeden z odkrytych błędów. Łatanie wszystkich urządzeń może zająć całe wieki.
Gdzie znajdują się błędy?
Z badania autorów raportu wynika, że 73% wszystkich dostępnych urządzeń UPnP posługuje się oprogramowaniem przygotowanym w oparciu o jeden z 4 zestawów funkcji: Portable SDK for UPnP Devices, MiniUPnP, zestawu komercyjnego autorstwa Broadcomu oraz czwartego, którego autorstwa nie udało się ustalić.
W pakiecie Portable SDK for UPnP Devices badacze znaleźli 8 różnych zdalnie wykorzystywalnych błędów. W większości przypadków urządzenia korzystają ze starych wersji bibliotek, ale nawet w wersji najnowszej ciągle obecne są dwa błędy przepełnienia bufora. Dzięki krytycznemu umiejscowieniu podatnego kodu, do wykorzystania błędów wystarczy pojedynczy pakiet UDP. Z uwagi na wymagania co do zawartości pakietu, zdalne wykonanie kodu nie jest trywialne, jednak jest możliwe.
W pakiecie MiniUPnP odkryto błąd przepełnienia bufora, który, choć naprawiony w najnowszej wersji, jest obecny w wersjach starszych, z których korzysta 69% urządzeń wykorzystujących te biblioteki.
Listy podatnych urządzeń ze względu na ich długość nie zostały zamieszczone w raporcie – można się z nimi zapoznać pod tymi linkami.
Jak się zabezpieczyć?
Rozwiązania są dwa. Tam, gdzie to możliwe, wyłączyć w opcjach używanie protokołu UPnP. Powinno być to możliwe w większości ruterów, kamer czy drukarek. Tam, gdzie jest to niemożliwe, wyłączyć urządzenie – lub odciąć je od sieci publicznej. I nie włączać do czasu zainstalowania aktualizacji oprogramowania, usuwającej błędy. A w wykryciu urządzeń UPnP w sieci domowej na pewno pomoże oprogramowanie ScanNowUPnP, przygotowane przez autorów raportu.
Komentarze
jak to mozliwe ze przeskanowali cala pule adresow ipv4?
Michał: Powoli i dokładnie :) A serio to polecamy już kiedyś u nas opisywaną prezentację autora badania, HD Moore’a, w której opowiada o swoich metodach skanowania całego internetu: https://speakerdeck.com/hdm/derbycon-2012-the-wild-west.
Strona jego projektu to http://critical.io/
Bo to jest tak.My szarży obywatele jesteśmy daleko za hakerami którzy łamią hasła i inne takie jak UPnP.Nie ma odpowiednich zabezpieczeń i nie będzie.Dopóki nie wyrżnie się wszystkich hakerów/a powinno się dawać bardzo wysokie wyroki i gnębić hakerów jak wszy.Bo to są wszy.dziękuję za informację
„Sciągany plik scan now UPNP.exe wygląda na szkodliwy” – Chrome – Ciekawe, ciekawe.
VirusTotal jest mniej krytyczny – 1/45 (https://www.virustotal.com/file/313c0edf0b11dde4caa6fb969c201b42abffe32dc6c8f3371a7346664300ad7f/analysis/1359493650/). A jednym z kryteriów dla Chrome jest ilość pobrań danego pliku – narzędzie jest nowe, więc i ilość pobrań zapewne niewielka.
Dlaczego nie ma DAT kiedy dany komentarz został dodany. Dla oświecenia portalu i autorów dodam, że takie informacje mają znaczenie w internecie, a szczególnie jeśli idzie o bezpieczeństwo.
Ciekawy komentarz. Czy możesz jeszcze trochę nas oświecić, szczególnie opisując, w jaki sposób brak dat wpływa na bezpieczeństwo?