Rakshasa to w hinduskiej mitologii „złośliwy potwór-olbrzym grasujący po zapadnięciu zmierzchu i żywiącego się surowym mięsem, także ludzkim”. Backdoor sprzętowy przedstawiony na konferencji BlackHat 2012 nie jest aż tak złośliwy – ale niewiele mu brakuje.
Jonathan Brossard, założyciel francuskiej firmy Toucan Systems, pokazał w swojej prezentacji sprzętową tylną furtkę. W przeciwieństwie do innych prezentacji, tylna furtka nie została przez niego odkryta – on ją stworzył. Wirus jego autorstwa infekuje komputery PC, jest bardzo trudny do wykrycia i jeszcze trudniejszy od usunięcia. Jak udało się to osiągnąć?
Rootkity, bioskity i bootkity
Opisywaliśmy już pierwszego konia trojańskiego z funkcją ukrywania kodu startowego w BIOSie płyty głównej. Rakshasa jest od niego o wiele bardziej zjadliwa. Może ukrywać się wszędzie – podstawowa lokalizacja to oczywiście BIOS płyty głównej, ale jej mechanizmy moga znajdować się również w oprogramowaniu wbudowanym w dowolne urządzenie PCI w komputerze, jak chociażby kartę sieciową, dźwiękową czy napęd CD-ROM. Urządzenia peryferyjne, dzięki obowiązującej architekturze x86, mają możliwość zmieniania zawartości pamięci RAM, dzięki czemu usunięcie wirusa np. z karty sieciowej oznacza, że jego kopia znajdująca się w oprogramowaniu napędu optycznego może ponownie zainfekować komputer. Aby usunąć tego wirusa należy jednocześnie zaktualizować oprogramowanie wszystkich komponentów sprzętowych całego komputera!
Główne komponenty open source
Rakshasa zbudowany jest w oparciu o oprogramowanie open-source takie jak coreboot, SeaBIOS czy iPXE. Dzięki temu nie jest zależny od jednej platformy i może infekować więcej urządzeń (autor szacuje liczbę podatnych płyt głównych na kilkaset modeli). Nie przechowuje także złośliwego kodu w sektorze MBR jak inne tego typu programy. Bootkit, zawierający złośliwe funkcje i mogący wzbudzić podejrzenie oprogramowania antywirusowego, jest pobierany po starcie komputera w postaci pliku PDF i przechowywany tymczasowo w pamięci RAM, by uniknąć pozostawiania zbyt wielu śladów. Odpowiada za to oprogramowanie iPXE, umieszczane w miejscu oryginalnego oprogramowania karty sieciowej. Sam wirus nigdy nie wykonuje operacji zapisu na dysku twardym komputera, dzięki czemu dyski poddane analizie nie będą zawierały żadnych śladów włamania.
Z kolei bootkit, po wykonaniu niezbędnych modyfikacji w jądrze systemu, zostaje usunięty z pamięci zanim mogą zostać uruchomione narzędzia służące do dynamicznej analizy pamięci operacyjnej. Zapewnia to kolejne utrudnienie w procesie wykrywania obecności Rakshasy.
Kontrola bez ograniczeń
Wirus, dzięki temu, że kontroluje działanie zainfekowane systemu na najniższym możliwym poziomie, ma bardzo duże możliwości. Po uruchomieniu przede wszystkim wyłącza funkcje bezpieczeństwa takie jak bit NX (No Execute), ASLR czy zabezpieczenia przed wykorzystaniem System Management Mode. Może też np. wyłączyć szyfrowanie dysków, informując użytkownika, że dyski są ciągle szyfrowane. Może także wyłączyć dowolne oprogramowanie – w szczególności program antywirusowy, i to zanim ten zacznie działać.
Stare zagrożenia w nowym wydaniu
Problemy, pokazane przez Rakshasę, nie są niczym nowym – istnieją od 30 lat, czyli tak długo, jak długo istnieje architektura x86. BIOS atakował już wirus CIH z roku 1998, choć w dużo bardziej prymitywny sposób (kończący się najczęściej koniecznością ponownego wgrania oprogramowania BIOSu). Jakiś czas temu użytkowników komputerów spod znaku nadgryzionego jabłuszka denerwowały klawiatury kompatybilne z Apple wyprodukowane przez innego dostawcę, które potrafiły od czasu do czasu znienacka same napisać „welcome datacomp”. Większość elementów Rakshasy stanowią nieznacznie zmodyfikowane rozwiązania open-source, również znane już od jakiegoś czasu. Dopiero połączenie ich w jeden zestaw stworzyło ciekawa koncepcje wirusa prawie niemożliwego do wykrycia i usunięcia.
Czy trzeba się bać?
Aby zainfekować komputer wirusem, najwygodniej skorzystać z fizycznego dostępu do urządzenia. Możliwa jest jednak również infekcja zdalna, wykorzystująca mechanizmy analogiczne jak inne konie trojańskie, plus funkcjonalność flashowania BIOSu. Przed atakiem Rakshasy zabezpieczone są komputery wymagające aktualizacji BIOSu podpisanych odpowiednim kluczem – jednak ciągle stanowią one jedynie mały wycinek rynku PC. Możliwość ataku zdalnego jest także ograniczona w tych komputerach, w których do zmiany zawartości BIOSu wymagane jest włączenie fizycznego przełącznika. Zagrożenie, choć realne, nie jest jednak bardzo prawdopodobne – przestępcy mają wiele innych, prostszych metod infekowania cudzych komputerów. Prawdopodobnie jedynie instytucje i firmy przetwarzające dane o bardzo wysokim poziomie wrażliwości powinny rozważyć regularne weryfikowanie sum kontrolnych BIOSu czy też wgrywanie nowego, zweryfikowanego oprogramowania do pamięci każdego zakupionego komponentu komputera.
Zainteresowanym tematem polecamy lekturę pracy Brossarda, opisującej szczegóły implementacji lub jego prezentacji z konferencji (jedną z metod na otwarcie prezentacji w systemie Windows jest zmiana rozszerzenie z .cpgz na .gz, rozpakowanie pliku i zmiana rozszerzenie rozpakowanego na .odp, co umożliwia otwarcie w PowerPoincie).
Komentarze
TIL ODP to ZIPy.
A w dawnych czasach to każda szanująca się płyta główna miała przełącznik do odblokowania zapisu w BIOS-ie…