Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

miniFlame zwany SPE: "Elvis i jego przyjaciele"

Dodany 15 października 2012, 14:28 CEST
Tagi:

W maju 2012 r. śledztwo prowadzone przez firmę Kaspersky Lab doprowadziło do wykrycia nowego, sponsorowanego przez rząd, cyberszpiegowskiego oprogramowania zwanego „Flame”. Nasze badania zidentyfikowały również cechy odróżniające od siebie poszczególne moduły Flame'a. Rozważając te funkcje modułowe wykryliśmy, że pierwszy wariant robaka Stuxnet w 2009 r. zawierał moduł, który został stworzony w oparciu o platformę Flame. Potwierdziło to, że istniała jakaś forma współpracy między grupami, które rozwinęły projekt Flame i platformę Tilded (Stuxnet / Duqu).

Bardziej szczegółowe badania, przeprowadzone w czerwcu 2012 r., zaowocowały wykryciem kolejnego, sponsorowanego przez rząd i dotychczas nieznanego, szkodliwego oprogramowania, któremu nadaliśmy nazwę "Gauss". Gauss używał konstrukcji modułowej, przypominającej tę znaną z Flame'a, był podobnie kodowany, korzystał z podobnego do Flame'a systemu komunikacji z serwerami centrum kontroli (C&C) i posiadał kilka pomniejszych funkcjonalności przypominających funkcje Flame'a.

We współpracy z firmami Symantec, ITU-IMPACT oraz CERT-Bund/BSIopublikowaliśmy własną analizę serwerów centrum kontroli Flame'a. Analiza wykazała, że kod C&C może zrozumieć kilka protokołów komunikacyjnych i porozumiewać się z różnymi „klientami” lub innym szkodliwym oprogramowaniem:

  • OldProtocol
  • OldProtocolE
  • SignupProtocol
  • RedProtocol (protokół występuje w kodzie C&C lecz nie został w pełni zaimplementowany)

Bliższe spojrzenie na sposoby obsługi tych protokołów ujawniło cztery różne typy klientów („szkodników”) o nazwach kodowych SP, SPE, FL oraz IP:

Opierając się na logice analizowanego kodu możemy potwierdzić, że szkodliwe oprogramowanie Flame zostało zidentyfikowane jako klient typu „FL”. Oczywiście oznaczało to, że istnieją jeszcze trzy, niewykryte narzędzia do cyberszpiegostwa lub cybersabotażu, stworzone przez tych samych autorów: SP, SPE i IP.

Oto SPE – tak zwany miniFlame

Szkodliwe oprogramowanie „SPE” zostało odkryte w trakcie trwającego śledztwa, prowadzonego przez Kaspersky Lab.

Po przeanalizowaniu centrum kontroli Flame'a byliśmy zaskoczeni, że nowo wykryty wariant domniemanego „FL” używa do komunikacji protokołu OldProtocolE, który był skojarzony z tajemniczym modułem „SPE”. Wreszcie zrozumieliśmy, że nie mamy do czynienia z wtyczką Flame'a, a kompletnie odrębnym i unikatowym oprogramowaniem, rozpoznawanym przez serwery C&C Flame'a jako „SPE”..

Wszystko zaczęło się na początku lipca 2012 r., gdy wykryliśmy nieduży, ale bardzo interesujący moduł Flame'a. Moduł posiadał wiele cech charakterystycznych Flame'a, co sprawiło, że założyliśmy, iż jest to jakaś wcześniejsza wersja szkodnika (wszystkie znane warianty Flame'a opatrzone są numerem wersji 2.x). W kolejnych miesiącach nie tylko studiowaliśmy związek tego złośliwego oprogramowania z Flamem, ale natknęliśmy się również na przykłady użycia tego modułu w cyberbroni Gauss (moduł występował jako składnik kontrolowany przez główny moduł Gaussa).

Szczegóły dotyczące miniFlame'a / SPE

Szkodliwe oprogramowanie „SPE”, które postanowiliśmy nazwać „miniFlame”, jest małym, w pełni funkcjonalnym modułem szpiegowskim, zaprojektowanym do kradzieży danych i uzyskiwania bezpośredniego dostępu do zainfekowanych systemów. Podczas, gdy Flame i Gauss są środkami masowych operacji szpiegowskich, miniFlame / SPE jest wysoce wyspecjalizowanym narzędziem ataku, pozwalającym na operowanie z chirurgiczną precyzją.

miniFlame faktycznie został stworzony w oparciu o platformę Flame, lecz zaimplementowano go jako niezależny moduł. Może pracować niezależnie od obecności w systemie głównych modułów Flame'a lub jako składnik pracujący pod kontrolą Flame'a.

Wart podkreślenia jest fakt, że miniFlame może być stosowany w połączeniu z innym programem szpiegowskim – Gaussem. Jak wielu czytelników zapewne pamięta, powstało założenie, że Flame i Gauss były równoległymi projektami, które nie posiadały żadnych wspólnych modułów, ani serwerów C&C. Odkrycie miniFlame'a, który może współpracować z oboma wspomnianymi projektami szpiegowskimi, częściowo potwierdza słuszność naszej konkluzji, że wszystkie badane narzędzia cyberszpiegowskie pochodzą z tej samej „cyberzbrojowni”.

Najwyraźniej rozwój miniFlame'a rozpoczął się kilka lat temu i był kontynuowany do 2012 r. Na podstawie kodu C&C widać, że protokoły wykorzystywane przez „SP” i „SPE” zostały utworzone wcześniej lub w tym samym czasie, co protokół komunikacyjny używany przez Flame'a („FL”), tj. przynajmniej w 2007 r.

Sądzimy, że deweloperzy miniFlame'a stworzyli dziesiątki różnych modyfikacji programu. Jak do tej pory wykryliśmy tylko sześć.

W niektórych przypadkach dedykowane serwery C&C kontrolowały wyłącznie operacje z użyciem „SPE”. Jednocześnie niektóre warianty „SPE” pracowały z serwerami, z którymi komunikował się Flame. Szkodnik miniFlame / SPE różni się od Flame'a i Gaussa znacznie mniejszą liczbą infekcji.

Podczas gdy szacowana przez nas liczba ofiar Flame'a / Gaussa nie jest niższa niż 10 000, „SPE” wykryto na zaledwie kilkudziesięciu systemach w Zachodniej Azji. Oznacza to, że SPE jest narzędziem wykorzystywanym do ukierunkowanych ataków na starannie dobrane cele o najwyższym priorytecie, budzące szczególne zainteresowanie napastników.

NazwaIncydenty (statystyki Kaspersky Lab)Incydenty (szacunkowo)
Stuxnet więcej niż 100 000 więcej niż 300 000 0
Gauss ~ 2500 ~10 000
Flame (FL) ~ 700 ~5000-6000
Duqu ~20 ~50-60
miniFlame (SPE) miniFlame (SPE) ~50-60

 

W przeciwieństwie do Flame'a, w którego przypadku większość incydentów została zarejestrowana w Iranie i Sudanie, oraz Gaussa, który skoncentrowany był na Libanie, „SPE” nie ma jasnej przynależności geograficznej. Uważamy jednak, że wybór krajów zależy od użytego wariantu „SPE”. Dla przykładu, modyfikacja, znana jako „4.50”, występuje głównie w Libanie i Palestynie. Pozostałe warianty były rejestrowane w innych krajach, takich jak: Iran, Kuwejt czy Katar.

Oryginalny wektor dystrybucji „SPE” nie jest znany. Jednakże, ponieważ wiadomo, że szkodnik działa jako część Flame'a i Gaussa, i że współdzieli serwery C&C z Flamem, wierzymy, że w większości przypadków „SPE” był instalowany z serwerów C&C na systemach, które już wcześniej zostały zainfekowane przez Flame'a lub Gaussa.

Połączenie z Gaussem

Szkodliwe oprogramowanie SPE / miniFlame jest unikatowe w kontekście działania: może pracować jako samodzielny program, a także jako wtyczka Flame lub Gaussa. Zasadniczo jest to ogniwo mocniej łączące ze sobą projekty Flame i Gauss, pozostając jednocześnie od nich niezależnym.

W sumie wykryliśmy sześć różnych wariantów „SPE”. Wszystkie z nich powstały w okresie od 1 października 2010 r. do 1 września 2011 r.

W momencie pisania tego artykułu na wolności najbardziej rozprzestrzeniony jest wariant o numerze wersji 4.50.

Statystyki z leja

Podczas naszych badań udało się nam się zassać do leja kilka domen C&C Flame'a i miniFlame'a. Statystyki poniżej przedstawione są dla miniFlame'a.

Od 28 maja 2012 r. do 30 września 2012 r. doliczyliśmy się blisko 14000 połączeń, pochodzących z około 90 różnych adresów IP:

Rozkład adresów IP ofiar infekcji:

Adresy IP wyśledzone w Stanach Zjednoczonych pochodzą z połączeń VPN. Podobnie, adresy IP pochodzące z Litwy przynależą do dostawcy usług internetowych, który zapewnia satelitarne połączenia internetowe na terenie Libanu. Najbardziej zagadkowe wydają się być adresy IP we Francji – niektóre zdają się pochodzić od proxy lub VPN, ale inne nie są już tak oczywiste.

Dla przykładu, jeden z adresów IP ofiary we Francji należy do Uniwersytetu Francoisa Rabelaisa w Tours:

Inne adresy IP we Francji należą do użytkowników internetu mobilnego lub przydzielone zostały darmowym usługom internetowym.

Ogólnie rzecz biorąc, wygląda na to, że głównymi lokalizacjami ofiar są Liban i Iran.

Backdoor SPE / miniFlame

Głównym założeniem miniFlame'a jest operowanie na zainfekowanych systemach jako backdoor, pozwalający atakującym na uzyskanie całkowitej zdalnej kontroli nad zainfekowaną maszyną.

Szkodnik rozumie następujące rozkazy:

Nazwa poleceniaOpis
FIONA Zapisz na komputerze ofiary plik z C&C
SONIA Prześlij do C&C plik z komputera ofiary
EVE Załaduj określoną bibliotekę DLL i wywołaj bez argumentów określoną funkcję eksportu
ELVIS Utwórz proces o określonych parametrach i czekaj na jego uruchomienie
DRAKE Usuń z rejestru parametr StandardTimeBias i zasygnalizuj zdarzenie „Global\TRStepEvent” (procedura samounicestwienia)
CHARLES Zapisz do rejestru nową wartość StandardTimeBias
SAM Przejdź w tryb uśpienia na określony czas
ALEX (wersja 5.00) Pobierz czas bezczynności systemu w milisekundach
BARBARA (wersja 5.00) Zrób zrzut ekranu z okna na pierwszym planie, jeśli należy ono do jednego z predefiniowanych procesów
TIFFANY (wersja 5.00) Przełącz się na serwer C&C określony w parametrach rozkazu

 

Wszystkie polecenia wydawane są przez serwer C&C i szyfrowane są podstawowym 10-bajtowym algorytmem XOR z dodatkową warstwą szyfrowania Twofish.

Wnioski

Podczas analizy kodu C&C Flame'a wykryliśmy cztery różne części szkodliwego oprogramowania, które są znane serwerowi: SP, SPE, FL i IP. Szkodliwe oprogramowanie o nazwie kodowej FL to Flame. W dniu dzisiejszym ogłaszamy wykrycie szkodnika SPE.

Na podstawie naszej analizy udało się połączyć kilka głównych wątków działania szkodliwego oprogramowania SPE, które nazywamy również „miniFlame” lub „John” (taka nazwa figuruje w konfiguracji Gaussa):

  • Szkodliwe oprogramowanie miniFlame nie jest szeroko rozpowszechnione. Zostało ono wdrożone u niewielkiej ilości ściśle wyselekcjonowanych ofiar.
  • W odróżnieniu od Gaussa, SPE / miniFlame implementuje pełną wersję backdoora typu klient / serwer, który pozwala operatorowi na pełny zdalny dostęp do systemu ofiary.
  • Kod C&C Flame'a, który analizowaliśmy, wydaje się nie mieć specyficznych modułów do kontrolowania klientów SPE; zakładamy, że istnieje (lub istniał) specjalny serwer C&C SPE, z własnym, unikalnym kodem.
  • Rozwój projektu SPE przeprowadzany był równolegle z Flamem i Gaussem w okresie 2010 – 2011.
  • Zarówno Flame, jak i Gauss , może używać miniFlame'a / SPE jako własnego modułu.
  • Najświeższym wariantem SPE jest wersja 5.00; wersja 4.00 jest wariantem najstarszym.
  • Dokładny wektor infekcji SPE nie jest znany; przypuszczamy, że szkodnik zostaje wdrożony z serwera centrum kontroli podczas infekcji Flame'a lub Gaussa.
  • Binarna wersja szkodnika o sygnaturze 4.20 zawiera ścieżkę debugowania, która prowadzi do lokalizacji: „C:\projects\e\SP4.2\general_vob\sp\Release\icsvnt32.pdb”. Wskazuje to, że autor nazwał swoje szkodliwe oprogramowanie „SP4.2”, jednak w języku kodu C&C używa klienta typu “SPE”. Bardzo możliwe jest, że „SP” to po prostu wcześniejsza wersja miniFlame'a / SPE (wersja od 1.00 do 3.xx).
  • SPE / miniFlame konsoliduje teorię silnego powiązania pomiędzy zespołami pracującymi nad Flamem i Gaussem. miniFlame stanowi wspólny moduł, używany w obu projektach.
  • Wszystkie znane wersje 4.xx „SPE” zawierają sekcję informacji o wersji, która odnosi się do strony kodowej 3081, ENG_AUS, Angielski (Australia).

Flame i Gauss były masowymi operacjami cyberszpiegowskimi, infekującymi tysiące użytkowników. SPE / miniFlame jest wysoce precyzyjnym narzędziem szpiegowskim. Liczba ofiar tego szkodliwego oprogramowania jest porównywalna do ofiar infekcji Duqu.

Możemy założyć, że miniFlame był częścią operacji Flame i Gauss, które odbyły się w kilku fazach. Pierwsza faza: zainfekowanie jak największej liczby potencjalnie interesujących ofiar. Druga faza: zbieranie danych od ofiar, pozwalające atakującemu określić profile ofiar i znaleźć najciekawsze cele. Finalna faza: dla „wybranych” celów zastosowanie wyspecjalizowanego narzędzia szpiegowskiego, takiego jak SPE / miniFlame, do prowadzenia nadzoru / monitoringu.

Wewnątrz kodu C&C Flame'a istnieje odniesienie do dwóch dotąd nieznanych części szkodliwego oprogramowania: „SP” i „IP”. „SP” to NAJPRAWDOPODOBNIEJ starszy wariant szkodnika opisanego w tym artykule. „IP” to NAJPRAWDOPODOBNIEJ odrębna część, która do tej pory pozostaje nieznana. Zgodnie z kodem źródłowym C&C, „IP” jest również najnowszym szkodliwym programem z całego pakietu.

Analizując Flame'a, Gaussa i miniFlame'a najprawdopodobniej odkryliśmy czubek góry lodowej masowych operacji cyberszpiegowskich, mających miejsce na Bliskim Wschodzie. Ich prawdziwy cel pozostaje niejasny, a tożsamość ofiar i napastników pozostaje nieznana

Firma Kaspersky Lab składa serdeczne podziękowania grupie CERT-Bund / BSI za pomoc udzieloną podczas tego dochodzenia.