Rodzina szkodliwego oprogramowania ransomware o nazwie Cerber została udoskonalona o nową technikę, która utrudnia wykrycie ataku. Cerber ma nowy moduł ładujący zaprojektowany tak, aby omijać rozwiązania zabezpieczające oparte na uczeniu maszynowym. Moduł ten ingeruje w normalny proces, zamiast którego uruchamiany jest kod Cerbera.
Zachowanie i analiza
Szkodliwe oprogramowanie typu ransomware zwykle jest rozsyłane pocztą elektroniczną, a nowe odmiany Cerbera nie stanowią pod tym względem wyjątku. Użytkownik może otrzymać np. e-mail wyglądający jak wiadomość od przedsiębiorstwa użyteczności publicznej, zawierający odsyłacz do samorozpakowującego się archiwum, które zostało umieszczone na kontrolowanym przez hakerów koncie usługi Dropbox. Ofiara pobiera szkodliwy plik i otwiera go, co powoduje zainfekowanie systemu. O tym, co dzieje się dalej, informuje poniższy schemat blokowy.
Ilustracja 1. Schemat blokowy zachowania Cerbera
Pobrany plik jest samorozpakowującym się archiwum zawierającym trzy pliki: skrypt w języku Visual Basic, plik DLL oraz plik binarny, który wygląda jak plik konfiguracyjny. W jednej z naszych próbek pliki te nosiły odpowiednio nazwy 38oDr5.vbs, 8ivq.dll i x. W innych przypadkach, w których stwierdziliśmy takie samo zachowanie, pliki nazywały się jednak inaczej.
Ilustracja 2. Zawartość samorozpakowującego się archiwum
Najpierw skrypt jest uruchamiany za pomocą narzędzia Windows Script Host. Następnie skrypt ładuje plik DLL za pomocą programu rundll32.exe z nazwą pliku DLL i eksportuje go jako argumenty.
Sam plik DLL jest prosty i działa bezpośrednio. Odczytuje plik konfiguracyjny (plik x), odszyfrowuje jego część i wykonuje to, co odszyfrował. Plik DLL nie jest spakowany ani zaszyfrowany, jednak kod odszyfrowany przez niego z pliku x jest bez wątpienia szkodliwy.
Ilustracja 3. Początek pliku binarnego X
Plik X zawiera moduł ładujący oraz różne ustawienia konfiguracyjne. Moduł ładujący ma funkcje sprawdzające, czy plik został uruchomiony na maszynie wirtualnej lub w wydzielonym środowisku uruchamiania aplikacji, czy na maszynie tej uruchomione są określone narzędzia analityczne oraz czy obecne są określone zabezpieczenia antywirusowe. Jeśli którakolwiek z tych prób się nie powiedzie, szkodliwe oprogramowanie przestaje działać.
Poniżej znajduje się lista narzędzi i produktów sprawdzanych przez to oprogramowanie:
Narzędzia analityczne
• Msconfig
• Wydzielone środowiska uruchamiania aplikacji (sandbox)
• Regedit
• Task Manager
• Maszyny wirtualne
• Wireshark
Rozwiązania zabezpieczające (producenci)
• 360
• AVG
• Bitdefender
• Dr. Web
• Kaspersky
• Norton
• Trend Micro
Najważniejszym działaniem modułu ładującego jest iniekcja kodu w inny proces. W tym przypadku jest to cały kod binarny Cerbera, który może zostać wstrzyknięty w każdy z następujących procesów:
• C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe
• C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe
• C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
• C:\Windows\SysWow64\WerFault.exe
• C:\Windows\System32\WerFault.exe
Chcemy podkreślić, że dostarczyliśmy listę adresów URL usługi Dropbox działowi zabezpieczeń tej firmy. Adresy URL, o których mowa, już nie działają, a powiązane z nimi konta zostały zablokowane.
Uczenie maszynowe a omijanie zabezpieczeń
Cerber jako zagrożenie został już zablokowany przez wcześniejsze udoskonalenia w rozwiązaniach zabezpieczających. Uruchomienie go w normalnym procesie (tak jak to robi moduł ładujący) może pomóc w ominięciu monitorowania behawioralnego. Po co jednak utrudniać sprawę, ponownie pakując plik i używając odrębnego modułu ładującego? Wcześniejsze wersje Cerbera wykonywały już procedurę wstrzykiwania kodu, która może symulować określone zachowanie. Czemu więc służy odrębny moduł ładujący?
Odpowiedź prowadzi do rozwiązania opartego na uczeniu maszynowym. Producenci zabezpieczeń stworzyli funkcje, które umożliwiają prewencyjne wykrywanie szkodliwych plików nie na podstawie sygnatur, lecz właściwości. Nowe mechanizmy pakowania i ładowania, które zostały zastosowane w Cerberze, mogą powodować problemy w przypadku statycznego uczenia maszynowego, tj. metod analizujących plik bez jego wykonywania lub emulacji.
Pliki samorozpakowujące się oraz pliki proste i działające bezpośrednio mogą utrudniać wykrywanie ataków, jeśli ochrona jest oparta na statycznym uczeniu maszynowym. Wszystkie pliki samorozpakowujące się, niezależnie od zawartości, wyglądają podobnie pod względem struktury. Rozpakowane pliki binarne z ograniczonym zestawem funkcji też nie muszą wyglądać groźnie. Innymi słowy, sposób pakowania Cerbera można określić jako opracowany specjalnie w celu ominięcia ochrony opartej na uczeniu maszynowym. Dla każdej nowej techniki wykrywania szkodliwego oprogramowania tworzona jest odpowiednia technika jej omijania.
Nowa technika Cerbera nie jest jednak w stanie pokonać zabezpieczeń wielowarstwowych. Cerber ma słabe strony w porównaniu z innym szkodliwym oprogramowaniem. Na przykład rozpakowany plik DLL ułatwia utworzenie wzorca „jeden do wielu”, a stała struktura w archiwum pomaga w sprawdzeniu, czy pakiet jest podejrzany. Rozwiązania, które nie są oparte głównie na uczeniu maszynowym, lecz wykorzystują różne techniki, mogą chronić przed takimi zagrożeniami jak Cerber.
Rozwiązania Trend Micro
Cyberprzestępcy będą zawsze dążyć do ominięcia najnowszych rozwiązań zabezpieczających, w związku z czym użytkownicy nie powinni ograniczać się do stosowania jednego typu ochrony. Planowanie strategiczne oraz prewencyjne, wielowarstwowe podejście do bezpieczeństwa, od bramy poprzez punkty końcowe, sieci i serwery, przynosi bardzo dobre rezultaty.
Rozwiązania do ochrony punktów końcowych, takie jak pakiety Trend Micro™ Smart Protection i Worry-Free™ Business Security, mogą obronić przedsiębiorstwa i użytkowników indywidualnych przed tymi zagrożeniami poprzez wykrywanie szkodliwych plików i zarażonych wiadomości, a także blokowanie wszystkich powiązanych z nimi szkodliwych adresów URL. Trend Micro Deep Discovery™ ma warstwę inspekcji wiadomości e-mail, która zapewnia ochronę poprzez wykrywanie szkodliwych załączników i adresów URL.
Trend Micro OfficeScan™ z rozwiązaniem XGen™ zabezpieczającym punkty końcowe wykorzystuje zaawansowane metody uczenia maszynowego i globalnej analizy zagrożeń, aby zapewnić najszerszy zakres ochrony przed ransomware i innymi typami zaawansowanego szkodliwego oprogramowania. Nasze funkcje uczenia maszynowego zostały udoskonalone pod kątem ochrony przed atakami z wykorzystaniem tego typu technik.
Wskaźniki ataku
Z zagrożeniem tym powiązane są następujące skróty SHA256:
• 09ef4c6b8a297bf4cf161d4c12260ca58cc7b05eb4de6e728d55a4acd94606d4 (wykryty jako VBS_CERBER.DLCYG)
• a61eb7c8d7a6bc9e3eb2b42e7038a0850c56e68f3fec0378b2738fe3632a7e4c (wykryty jako Ransom_CERBER.ENC)
• e3e5d9f1bacc4f43af3fab28a905fa4559f98e4dadede376e199360d14b39153 (wykryty jako Ransom_CERBER.VSAGD)
• f4dbbb2c4d83c2bbdf4faa4cf6b78780b01c2a2c59bc399e5b746567ce6367dd (wykryty jako TROJ_CERBER.AL)
Źródło: http://blog.trendmicro.com/trendlabs-security-intelligence/cerber-starts-evading-machine-learning/