piątek, 11 kwietnia 2014

Trusteer Apex - skuteczna metoda walki z APT i 0-day

Tydzień temu byłem na konferencji dotyczącej Cyberbezpieczeństwa zorganizowanej przez IBM w Dublinie. Wzięli w niej udział eksperci z grupy IBM X-Force i IBM Security Systems tacy jak Micheal Hamelin, Vijay Dheap czy Dana Tamir. Największe wrażenie zrobiła na mnie Dana Tamir z Trustware, która opowiadała i co ważniejsze przedstawiła demo, o tym jak skutecznie bronić się przed malware typu zero-day, które są wykorzystywane obecnie w atakach APT.

Każdy już wie, że cyberprzestępcy organizują się w grupy które tworzą exploity typu zero-day, czyli złośliwe kody które pojawiają się na czarnym rynku jeszcze przed publikacją poprawki przez producenta. Właśnie dlatego zero-day są tak bardzo pożądane przez cyberprzestępców. Dzięki nim mogą zainfekować bardzo wiele komputerów wiedząc, że nie istnieją mechanizmy obronne, które są w stanie je wykryć. Organizacje są świadome istniejących zagrożeń spowodowanych zero-day, które mogą zostać użyte do kradzieży, czy też zdalnego dostępu kontrolowanego przez malware.

W celu kradzieży danych złośliwy kod musi zostać jakoś uruchomiony w systemie, a żeby został uruchomiony trzeba go w jakiś sposób tam dostarczyć. Istnieje na to wiele metod: spear phishing, watering hole, weponized content, można wykorzystać dziurę w aplikacjach Javy itd. W momencie gdy złośliwy kod jest już dostarczony do systemu docelowego uruchamia się, a atakujący ma możliwość eksfiltracji, czyli potajemnego wysyłania danych. Malware posiada wiele technik które pozwalają na kradzież danych: key loggery, screen capture, form grabbing, network eavesdropping czy remote control.

Zanim jednak atakujący dostanie to czego szuka, czeka go długa droga. Na przykład po włamaniu do pierwszego komputera zdobywamy dane konta, które pozwolą atakującemu zdobyć dostęp do innego systemu, z którego jeszcze więcej informacji może zostać zdobytych i pozwolą na ustalenie gdzie się znajdują informację, które atakujący chce ukraść. Każdy pojedynczy zhakowany komputer może zapewnić atakującemu dostęp do innych systemów, całej sieci i do zasobów które posiadają poufne dane. Techniki kradzieży danych w momencie gdy malware już osadzi się w systemie są bezgraniczne. Jeżeli pożądane informacje zostaną znalezione, to zostaną eksfiltrowane. Metody używane przez atakujących do eksfiltracji danych zależą od tego co jest dostępne atakującemu, oraz wyznaczeniu metody która zostanie najmniej prawdopodobniej wykryta. Do wyboru atakujący ma HTTP, HTTPS, FTP, email, IRC itd. Gdy atakujący posiada już wiedzę na temat infrastruktury i wie że organizacja posiada zaimplementowane systemy DLP (data leakage prevention), to zaszyfruje żeby eksfiltracja nie została wykryta.




Malware C&C Communication

Komunikacja C&C (Command and control) to nic innego jak interakcja pomiędzy malware zainstalowanym na komputerze ofiary i komputerem atakującego. Istnieje kilka praktycznych przykładów C&C:
  • Remote access and control - pozwala na dostęp do zainfekowanego systemu, na explorowanie zainstalowanych programów i danych, oraz na kontrolowanie systemu.
  • Data exfiltration - malware może wysylać sporadycznie skradzione dane (dane konta, dane poufne, czy cokolwiek jest celem atakującego) do komputera atakującego.
  • Malware software updates - Czemu nie upgradować malware w celu wprowadzenia dodatkowych mechanizmów.
  • Dirty work - atakujący mogą wykorzystać zainfekowany komputer do wielu rzeczy np. host phishing sites, relay spam, albo użyć w celu wyprowadzania ataków DDoS.
W celu komunikacji z atakującym, malware będzie próbowało otworzyć zewnętrzny komunikacyjny kanał. Najprościej jest poprzez otworzenie bezpośredniego kanału komunikacyjnego. Na szczescie tego typu bezpośrednie kanały są bardzo głośne i podstawowe mechanizmy kontrolne są w stanie je wykryć (host based security controls, personal firewall).

W celu uniknięcia wykrycia kanału komunikacyjnego, malware próbuje ukryć komunikacje. Popularne techniki ukrywania polegają na wstrzykiwaniu własnej transmisji w istniejący ruch. Na przykład malware uruchamia proces Internet Explorer, podczas gdy proces jest startowany, malware zamraża proces i wstrzykuje złośliwy kod w niego, zastępując prawidłowy. Gdy proces zostaje wznowiony, pozostaje tylko i wyłącznie proces shellowy, który wygląda jak każdy inny prawidłowy proces Internet Explorera. W task managerze można zauważyć proces IE, ale tak naprawde żadne oknow IE nie jest nawet uruchomione, ponieważ złośliwy proces jest używany do eksfiltracji danych. W celu uniknięcia wykrycia przez rozwiązania bezpieczeństwa systemów, malware potrafi komunikować sie przez strony jak Google Docs, czy różne fora.

Stosowanie powyższych technik powoduje, że jest bardzo trudno wykryć złośliwy kanał komunikacji, ponieważ wygląda on jak zwykły proces, który ma prawo do komunikacji z zewnątrz a Firewalle oraz inne rozwiązania bezpieczeństwa nie są w stanie wykryć że jego działanie jest złośliwe i pozwoli atakującemu bez ograniczeń kontaktować się z malware i kontrolować system oraz do używac eksfiltracji danych.

Stateful Application control (Kontrola stanu aplikacji)

Trustware jest to firma przejęta prze IBM, której nowy program Trusteer Apex oferuje najnowsze technologie w celu zwalczania zero-day.

Stateful Application control jest to nowe podejście do zwalczania uruchomienia złośliwego kodu dostarczonego przez explioty, oraz ochrony przed malware. Stateful Application Control analizuje stany aplikacji w celu określenia co aplikacja robi i czemu to robi. Używając takiego podejścia można określić czy zachowanie aplikacji jest odpowiednie i zablokować złośliwe pliki, króre zostały ściągnięte przez exploita.
Stateful Application Control



Analizując stan aplikacji można zrozumieć zasade działania w celu określenia czemu aplikacja tak sie zachowuje. Na przykład poprzez zrozumienie stanu aplikacji możliwe jest określenie, że aplikacja zapisuje plik dlatego, że użytkownik wykonał polecenie Save File.

Stateful Application control szybko i automatycznie identyfikuje złe stany aplikacji które nie zawierają się w możliwych akcjach aplikacji. Pozwala to na dokładną detekcję explitów i obronę przed złośliwym kodem dostarczonym przez exploita w celu wykorzystania
znanych lub nie znanych dziur w aplikacjach.

Stany aplikacji nie zmieniają się często, nawet gdy aplikacja jest patchowana lub upgradowana z jednej wersji do drugiej. Rozwiązanie to jest oparte na monitorowaniu i walidacji stanu aplikacji. Jest ono dokładne i stałe w działaniu czego rezultatem jest mało false-positves. W przypadku gdy aplikacja wejdzie w nowy prawidłowy stan, Trusteer Apex natychmiast powiadomi o nowym stanie i uruchomi automatyczny proces w celu jego aktualizacji.
 

Zatrzymanie exploitów zero-day i wymierzonych ataków

Stateful Application Control jest bardzo efektywnym mechanizmem obronnym przed exploitami zero-day i innymi advanced persistent threats (APT), które nie są wykrywane przez standardowe metody detekcji. Dzieje się tak, ponieważ Stateful Application Control nie polega na detekcji malware i nie wymaga dziennych aktualizacji  sygnatur, czy złośliwych działań. Nie potrzebne są informacje o zagrożeniu czy o jego źródle, ponieważ nie Stateful Application control nie szuka zagrożeń, ale sprawdza stan aplikacji.

Trusteer Apex monitoruje stan aplikacji niezależnie od tego czy wykonuje ona wrażliwe operacje jak zapisywanie do pliku systemowego, czy otwieranie kanału komunikacyjnego. Gdy aplikacja używa interfejsu, Stateful Application Control wymusza walidację obecnie obserwowanego stanu aplikacji ze wszystkimi znanymi stanami aplikacji. Aplikacja będzie wykonywała wszystkie operacje tak długo, jak stan aplikacji będzie odpowiadał znanym stanom tej aplikacji. W przpadku gdy stan aplikacji nie będzie odpowiadał znanym stanom aplikacji, a będzie to się działo gdy exploit będzie próbowałwykonać złośliwe działania, to Trusteer Apex zablokuje uruchomienie ściągniętego pliku a tym samym uchroni przed atakiem. W takim przypadku alert o zablokowaniu uruchomieniu exploita zostanie wygenerowany i wyświetlony użytkownikowi i administratorowi bezpieczeństwa.
Przykłady zastosowań
  •  Jeżeli użytkownik sciąga plik z Internetu poprzez przeglądarkę, to jest to normalne zachowanie przeglądarki i tworzy legalny stan aplikacji. Jeżeli strona internetowa zawiera ukryty złośliwy kod, który próbuje wykorzystać dziurę w przeglądarce w celu wykonania drive-by download, wtedy tworzony zostaje nieznany stan aplikacji.
  • Jeżeli użytkownik używa programu Adobe Acrobat i aplikacja sama aktualizuje się poprzez zapisywanie plików, to znany stan aplikacji zostaje stworzony. Jeżeli natomiast użytkownik otworzy dokument PDF, który otrzymał emailem i dokument ten zawiera ukrytego exploita, który następnie zmieni działanie aplikacji i wykorzysta do ściągnięcia i wgrania złośliwego pliku do systemu plików, wtedy nieznany stan aplikacji zostanie stworzony.

Miejsca w których Trusteer Apex blokuje ataki

Poniżej można obejrzeć demo, które pokazane zostały na konferencji. Jak dla mnie Apex robi świetne wrażenie i powinien zostać dołączony do szeregu innych mechanizmów zapewniających bezpieczeństwo organizacji.

Trusteer Apex Demo: Combating Data Exfiltration

Get the Scoop on Java Exploits

Trusteer Apex Demo: Combating Spear-Phishing Attacks

Protecting Point-of-Sale (POS) Systems: Dexter



Brak komentarzy:

Prześlij komentarz