FireEye – APT, security gap, analiza static i dynamic i wiele więcej

Ewolucja ataków

Od kilku lat (wg różnych źródeł od czasu wykrycia ataku znanego jako Operacja Aurora w 2009 r.) wśród zagrożeń, z jakimi walczymy, następuje coraz szybsza ewolucja metod ataków i sposobów ukrywania złośliwego kodu. Ataki są wieloetapowe i poprzedzają je przygotowania, które mają umożliwić wykrycie luk w zabezpieczeniach umożliwiających dotarcie do zaatakowanej instytucji w sposób niewykrywany przez klasycznie stosowane zabezpieczenia.

Sam atak jest trudny do wykrycia, a jego konsekwencje poważne – wyprowadzenie chronionych danych, przejęcie kontroli nad zainfekowanymi komputerami, dotarcie za ich pośrednictwem do innych zasobów firmy, wykorzystanie zainfekowanych maszyn do prowadzenia  ataków na inne instytucje, co w konsekwencji prowadzi często do zniszczenia reputacji firmy.

Ogólnie tego typu zagrożenia są określane jako advanced malware (czasami też jako zero-day, APT – advanced persistent threat lub TPT – targeted persistent threat).

Wraz ze wzrostem ilości i, niestety, skuteczności tego typu ataków, od pewnego czasu narasta problem zabezpieczenia się przed takimi zagrożeniami.

Najpopularniejsze obecnie zabezpieczenia (nazywane dalej zabezpieczeniami klasycznymi) bazują przede wszystkim na wcześniejszej znajomości ataku: na sygnaturze pliku (suma kontrolna, wzorce bajtów/bitów), reputacji strony web/domeny pocztowej, czarnych listach (blacklist) adresów IP/domen. Definicje te są uzupełniane często tzw. heurystyką czyli mechanizmem odnajdowania podobieństw do wcześniej opisanych zagrożeń.

Ochrona z użyciem takich mechanizmów  jest realizowana przez zdecydowaną większość klasycznych zabezpieczeń: systemy antywirusowe (AV) na stacjach i serwerach, gateway’e web i email, rozwiązania IPS, firewalle Next Generation i UTM,  itp.

W każdej z tych metod detekcji ataku, aby wykrywanie kolejnego wystąpienia zagrożenia było skuteczne musimy zakładać, że:

  • producent rozwiązania posiada dostęp do danych z pierwszego ataku – nie zawsze jest to możliwe, jeśli atak jest celowany, przeznaczony dla jednego lub kilku celów, wykorzystuje nie znane wcześniej podatności aplikacji lub systemu operacyjnego (wg badań firmy FireEye około 61% wykrywanych ataków to ataki, które nie powtórzyły się w innych miejscach)
  • potrafi poprawnie przeanalizować dane – to również może stwarzać problem w przypadku advanced malware, gdzie do producenta mogą trafić tylko niektóre pliki wykorzystane w ataku, a dodatkowo zaszyfrowane lub w inny sposób zaciemnione (obfuscated)
  • posiadać odpowiednio dużo czasu na opracowanie definicji opisującej atak (np. sygnatury dla produktów bezpieczeństwa) i jej przetestowanie celem uniknięcia tzw. false positive, czyli niepoprawnych wykryć ataku
  • Klient korzystający z rozwiązania bezpieczeństwa musi posiadać pewien czas na ściągnięcie nowych definicji ataku, rozesłanie ich do wszystkich produktów zabezpieczających jego sieć i komputery, a czasami też na przetestowanie nowych definicji w warunkach laboratoryjnych dla upewnienia się, że nie spowodują problemów w sieci produkcyjnej

Security gap

Wszystkie te etapy przygotowania i rozpowszechnienia definicji ataku tworzą tzw. dziurę bezpieczeństwa (tzw. security gap), w trakcie której sieć i zasoby Klienta są narażone na taki, znany już w przecież, atak i klasyczne sposoby zabezpieczeń nie chronią przed nim.
fireeye_02Problem staje się jeszcze bardziej skomplikowany, kiedy weźmiemy pod uwagę, że czas życia próbki malware jest liczony w pojedynczych godzinach – potem ten sam atak jest wykonywany z użyciem innego pliku. Podobnie dzieje się ze źródłami ataków – zainfekowane strony web czy adresy pocztowe, skąd pochodzi zagrożenie są rejestrowane i działają przez kilka dni lub nawet godzin, a kolejne infekcje pochodzą już z zupełnie innych adresów.
Stosowane przez advanced malware techniki modyfikowania kodu, używanie coraz to nowych domen web/email i adresów IP powoduje, że nie jest praktycznie możliwe określenie sygnatury ataku, zdefiniowania reputacji domeny i adresu IP czy umieszczenie ich na listach blacklist. Szybko modyfikowany kod złośliwy powoduje, że nie można na czas dostarczyć sygnatury wykrywającej taki atak.

Ważną cechą nowoczesnych ataków jest ich wieloetapowość.

Można wskazać następujące charakterystyczne etapy ataku:

  1. Exploit – mały kod umieszczony zwykle na stronie web lub przenoszony w spreparowanym załączniku do email, który ma za zadanie uruchomić proces infekcji stacji przez wykorzystanie, często nieznanej wcześniej, podatności aplikacji, przeglądarki, wtyczki do niej, czy systemu operacyjnego. Exploit inicjuje kolejne fazy ataku
  2. Malware / Dropper – kod używany do przygotowania „środowiska pracy” dla malware, a często też właściwy kod ataku. Malware jest zwykle ściągany przez exploita, który też uruchamia jego instalację, wcześniej wykonując na przykład jego deszyfrację
  3. Callback – komunikacja zwrotna z zainfekowanej stacji do serwera Command and Control (CnC) kontrolowanego przez cyberprzestępcę. Callback może służyć do wysłania zgromadzonych danych podczas ataku, do poinformowania o skutecznej infekcji, do pobrania kolejnych części kodu ataku, do pobrania aktualizacji kodu ataku, czy wreszcie do otwarcia połączenia umożliwiającego zdalną kontrolę nad stacją i oczekiwanie na instrukcje
  4. Rozpowszechnienie się ataku na inne stacje w organizacji i pozyskiwanie danych z firmy

 

fireeye_01

Skutecznie wykonany atak z użyciem advanced malware jest trudno wykrywany wewnątrz chronionej sieci. Poprzez zainfekowane komputery intruzi zdobywają chronione dane oraz uzyskują dostęp do innych, wewnętrznych zasobów. Infekcja pozwala często na zdalne przejęcie kontroli nad stacją i może posłużyć do jednokrotnego ataku lub dostęp może być sprzedany „zainteresowanym” cyberprzestępcom.

 


Czy więc wszystkie dotychczasowe inwestycje w zabezpieczenia były nietrafione?

Oczywiście nie można tak powiedzieć… Pomimo rosnącego znaczenia ataków advanced malware cały czas mamy do czynienia z atakami, które są szeroko rozpowszechniane – dla przykładu spam, malware typu ransomware, który z założenia przynosi profity atakującemu kiedy jak najwięcej komputerów jest zainfekowanych, itp. W tych wypadkach szansa, że nasz producent AV pozyskał próbkę ataku jest dużo większa i rośnie też prawdopodobieństwo, że opublikowane przez niego sygnatury ochronią nas przed takimi atakami. No chyba, że to my jesteśmy tym pierwszym uderzonym celem…

Poza tym bezpieczeństwo IT to nie tylko wykrywanie malware, to także filtracja dostępu, kontrola uprawnień, monitorowanie dostępu, itd.

Niemniej musimy mieć na uwadze, że korzystanie tylko z klasycznych rozwiązań bezpieczeństwa nie umożliwia skutecznej ochrony przed aktualnymi zagrożeniami.

Jak sobie radzić?

Niekończący się wyścig między zagrożeniami i sposobami ich wykrywania prowadzi na szczęście do wprowadzania nowych metod ochrony przed najnowszymi atakami. Podobnie jest w przypadku omawianych poniżej rozwiązań do automatycznej, dynamicznej analizy malware. Rozwiązania te stanowią kolejny etap rozwoju systemów zabezpieczeń, odpowiadając na zmiany w zagrożeniach i dodając następną warstwę ochrony.

Najczęstsza klasyfikacja rozwiązań zabezpieczających dostępnych na rynku, które wykonują automatyczną analizę ataku, została przedstawiona na poniższym schemacie.

Analiza „static” (statyczna) to rozwiązania, które były tu już wspominane – klasyczne zabezpieczenia korzystające z wcześniejszej wiedzy o ataku. Nowością są systemy analizy dynamicznej (dynamic), które w końcu zostały dostosowane do potrzeb firm i instytucji opuszczając mury laboratoriów zajmujących się analizą malware.

Na czym polega analiza dynamiczna? Ogólnie można podsumować ją jako badanie zachowania podejrzanego obiektu w kontrolowanym środowisku wyposażonym w instrumenty do wykrywania tego zachowania i wnioskowania na jego podstawie czy mamy do czynienia z zagrożeniem czy jednak nie. Nie ma tu więc stosowania sygnatur opisujących konkretny atak Najczęściej analiza jest wykonywana w maszynach wirtualnych, które łatwo można kopiować, zamykać, otwierać, a przede wszystkim uruchamiać ich wiele jednocześnie na tym samym sprzęcie. Często systemy do analizy dynamicznej zachowania kodu są nazywane sandboxami.
Dynamiczna analiza może być dalej podzielona na:

  • Analizę pojedynczych obiektów (discrete object analysis)
  • Analizę kontekstową (contextual analysis) – często określana też jako analiza „flow” lub „sesji”

Różnice między tymi dwoma podejściami zostały przedstawione w dalszej części artykułu.

Rozwiązania FireEye, jako jedyne na rynku, realizują dynamiczną analizę ataków badając ich zachowanie w ujęciu kontekstu ataku a nie tylko pojedynczych, wybranych obiektów.

Skoro to takie oczywiste czemu to nie jest takie proste?

Rzeczywiście zasada działania „sandboxów” wydaje się prosta i oczywista. Niemniej o jakości i skuteczności wykrywania ataków w takich rozwiązaniach decyduje cała lista ich funkcjonalności. Kilka z problemów, z którymi możemy mieć do czynienia rozważając wybór rozwiązania do dynamicznej analizy zostało wymienionych poniżej:

  • Miejsce wykonania analizy zachowania – niektóre rozwiązania sandbox realizują analizę w „chmurze” dostępnej przez Internet. Pomijając nawet fakt narażenia danych użytkownika na nieuprawniony dostęp, analiza w chmurze musi być ograniczona do niektórych typów obiektów i tylko małej liczby tych obiektów. Trudno byłoby sobie wyobrazić bowiem wysyłanie całego ruchu przychodzącego z Internetu ponownie przez to samo łącze do „chmury” w Internecie.
  • Analiza tylko dyskretnych obiektów – sandboxy analizują zachowanie pojedynczych, separowanych plików. Ogranicza to znacznie możliwości wykrywania zaawansowanych ataków, bo pliki malware, które trafiają do analizy są często zaszyfrowane lub zaciemnione w taki sposób, że nawet rozpoznanie ich właściwego rodzaju nie jest możliwe. Podobnym problemem jest uruchomienie pliku „w kontekście” ataku – np. z podaniem właściwych parametrów do uruchomienia pliku. Skupienie się na analizie separowanego obiektu, wyłączonego z kontekstu uniemożliwia sprawdzenie jak zachowywałby się on realnie na stacji użytkownika, gdzie wykonywane są pozostałe etapy ataku – od exploita do połączenia zwrotnego do CnC
  • Analiza niewielkiej ilości rodzajów plików – większość rozwiązań sandbox skupia się na plikach wykonywalnych (executable), bibliotekach DLL i plikach PDF. Rzadziej na dokumentach MS Office, aplikacjach Java, a bardzo rzadko jest możliwa analiza plików typu Flash, mp3, mpeg4, obrazki (JPG, PNG, GIF). Niestety każdy z tych formatów jest wykorzystywany w atakach jakie są codziennie wykrywane na świecie
  • Brak analizy callbacks – przeważająca większość rozwiązań „sandbox” dostępnych na rynku nie ma wbudowanych możliwości samodzielnego wykrywania połączeń zwrotnych z zainfekowanych stacji. Nawet jeśli w wyniku analizy zachowania malware są wykrywane próby połączeń callback, informacja ta musi być skonwertowana do postaci reguły odpowiedniej do zastosowania na zewnętrznych urządzeniach sieciowych (np. firewall), które ewentualnie dają możliwość zablokowania callback. Poza opóźnieniem całego procesu blokowania połączeń, problemem jest też brak wykrywania callback, które nie są wynikiem analizy malware, które, dla przykładu, mogą pochodzić ze stacji zainfekowanych innymi drogami niż te, z których pochodzą pliki do analizy w sandbox. W efekcie skuteczność takiego rozwiązania przeciwdziałania advanced malware jest znacznie obniżona
  • Brak wykrywania exploits, a w szczególności exploits zero-day – to jedno z najpoważniejszych ograniczeń dostępnych systemów dynamicznej analizy. Brak możliwości zidentyfikowania exploit i powiązania go z kolejnymi etapami ataku powoduje, że wszystkie przypadki gdzie obiekt malware jest zaszyfrowany lub jego uruchomienie jest w specjalny sposób inicjowane przez exploit są niewykrywane przez takie sandboxy
  • Środowisko podatne na wykrycie przez malware – rozwiązania do dynamicznej analizy malware korzystają bardzo często z komercyjnych rozwiązań do wirtualizacji maszyn – np. VMWare, XEN, które ograniczają użyteczność takich „sandboxów” co najmniej w dwóch obszarach – malware może w prosty sposób wykryć, że jest uruchomiony w takim środowisku i w konsekwencji nie zachowywać się „podejrzanie” lub „groźnie”. Oczywiście powoduje to, że zagrożenie jest nie wykryte. Drugim problemem jest brak ścisłej integracji narzędzi do analizy zachowania z komercyjnym hypervisorem. W efekcie proces monitorujący i analizujący zachowanie malware jest zwykle umieszczony wewnątrz maszyny wirtualnej, w której działa też analizowany kod. Upraszcza to „oszukanie” przez malware tych narzędzi i uniknięcie wykrycia dzięki różnym metodom ukrywania swojej obecności w systemie.
  • Brak elastycznych metod wdrożenia – większość dostępnych produktów „sandbox” to rozwiązania odseparowane od ruchu w sieci produkcyjnej. Dla wybrania z tego ruchu obiektów do analizy muszą być zastosowane dodatkowe produkty – np. firewall, IPS, które integrują się z „sandbox”. W konsekwencji sposób wdrożenia rozwiązania dynamicznej analizy oznacza de facto wdrożenie znacznie bardziej skomplikowanego środowiska, którego tryby pracy nie zależą tylko od możliwości „sandbox”, a administracja obejmuje kilka różnych komponentów
  • Brak pokrycia różnych wektorów ataków i brak korelacji danych – dostępne rozwiązania „sandbox” i współpracujące z nimi rozwiązania do „wybierania” z ruchu obiektów do analizy skupiają się zwykle na jednym wektorze ataku – na ruchu web lub poczcie elektronicznej. Problemem jest więc wykrywanie ataków typu spear phishing, w których adres URL do strony z infekcją jest przesyłany w treści email.  Nawet jeśli dojdzie do wykrycia ataku z tego adresu URL nie ma korelacji informacji, która pozwoli na prześledzenie prawdziwej drogi ataku, czyli odwołania do email przenoszącego do organizacji adres URL
  • Niska wydajność rozwiązań – oferowane rozwiązania sandbox nie skalują się do wymagań dużych sieci, o wysokiej przepustowości ruchu Internetowego i poczty elektronicznej. Dla zwiększenia wypadkowej wydajności całego rozwiązania ogranicza się rodzaje i ilość analizowanych obiektów lub w szerszym zakresie wykorzystuje pre-filtrację opartą np. na heurystyce, co w konsekwencji podnosi zarówno ilość niewykrytych ataków (false negative), jak również zdarzeń niepoprawnie zakwalifikowanych jako atak (false positive)

Rozwiązania FireEye

Firma FireEye założona w USA w 2004 roku, od 2006 roku konsekwentnie rozwija swoje produkty do dynamicznej analizy zagrożeń. Jest pionierem zastosowania rozwiązań typu „sandbox” w sieciach firm i instytucji. Oferuje przy tym najbardziej rozwinięte portfolio takich rozwiązań, które obejmuje analizę ataków w ruchu web, poczcie elektronicznej i w repozytoriach plików. Centralny system zarządzania pozwala na korelację danych z poszczególnych urządzeń i wskazywanie ataków typu spear phishing.

Skuteczność działania produktów i technologii FireEye wykorzystuje fakt, że zostały one zaprojektowane od podstaw w taki sposób aby wyeliminować ograniczenia „sandboxów” wymienione we wcześniejszym rozdziale. Poniższa tabela podsumowuje właśnie te cechy produktów FireEye.

2018-04-18T12:09:31+00:002014/04/05|
  • Dane teleadresowe
  • Siedziba główna
    Media Sp. z o.o.
    ul. Piotrowicka 61,
    40-723 Katowice
  • tel.: +48 32 782 95 95
    fax: +48 32 782 95 94
    NIP: 6342341032
  • Oddział Warszawa
    Media Sp. z o.o.
    ul. Chałubińskiego 8, piętro 18,
    00-613 Warszawa
  • tel.: +48 22 719 97 00
  • -------------------------------
  • Skontaktuj się z nami
  • Dane teleadresowe
  • Siedziba główna
    Media Sp. z o.o.
    ul. Piotrowicka 61,
    40-723 Katowice
  • tel.: +48 32 782 95 95
    fax: +48 32 782 95 94
    NIP: 6342341032
  • Oddział Warszawa
    Media Sp. z o.o.
    ul. Chałubińskiego 8, piętro 18,
    00-613 Warszawa
  • tel.: +48 22 719 97 00
  • -------------------------------
  • Skontaktuj się z nami
  • Dane teleadresowe
  • Siedziba główna
    Media Sp. z o.o.
    ul. Piotrowicka 61,
    40-723 Katowice
  • tel.: +48 32 782 95 95
    fax: +48 32 782 95 94
    NIP: 6342341032
  • Oddział Warszawa
    Media Sp. z o.o.
    ul. Chałubińskiego 8, piętro 18,
    00-613 Warszawa
  • tel.: +48 22 719 97 00
  • -------------------------------
  • Skontaktuj się z nami
  • Dane teleadresowe
  • Siedziba główna
    Media Sp. z o.o.
    ul. Piotrowicka 61,
    40-723 Katowice
  • tel.: +48 32 782 95 95
    fax: +48 32 782 95 94
    NIP: 6342341032
  • Oddział Warszawa
    Media Sp. z o.o.
    ul. Chałubińskiego 8, piętro 18,
    00-613 Warszawa
  • tel.: +48 22 719 97 00
  • -------------------------------
  • Skontaktuj się z nami