Cyberprzestępcy potrafią wdrażać strategie maskowania swoich działań, które pozwalają im skutecznie ukrywać się przed narzędziami bezpieczeństwa. Jednym z przykładów jest wykorzystanie bezplikowego malware (fileless malware). Jak wskazuje raport Agencji Unii Europejskiej ds. Cyberbezpieczeństwa (ENISA) ich zastosowanie dziesięciokrotnie zwiększa szanse powodzenia w porównaniu do konwencjonalnego cyberataku.
Choć pierwsze użycie szkodliwego oprogramowania tego typu miało miejsce w 2001 roku, to wciąż mechanizm ataku z wykorzystaniem ataków bezplikowych nie jest dobrze rozumiany. Zdaniem ekspertów ds. cyberbezpieczeństwa IT ze Stormshield ta forma ataków będzie nadal się rozprzestrzeniać. Z tego względu warto lepiej poznać to zjawisko i wdrażać metody jego wykrywania.
Złośliwe oprogramowanie bez plików: zmieniające się definicje i techniki
Bezplikowy malware po raz pierwszy pojawił się w 2001 roku wraz z robakiem „Code Red”. Wykorzystywał on lukę przepełnienia bufora w serwerach internetowych Microsoft IIS. W efekcie ponad 350 tysięcy serwerów zostało dotkniętych awarią strony głównej, na której wyświetlany był komunikat „Witamy w http://www.worm.com! Zhakowany przez Chińczyków!”. Wiadomość pochodziła od wirusa, który nie pozostawił żadnych plików ani trwałych śladów na dysku twardym, ponieważ działał jedynie w pamięci zainfekowanych maszyn.
"Bezplikowy atak złośliwego oprogramowania nie może zostać wykryty przez oprogramowanie antywirusowe, które oferuje ochronę opartą na mechanizmach sygnaturowych. Siła tego ataku polega na tym, że jego celem są elementy, które nie są obecne w obszarze diagnozowanym przez niektóre programy antywirusowe. Złośliwe oprogramowanie działające tylko w pamięci czy atak typu zero-footprint, niezależnie od nazewnictwa, wciąż pozostaje aktualnym zagrożeniem" - mówi Aleksander Kostuch, inżynier Stormshield.
Mechanizm ten charakteryzuje się tym, że malware nie pozostawia śladów na dysku. Jest to możliwe dzięki pobraniu zdalnego kodu bez wykorzystywania plików lokalnych.
"Może to przybrać formę ciągów tekstowych pobranych z serwera WWW, a następnie przekazanych jako parametry do interpretera skryptów, takiego jak PowerShell. Kod zostanie następnie wykonany bezpośrednio w pamięci z PowerShell. W ten sposób atak nie pozostawi śladu na dysku. Wykorzystywane są najbardziej zaawansowane techniki" - wyjaśnia ekspert Stormshield, europejskiego lidera branży bezpieczeństwa IT.
Powszechnie znane podatności oraz zagrożenia, to luki, które są rejestrowane w programie Common Vulnerabilities and Exposures. Każda z nich ma swój odpowiedni identyfikator CVE - rok rejestracji i kolejny numer. Rejestrem zarządza korporacja MITRE, która jest współfinansowana przez Departamentu Bezpieczeństwa Krajowego Stanów Zjednoczonych. W atakach najczęściej wykorzystuje się nie znane lub już zarejestrowane luki w zabezpieczeniach dla różnych aplikacji.
"Aplikacje są podatne na atak, ponieważ nie wykryto możliwości jej kompromitacji lub zaniechano z różnych przyczyn aktualizacji. Często pozwalają na uzyskanie uprzywilejowanego dostępu do systemu operacyjnego. Wtedy różne typy działań przestępczych mogą być wykonywane już bez przeszkód. Techniki wykorzystywane w atakach tego typu mogą być różne: atakujący przejmuje standardową aplikację, która jest wymagana do prawidłowego funkcjonowania systemu operacyjnego, wstrzykuje złośliwy kod do działających już procesów systemowych, zmienia klucze rejestru systemu Windows, itp. Informacje na temat tego typu ataku są łatwo dostępne w Internecie. W większości przypadków komendy wykonywane z wiersza poleceń są bardzo krótkie" - dopowiada Aleksander Kostuch.
Jak przebiega bezplikowy atak złośliwego oprogramowania?
Typowy scenariusz ataku składa się z trzech etapów. W pierwszej kolejności cyberprzestępcy muszą uzyskać wstępny dostęp do urządzenia ofiary, co zwykle odbywa się poprzez tradycyjne kampanie phishingowe. Chociaż ta początkowa faza ataku jest wykonywana tylko w pamięci urządzenia, to już drugi krok polega na zapewnieniu trwałego dostępu do jednostki ofiary, nawet w przypadku jej ponownego uruchomienia. Na tym etapie atutem dla cyberprzestępców są klucze rejestru.
"Niektóre klucze rejestru są odczytywane w celu uruchomienia programów po otwarciu sesji. Zapisując kod do pobrania i wykonania, zawartość w kluczach wykorzystywana jest jako parametr PowerShell. W ten sposób cyberprzestępca ma stały sposób na wejście do systemu po to, aby pobrać kolejny kod i wykonać dalsze destrukcyjne działania" - komentuje Aleksander Kostuch.
Trzeci i ostatni krok zależy od początkowych celów ataku: kradzież identyfikatorów, eksfiltracja danych lub stworzenie backdoora.
Istnieją także inne sposoby na przejęcie lub zastąpienie legalnego oprogramowania. To praktyka polegająca na podszywaniu się pod program narzędziowy używany w systemach operacyjnych i w związku z tym uznawany przez nie za legalny.
"Wykorzystanie LOLBinów, czyli techniki omijania zabezpieczeń Windows, może być zatem szczególnie problematyczne, ponieważ niezwykle trudno jest wykryć czy są one używane w sposób legalny czy złośliwy. W niektórych przypadkach narzędzia te znajdują się nawet na białych listach rozwiązań z zakresu cyberbezpieczeństwa" - wskazuje ekspert Stormshield.
Jak chronić się przed niewykrywalnym złośliwym oprogramowaniem?
Jak wskazują eksperci Stormshield innowacje stosowane przez cyberprzestępców były demonstracją technologicznej przewagi, jaką do końca drugiej dekady XXI w. mieli oni nad dostawcami oprogramowania antywirusowego. Współcześnie dostępne rozwiązania zabezpieczające sprawiają, że walka stała się bardziej wyrównana. Nie ma jednak wątpliwości, że szkodliwe oprogramowanie bezplikowe będzie nadal z chęcią stosowane przez przestępców.
Bezplikowy malware wymaga innowacyjnych technik ochrony, które uzupełniają tradycyjne narzędzia stosowane w zabezpieczeniach IT. Wytwórcy rozwiązań z obszaru cyberbezpieczeństwa opracowali nowe metody wykrywania ataków. Najpopularniejsza z nich opiera się na mechanizmie podpisu plików wykonywalnych Windows.
"Domyślnie Windows podpisuje swoje pliki wykonywalne. Komplikuje to zadanie atakującemu, który musi zastąpić plik w pamięci po zweryfikowaniu podpisu lub sfałszować miejsce docelowe pliku. Musi bowiem sprawić, że system operacyjny uwierzy, że plik, który został zastąpiony jest oryginalny. Inną opcją jest modyfikacja aplikacji u jej źródła. Jednak w obu przypadkach zadanie stojące przed przestępcą jest wymagające, co sprawia, że ta strategia jest prostym i dość skutecznym sposobem ochrony przed mniej zaawansowanymi atakami" - wyjaśnia Aleksander Kostuch.
Innym sposobem obrony jest korzystanie z czarnych list. W 2018 r. na platformie Github powstał projekt typu open source o nazwie LOLBAS (Living Off The Land Binaries and Scripts), który obejmuje obecnie ponad 450 opracowanych LOLBinów, LOLbibliotek i LOLSkryptów. Jest on obecnie obsługiwany przez ponad 60 inżynierów i kategoryzuje ponad 150 plików binarnych, które potencjalnie mogą zostać przejęte. Dla każdego narzędzia dostępne są wskaźniki potencjalnego ataku (z ang. IOA - Indicator of Attack).
"Listy muszą szczegółowo określać co blokują, a także zawierać wzorce, które zostały wykorzystane przez przestępców, takie jak ciągi znaków lub polecenia, które wykryto jako część wrogiego procesu. Są to tak zwane wskaźniki ataku" - mówi ekspert Stormshield.
Trzecią strategią jest nadzór behawioralny. Wykorzystywany przez rozwiązania do ochrony tzw. punktów końcowych (z ang. endpoint, czyli komputer lub serwer), umożliwia monitorowanie możliwych działań, takich jak łączenie się z serwerem zarządzania i kontroli, łączenie się z adresem IP o złej reputacji lub skorelowanie sekwencji działań, takich jak użycie niewiarygodnych skryptów z wiersza poleceń, a następnie odczytywanie i wykonywanie plików.
"Wykrycie niespójności w korzystaniu z narzędzi systemowych jest silnym sygnałem wskazującym na potencjalne zagrożenie" - wskazuje Aleksander Kostuch. "Co więcej, oprócz sygnatury pliku wykonywalnego istnieją mechanizmy monitorowania zachowania. Możliwe jest wykrycie czy program przepełnienia bufor pamięci operacyjnej lub wstrzykuje kod, a także czy narzędzie administracyjne jest używane przez konto użytkownika, które nie ma odpowiednich uprawnień".
Źródło: Stormshield