Lekcja 4 z 7 · 8 min
Rootkity: szkodliwe oprogramowanie, które się przed Tobą ukrywa
Zadaniem rootkita jest pozostać w ukryciu i pozostać na miejscu. Zobacz, jak działają rootkity, dlaczego im głębiej siedzą, tym są groźniejsze, i jak nowoczesny macOS bardzo utrudnia im pracę.
Większość szkodliwego oprogramowania chce coś zrobić: ukraść, zaszyfrować, szpiegować. Rootkit chce, żeby nikt go przy tym nie zobaczył. NIST definiuje rootkit jako zestaw narzędzi używany przez atakującego po uzyskaniu dostępu na poziomie roota do komputera, aby ukryć działania atakującego i utrzymać uprzywilejowany dostęp w sposób niejawny. Nazwa pochodzi z Uniksa, gdzie „root” to wszechmocne konto administratora, a „kit” to pakiet zmodyfikowanych narzędzi, które intruz zostawiał, by po cichu zachować tę władzę.
Dwa zadania: trwałość i ukrywanie
Rootkit zwykle łączy dwie umiejętności. Trwałość oznacza przetrwanie ponownych uruchomień i aktualizacji, tak by atakujący nie stracił dostępu. Ukrywanie oznacza chowanie plików, procesów i połączeń sieciowych przed tymi samymi narzędziami, których użyłbyś, by ich szukać. MITRE ATT&CK opisuje tę drugą sztuczkę wprost: rootkity ukrywają obecność programów, plików, połączeń sieciowych i usług, przechwytując i modyfikując wywołania systemu operacyjnego, które o nich informują. Jeśli część systemu, którą pytasz „co działa?”, została zmanipulowana, może po prostu pominąć odpowiedź.
Im głębiej, tym trudniej znaleźć
| Poziom | Gdzie się znajduje | Jak trudno go wykryć i usunąć |
|---|---|---|
| Poziom użytkownika | Podmienia lub przechwytuje zwykłe programy i biblioteki działające na Twoim koncie | Trudno, ale narzędzia z wyższymi uprawnieniami często potrafią dostrzec manipulację |
| Poziom jądra | Ładuje się do jądra systemu operacyjnego, skąd może okłamywać każdy program | Bardzo trudno: sam system podaje fałszywe informacje |
| Poziom rozruchu i firmware | Startuje przed systemem operacyjnym, w procesie rozruchu lub w firmware urządzenia | Najtrudniej: może przetrwać pełną reinstalację systemu operacyjnego |
Ogólna zasada jest taka, że kod działający na niższym, bardziej uprzywilejowanym poziomie może oszukiwać kod działający nad nim. Dlatego rootkity celują tak nisko, jak się da, i dlatego obrońcy wkładają tyle wysiłku w to, by najniższe poziomy komputera były odporne na manipulacje.
Jak macOS się broni
Nowoczesny macOS zbudowano tak, by odebrać rootkitom miejsca, w których kiedyś się chowały. Apple dokumentuje kilka warstw w swoim przewodniku po bezpieczeństwie platformy:
- Ochrona integralności systemu (SIP) uniemożliwia nawet kontu administratora modyfikowanie chronionych części systemu, takich jak foldery i procesy systemowe. Apple zaleca pozostawienie jej włączonej.
- Wolumin systemowy jest zapieczętowany i podpisany: przy starcie macOS sprawdza, czy pliki systemowe są dokładnie takie, jakie dostarczyła Apple, i odmawia użycia zmienionego systemu.
- Bezpieczny rozruch na Macach z Apple silicon (i Macach z układem T2) weryfikuje każdy etap rozruchu przed jego uruchomieniem, więc żaden kod nie może się wślizgnąć przed systemem operacyjnym.
- Rozszerzenia jądra od innych firm są ograniczone i wymagają wyraźnej zgody; Apple przeniosła większość ich zadań do rozszerzeń systemowych, które działają poza jądrem.
Razem sprawia to, że klasyczny rootkit jądra jest dużo trudniejszy do zainstalowania na aktualnym Macu z domyślnymi ustawieniami. To również powód, dla którego atakujący dziś zwykle zostają na poziomie użytkownika i polegają na sztuczkach zapewniających trwałość, takich jak rzeczy otwierane przy logowaniu i agenci uruchamiania, które nie wymagają łamania pieczęci systemu.
Trwałość, którą możesz sprawdzić sam
Ponieważ głębokie rootkity trudno zainstalować, większość mechanizmów trwałości na dzisiejszych Macach jest widoczna, jeśli wiesz, gdzie szukać. macOS wyświetla rzeczy otwierane przy logowaniu i elementy działające w tle w Ustawieniach systemowych, w sekcji Ogólne, a następnie Rzeczy otwierane przy logowaniu i rozszerzenia, oraz powiadamia, gdy dodano nowy element w tle. Wszystko, czego tam nie rozpoznajesz, zasługuje na bliższe przyjrzenie się. MITRE ATT&CK katalogizuje launch agents i launch daemons jako typowe techniki trwałości na macOS właśnie z tego powodu.
Dlaczego sieć wciąż mówi prawdę
Rootkit może okłamywać programy na tym samym komputerze, ale zwykle nadal musi komunikować się ze swoim operatorem. Ten ruch musi przejść przez sieć. Zapora działająca na poziomie aplikacji, osadzona we własnej warstwie filtrowania systemu operacyjnego, widzi połączenia w chwili, gdy system je obsługuje, a router lub inne urządzenie w sieci widzi je z zewnątrz, gdzie rootkit nie ma kontroli. Filtr sieciowy FireAI to rozszerzenie systemowe Apple; pokazuje, która aplikacja stoi za każdym połączeniem, i pyta, zanim nowe aplikacje się połączą. Nie jest wykrywaczem rootkitów i nie widzi przez przejęte jądro, ale niewyjaśniony ruch z procesu, którego nie potrafisz wytłumaczyć, to jeden z klasycznych sygnałów, że coś się ukrywa.
Nie tylko komputery: routery i inne urządzenia
Implanty w stylu rootkitów nie ograniczają się do laptopów. Domowe routery, serwery plików NAS i inne urządzenia działające bez przerwy mają własne małe systemy operacyjne, często aktualizowane rzadko albo wcale. Atakujący wielokrotnie brali je na cel, bo siedzą na każdym połączeniu, a mało kto je kiedykolwiek sprawdza. Aktualizowanie firmware routera, zmiana domyślnego hasła administratora i wyłączenie nieużywanej administracji zdalnej zamykają najczęstsze drzwi. To także wyjaśnia, dlaczego warto patrzeć na ruch z więcej niż jednego miejsca: problem, który siedzi w routerze, nie pojawi się w żadnym skanowaniu Maca.
Jeśli podejrzewasz rootkita
- Załóż, że własne narzędzia systemu mogą nie mówić prawdy; tam, gdzie to możliwe, badaj go z zewnątrz.
- Sprawdź, czy Ochrona integralności systemu jest włączona (Apple opisuje, jak to zrobić), i aktualizuj macOS.
- Przejrzyj Rzeczy otwierane przy logowaniu i rozszerzenia pod kątem nieznanych pozycji.
- Przy poważnym podejrzeniu niezawodnym rozwiązaniem jest wykonanie kopii zapasowej dokumentów (nie aplikacji ani plików systemowych), wymazanie Maca, ponowna instalacja macOS od Apple i odtworzenie tylko swoich danych.
- Jeśli zagrożenie jest celowane, na przykład w dziennikarza lub aktywistę, skorzystaj z pomocy ekspertów i rozważ Tryb blokady.
Najważniejsze
- Celem rootkita jest ukrycie obecności atakującego i utrzymanie uprzywilejowanego dostępu.
- Im niżej siedzi rootkit (użytkownik, jądro, rozruch, firmware), tym trudniej go wykryć i usunąć.
- Ochrona integralności systemu, podpisany wolumin systemowy i bezpieczny rozruch znacznie utrudniają klasyczne rootkity jądra na nowoczesnych Macach.
- Rootkit może okłamywać komputer, ale jego ruch sieciowy wciąż widać z zewnątrz.
Sprawdź się
1. Jakie są dwa główne zadania rootkita?
- Szyfrowanie plików i żądanie zapłaty
- Utrzymanie uprzywilejowanego dostępu (trwałość) i ukrywanie działań atakującego (ukrywanie) — Dobrze.
- Wysyłanie spamu i kopanie kryptowalut
- Wyświetlanie reklam i zmiana strony startowej
NIST definiuje rootkity jako narzędzia, które ukrywają działania atakującego i niejawnie utrzymują uprzywilejowany dostęp.
2. Dlaczego rootkity na poziomie jądra tak trudno wykryć?
- To bardzo małe pliki
- Działają w jądrze systemu operacyjnego i mogą sprawić, że system podaje fałszywe informacje każdemu programowi — Dobrze.
- Działają tylko nocą
- Usuwają się po każdym ponownym uruchomieniu
Kod na bardziej uprzywilejowanym poziomie może oszukiwać programy nad nim, w tym narzędzia, których użyłbyś, by go szukać.
3. Która funkcja macOS uniemożliwia nawet administratorowi modyfikowanie chronionych plików systemowych?
- FileVault
- Ochrona integralności systemu — Dobrze.
- AirDrop
- Time Machine
SIP chroni foldery i procesy systemowe przed modyfikacją, nawet przez konto administratora, co blokuje klasyczną technikę rootkitów.
Wypróbuj to z FireAI
Zastosuj tę lekcję w praktyce na swoim Macu.
- Reguły: aplikacja, strona, domena, IP albo zakres — na zawsze albo do restartu — Napisz regułę tak precyzyjną jak jeden adres albo tak szeroką jak cała domena.
- Mapa świata — Zobacz, dokąd naprawdę trafiają twoje dane, a nie tylko nazwę hosta, którą musiałbyś sam sprawdzić.
- Listy zagrożeń (opcjonalne) — Porównuj swój ruch z publicznymi danymi o zagrożeniach, nigdzie go nie wysyłając.
- Zbadaj połączenie — Decyduj mając przed sobą fakty, a nie niejasne ostrzeżenie.
- Tryby bezpieczeństwa: Dom, Kawiarnia, Paranoiczny, Pod atakiem — Dopasuj surowość FireAI do miejsca, w którym faktycznie jest twój Mac, jednym dotknięciem.
- USB Network Protection: nothing from a USB drive goes online unasked — Plug in a drive someone handed you without letting what’s on it phone home.
Źródła
- NIST Computer Security Resource Center Glossary: rootkit
- MITRE ATT&CK T1014: Rootkit
- MITRE ATT&CK T1543.001: Create or Modify System Process: Launch Agent
- Apple Support: About System Integrity Protection on your Mac
- Apple Platform Security: System security overview
- Apple Support: About Lockdown Mode
Zastosuj to na swoim Macu
Wypróbuj wszystkie funkcje za darmo przez 17 dni, bez karty.