Przejdź do treściHisnLabs
← Ochrona sieci dla jednego komputera

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:

Terminal
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. 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. 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. 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.

Źródła

Zastosuj to na swoim Macu

Wypróbuj wszystkie funkcje za darmo przez 17 dni, bez karty.

Pobierz na Maca Dokumentacja