Jak przestępcy atakują organizacje? Jakich technik używają? Jakie cele chcą osiągnąć? I co najważniejsze, jak przed poszczególnymi technikami się bronić i jak je wykrywać? Odpowiedzi na te wszystkie pytania zostały spisane, a znajdziecie je w MITRE ATT&CK.
Sklasyfikowanie, skatalogowanie oraz opisanie ataków i technik obrony wydaje się oczywistym sposobem wsparcia obrońców zmagających się na każdym kroku ze stadami napastników. Na szczęście praca ta została już wykonana – organizacja MITRE stworzyła framework ATT&CK, który przedstawiamy poniżej w przystępny sposób. Korzystajcie, używajcie!
ATT&CK, czyli co?
ATT&CK, czyli Adversarial Tactics, Techniques & Common Knowledge (wrogie taktyki, techniki i wiedza powszechna), to framework wydany publicznie przez organizację MITRE w 2015 roku. Jest on bazą opisującą działania atakujących, niezależnie, czy są to przestępcy, red team czy też grupy sponsorowane przez dany rząd. W dalszej części artykułu będę używać skrótu TA, czyli Threat Actor (napastnik), by opisywać atakujących.
Twórcom ATT&CK zależało na tym, by skupić się na faktycznych zachowaniach i działaniach TA w realnych organizacjach. Ma to być także wspólna platforma/język dla różnych zespołów zajmujących się bezpieczeństwem, zarówno od strony defensywnej, jak i ofensywnej, pomagająca w wymianie informacji. Więcej o samej historii czy filozofii stojącej za tym frameworkiem można przeczytać w oficjalnym dokumencie autorstwa MITRE.
Dodatkowo warto wspomnieć, że ATT&CK nawiązuje do TTP, czyli Tactics, Techniques and Procedures (taktyki, techniki i procedury), ale o tym za chwilę.
By zobrazować, czym jest ATT&CK, warto spojrzeć na The Matrix, czyli matrycę taktyk i technik używanych przez atakujących:
Na pierwszy rzut oka wygląda to skomplikowanie. Aby obraz uprościć, spójrzmy na początku na kolumny: to taktyki, czyli cele, które TA chcą osiągnąć. Mamy tu zarówno Initial Access, czyli samo dostanie się TA do atakowanej organizacji, jak i Persistance, czyli sposoby utrzymania dostępu.
Wiersze to z kolei techniki mówiące, jak TA próbują osiągnąć konkretne cele. Mamy więc odpowiednio technikę Phishing (T1566) jako metodę osiągnięcia Initial Access, a także technikę Scheduled Task/Job (T1053) jako metodę osiągnięcia Persistance. Możemy zatem – na przykład – powiedzieć, że TA używa techniki T1566 (phishingu), by dostać się do atakowanej firmy (zrealizować taktykę Initial Access).
Zwróćcie uwagę, że to, że taktyki ustawione są od lewej do prawej, nie oznacza, że atak zawsze musi przebiegać w dokładnie takich krokach. Niektóre taktyki mogą w ogóle nie wystąpić albo mogą występować wielokrotnie, np. najpierw zyskujemy uprawnienia na jednym systemie (Credential Access), następnie przechodzimy do kolejnych systemów (Lateral Movement), gdzie ponownie próbujemy zdobyć kolejne uprawnienia (Credential Access) czy też rozpoznać inne systemy (Discovery). Ta „swoboda” taktyk nawiązuje do realnych działań TA, którzy chcą osiągnąć cele ataku dowolnymi metodami i w pewien sposób odróżnia ATT&CK od np. Cyber-Kill Chain, w którym generalnie mówimy o poszczególnych fazach następujących po sobie.
W tym miejscu chciałbym jeszcze wyjaśnić pojęcie sub-technik, które zostały wprowadzone w 2020 (w wersji 7 frameworku). Są one szczególnymi wariantami danej techniki. Przykładowo w ramach techniki Phishing (T1566) mamy trzy różne sub-techniki, m.in. Phishing: Spearphishing Link (T1566.002). Jak widać, numeracja i schemat nazewnictwa jest zbudowany tak, by w danej sub-technice zachować nawiązanie do pierwotnej techniki. W dalszej części tekstu dla uproszczenia będę używać określenia technika zarówno dla sub-techniki, jak i techniki.
Co kryje dana technika?
Zobaczmy to na przykładzie konkretnej techniki, np. OS Credential Dumping: LSASS Memory (T1003.001), czyli pozyskiwanie danych logowania do systemu operacyjnego z pamięci procesu LSASS (Local Security Authority Subsystem Service). Opis techniki zaczyna się od wyjaśnienia, na czym polega oraz jak wygląda jej przykładowe użycie. W tym przykładzie wspomniano o narzędziach takich jak mimikatz czy procdump. Warto zwrócić uwagę na tabelkę z prawej strony:
Znajdziemy w niej zarówno informacje, jakiej platformy dotyczy ta technika (w tym wypadku Windows), jak i potrzebne uprawnienia do jej wykonania (SYSTEM) czy też jakich źródeł danych potrzebujemy, by móc ją wykryć.
W dalszej części opisu techniki możemy też dowiedzieć się, jakie konkretne grupy TA używają tej techniki czy też jakie narzędzia pozwalają na jej użycie (chociażby wspomniany wcześniej mimikatz). Te informacje znajdziemy w sekcji Procedure Examples. Procedure Examples to także bezpośrednie nawiązanie do Procedures ze skrótu TTP.
Kolejne części opisu to Mitigations, czyli jak jako obrońcy możemy utrudnić/uniemożliwić wykonanie danej techniki. Ponieważ skuteczna obrona nie zawsze jest możliwa, kolejna sekcja pod nazwą Detection daje nam też sugestie, jak wykrywać technikę w ramach poszukiwania zagrożeń (threat huntingu).
Zarówno w Procedure Examples, jak i Mitigations możemy kliknąć na np. daną grupę lub metodę mitygacji. Widzimy wtedy wszystkie techniki, z którymi powiązana jest dana grupa, narzędzie czy mitygacja. Widzimy również link do nawigatora (ATT&CK Navigator).
Po jego kliknięciu zobaczymy zaznaczone na matrycy wszystkie techniki, na które ma wpływ na przykład mitygacja Credential Access Protection.
Nawigator na pomoc!
Pora napisać coś więcej o nawigatorze dostarczanym przez MITRE. To narzędzie wygląda niepozornie, ale potrafi bardzo ułatwić pracę z ATT&CK.
Aby z niego skorzystać, wchodzimy na jego stronę, wybieramy „Create New Layer”, a następnie opcję „Enterprise”.
Warto zwrócić uwagę na możliwość filtrowania:
Dzięki temu łatwo możemy np. wyfiltrować techniki związane tylko z konkretnym systemem operacyjnym czy typem chmury.
Jeżeli chcemy pracować na nawigatorze wraz z innymi osobami, możemy postawić własną instancję (opis, jak to zrobić, znajdziemy na githubie), ale możemy też np. eksportować dane do pliku XLSX.
ATT&CK a Cyber Threat Intelligence
ATT&CK bazuje na realnych działaniach TA, zatem jest też świetnym narzędziem do prowadzenia działań w obszarze wykrywania zagrożeń (Cyber Threat Intelligence, CTI). Głównym celem CTI jest zdobycie informacji o tym, kto jest naszym przeciwnikiem i jak działa, tak by na podstawie tych danych nasza organizacja mogła podejmować odpowiednie decyzje.
Listę przeciwników (wspomnianych wcześniej TA) i używanych przez nich technik znajdziemy w ATT&CK w części „Groups”. Mamy tam wiele pozycji, więc powstaje pytanie, na których grupach się skupić? Jeżeli mamy jakieś zewnętrzne, komercyjne źródło CTI, powinno nam ono dostarczyć informacje o grupach atakujących naszą organizację czy też organizacje z podobnego obszaru. Możemy też skorzystać z darmowych źródeł (np. OTX AlienVault, darmowa wersja Advantage od Mandiant) czy też raportów (np. Threat Detection Report od Red Canary). W samym ATT&CK możemy także szukać po słowach kluczowych, np. wpisując „e-commerce” znajdziemy informacje o grupie FIN6/SKELETON SPIDER.
W tym przypadku jesteśmy jednak ograniczeni do samych opisów danych grup.
Poszczególne grupy możemy oczywiście analizować w nawigatorze – wystarczy którąś zaznaczyć w opcji „multi-select” (pod „selection controls”).
Nawigator działa na warstwach (layer), które mogą się pokrywać. Przykładowo tworzymy dwie warstwy – jedna dla grupy APT28, a druga dla APT29. Dla każdej z nich ustalamy inny scoring (APT28 – 50, APT29 – 20), co powoduje pokolorowanie technik używanych przez daną grupę:
Następnie tworzymy warstwę z opcją “Create Layer from other layers” i zaznaczamy w polu „score expression”, że chcemy zsumować dwie warstwy.
Powstaje nam nowa warstwa, na której widzimy techniki obu grup. W przypadku, gdy obie grupy używają tej samej techniki, są one pokolorowane na zielono i mają scoring 70.
(Na screenie jedna technika ma kolor niebieski, ale jest to związane tylko i wyłącznie z najechaniem na nią kursorem). By lepiej zobrazować ten proces, nagrałem krótki filmik z działania nawigatora.
W ten sposób możemy przygotowywać zestawienia technik najczęściej wykorzystywanych przez grupy, które nas interesują. Te dane możemy przekazać innych zespołom, np. zajmującym się Incident Response albo Threat Hunting, by zweryfikować, na ile blokowane czy wykrywane są techniki danych grup.
Ponieważ ATT&CK to „wspólny język” używany przez wielu dostawców, również CTI, możemy porównywać różne raporty i np. szukać najczęściej pojawiających się technik. Nasz zespół CTI może także nawiązywać do poszczególnych technik z ATT&CK, np. podczas tworzenia własnych raportów.
O czym warto pamiętać?
Nie wszystkie techniki są sobie równe. Biorąc pod uwagę liczbę technik opisanych w ATT&CK, próba weryfikacji wszystkich, np. w kontekście detekcji, może być bardzo trudna. Warto skupić się na tych najważniejszych dla naszej organizacji, np. które pojawiają się w naszych incydentach, o których mamy informacje m.in. z raportów odnośnie ataków czy z naszych źródeł Cyber Threat Intelligence (CTI).
Ostrożnie podchodzić do kompletności technik. Większość technik nie jest zero-jedynkowa; często daną technikę da się wykonać na wiele różnych sposobów. Możliwe, że nie zweryfikujemy każdej z tych metod albo zajmie to bardzo dużo czasu. Czasem lepiej jest sprawdzić kilka metod, po czym przejść do kolejnej techniki. Podobnie, jeśli jako Blue Team nie mamy już koncepcji, jak daną technikę można wykonać, warto zapytać nasz Red Team albo CTI o pomoc.
Czy jak już będę mieć 100% pokrycia ATT&CK to będę bezpieczny? Nie. Pomijając zagadnienie, na ile takie pokrycie jest faktycznie możliwe (patrz wyżej), to ATT&CK nie jest Świętym Graalem. Istnieją techniki, które nie są uwzględnione w tym frameworku albo ich opis jest niewystarczający. Informacje z ATT&CK powinny być elementem całego programu security w naszej organizacji.
Czy warto testować np. podstawową wersję mimikatz, gdy w naszych środowisku mamy rozwiązanie EDR? Większość używanych EDR-ów powinno wykryć zarówno mimikatz, jak i inne podstawowe techniki. Warto to jednak potwierdzić. Bardziej zaawansowane wykonanie techniki warto testować, dopiero gdy będziemy mieli jasność, że prostsze użycie danej techniki blokujemy lub wykrywamy.
ATT&CK to nie jedyny framework od MITRE. W 2020 MITRE udostępniło framework dedykowany Blue Teamom o nazwie Shield. Skupia się on na aktywnej obronie, np. tworzeniu fałszywych kont, które mają pomóc w jak najszybszym wykryciu atakującego.
ATT&CK ciągle się zmienia. Framework cały czas żyje i wprowadzane są w nim ciągle zmiany. Główne wydania wypuszczane są dwa razy w roku, ale np. przykłady użycia technik są aktualizowane częściej. Informacje o poszczególnych wersjach można zobaczyć tutaj, a dalsze plany na 2021 opisane są tutaj.
ATT&CK to nie tylko jedna matryca. W artykule skupiliśmy się na Enterprise Matrix opisującej większość organizacji. Dodatkowo istnieją jeszcze Mobile Matrix opisująca urządzenie mobilne, a także ICS Matrix dla systemów przemysłowych/OT.
Dane z ATT&CK można przedstawiać na wiele ciekawych sposobów, szczególnie wzbogacone o dodatkowe informacje. Na przykład firma Recorded Future udostępnia interfejs umożliwiający łatwe śledzenie działań napastników atakujących różne sektory gospodarki, a także monitorowanie trendów i zmian w kontekście zagrożeń.
Podsumowanie
ATT&CK to jedno z najcenniejszych narzędzi w arsenale obrońców. Mamy nadzieję, że powyższy opis pomoże wam lepiej przygotować wasze organizacje na nadchodzące ataki.
Artykuł powstał w ramach współpracy z firmą Recorded Future. Jeśli interesuje was temat wykrywania zagrożeń, to możecie kontaktować się z Mateuszem, reprezentującym Recorded Future w Polsce. Jego e-mail to mateusz.olszewski [małpa] recordedfuture.com.
Dla pełnej przejrzystości: za publikację powyższego artykułu otrzymujemy wynagrodzenie.
Komentarze
Już myślałem, że Z3S upada próbując zainteresować czytelnika artykułami o przestępcach i wywiadami kolegów z kolegami, a tu taki strzał. Wielkie brawa! XD
Jakoś trzeba przyciągnąć sponsorów.. W sumie szkoda, bo to fajny portal był kilka lat temu.. Ale teraz to już tylko reklama crapu używając buzzwordów żeby przykuć uwagę managementu..
Super artykuł, dzięki :)
Dobry artykuł! Wojtek Lesicki zasili na stałe skład redakcji?
A jak się obronić przed bacdoorem albo innym złośliwym kodem stworzonym przez programistę czy software developera w procesie tworzenia oprogramowania ?? ;D
Pentesterami
Audytem kodu przez trzecie oczy przed deployem…
1. Segmentacja sieci i szczegółowe filtrowanie ruchu zgodnie z dokumentacją oprogramowania. Komunikacja Backdoora raczej może nie być udokumentowana, chociaż kto wie, :-)
2. Monitoring ruchu i zdarzeń (wykrywanie i blokowanie anomalii)
3. Analiza uruchomionych procesów systemu, plików itp.
4. analiza kodu niestety jest żmudna, trudna i kosztowna, szczególnie jeżeli mowa o sprzęcie/firmware, albo o usługach w chmurze – zależnie od typu, może być w ogóle niemożliwa.
Pozdrawiam.
Oczywiście to wszystko pięknie wygląda i niestety jest irracjonalne. Nie da się wylistować zagrożeń, można co najwyżej zrobić białą listę tego co powinien robić dany komputer/osprzęt i blokować wszystko inne.
Ty chyba nigdy nie słyszałeś o czymś takim jak „management by exception”… Ta Twoja „Biała lista” po miesiącu będzie dziurawa jak ser szwajcarski..
Owszem, słyszałem. Będzie mniej dziurawa niż listowanie znanych zagrożeń.
PS. A przy okazji ukróci ten cały scam zwany czasami pentesterami.
Ja nie wiem co Ty robisz w pracy, ale chyba pora ja zmienic.. Pewnie, że dużo rzeczy jest robione na zasadzie checkboxami, ale żeby od razu scamem nazywać pentesty,… Michał by się chyba obraził ;)
Rzućcie okiem na MITRE D3FEND powstały do mapowania technik obronnych na techniki ATT&CK.
I znowu dalem sie zlapac. 'Dla pelnej przejrzystosci’, informacje o tym ze to jest reklama podawajcie na wstepie. Rozumiem ze zarabiacie na zasiegu, ale otwarcie strony to nie to samo co przeczytanie. A od teraz, o ile wogole, zanim przeczytam u was cokolwiek, sprawdze czy jest informacja o 'pelnej przejrzystosci’ czyli czy artykul to reklama czy cos wartosciowego.