Kill Chain Model to pojęcie mające swoje korzenie w militariach. Aktualnie wykorzystywane jest do opisywania faz ataku na systemy komputerowe. Termin został opisany przez Lockheed’a Martin’a.
Jednym z zadań analityka bezpieczeństwa jest zrozumienie metodyki działań napastnika. Referencja do etapów Cyber Kill Chain ma za zadanie mu to ułatwić. Z definicji monitorowanie każdego z siedmiu etapów ma na celu powstrzymanie zagrożenia na dowolnym z nich.
Ważne: napastnik nie musi przestrzegać dokładnej sekwencji.
Atak nie będzie w pełni skuteczny, dopóki atakujący nie zakończy swoich działań na ostatnim etapie. Dlatego jeśli uda powstrzymać się go na jednej z faz przerwiemy łańcuch.
Przykład z życia: jeśli złodziej był w stanie włamać się do sejfu, ale został zatrzymany zanim wyniósł pieniądze, wtedy jego cel nie zostałby osiągnięty.
1. Reconnaissance
Pierwszy etap to badanie, identyfikacja oraz selekcja celów. Rekonesans to po prostu zbieranie informacji. Faza ta powinna trwać najdłużej, ponieważ to do od niej zależy powodzenie ataku. W metodyce PTES jest to „Intelligence Gathering”.
2. Weaponization
Celem fazy uzbrojenia jest stworzenie „cyber broni” bazując na informacjach zebranych wcześniej. Tworzymy ładunek będący połączeniem RAT’a (remote access trojan) z odpowiednio dobranym exploitem. Może być to wirus, złośliwy kod, kampania phishingowa czy dowolny malware.
Dobór odpowiedniego narzędzia może być tak prosty jak znalezienie „gotowca” w internecie oraz tak skomplikowany jak szukanie 0-day’a.
Problemem dla atakującego jest to, że obrońcy również znają te popularne i często używane narzędzia. Z tego względu codziennie powstają nowe „bronie”.
3. Delivery
Musimy dostarczyć ofierze wcześniej przygotowany ładunek. Transmisja może przybierać różne formy, a większość technik dostarczania jest dostosowana do docelowej osoby lub systemu.
Popularne wektory to: maile, nośniki USB oraz strony internetowe.
Ważne: intruzi potrzebują tylko jednego, skutecznego wektora ataku / dostępu, aby naruszyć bezpieczeństwo organizacji. W przypadku testu penetracyjnego chodziłoby o znalezienie jak największej ilości dróg wejścia.
4. Exploitation
Po dostarczeniu broni faza eksploatacji opisuje, co dzieje się po wykonaniu złośliwego kodu. Chodzi o wykorzystanie błędu np. w systemie, sieci czy aplikacji. Przykład: SQL Injection.
5. Installation
Celem fazy instalacji jest podjęcie takich działań, aby umożliwić sobie stały oraz trwały dostęp do celu. Chodzi o stworzenie tylnych drzwi, czyli utrzymanie „przyczółka”. Dzięki takiemu dostępowi, napastnik może przez dłuższy czas skutecznie prowadzić operacje przeciwko docelowemu hostowi, osobie czy sieci.
Taka komunikacja powinna być niewidoczna dla zespołów bezpieczeństwa oraz użytkowników. Ze względu na to, że organizacje często nie monitorują ruchu DNS atakujący mogą próbować ukryć ruch tunelując go w zapytaniach DNS.
6. Command-and-Control
Złośliwe oprogramowanie używane przy technikach APT (Advanced Persistent Threat) wymaga manualnej interakcji z celem, aby rozpocząć proces eksfiltracji danych lub innych działań (np. rozpoznawczych) wewnątrz sieci.
Po ustanowieniu CnC, intruzi mają dostęp do systemu docelowego, a ostatecznie całej sieci. Kanały komunikacji umożliwiają wydawanie poleceń złośliwemu oprogramowaniu zainstalowanemu na docelowym lub wielu obiektach docelowych.
W przypadku botnetów komunikacja CnC wysyłana jest do wielu obiektów jednocześnie (np. ustawienie wspólnego celu ataku DDoS).
Faza CnC następuje wtedy, kiedy hosty łączą się z kontrolerem umieszczonym w Internecie. Stąd komunikacja hostów z serwerami / domenami znajdującymi się na czarnej liście może być IOC (Indicator of Compromise).
7. Actions on Objectives
Ostatni etap opisuje działania podejmowane przez intruzów, które mogą przybierać różne formy. Może to być kradzież własności intelektualnej, danych firmowych, wykorzystanie infrastruktury do ataków DDoS czy wysyłania spamu. Coraz częściej wykorzystuje się zainfekowane systemy do kopania krypto-walut.
Proces często zaczyna się od nowa, ponieważ atakujący będzie szukać nowych celów.
Wszystkie starania powinny doprowadzić właśnie do tego punktu. Gdy intruz osiągnie taki poziom dostępu, specjaliści od bezpieczeństwa staną przed poważnym wyzwaniem.
Ważne: Napastnik będzie próbował rozszerzyć swoją obecność w sieci docelowej i wtopić się w normalne działania sieciowe, aby uniknąć wykrycia.
Advanced Persistent Threat
Korzystanie z modelu Cyber Kill Chain ma szczególne znaczenie przy zaawansowanych, długoterminowych atakach.
Przykładem różnych ataków APT mogą być: Stuxnet, Energetic Bear, theshadowbrokers. Polecam zerknąć również na tę analizę ataków. FireEye opublikował także spis znanych grup.
Więcej o atakach APT możecie dowiedzieć się tu.
Co nam to daje?
Więc w jaki sposób ten model może pomóc analitykom z SOC?
Zajmowanie się alertami o wyższym priorytecie
Gdyby systemy monitorujące wykryły przesył wewnętrznych danych do kraju, gdzie firma nie posiada swoich biur oznaczałoby, że atak osiągnął ostatnią fazę i tą sprawą należy zająć się w pierwszej kolejności.
Poziomy eskalacji problemu
Przykładowo, jeśli atak osiągnie fazę piątą, wtedy oficer bezpieczeństwa zostałby powiadomiony. Gdyby jednak atakujący przeszli do fazy szóstej czy siódmej, wtedy powinien zostać powiadomiony np. zarząd.
Zadbanie o monitorowanie każdej z faz
Na przykład, aby wykryć wyciek danych (7 faza) można wdrożyć monitorowanie ruchu DNS. Analiza zapytań DNS może zapobiec ustanowieniu kanału CnC (DNS Tunneling).
Mierzenie poziomu bezpieczeństwa
Czy kontrola bezpieczeństwa może zapobiec atakom na więcej niż jednym etapie?
Bardzo ważnym aspektem jest zmniejszenie czasu od wystąpienia incydentu, do wykrycia, a także od wykrycia do wyeliminowania zagrożenia.
Cyber Kill Chain w praktyce
Na przykładzie działania ransomware zaprezentuje wam ten model w praktyce.
Zarówno firmy jak i osoby prywatne mogą paść ofiarą ransomware. Ten typ zagrożenia wykorzystuje często tradycyjne wektory ataku takie jak emaile phishingowe czy exploit kits.
Sposób działania jest prosty. Po infekcji, złośliwe oprogramowanie szyfruje dyski oraz inne nośniki kluczem znanym tylko atakującemu. Aby odzyskać dane należy zapłacić okup.
Ważne: Nie zawsze zapłata okupu oznacza odzyskanie danych. Z tego oraz innych względów nie polecam go płacić.
Żeby wykryć oraz zwalczyć ransomware należy skorzystać z Kill Chain Model. Przypominam, że „kill chain” odnosi się do możliwości zablokowania ataku na dowolnym z etapów, jeśli jest taka możliwość.
Reconnaissance
Skoro interesuje nas zarażenie sieci pewnej firmy ransomware, to atak powinien być zmasowany. Wystarczy, że zainfekujemy jedną osobę. Dlatego prześlemy wiadomość do wielu pracowników w firmie.
W fazie rekonesansu korzystając z narzędzia theHarvester zbieramy adresy mailowe pracowników. Komenda, która przeszuka Google i wyświetli 50 wyników:
theharvester -d domena.pl -l 50 -b google
Od razu rzuca się schemat nadawania nazw adresów pracowników: imie.nazwisko@domena.pl. Dzięki temu, znając imię oraz nazwisko pracownika, ale nie znajdując jego adresu w internecie możemy sami do niego dojść.
Analizując działalność firmy w internecie tworzymy spersonalizowane wiadomości.
Weaponization
W scenariuszu ransomware faza uzbrojenia jest już w większości zakończona. Złośliwe oprogramowanie najprawdopodobniej jest już przygotowane do instalacji.
Wystarczy przypomnieć sobie ostatnie infekcje, aby zrozumieć skalę problemu oraz ryzyko. Bad Rabbit, NotPetya czy WannaCry.
Dla zainteresowanych tematyką ransomware: BleepingComputer publikuje wpisy z serii The Week in Ransomware.
Wektorem ataku w tym scenariuszu będzie załącznik wysłany do pracowników firmy.
Delivery
Mamy przygotowany ładunek oraz bazę adresów pracowników. W fazie dostarczania napastnik wysyłamy spersonalizowaną kampanię do pracowników firmy licząc, że przynajmniej jeden z nich otworzy załącznik.
Kluczem do sukcesu jest, aby ładunek nie został wykryty. Istnieją różne techniki minimalizujące prawdopodobieństwo wykrycia podczas procesu dostarczania, takie jak zaciemnianie kodu, szyfrowanie komunikacji lub stosowanie metod, które sprawiają, że ładunek wydaje się być niegroźnym kodem.
Najlepszą obroną na tym etapie jest edukacja użytkowników. Umiejętność odróżnienia wiadomości phishingowych od prawdziwych jest konieczna, aby zminimalizować ryzyko zarażenia firmy.
Exploitation
W momencie pobrania załącznika rozpoczyna się faza eksploatacji. Pobrany / zainstalowany zostanie downloader lub stager. Zanim użytkownik zda sobie sprawę, że został zainfekowany będzie już najprawdopodobniej za późno.
Installation
Instalacja jest etapem, w której poprzedni downloader / stager łączy się z serwerem CnC (używając szyfrowanego kanału). Po nawiązaniu kontaktu, aktualny kod ransomware jest pobierany. Będzie on dostosowany do architektury oraz innych parametrów celu.
Nie bez powodu faza ta nazywana jest „persistence phase”. Musimy utrzymać nasz przyczółek, dzięki trwałemu oraz ciągłemu dostępowi do systemu. Nasze oprogramowanie powinno przetrwać restarty, skanowanie oprogramowaniem antywirusowym czy anty-malware.
Command-and-Control
Złośliwe oprogramowanie jest teraz zainstalowane i gotowe do otrzymania instrukcji. Podczas fazy CnC ransomware kontaktuje się z serwerem CnC, od którego otrzyma klucze, które zostaną wykorzystane do zaszyfrowania danych.
Action on Objectives
W ostatniej fazie ransomware wykonuje właściwą, wcześniej zdefiniowaną akcję, czyli szyfruje nasze dane. Jeśli dojdzie do tego etapu, będzie już za późno dla użytkownika.
Złośliwe oprogramowanie, po zaszyfrowaniu plików wyświetli okienko z informacją o konieczności zapłacenia okupu. Bardzo często istnieje limit czasowy na wniesienie opłaty, co dodaje psychologiczny aspekt. Tworzy poczucie pośpiechu, utrudniając użytkownikowi podjęcie racjonalnej decyzji.
Obrona, detekcja
Z perspektywy analityka kluczowe znaczenie ma zapobiegnięcie dalszej infekcji. Dlatego korzystając z modelu Cyber Kill Chain powinniśmy zablokować atak na możliwie najwcześniejszej z faz.
Odpowiednio aplikując różne mechanizmy zwiększamy szansę na udaną obronę.
Reconnaissance
- Next-Generation Firewall, Next-Generation IPS
Systemy te pozwolą na blokowanie prób skanowania sieci, urządzeń czy aplikacji. Zabezpieczą nas przed enumeracją hostów, systemów. Ograniczą także dostęp do wewnętrznej sieci czy zapewnią odpowiednie poziomy dostępu.
Warto również przeszkolić pracowników, aby uczulić ich na to co umieszczają w Internecie. Powinni odróżniać informację poufną od publicznie dostępnej. Muszą wiedzieć jakich treści nie powinni publikować, aby utrudnić rekonesans napastnikom.
Weaponization
- Threat Inteligence.
Dzięki analizie zagrożeń będziemy znali istniejące złośliwe oprogramowanie, wektory komunikacji oraz wiedzę na temat trendów nowych zagrożeń.
Delivery
- Next-Generation IPS, Email Security, Web Security, DNS Security
Filtrowanie ruchu DNS pozwoli zablokować znane złośliwe domeny. Dbanie o bezpieczeństwo maili oraz ruchu HTTP zwiększy szanse na wykrycie złośliwych załączników, linków czy stron internetowych.
Exploitation
- Next-Generation Firewall, Next-Generation IPS, Network Anty-Malware
Wdrożenie tych systemów powinno zablokować próbę uruchomienia złośliwego oprogramowania. Na tej warstwie warto stosować rozwiązania anty-malware na warstwie sieci, a nie hosta.
Installation
- Host Anty-Malware
Systemy wykrywające malware skonfigurowane na urządzeniach końcowych powinny wykryć złośliwe oprogramowanie.
Command-and-Control
- DNS Security, Web Security
Analiza ruchu DNS oraz HTTP konieczna jest, aby wykryć komunikację z serwerem CnC. Nie należy zapominać, że jest wiele różnych metod tunelowania ruchu (ICMP, SSH, IRC).
Action on Objectives
- Flow Analytic
Monitorowanie ruchu w sieci pozwoli wykryć nietypowy przepływ ruchu.
Jeśli firma działa wyłącznie w godzinach 8-16, a system analizy przepływu ruchu (np. NetFlow) wykryje wzrost przesyłu wewnętrznych danych do Azji, może być to IOC.
Dobry artykuł, sporo się nauczyłem, pozdrawiam