BadUSB na wolności: zobacz sam, jak łatwo zamienić zwykły pendrive w nośnik złośliwego kodu
W lipcu tego roku berlińscy hakerzy z Security Research Labszademonstrowali błąd w kontrolerach USB, który może zostaćwykorzystany przez potencjalnych napastników do przeprowadzenianajróżniejszych ataków przeciwko użytkownikom wykorzystującychje urządzeń. Błąd o tyle poważny, że nie nikt nie potrafiłpowiedzieć, jak należałoby się przed nim zabezpieczyć. Z tegoteż powodu jego odkrywcy uznali, że swoją wiedzę o podatnościnazwanej BadUSB przynajmniej na razie zachowają dla siebie.Tajemnice w tej branży nie mają jednak zbyt długiego życia. Lukęponownie odkryli inni badacze, którzy takich skrupułów nie mieli.Kod exploitujący BadUSB jest już do pobrania z GitHuba.
Wiele wskazuje na to, że tę metodę ataku hakerzy spod znakuczarnego kapelusza czy funkcjonariusze niektórych agencji wywiadowczych znająjuż od dawna, więc udostępnienia przez Adama Caudilla i BrandonaWilsona podczas tegorocznego Derbycon kodu wykorzystanego do ataku nakontrolery USB nie można uznać za działanie nieodpowiedzialne. Jużrok temu rumuński badacz Dragos Ruiu wzbudziłsensację w branży bezpieczeństwa, opowiadając o szkodniku,który zakaził jego laboratorium antywirusowe, dobierając sięnawet do maszyn, które były odcięte od Sieci. Ruiu twierdził, żeodkryty przez niego robak wykorzystywał jako swój główny wektorinfekcji nośniki USB. Błąd przepełnienia bufora podczas odczytupozwalać miał na przeprogramowanie kontrolera tak, by zmodyfikowaćzawartość BIOS komputera, a następnie pobrać odpowiedni ładunekze złośliwym kodem.
Przedstawiony przez Karstena Noehla i jego kolegów z SecurityResearch Labs atak BadUSB pozwalał najwyraźniej właśnie na cośtakiego. Według niemieckich hakerów możliwe jest przeprogramowaniefirmware kontrolera USB tak, by uczynić z podłączanego urządzenianośnik cyfrowej zarazy, niemal niemożliwej do wykrycia.Elastyczność urządzeń korzystających z tego standardowego dziśinterfejsu można uzłośliwić do swoich celów: mogą one ogłaszaćsię jako należące do zupełnie innej klasy, niż są wrzeczywistości. Np. zwykły pendrive może twierdzić, że jestkontrolerem sieciowym, na który należy przekierować całąkomunikację hosta, może też udawać klawiaturę, przekazującącałe sekwencje komend do przejęcia kontroli na komputerem. Cowięcej, w ten sposób można przeprogramować firmware innychpodłączonych do USB urządzeń.
Programy antywirusowe można sobie… zainstalować. Na tym ichprzydatność w obliczu badUSB się kończyła. Dostępne na rynkuskanery malware nie są w stanie sprawdzić firmware kontrolerówUSB. W praktyce jedynym zabezpieczeniem byłoby wyłączeniewszystkich portów USB i korzystanie wyłącznie z urządzeńkomunikujących się po innych interfejsach, np. Firewire,Thunderbolt czy stare dobre PS/2 dla klawiatur i myszek. Noehlsugerował, że można by było przygotować kontrolery USB, któreakceptowałyby wyłącznie określoną klasę urządzeń, np. tylkopamięci masowe – ale nie jest jasne, jak można byłoby tozrealizować z istniejącym dziś sprzętem.
Szczegółowe informacje trafiły do USB Implementers Forum, alenie wydaje się, by mogły one w czymś pomóc. Koniecznośćzachowania wstecznej kompatybilności jest dla producentów sprzętusprawą większej wagi, niż zabezpieczenie się przed wyrafinowanymcyberatakiem, znanym tylko hakerskiej elicie. Być może gdyby byłon powszechnie znany, sytuacja wyglądałaby inaczej…
Cauldill i Wilson pokazują nam, jak można przeprogramowaćfirmware popularnego kontrolera Phison, tak by po podłączeniuudawał on klawiaturę wprowadzającą ciągi znaków zgodne zprogramem przygotowanym przez napastnika – w praktyce pozwalającna wykonanie dowolnego kodu z uprawnieniami zalogowanego użytkownika.Taki przeprogramowany kontroler może znaleźć się w drukarce,myszce, pendrive, smartfonie – w praktyce dowolnym urządzeniu,które korzysta z popularnego czipu Phisona. Amerykańscy odkrywcypodkreślają, że też nie wiedzą, co z tym zrobić. Komputermusiałby sprawdzać poprawność firmware podłączonego do niegourządzenia, co w praktyce oznacza, że musiałaby powstać globalnabaza sygnatur oprogramowania, do której każdy producent urządzeńz interfejsem USB zgłaszałby swoje produkty. Mało to realistycznew sytuacji, gdy producenci niezliczonych urządzeń z Chin i innychazjatyckich krajów do dziś zupełnie nie przejmują się kwestiamioficjalnychidentyfikatorów VID i PID, wymaganych przez USB ImplementersForum. W końcu kupujący to co najtańsze użytkownicy też się nieprzejmują kwestią certyfikatów zgodności.
Dostępne na GitHubie exploity działają wyłącznie naurządzeniach z kontrolerem Phison. Znaleźliśmy w redakcjikompatybilny pendrive, instalując na nim złośliwe firmware zapomocą narzędzia DriveCom, a następnie testując ładunek HID,zgodnie z instrukcją.Bez większych problemów udało się nam uzyskać złośliwypendrive, przenoszący rozmaite „bombylogiczne”. Nie są to tylko ataki wymierzone w Windows, bezwiększych trudności można przygotować taki atak działający naOS X czy Linuksie.
Jeśli zależy więc nam na całkowitym bezpieczeństwie naszegolocalhosta, najrozsądniejbędzie poszukać starej klawiatury i myszki ze złączem PS/2, anastępnie zakleić wszystkie porty USB.