28.05.2012 | 22:13

Adam Haertle

Flame, Flamer, sKyWIper – odkryto następcę Stuxnetu

Pięć rodzajów szyfrowania, trzy techniki kompresji, nagrywanie głosu, wykrywanie urządzeń Bluetooth znajdujących się w pobliżu, sniffer, 20 megabajtów kodu i unikanie wykrycia przez jakiegokolwiek antywirusa w ciągu ostatnich dwóch lat – brzmi imponująco.

3 różne organizacje ogłosiły dzisiaj odkrycie nowego, niezwykle złożonego wirusa. Raporty poświęcone najnowszemu znalezisku opublikowały węgierski CrySyS Lab, Kaspersky oraz irański MAHER. Każde laboratorium nazwało go inaczej: Węgrzy sKyWIper, Rosjanie Flame, a Irańczycy Flamer. Wszystko wskazuje na to, że pierwsze egzemplarze wirusa zostały wykryte w czasie analizy innej infekcji, o której pisaliśmy 23go kwietnia. Wtedy tajemniczy wirus zaatakował irański przemysł naftowy. Badanie zainfekowanych komputerów nie wykryło sprawcy tamtego ataku, ale zwróciło uwagę specjalistów na inne pliki, które okazały się stanowić część nowego wirusa. Międzynarodowa Unia Telekomunikacyjna rozesłała próbki wirusa do niektórych laboratoriów ok. 2 tygodnie temu. Ze względu na rozmiar kodu (łącznie ze wszystkimi wykrytymi do tej pory bibliotekami i wtyczkami wirus ma ok. 20 MB) analiza może potrwać jeszcze wiele miesięcy, jednak już wstępne jej wyniki są bardzo interesujące.

 

Zmienna, której zawdzięcza swoją nazwę

 

Gdzie i kiedy pojawiły się pierwsze infekcje?

W oparciu o posiadane sygnatury plików wirusa Kaspersky ustalił, że jego egzemplarze napotkano przynajmniej w 2010 roku w Libanie. Z kolei CrySyS Lab oraz Symantec twierdzą, że pliki o nazwach identycznych jak niektóre moduły wirusa były zgłaszane już w roku 2007, a od tego czasu pojawiały się wielokrotnie. Oznacza to, że przynajmniej przez 2 lata wirus ten całkowicie unikał wykrycia przez rozwiązania antywirusowe. Jeszcze wczoraj nie rozpoznawał go żaden z 43 testowanych programów.

Co ciekawe, wygląda na to, że główna część infekcji wirusa miała miejsce w krajach Bliskiego Wschodu, z największą liczbą infekcji na terenie Iranu oraz Palestyny.

 

Rozkład infekcji (źródło: Kaspersky)

 

Możliwości wirusa

Spektrum możliwości wirusa jest imponujące. Potrafi on zbierać informacje w każdej postaci i przekazywać je do centrum sterowania. Oprócz tradycyjnych metod jak nagrywanie naciskanych klawiszy, wirus wykonuje regularne zrzuty ekranu (co 60 sekund, jeśli nie dzieje się nic ciekawego i co 15 sekund, jeśli otwarte są okna klienta poczty lub komunikatorów). Posiada także moduł sniffera, umożliwiającego wychwytywanie haseł przesyłanych bez szyfrowania. Potrafi także nagrywać głos z mikrofonu, co umożliwia monitorowanie otoczenia i nagrywania np. rozmów przez Skype.

Wśród rzadziej spotykanych funkcjonalności występuje także aktywne skanowanie otoczenia w poszukiwaniu urządzeń z włączonym interfejsem Bluetooth. Wirus zbiera także wszelkie informacje o działających procesach, sterownikach, plikach i katalogach znajdujących się na zainfekowanym komputerze. Skanuje także dyski ofiary w poszukiwaniu konkretnych plików lub ich rodzajów. Wszystkie zebrane daje przechowuje w ogromnej, zaszyfrowanej bazie SQLite i okresowo przekazuje do centrali.

Technika działania

Robak stosuje także różne metody szyfrowania, od prostych szyfrów podstawieniowych po RC4. Dane przechowuje w co najmniej kilku rodzajach plików. Część jego funkcjonalności oparta jest o skrypty LUA. Jednym z przykładów może być  skrypt clan_seclog.lue, który przeszukuje logi „Security” poszukując wydarzeń związanych z uwierzytelnieniem użytkownika (Id 540, 672 czy 673). Wirus przechowuje także bardzo rozbudowaną listę produktów antywirusowych (346 pozycje), pomagającą unikać wykrycia. W zależności od zidentyfikowanego produktu antywirusowego wirus zmienia swoje zachowanie – na przykład w systemie pod kontrolę McAfee zamiast rozszerzenia pliku .ocx używa .tmp. Dodatkowo umieszcza swoje własne pliki na listach plików zaufanych poszczególnych rozwiązań antywirusowych.

Co ciekawe, wirus nie rozmnaża się, chyba ze otrzyma taki rozkaz. W jednym z modułów znajdują się 2 exploity wykorzystane w kodzie Stuxnetu (MS10-061 i MS10-046), jednak mogły one zostać dodane dopiero po ich ujawnieniu. Poza poziomem skomplikowania funkcjonalności nie widać żadnych innych dowodów wskazujących na to, że Flame powstał w tych samych laboratoriach co Stuxnet czy Duqu. Łączą je jednak zarówno złożoność kodu, jak i rozkład geograficzny infekcji.

 

Architektura modułów wirusa (źródło: CrySyS Lab)

 

Wykryto co najmniej 10 różnych serwerów zarządzających wirusem rozsianych po całym świecie, znajdujących się pod co najmniej 80 różnymi nazwami domenowymi. Wszystkie serwery C&C korzystają z mechanizmu fast flux, przez co trudno jest stworzyć reguły blokowania ich ruchu.

Kto za tym stoi?

jak zwykle głównymi podejrzanymi w przypadku tak dużego poziomu skomplikowania wirusa stają się rządy krajów, które mają na pieńku z całym regionem. A konkretnie rząd jednego kraju, Izraela. Brak jednak jakichkolwiek namacalnych dowodów, że to właśnie służby specjalne Izraela są autorami tego robaka. Bez wątpienia najbliższe miesiące wielu analityków antywirusowych spędzi nad nowymi próbkami kodu i możemy spodziewać się jeszcze niejednej ciekawej informacji dotyczącej Flame.

Dla zainteresowanych szczegółami wirusa raporty poszczególnych firm: CrySyS Lab, Kaspersky część 1 i część 2, Symantec. Dodatkowo można pobrać próbki wirusa. I ciekawostka: moduł wirusa nteps32.ocx ma funkcjonalność identyczną jak wykryty w 2010 roku trojan Tosy

Powrót

Komentarze

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Flame, Flamer, sKyWIper – odkryto następcę Stuxnetu

Komentarze