12:51
31/7/2014

Każdy komputer z USB jest dziurawy?

Berlińscy badacze bezpieczeństwa informują, że odkryli “nowy atak” — wystarczy wpięcie odpowiedniego urządzenia po USB i komputer jest “zhackowany”. Lamentują, że ochrona przed takim atakiem nie istnieje… ale czy rzeczywiście jest się czego obawiać i czy atak jest tak innowacyjny?

BadUSB

Berlińscy badacze Jakob Lell oraz Henryk Plotz i znany czytelnikom Niebezpiecznika Karsten Nohl, ostrzegają, że wszystko co podpinamy do portu USB powinno być traktowane jako z założenia groźne. I nie chodzi tu o wirusy, które mogą znajdować się na pendrive’ach — do tego jesteśmy już przyzwyczajeni i te trzeba jeszcze uruchomić. W przypadku opracowanego przez zespół Nohla ataku, złośliwą akcję wywołać może już samo wpięcie niezaufanego urządzenia do portu USB

url

Problem ma leżeć w kontrolerze USB (w urządzeniu), który pełni rolę pośrednika pomiędzy podpinanym do komputera urządzeniem USB a systemem operacyjnym. Chip kontrolera ma własny firmware, który m.in. definiuje jakiej klasy jest urządzenie (dysk, klawiatura zewnętrzna, karta sieciowa, itp.). To właśnie jego nadpisanie może wyposażyć niewinne urządzenie USB w dodatkowe, złośliwe funkcje — np. imitowanie klawiatury, która w tle, przy pomocy odpowiednich skrótów klawiszowych systemu operacyjnego, wykona polecenia pobrania złośliwego oprogramowania. Przykładową infekcję komputera i podpięcie go do botnetu po wpięciu odpowiedniej wtyczki w port USB, badacze zademonstrowali dziennikarzom Zeitu.

03

Oczywistym następstwem tego typu ataku jest brak możliwości wykrycia złośliwego pendrive’a przez systemy antywirusowe. Nigdzie w systemie nie ma bowiem pliku, który jest “zainfekowany”. Przynajmniej do momentu nawiązania wychodzącego połączenia sieciowego do serwera C&C, o czym wygodnie nie wspominają badacze. Połączenie to jest wykorzystywane do tego, aby ściągnąć i zainstalować malware. W czasie demonstracji skorzystano z payloadów metasploita, który bez dodatkowych zabiegów, jest dość łatwo wykrywalny.

Dodatkowo badacze twierdzą, że jedno złośliwe urządzenie może reprogramować (zarażać) kolejne, podpinane po nim do komputera. Atak ma działać zarówno na Linuksach, Windowsach jak i Mac OS X. Oprócz emulacji klawiatury, ciekawym wydaje się scenariusz emulowania karty sieciowej (co powoduję zmianę routingu i oprócz klasycznych ataków MITM, puszczenie ruchu przez np. własne serwery DNS — i akurat w Polsce doskonale wiemy, czym to grozi).

Atak nie jest idealny

Jest jednak jeden problem. Użytkownik może zauważyć, że coś jest nie tak. Podpinanie urządzenia do USB z reguły generuje “dymek” w traybarze. O ile wykonanie złośliwych funkcji da się opóźnić (tzn. okienko informujące o instalacji sterownika klawiatury w Windows) pojawi się dopiero po jakimś czasie, to mimo wszystko jest do zauważenia — chociaż podobno badacze mają metodę na to, jak sprawić, aby popup błyskawicznie zniknął.

5foundNewHW

Mam port USB, co robić, jak żyć?

Badacze sugerują, aby zrezygnować z dysków USB, a pliki przenosić na …kartach SD. One, chociaż ich firmware też da się przeprogramować (por. jak nadpisać firmware karty SD aby zainstalować rootkita), to nie są w stanie udawać innego typu urządzenia niż nośnik danych.

Warto też podkreślić, że złośliwe akcje wykonywane są na prawach użytkownika, który “wetknął” urządzenie USB. Odpowiednie ograniczenie uprawnień użytkownikowi (dostęp do krytycznych systemowych usług) może być pewnym rozwiązaniem.

Pamiętajcie, że atak nie jest ograniczony do pendrive’ów — pod port USB podpinamy także …telefony komórkowe, których firmware także da się nadpisać tak, aby symulowały inne urządzenia wejścia/wyjścia.

Niestety, na chwilę obecną to jedyne rady. My od siebie możemy jeszcze zasugerować rozwiązanie typu DeviceLock — choć nie mamy pewności, czy sprawdzi się akurat w przypadku tego ataku, którego szczegóły nie są jeszcze znane i publicznie dostępne…

Mało szczegółów, bo to zapowiedź…

Powyższy artykuł powstał na bazie opisów, jakie na temat ataku do tej pory pojawiły się w sieci. Pełne wyniki badań Berlińczyków zostaną ujawnione na nadchodzącej konferencji BlackHat.

Na koniec, wszystkim, którzy myślą, że powyższy atak jest “innowacyjny” i “przełomowy”, przypomnijmy idea wykorzystywania urządzeń HID maskujących się jako pendrive jest znana od dawna — przypomnijmy w tym zakresie chociażby prezentację Marcina Siedlarza z CERT.GOV.PL, która już 2 lata temu poruszała ten problem — albo nasz artykuł sprzed 3 lat, o “złośliwej myszce” :-)


Przeczytaj także:

56 komentarzy

Dodaj komentarz
  1. Mam port USB, co robić, jak żyć?

    Zalepić gliną? :P

    • Trzeba stosować prezerwatywę na każde urządzenie USB :P

  2. 4 lata temu:
    https://niebezpiecznik.pl/post/wizytowka-na-usb/

    • Dobra pamięć. Daj adres na prv, dostaniesz książkę :-)

    • Też pomyślałem o tej wizytówce jak czytałem artykuł. Wtedy fajny bajer, a dzisiaj zagrożenie… jak się ten świat zmienia ;-).

    • Dziękuję, ale książkę już mam ;-)

      Dużo adresów dostaliście na prv?

    • Książkę zawsze można komuś sprezentować – jakiejś szkole, czy coś ;) To już powoli staje się tradycją Niebezpiecznika :)

    • To ja chętnie przyjmę.=]

    • @Piotr – bardzo ladny atak socjologiczny. Duzo adresow wyciagneliscie w ten sposob? :)

  3. Wystarczy poczytać dokumentację USB albo wystarczy dowolna książka opisująca programowanie portu USB dla mikrokontrolerów, aby szybko dość do wniosku iż stworzenie DOWOLNIE podszywającego się urządzenia to jest kwestia pomysłu. Poza tym nie powiedzieliście iż pod vendora sprzętu na USB można się bardzo łatwo podszyć też grzebiąc w deskryptorach protokołu USB, a lista vendorów dla sprzętu jest łatwa do zdobycia (to jest moim zdaniem bardzo ciekawy wektor ataku – urządzenie które podszywa się pod zaufanego vendora i robi kuku).

  4. Płyta do 386, same RS232 i LPT (na karcie rozszerzeń) więc da się żyć.

  5. Zaraz sprytny biznesmen wypuści na rynek “kondomy” na usb. Przejściówka USB, która pozwala wetknąć np. tylko pendrive, innych urządzeń nie przepuszcza. Podobne urządzenia już były, np. przepuszczające tylko zasilanie bez danych gdy chcesz podładować komórkę z obcego portu USB.

    • No tak, tylko w przypadku ładowania telefonów wystarczy jedynie w wejściu/wyjściu ładowarki wyciąć piny odpowiedzialne za transmisję danych i zostawić +5V i GND, w przypadku tego o czym piszesz nie jest tak łatwo.

  6. Stare. Rubberducky jest dostępne od kilku lat w Hakshopie.

  7. Jest się czego obawiać bo takie urządzenia już od dawna istnieją i ich “zaprogramowanie” jest dziecinnie proste:
    http://www.usbrubberducky.com
    Po wpięciu rozpoznawane jest przez komputer jako klawiatura a potem już można wprowadzić dowolny ciąg znaków czyli np ściągnąć i uruchomić jakieś oprogramowanie. albo wykonać jakąkolwiek komendę systemową (gdy zalogowany użytkownik jest oczywiście administratorem maszyny).

    • Ale to nie to samo! Ducky działa jak klawiatura (czyli komp musi być odblokowany, żeby coś zdziałać), a opisane tu niebezpieczeństwo umożliwia przeprogramowanie kontrolera USB żadnego bez wiedzy OS-a. Chwila nieuwagi, ktoś podpina “pendrive” do portu, wyciąga go i komp już zawirusowany i w dodatku nie do wykrycia!

    • Oczywiście miało być: bez żadnej wiedzy OS-a.

  8. Urządzenie może pobierać malware przez emulowanie skrótów klawiszowych systemu. Jest to przystosowane do każdego środowiska graficznego jak awesome?

  9. O kurde, jaki bełkot.
    “Chip kontrolera ma własny firmware, który m.in. definiuje jakiej klasy jest urządzenie (dysk, klawiatura zewnętrzna, karta sieciowa, itp.). To właśnie jego nadpisanie może wyposażyć niewinne urządzenie USB w dodatkowe, złośliwe funkcje”
    Ktoś ma problemy z czytaniem ze zrozumieniem albo z tłumaczeniem. Nie chodzi o nadpisanie firmware’u, tylko o manipulację deskryptorami USB. Urządzenie USB w deskryptorach podaje czym jest: klawiaturą, myszą, pendrivem, kartą sieciową itp. Może sobie podać dowolną klasę, dowolny VID, PID itd. Co ma z tym zrobić chip kontrolera USB? Może tylko zaufać. Dokładnie to samo jest np. z kartami PCI. Jak już wspomniano w komentarzach, nie jest to żaden nowy atak. Nie jest to atak na kontroler USB czy na system operacyjny. Jest to atak na użytkownika, polegający na wręczeniu mu urządzenia mające inne (lub dodatkowe) funkcje niż mu powiemy, że ma.

    • To nie to samo przypadkiem? Tzn. “deskryptory” czymkolwiek są (nie znam się na USB) są podawane przez firmware.

      Ad. reszty wypowiedzi to wiadomo że prawda, chociaż dokładnie to pisze w artykule.

    • @MSM: zgadza się. Pierwotnie z tekstu wynikało, że chodzi o firmware kontrolera w komputerze. Teraz jest OK.

    • Dopisaliśmy to co w nawiasie, bo rzeczywiście bez nawiasu można było odnieść wrażenie, że chodzi o kontroler w komputerze.

  10. Karty SD chyba też nie są za bezpieczne :)

    https://niebezpiecznik.pl/post/hackowanie-kart-microsd-czyli-jak-nadpisac-ich-firmware-aby-zainstalowac-rootkita/

    Piter

  11. Polecam zastosowanie metody 2 z tego opisu:
    http://support.microsoft.com/kb/2500967
    Po takiej zmianie, wszystkie nowe urządzenia nie będą automatycznie instalowane w systemie niezależnie od posiadanych uprawnień. Zabezpiecza to również przed atakiem z wykorzystaniem bezpośredniego dostępu do DMA (np. za pomocą programu Inception: http://www.breaknenter.org/projects/inception/).

  12. Wystarczyłoby pytać użytkownika jakimś DialogBoxem po podpięciu sprzętu “Czy właśnie podpiąłeś klawiaturę? TAK/NIE”… i w zależności od odpowiedzi coś (lub nic) robić.

    • tak… a jak nie klikniesz, bo musiałeś wpierw podpiąć myszkę, to wywali błąd: “Nie wykryto klawiatury! Naciśnij F1 aby kontynuować”

    • W sumie, prosta captcha po wpięciu nowej klawiatury… Whitelistowanie wcześniej podłączonych urządzeń podczas startu systemu = wydłużenie czasu ataku o kilka godzin, do pierwszego restartu. Być może lokalnie zapisana whitelista w rejestrze nie jest głupim pomysłem, dopóki malware się do niej nie dobierze.

  13. “badacze mają metodę na to, jak sprawić, aby popup błyskawicznie zniknął. ”
    Kiedyś mi się pokazał tak z dupy jakiś popup o sprzęcie i automatycznie zniknął. Więc nie oni pierwsi to odkryli.

    • i nie że po chwili, to był ułamek sekundy

    • Masz oko
      Jak robocop. :\

  14. Było o tym na defconie 18, przy wykorzystaniu metody USB można było wgrać wirusa bez netu. Urządzenie otwierało notatnik i wpisywało złośliwy kod. http://youtu.be/HvD6Ef-l33M

  15. Ale firmware urządzeń bardzo często nie jest zapisane w ich pamięci, sterownik musi je wysłać, aby to zaczęło działać, stąd np. w Linuxach folder /lib/firmware.

  16. Jeśli to odpala na prawach użyktownika, to na linuxie aby zainstalować malware potrzebuje chyba roota…

  17. Mnie o dziwo wczoraj po podpięciu pendriva do komputera pokazało, że zainstalowało nowe urządzenie USB (nośnik danych), pomimo tego, że ten pendrive był już wpinany… po czym pokazał się BSOD i komp się zresetował… Czy mam się czegoś bać? :D

    • Z opisu (BSOD) wynika, że używasz windowsa. Zatem niestety, masz się czego bać.

    • Wpiąłeś do innego portu USB niż zwykle.

  18. Czyli jeśli mam program antywirusowy to jestem w pewnym stopniu bezpieczny?

  19. Czyli jak wkładam od znajomego programisty pendriva ze zdjęciami z imprezy, to gdy będę miał uruchomionego linuxa w wersji live, to powinno to wystarczyć. Dobrze zrozumiałem?

    • Niejasno napisałem. Nawet jak malware się zainstaluje, to po ponownym uruchomieniu kompa będzie czysto, tak?

  20. Też mi odkrycie. 10 lat temu jak pisałem magisterkę takie programy na procesory imitujące mysz czy klawiaturę były przykładami jak używać USB. Przypadkiem odkryłem że jeśli w urządzeniu są źle zbudowanych deskryptory USB, to po wpięcie do kompa z Win XP można w ten sposób wywołać BSOD. Wystarczy zadeklarować rozmiar deskryptora mniejszy niż prawdziwy rozmiar. Pewnie jakby zrobić bardziej wredny deskryptor dałoby się wstrzyknąć jakiś kod lub uderzyć w parser deskryptorów. Czy nowe windowsy są na to podatne, to nie wiem.

    PS ciekawe co YubiKey na to, w końcu oni bazują na wirtualnej klawiaturze.

  21. A co w przypadku, gdy stosujemy restrykcyjne reguły wychodzącego ruchu sieciowego? Pendrive nie będzie miał możliwości nawiązania transmisji z serwerami botnetu, a co dopiero pobrania jakiś dodatkowych danych.

  22. Ps3 złamali dokładnie w ten sposób. Urządzenie USB manipulowało deskryptorami doprowadzając do wykonania własnego kodu.

  23. Takie USB sprzedaje Hak5 :) Nigdy sie nie doczekałem =- znikły w tranzycie z USA….

  24. http://www.usbcondoms.com ;)

    • A to nie wystarczy samemu zrobić przejściówki w której będziesz miał tylko zewnętrzne piny z zasilaniem?

  25. Dlatego w komputerach gdzie przechowywane i obrabiane są tajne dane blokuje się porty USB.

  26. Fakt, kiedyś widziałem take coś: rozdzielacz USB logiem jakiejś firmy.

    z boku był przycisk. jak się go nacisnęło, to wyskakiwała przeglądarka IE, a w pasku adresu automagiczne wpisywał się adres WWW i otwierała się strona firmy, która rozdawała ten gadżet jako swoją reklamówkę.

    akcja była realizowana oczywiście przez skróty klawiszowe. dopiero teraz uświadomiłem sobie, że za ich pomocą można jednak w jakiś sposób zaszkodzić. np. zamiast adresu www wklepywać link do gotowego pliku .exe, który nieświadomy użytkownik może uruchomić, albo do strony, która przekona użytkownika, że ma coś tam kliknąć…

  27. galvant.ca/shop/usb-wrapper/

  28. Czasem można trafić na takie urządzenie od hack5 na eBay w europie lub na Allegro ale zazwyczaj szybko znikają…

    Powinno się blokować usb na urządzeniach, które są wystawiane “frontem do klienta” np. kioski multimedialne itp. Ale co zrobić np. z samoobsługowymi auomatami do zlecania odbitek foto?

    eh…

  29. Ble ble Ble…
    http://www.pjrc.com/teensy/index.html

    To jest lepsze …
    http://www.breaknenter.org/projects/inception/

  30. […] Elektroniczne papierosy, do waporyzacji mieszanki nikotyny potrzebują energii, którą biorą z baterii. Tą naładować można przez ładowarkę USB, prosto z kontaktu, lub kablem wprost z komputerowego portu USB. Podpięcie może jednak również doprowadzić do transferu danych, w tym do infekcji — a o tym jak łatwo jest zainfekować każde urządzenie z USB pisaliśmy kilka miesięcy temu, por. Każdy komputer z USB jest dziurawy […]

  31. […] przypomnijmy, że problemy z portami dotyczą wszystkich — niedawno ujawniono bardzo poważny atak na każde urządzenie, które wyposażone jest w port USB… A na marginesie, Thunderbolta mają nie tylko Macbooki […]

  32. […] nad komputerem, jeśli dongle z modem zostanie przeprogramowany do funkcji klawiatury na USB (por. Każdy komputer z USB jest dziurawy), która następnie wyda polecenie restartu z zewnętrznego dysku …a dokładnie z podpiętego […]

  33. Karty SD też nie są bezpieczne – nie dosyć, że w firmwarze można podrzucić rootkita (https://niebezpiecznik.pl/post/hackowanie-kart-microsd-czyli-jak-nadpisac-ich-firmware-aby-zainstalowac-rootkita/), to jeszcze można zamienić ją w logiczną kartę wifi, eth, bluetooth etc. i narobić więcej bigosu… http://en.wikipedia.org/wiki/Secure_Digital#SDIO

  34. i właśnie dlatego nigdy nie podpinam pendrive znalezionych na ulicy

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: