Znikający kod

Bootkit czeka na pomysły

Modelowy bootkit nie zawiera procedur destrukcyjnych, ale rozbudowanie go o nowe funkcjonalności jest stosunkowo prostym zadaniem dla doświadczonych programistów. Twórcy kodu wbudowali kilka opcji demonstrujących jego możliwości:

  • periodyczne sprawdzanie czy został uruchomiony konkretny program (wybrana została aplikacja wiersza poleceń cmd.exe), jeśli tak, to rootkit dokonuje elewacji przywilejów,
  • modyfikacja systemu tak, by uruchamiał wybraną usługę, niezależnie od zabezpieczeń wybranych przez administratora (tutaj serwer usługi telnet),
  • przenoszenie danych zastrzeżonych dla wątków pracujących z uprawnieniami systemowymi do wątków pracujących w kontekście użytkownika.
Oczywiście nie są to jedyne czynności, które może wykonywać bootkit będący częścią jądra, bo kod taki dysponuje najwyższymi możliwymi przywilejami. W szczególności może analizować dowolny obszar pamięci i modyfikować pracę każdego procesu. Ponieważ nie są modyfikowane pliki na dysku, żaden z testów ich autentyczności nie wykaże anomalii, zaś analiza powłamaniowa jest skrajnie trudna. Po restarcie system będzie pracował zupełnie normalnie. Przy typowej procedurze zarażenia komputera, wspomnianej przez autorów bootkita (CD-ROM, PXE), może się okazać, że nie będzie żadnych śladów, poza być może podejrzanymi wpisami w logu.

Modelowy bootkit zawiera procedury wyświetlające informację o nim podczas startu Windows Vista, a także umieszcza swoje sygnatury w pamięci jądra. Dokonanie zrzutu za pomocą odpowiednich narzędzi wykaże zatem jego obecność. Usunięcie tych fragmentów kodu jest jednak proste. Oprócz tego są już doniesienia o możliwości ominięcia przez bootkit nawet najbardziej wyrafinowanych zabezpieczeń, takich jak oferowane przez sprzętowe karty do analizy pamięci RamShot lub Co-Pilot.

Można się spodziewać, że bootkity zostaną wykorzystane do obejścia procedur aktywacji Windows Vista i zabezpieczeń DRM. Jest prawdopodobne, że pierwsze takie kody wkrótce się pojawią.

Metody ochrony przed bootkitem

  • aktualizowany program antywirusowy z modułem HIPS
  • stosowanie sieciowych systemów IPS
  • wyłączenie w BIOS możliwości startu z innych nośników poza HDD
  • całkowite wyłączenie opcji startu z sieci (np. PXE) lub korzystanie z kart sieciowych, które tej technologii nie wspierają
  • wyłączenie obsługi USB podczas startu (nie zawsze jest możliwe)
  • rozwiązania zapewniające bezpieczny start komputera, takie jak aplikacje szyfrujące programowo zawartość HDD
  • hasło na BIOS
  • stosowanie składników komputera, w których aktualizacja firmware może być zablokowana sprzętowo

TOP 200