Przejmowanie kontroli nad Linuksem przez port USB

Strona głównaPrzejmowanie kontroli nad Linuksem przez port USB
08.03.2011 14:19
Przejmowanie kontroli nad Linuksem przez port USB
Źródło zdjęć: © heise-online.pl

Rafael Dominguez Vega z MRW InfoSecurity donosi o błędzie programistycznym w sterowniku USB Caiaq, który pozwala na przejęcie kontroli nad systemem Linux za pomocą urządzenia USB.

Rafael Dominguez Vega z MRW InfoSecurity donosi o błędzie programistycznym w sterowniku USB Caiaq, który pozwala na przejęcie kontroli nad systemem Linux za pomocą urządzenia USB.

Błąd polega na tym, że nazwa urządzenia, bez sprawdzania jej długości za pośrednictwem funkcji strcpy(), jest kopiowana od obszaru pamięci o długości 8. bajtów. W ten sposób specjalnie przygotowane urządzenie z dłuższą nazwą może dokonywać operacji zapisu ponad granicami tego bufora, a tym samym przemycać i wykonywać szkodliwy kod. Ze względu na to, iż sterownik znajduje się w większości dystrybucji Linuksa i jest ładowany automatycznie, wystarczy, że napastnik jedynie podłączy urządzenie USB do jednego z portów systemu Linux, aby następnie wykonać własny kod w trybie kernela.

Jak się wydaje, firma MRW nawet stworzyła już takie urządzenie USB i w jednym z wpisów na Twitterze chwali się, że dokonała Linux plug&pwn. Takie szyderstwa z otwartoźródłowego systemu nie są całkiem pozbawione racji – wszak przepełnienie bufora spowodowane przez funkcję strcpy() to tak naprawdę problem znany jeszcze z poprzedniego tysiąclecia. Microsoft już przed kilkoma laty umieścił tę funkcję na liście niedopuszczalnych wywołań funkcji; w następstwie tego programiści nie mogą już umieszczać w swoich programach kodu, który wykorzystuje tę inkryminowaną funkcję. Fakt, iż to wywołanie funkcji w sterowniku należącym do jądra Linux dopiero 14 lutego 2011 roku zastąpiono bezpieczniejszą funkcją strlcpy() ze sprawdzaniem długości ciągów znaków, nie
świadczy zbyt dobrze o jego jakości.

Do wykorzystania takiej luki potrzebny jest bezpośredni dostęp do urządzenia docelowego. Wydaje się jednak, że pomimo takich ograniczeń są one i tak bardzo atrakcyjne dla potencjalnych włamywaczy. Dla przykładu amerykańska firma HBGary pod nazwą kodową Task B stworzyła framework do szpiegowania i dyskredytowania komputerów za pomocą portów takich jak USB albo FireWire. Głównym odbiorcą tych produktów był koncern zbrojeniowy General Dynamics, który z kolei na swojej liście klientów wymienia takie instytucje jak armia USA czy służby specjalne. Szacowana cena tego oprogramowania to około 40. 000 dolarów.

W jednym z ujawnionych e-maili pracownik General Dynamics przedstawia dwa możliwe scenariusze zastosowania: ktoś na krótko zostawia swój notebook bez opieki, co stwarza możliwość, aby na chwilę podpiąć do niego urządzenie, które wkrótce potem zostanie wyjęte. W drugim scenariuszu dodatkowe urządzenie zostaje potajemnie podpięte do wyłączonego komputera, przez nikogo niezauważone pozostaje w nim aż do momentu uruchomienia i po wykonanej pracy zostaje znowu odłączone. W obu tych scenariuszach wyprowadzone w pole zostają metody pełnego szyfrowania dysków twardych, albowiem dostęp następuje w stanie uruchomienia, kiedy system odszyfrowuje wszystkie pliki.

wydanie internetowe www.heise-online.pl

Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Udostępnij:
Wybrane dla Ciebie
Komentarze (4)