Znikający kod

Bootkity to stara technika ataków, polegająca na zarażaniu komputera podczas jego startu. Teraz powraca w nowej, groźnej formie, atakując systemy Windows Vista.

Bootkity to stara technika ataków, polegająca na zarażaniu komputera podczas jego startu. Teraz powraca w nowej, groźnej formie, atakując systemy Windows Vista.

W czasach systemu MS-DOS i Windows 3.11-95/98 wirusy tego typu występowały bardzo często. Obecnie technologia ta – wydawałoby się przestarzała – wraca do łask. Nowy system Microsoftu zawiera zabezpieczenia jądra, poważnie utrudniające instalację złośliwego oprogramowania jako jego składnika, więc crackerzy zaczęli szukać alternatywnej drogi do umieszczenia złośliwego kodu. Ponieważ obejście zabezpieczeń w Vista nie jest łatwe, przygotowali mechanizmy umożliwiające kontrolowane uruchomienie Windows w przejętym środowisku startowym.

Pierwszym zwiastunem nowego zagrożenia była opublikowana na liście Usenet koncepcja utworzenia rootkita przejmującego kontrolę nad systemem Windows XP podczas jego uruchamiania.

Rozrzucone ogniska choroby

Chociaż jest wiele wirusów, które to robią, ten pomysł był bardzo zaawansowany, gdyż rootkit ten – określany też jako bootkit – modyfikował tylko główny rekord rozruchowy MBR (Master Boot Record) i umieszczał w kilku miejscach na dysku kod ładujący system w kontrolowanym przez siebie środowisku. Tym samym tropem poszła grupa hakerów eEye przygotowując pierwsze koncepcyjne fragmenty kodu przeznaczonego dla Visty, najdalej zaś poszła NVLabs, która przygotowała funkcjonalnego bootkita przejmującego kontrolę nad systemem i dokonującego jego zmian bez zapisu jakichkolwiek danych na dysk.

Obecnie wirusy przenoszące się przez MBR są rzadkością, bo każdy program antywirusowy sprawdza integralność wszystkich etapów ładowania systemu Windows i umieszczanie jakiegokolwiek kodu w tym miejscu mija się z celem. Można, co prawda, modyfikować sposób dostępu do dysku w systemie, ale jest to pracochłonne i stosunkowo łatwe do wykrycia. Twórcy bootkitów znaleźli jednak sposób rozwiązania tego problemu – użyli opcji uruchomienia kodu z sieci, płyty lub z tymczasowo zarażonego dysku.

Drogi ataków na Windows Vista

Najprostsze do wykonania jest przygotowanie CD-ROM lub modyfikacja serwera DHCP. W przypadku startu z sieci, analiza powłamaniowa będzie skrajnie trudna, zaś odłączenie komputera od sieci i przeniesienie do separowanej sieci serwisowej w celu analizy spowoduje, że będzie on pracował zupełnie normalnie. Jeśli w firmie wykorzystuje się system IPS, to rootkit wykorzystujący PXE powinien wywołać alarm. Najtrudniejsza do wykrycia jest modyfikacja firmware w urządzeniach wewnątrz komputera (kontroler SCSI, karta sieciowa, karta graficzna itp.). Warto zauważyć, że rootkit umieszczany tą drogą zachowuje funkcjonalność także poza siecią firmy. To jest jego słaby punkt. Inne metody to:

  1. Modyfikacja sektorów startowych dysku twardego - jest to permanentna instalacja bootkita, niewymagająca zmian ustawień sprzętu. Narzędzia przeznaczone do wykrywania złośliwego kodu uruchamiane np. z płytki startowej sobie z tym poradzą. Być może wykryją to także programy antywirusowe.
  2. PXE - zdalny start komputera przy pomocy karty sieciowej i odpowiednich zasobów sieci lokalnej. Wymaga to włamania na serwer DHCP i włączenia (lub wyposażenia go) w opcję zdalnego uruchamiania innych komputerów tą drogą. Dodatkowo wymaga włączenia opcji startu z sieci jako pierwszego wykorzystywanego źródła uruchomienia komputera.
  3. Start z innego nośnika (CD-ROM, pamięć flash) - jest możliwe w przypadku odblokowania odpowiedniej opcji w BIOS i podstawieniu nośnika z bootkitem.
  4. Modyfikacja BIOS karty graficznej, sieciowej, kontrolera SCSI, innych urządzeń wyposażonych w modyfikowalną pamięć EEPROM, a niedostatecznie zabezpieczonych - modyfikacja tego typu jest bardzo trudna do wykrycia. Nie jest łatwo wykonać własny firmware, trudno również go wgrać, ale po udanym ataku maszyna jest praktycznie bezbronna do czasu usunięcia fragmentów złośliwego kodu z nieulotnej pamięci.
Znikający kod
Bootkit jest ładowany podczas uruchamiania komputera z płyty CD, nośnika USB lub startu z sieci przez PXE i pobraniu kodu ze skompromitowanego serwera DHCP/BOOTP. Bootkit uruchamia Windows Vista w kontrolowanym przez siebie środowisku, zaś program antywirusowy przy sprawdzaniu dysku nie wykaże żadnych nieprawidłowości. Po zamknięciu systemu, dysk także będzie „czysty”. Potencjalnie pozostaje możliwość wykrycia działającego bootkita w pamięci systemu. Ale dobrze napisany kod będzie potrafił ominąć algorytmy detekcji. Były już takie przypadki. Wystarczy wspomnieć choćby Hacker Defender Brilliant, który przez pewien czas wymykał się popularnym narzędziom do wykrywania złośliwych kodów. Programy antywirusowe wykrywają wszystkie omawiane tutaj bootkity, ale powstanie nowych jest tylko kwestią czasu.

Model ataku

Rootkit startujący system, czyli bootkit, najpierw przejmuje kontrolę nad systemem, później nad obsługą jednego z przerwań, a potem szuka systemu Windows Vista. Gdy go znajdzie, rozpoczyna jego modyfikację tak, aby ukryć się w małych porcjach kodu, rozproszonych w różnych obszarach pamięci. Bootkit omija zabezpieczenia, takie jak sumy kontrolne, sprawdzanie cyfrowych podpisów obiektów itd.

Podczas ładowania jądra Windows Vista zostają zmodyfikowane zabezpieczenia systemu, tak aby bootkit został aktywny podczas pracy systemu, aż do jego restartu. Twórcy tego kodu analizowali wiele poziomów zabezpieczeń, od sum kontrolnych nagłówka PE, aż po cyfrowe podpisy plików. Wszystkie dostępne zabezpieczenia udało się obejść. Dzięki temu, że Windows Vista musi zachować pewien poziom zgodności z istniejącymi aplikacjami, bootkit może prawdopodobnie działać we wszystkich zlokalizowanych wersjach systemu, z polską działa bez problemu.

Tylko online

http://www.nvlabs.in/? q=node/16 - autorzy Vbootkita

http://www.securityfocus.com/columnists/442 - wywiad z autorami

http://research.eeye.com/html/tools/RT20060801-7.html - BootRoot - rootkit grupy eEye, na kodzie którego bazowali twórcy Vbootkita

http://www.rootkit.com/- informacje o powstającym podobnym oprogramowaniu

http://theinvisiblethings.blogspot.com/- blog Joanny Rutkowskiej poświęcony bezpieczeństwu systemów.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200