Lekcja 3 z 4 · 10 min
Rejestrowanie i wykrywanie
Co warto logować na jednym Macu i konkretne oznaki – beaconing, anomalie DNS, niepodpisane pliki binarne – że coś wymaga bliższego przyjrzenia się.
Zapora sieciowa, która niczego nie blokuje i niczego nie rejestruje, to tylko połowa obrony. Wykrywanie to druga połowa: zauważanie, kiedy coś na maszynie zachowuje się w sposób nieodpowiedni. Na jednym komputerze Mac nie wymaga to centrum operacji bezpieczeństwa, ale wymaga wiedzy, jak wygląda normalne połączenie na tyle dobrze, aby zauważyć nieprawidłowe.
Co warto rejestrować
Na pojedynczym komputerze przydatne kategorie dzienników odzwierciedlają to, co śledziłoby większe centrum operacji sieciowych, po prostu pomniejszone: które aplikacje nawiązały jakie połączenia, do jakich miejsc docelowych i kiedy; jakie aplikacje działały i czy zostały podpisane przez znanego programistę; oraz zmiany w ustawieniach istotnych dla bezpieczeństwa, takich jak zapora sieciowa lub strażnik. Sam system macOS prowadzi ujednolicony dziennik obejmujący zdarzenia systemowe i aplikacji, który można przeglądać w aplikacji Konsola lub za pomocą log show, a także zapisywane są w nim własne decyzje Application Firewall. To, czego większości ludzi brakuje, to nie dokładne rejestrowanie, ponieważ macOS już rejestruje dużo, ale czytelny widok połączeń wychodzących, ponieważ jest to kierunek, w którym najprawdopodobniej kompromis pojawi się w pierwszej kolejności.
Czytanie dzienników połączeń: jak wygląda normalnie
Dziennik połączeń jest przydatny tylko wtedy, gdy masz ogólne pojęcie o tym, co jest normalne w przypadku danej aplikacji: oczekuje się, że przeglądarka będzie często łączyć się z wieloma różnymi domenami; aplikacja do robienia notatek robiąca to samo nie jest. Trzy szczegóły, na które warto zwrócić uwagę w przypadku każdego połączenia, to miejsce docelowe (domena lub adres IP i najlepiej, kto go obsługuje), czas (jednorazowo, okazjonalnie lub w ustalonych odstępach czasu) oraz odpowiedzialna za to aplikacja.
Wskaźnik: sygnał ostrzegawczy
Beaconing to powtarzające się, często precyzyjnie określone w czasie, połączenie wychodzące wykorzystywane przez oprogramowanie do logowania się na zdalnym serwerze, czasami w celu otrzymania dalszych instrukcji. Struktura ATT&CK firmy MITRE opisuje ten wzorzec ruchu dowodzenia i kontroli w warstwie aplikacji jako coś, czego obrońcy szukają szczególnie poprzez „interwały przypominające sygnał nawigacyjny”: regularne taktowanie, którego nie wytworzyłaby zwykła aplikacja kierowana na użytkownika, która łączy się, gdy jej używasz i w przeciwnym razie pozostaje cicha. Pojedyncza aplikacja cicho łącząca się z tym samym adresem co kilka minut, przez całą dobę, niezależnie od tego, czy z niej korzystasz, czy nie, to rodzaj wzorca, który warto zbadać, a nie odrzucać.
Wskaźnik: anomalie DNS
Każde wyszukiwanie nazwy domeny przechodzi przez system DNS jeszcze przed nawiązaniem połączenia, co sprawia, że ruch DNS jest przydatnym miejscem do wyszukiwania osobliwości: aplikacji rozwiązującej niezwykle długą lub losowo wygenerowaną nazwę domeny, serii wyszukiwań do nieznanych domen lub zapytań DNS o objętości i kształcie, które nie odpowiadają normalnemu przeglądaniu. Wyjaśnienie tunelowania DNS przez Cloudflare opisuje jeden z powodów takiego stanu rzeczy: kodowanie danych w zapytaniach i odpowiedziach DNS może zostać użyte do przenoszenia informacji do lub z sieci przez kontrole, które kontrolują tylko zwykły ruch internetowy. Nie musisz sam w pełni diagnozować techniki; zauważenie, że aktywność DNS z określonej aplikacji wygląda nietypowo, jest wystarczającym powodem, aby przyjrzeć się bliżej lub poprosić o pomoc.
Wskaźnik: niepodpisane pliki binarne
Oczekuje się, że każda legalna aplikacja na Maca będzie podpisana kodem, a większość z nich zostanie również potwierdzona notarialnie (co opisano w kursie dotyczącym wzmacniania systemu macOS w tej witrynie). Możesz sprawdzić, czy konkretna aplikacja jest podpisana z poziomu terminala:
codesign -dv --verbose=4 /Applications/SomeApp.app
Executable=/Applications/SomeApp.app/Contents/MacOS/SomeApp
Identifier=com.example.someapp
...Aplikację, która w ogóle nie jest podpisana lub której identyfikator nie odpowiada temu, czego oczekujesz od tej aplikacji, warto traktować z podejrzliwością, szczególnie jeśli pojawia się ona również na liście procesów tworzących połączenia sieciowe, których nie możesz wyjaśnić. Jest to kontrola tylko do odczytu: sprawdza podpis, nie uruchamia ani nie zmienia aplikacji.
IDS/IPS w skali osobistej
System wykrywania włamań (IDS) obserwuje ruch i ostrzega o podejrzanych wzorcach; system zapobiegania włamaniom (IPS) idzie dalej i automatycznie blokuje ruch. Wersje korporacyjne porównują ruch z dużymi, utrzymywanymi zestawami znanych sygnatur ataków i modeli zachowań. Na jednym komputerze Mac zapora sieciowa dla aplikacji, która oznacza nowe lub nietypowe miejsce docelowe i pozwala wybrać, która działa jako lekka, osobista wersja tego samego pomysłu: wykrywanie z możliwością działania w skali jednego komputera, a nie całej sieci.
Najważniejsze
- Najbardziej przydatną rzeczą do logowania się na pojedynczym Macu są połączenia wychodzące według aplikacji, ponieważ macOS rejestruje już większość zdarzeń systemowych i związanych z bezpieczeństwem gdzie indziej.
- Beaconing to powtarzające się, często regularne połączenie wychodzące, niezależne od tego, czy aktywnie korzystasz z odpowiedzialnej za to aplikacji.
- Nietypowa aktywność DNS (długie lub losowo wyglądające nazwy domen, serie nieznanych wyszukiwań) może wskazywać, że dane przechodzą lub wychodzą poza normalną kontrolę ruchu internetowego.
- `codesign -dv --verbose=4 <path>` to sposób tylko do odczytu, aby sprawdzić, czy aplikacja jest podpisana kodem i przez kogo.
- Osobista zapora sieciowa dla aplikacji, która oznacza nietypowe miejsca docelowe, działa jako lekki system IDS dla jednej maszyny: wykrywanie i możliwość działania.
Sprawdź się
1. Co sprawia, że „sygnalizowanie” jest podejrzane, a nie zwykłe połączenie?
- Używa protokołu HTTPS
- Zdarza się to tylko raz
- Jest to połączenie powtarzalne, często o regularnych odstępach czasu, niezależne od tego, czy aplikacja jest aktywnie używana — Dobrze.
- Pochodzi z przeglądarki
Zwykłe aplikacje łączą się, gdy z nich korzystasz; regularne, mechaniczne meldowanie się, niezależnie od aktywności, to wzorzec kojarzony przez MITER ATT&CK z ruchem dowodzenia i kontroli.
2. Dlaczego warto zwrócić uwagę na nietypową aktywność DNS?
- DNS jest zawsze szyfrowany, więc anomalie są rzadkie
- Dane mogą być kodowane w zapytaniach i odpowiedziach DNS w celu przeniesienia informacji poza kontrole, które sprawdzają jedynie ruch internetowy — Dobrze.
- Wyszukiwania DNS nigdy nie odbywają się na normalnym komputerze Mac
- Ma to znaczenie tylko w przypadku serwerów internetowych, a nie komputerów osobistych
Tunelowanie DNS ukrywa dane w ruchu DNS, szczególnie dlatego, że wiele zabezpieczeń nie sprawdza DNS tak dokładnie, jak ruch HTTP.
3. Co robi `codesign -dv --verbose=4 <app path>`?
- Usuwa niepodpisaną aplikację
- Wyświetla sygnaturę kodu i identyfikator aplikacji bez zmiany ich — Dobrze.
- Blokuje działanie aplikacji
- Instaluje regułę zapory sieciowej dla aplikacji
Jest to polecenie inspekcji tylko do odczytu, które wyświetla informacje o podpisie dla danej aplikacji, przydatne do sprawdzenia, czy jest ona podpisana zgodnie z prawem.
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.
- Wyłącznik awaryjny (kill switch) — Odetnij swojego Maca od internetu jednym kliknięciem, gdy coś wydaje się nie tak.
- Zbadaj połączenie — Decyduj mając przed sobą fakty, a nie niejasne ostrzeżenie.
- Aktywność: każda aplikacja, która się łączyła, i wyszukiwanie historii w zwykłych słowach — Zobacz każdą aplikację, która dziś się łączyła, i zareaguj na dowolną z nich jednym kliknięciem.
Źródła
- MITRE ATT&CK: Application Layer Protocol (T1071)
- Cloudflare Learning: What is DNS tunneling?
- Apple Platform Security: App code signing process
Zastosuj to na swoim Macu
Wypróbuj wszystkie funkcje za darmo przez 17 dni, bez karty.