🔄 Losowy artykuł
Szlaki górskie Pociągiem dookoła Polski Podróże kulinarne Hotele-unikaty świata Parkingi przy lotniskach Łowiska Europy Campingi dla kamperów Imprezy — atrakcje w Polsce Poradnik pilota drona Wydarzenia i bilety Promocje bankowe Kamery na żywo Oferty Centrum Podróży Koliber Triper.pl Trip.FazaFM.com — plany podróży

Rootkit

Rootkit (od ang. root – nazwy konta administratora w systemach uniksowych oraz kit – zestaw) – oprogramowanie pozwalające atakującemu na ukrycie obecności innych komponentów malware w systemie[1]. Według definicji NIST jest to zestaw narzędzi używanych przez atakującego po uzyskaniu uprawnień administratora (root), który służy do ukrycia jego działań i utrzymania dostępu do systemu[2].

Rootkit ukrywa niebezpieczne pliki i procesy, które umożliwiają utrzymanie kontroli nad systemem.

Historycznie rootkity były zestawami narzędzi, które włamywacz instalował w systemie uniksowym po uzyskaniu uprawnień konta root, aby utrzymać kontrolę nad systemem i ograniczyć ryzyko wykrycia[3]. Zawierały one zmodyfikowane wersje kluczowych programów systemowych, np. inetd, sshd i ps, które zastępowały oryginalne tuż po dokonaniu włamania[4]. Dzięki modyfikacjom w oryginalnym kodzie programy z rootkita np. nie pokazywały wybranych procesów lub umożliwiały logowanie na roota za podaniem specjalnego hasła. Od takich zestawów (ang. kits) pochodzi nazwa, którą przejęto także dla systemu Windows, choć nie ma w nim konta root[3].

Rootkity działające w trybie jądra infekują jądro tak, by ukrywane procesy i pliki nie pojawiały się na listach zwracanych innym programom. Rootkit może zostać załadowany jako moduł jądra, a następnie usunięty z dysku, przez co po ponownym uruchomieniu systemu praktycznie nie pozostawia śladów[5]. Rootkit może np. ukryć siebie i konia trojańskiego przed administratorem oraz oprogramowaniem antywirusowym. Ukrywanie odbywa się najczęściej przez przejęcie wybranych funkcji systemu operacyjnego, służących np. do wyświetlania listy procesów lub plików w katalogu, a następnie „cenzurowanie” zwracanych przez te funkcje wyników tak, by ukrywane przez rootkit nazwy nie znajdowały się na liście wynikowej.

Istnieją rootkity dla różnych systemów operacyjnych, m.in. Microsoft Windows, Solaris, Mac OS X i FreeBSD. Rootkity mogą działać w trybie użytkownika (ang. user mode) lub w trybie jądra (ang. kernel mode).

Rootkit może się dostać do komputera użytkownika wraz z aplikacją będącą w rzeczywistości trojanem.

Wykrywanie rootkitów

Skuteczność programów antywirusowych wykrywających złośliwe oprogramowanie na podstawie sygnatur ograniczają rootkity, które ukrywają pliki na dysku, a nawet ślady swojej obecności w pamięci. Narzędzia wykrywające działają zwykle w tym samym systemie co złośliwy program, dlatego rootkit może je całkowicie oszukać, np. podając im fałszywe informacje[6]. Takie techniki stosowała m.in. komercyjna wersja rootkita Hacker Defender, przygotowana do atakowania poszczególnych narzędzi wykrywających dostępnych na rynku[7].

Do wykrywania rootkitów stosuje się technikę porównania krzyżowego (ang. cross-view), w której zestawia się dwa obrazy systemu: wynik zwrócony przez API systemu operacyjnego oraz stan odczytany bezpośrednio z jądra lub sprzętu. Pozwala to wykryć ukryte pliki, procesy i wpisy rejestru. Z tej techniki korzystają m.in. narzędzia Blacklight, RootkitRevealer i Strider GhostBuster[6]. W zdrowym systemie oba wyniki powinny być identyczne. Rekordy, które występują w drugim z nich, ale nie zwraca ich API, są prawdopodobnie ukrywane przez rootkit. W ten sam sposób porównanie listy plików odczytanej z obrazu dysku w innym systemie z listą zwracaną przez badany system pozwala wskazać pliki ukrywane przez rootkit działający w jądrze[5].

Inna metoda wykorzystuje to, że sekcje kodu są w nowoczesnych systemach operacyjnych tylko do odczytu, a programy nie powinny modyfikować własnego kodu. Narzędzie System Virginity Verifier, zaprezentowane w 2005 roku przez Joannę Rutkowską[6], sprawdza, czy sekcje kodu ważnych bibliotek dynamicznych (DLL) i sterowników jądra są takie same w pamięci operacyjnej i w odpowiadających im plikach na dysku[7]. Modyfikacja kodu wykonywalnego w pamięci może więc świadczyć o działaniu rootkita. Haków (ang. hooks) typowych dla rootkitów szukają w systemie m.in. narzędzia VICE i System Virginity Verifier[6].

W systemach uniksowych do automatycznego wyszukiwania rootkitów służą m.in. programy rkhunter i chkrootkit. Wykrywają one jednak tylko niektóre, powszechnie znane rootkity na podstawie sygnatur zapisanych jawnym tekstem, a niewielka zmiana w kodzie rootkita wystarcza, by uniknąć wykrycia[4]. Same narzędzia są zwykłymi skryptami powłoki, które w zaatakowanym systemie łatwo podmienić, dlatego przed ich użyciem należy sprawdzić ich integralność[5].

Rootkity wykrywa się także przez analizę zrzutu pamięci operacyjnej, np. programem Volatility, którego moduły sprawdzają m.in. tablicę wywołań systemowych i ukryte moduły jądra[5][8]. Rootkit może jednak wykryć wykonywanie obrazu dysku lub zrzutu pamięci działającego systemu i ukryć swoją obecność, np. przenosząc się w inne miejsce lub tymczasowo się dezaktywując[5].

Ponieważ w zarażonym systemie rootkit może kontrolować praktycznie wszystkie kroki narzędzia, które próbuje go wykryć, istniejące metody niewiele pozwalają zrobić w zakresie usunięcia rootkitów jądra poza uruchomieniem komputera z czystego obrazu systemu operacyjnego, np. z nośnika LiveCD[9]. Z tego samego powodu informacje uzyskane z działającego, potencjalnie skompromitowanego systemu mogą zostać sfałszowane przez rootkit na poziomie jądra. Analizę powłamaniową prowadzi się dlatego na kopii binarnej dysku albo z systemu uruchomionego z zewnętrznego nośnika, np. LiveCD, z badanym dyskiem zamontowanym w trybie tylko do odczytu. Po wykryciu włamania jedynym bezpiecznym rozwiązaniem jest w praktyce pełna reinstalacja systemu[5].

Nawet reinstalacja nie usuwa jednak rootkitów zapisanych w oprogramowaniu układowym UEFI, które przetrwają reinstalację systemu operacyjnego, a nawet wymianę dysku. Pierwszy taki rootkit wykryty w rzeczywistych atakach, LoJax, opisała w 2018 roku firma ESET. Wykorzystała go grupa Sednit (APT28) przeciwko organizacjom rządowym. Jego usunięcie wymaga ponownego zapisania pamięci flash czystym obrazem oprogramowania układowego właściwym dla danej płyty głównej, a jedyną alternatywą jest wymiana płyty głównej. Według ESET takie rzadkie zagrożenia są wymierzone przede wszystkim w cele o wysokiej wartości[10].

Zobacz też

Przypisy

  1. ↑ Dariusz Wawrzyniak, Cyberbezpieczeństwo systemu finansowego, wyd. 1, Wydawnictwo Uniwersytetu Ekonomicznego we Wrocławiu, 2025, s. 50, DOI: 10.15611/2025.97.9, ISBN 978-83-68394-97-9.
  2. ↑ rootkit. NIST Computer Security Resource Center. [dostęp 2026-10-04]. (ang.).
  3. ↑ a b Using Rootkits, [w:] Steven Anson, Steve Bunting, Ryan Johnson, Scott Pearson, Mastering Windows Network Forensics and Investigation, wyd. 2, Sybex, czerwiec 2012, ISBN 978-1-118-23608-6 [dostęp 2026-10-04] (ang.).
  4. ↑ a b chkrootkit -- locally checks for signs of a rootkit. [dostęp 2026-10-04]. (ang.).
  5. ↑ a b c d e f Adam Ziaja, Praktyczna analiza powłamaniowa. Aplikacja webowa w środowisku Linux, Warszawa: Wydawnictwo Naukowe PWN, 2017, ISBN 978-83-01-19347-8., rozdziały: Wstęp, Zabezpieczanie danych, Powłamaniowa analiza systemu Linux.
  6. ↑ a b c d Heng Yin, Dawn Song, Manuel Egele, Christopher Kruegel, Engin Kirda, Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis, „CCS ’07: Proceedings of the ACM Conference on Computer and Communications Security”, Alexandria: ACM, 2007 [dostęp 2026-10-04] (ang.).
  7. ↑ a b Joanna Rutkowska, Rootkits vs. Stealth by Design Malware, Black Hat Europe 2006, Amsterdam 2006, s. 27, 42 [dostęp 2026-10-04] (ang.).
  8. ↑ Linux Command Reference. Volatility Foundation, 2017-12-20. [dostęp 2026-10-04]. (ang.).
  9. ↑ Jeffrey Wilhelm, Tzi-cker Chiueh, A Forced Sampled Execution Approach to Kernel Rootkit Identification, „Recent Advances in Intrusion Detection (RAID 2007). Lecture Notes in Computer Science”, 4637, Springer, 2007, s. 219–235, DOI: 10.1007/978-3-540-74320-0_12 (ang.).
  10. ↑ LoJax: First UEFI rootkit found in the wild, courtesy of the Sednit group. ESET, 2018-09-27. [dostęp 2026-10-04]. (ang.).

Linki zewnętrzne

ℹ Źródło: artykuł „Rootkit” w polskiej Wikipedii. Treść dostępna na licencji CC BY-SA 4.0; lista autorów w historii edycji. Wersja może się różnić od aktualnej na Wikipedii (kopia odświeżana okresowo).
💳 Revolut
Karta wielowalutowa do podróży — płacisz za granicą bez przewalutowań.
Odbierz kartę →
💰 ZEN.COM
Konta multiwalutowe i karty — płatności bez granic z poziomu aplikacji.
Sprawdź ZEN →
🌍 Wise
Przelewy za granicę po realnym kursie — bez ukrytych marż.
Wypróbuj Wise →
Linki polecające — obowiązują regulaminy usług.
FazaFM.com — radio i newsy Hrubek.pl — Hrubieszów blisko Ciebie Gorzkie Groszki — blog