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

Gauss - sponsorowany przez rząd szpiegujący trojan bankowy

Dodany 13 sierpnia 2012, 15:17 CEST
Tagi:

Wprowadzenie
Gauss to najnowszy projekt cyberszpiegowski w sadze o Stuxnecie, Duqu oraz Flame. Szkodnik ten został stworzony prawdopodobnie w połowie 2011 r., a po raz pierwszy użyto go między sierpniem a wrześniem 2011 r. Gauss został wykryty podczas realizacji inicjatywy zapoczątkowanej przez e International Telecommunications Union (ITU) po wykryciu Flame’a.
W skrócie, Gauss to sponsorowany przez rząd trojan bankowy, który zawiera w sobie ładunek bojowy o nieznanym przeznaczeniu. Oprócz kradzieży różnych rodzajów danych z zainfekowanych maszyn działających pod kontrolą systemów Windows szkodnik zawiera również nieznaną, zaszyfrowaną funkcję szkodliwą, która jest aktywowana w określonych konfiguracjach systemu.
Tak jak Duqu opierał się na platformie “Tilded”, na której został rozwinięty Stuxnet, Gauss opiera się na platformie “Flame”. Posiada pewne funkcje wspólne z Flamem, takie jak podprocedury infekowania USB.

 

W tym FAQ-u odpowiadamy na niektóre podstawowe pytania dotyczące działania tego szkodnika.
Czym jest Gauss? Skąd wzięła się jego nazwa?

 

Gauss to złożony zestaw narzędzi cyberszpiegowskich stworzony przez te same osoby, które stoją za platformą szkodliwego oprogramowania Flame. Jest on wysoce modułowy i obsługuje nowe funkcje, które mogą być zaimplementowane zdalnie przez operatorów w postaci wtyczek. Znane obecnie wtyczki wykonują następujące funkcje:

 

  • Przechwytywanie ciasteczek i haseł w przeglądarkach.
  • Gromadzenie i wysyłanie danych dotyczących konfiguracji systemu do osób atakujących.
  • Infekowanie urządzeń USB modułem kradzieży danych.
  • Tworzenie listy zawartości dysków systemowych oraz folderów.
  • Kradzież danych uwierzytelniających dla różnych systemów bankowych na Bliskim Wschodzie.
  • Kradzież informacji dotyczących kont na portalach społecznościowych, poczty e-mail oraz kont komunikatorów internetowych.

Moduły posiadają nazwy wewnętrzne, które wydają się być hołdem dla znanych matematyków i filozofów, takich jak Kurt Godel, Johann Carl Friedrich Gauss czy Joseph-Louis Lagrange.

Moduł o nazwie “Gauss” jest najważniejszym modułem szkodnika, ponieważ implementuje funkcje kradzieży danych. Z tego powodu cały zestaw szkodliwych narzędzi nazwaliśmy od nazwy tego najważniejszego komponentu.

 

Architektura Gaussa

 

Ponadto, autorzy zapomnieli usunąć informacje o debuggowaniu z niektórych próbek Gaussa, które zawierają ścieżki do lokalizacji projektu. Ścieżki to:

 

WersjaŚcieżka do plików projektu
Sierpień 2011 d:\projects\gauss
Październik 2011 d:\projects\gauss_for_macis_2
Gru 2011-Sty 2012 c:\documents and settings\flamer\desktop\gauss_white_1

 

Tym, co od razu rzuca się w oczy, jest: “projects\gauss”.

 

Jeżeli chodzi o „white”, uważamy, że jest to odniesienie do Libanu, państwa o największej liczbie infekcji Gaussem. Według Wikipedii, „Nazwa Liban pochodzi od semickiego rdzenia LBN, który oznacza “biały”; prawdopodobnie jest to nawiązanie do pokrytej śniegiem pasma górskiego Liban”.

 

W jaki sposób i kiedy został wykryty Gauss?

 

Gauss został wykryty w trakcie dochodzenia zapoczątkowanego przez International Telecommunication Union (ITU) w ramach stałej inicjatywy mającej na celu zmniejszanie ryzyka, jakie stanowią cyberzagrożenia, oraz zapewnienie cyberpokoju.

 

W ramach tej inicjatywy nadal analizowaliśmy nieznane komponenty Flame’a, aby dowiedzieć się, czy wykazują jakiekolwiek podobieństwa i związki z nowymi, aktywnymi szkodliwymi programami lub zawierają wskazówki odnośnie tych szkodników.

 

Podczas analizy wykryliśmy oddzielny moduł cyberszpiegowski, który wydawał się podobny do Flame’a, ale posiadał inny rozkład geograficzny infekcji. Na początku, nie zwróciliśmy na niego większej uwagi, ponieważ był już wykrywany przez wiele produktów antywirusowych. Później jednak zidentyfikowaliśmy kilka kolejnych modułów, w tym takie, które nie były wykrywane, i po bliższym przyjrzeniu się im, zauważyliśmy wyraźne podobieństwa do Flame’a. Szczegółowa analiza przeprowadzona w czerwcu i lipcu 2012 r. potwierdziła, że pochodzenie kodu i jego autorzy są ci sami co w przypadku Flame’a.

 

Kiedy został stworzony Gauss i jak długo działał?

 

Na podstawie analizy i znaczników czasowych z uzyskanych modułów tego szkodliwego oprogramowania uważamy, że Gauss zaczął działać około sierpnia/września 2011 r. Jest to dość interesujące, ponieważ we wrześniu 2011 r. węgierski CrySyS Lab poinformował o wykryciu Duqu. Nie wiemy, czy osoby stojące za Duqu przerzuciły się w tym czasie na Gaussa, jesteśmy jednak przekonani, że szkodniki te są powiązane: Gauss jest powiązany z Flamem, Flame jest powiązany ze Stuxnetem, Stuxnet jest powiązany z Duqu. Dlatego też Gauss jest powiązany z Duqu.

 

Od końca maja 2012 oparty na chmurze system bezpieczeństwa firmy Kaspersky Lab zarejestrował ponad 2 500 infekcji, a całkowitą liczbę ofiar Gaussa szacuje się na dziesiątki tysięcy.

 

Infrastruktura serwerów kontroli (C&C) Gaussa została zamknięta w lipcu 2012 r. Obecnie szkodnik znajduje się w stanie uśpienia, czekając, aż jego serwery C&C znów staną się aktywne.

 

Jaki jest mechanizm infekcji tego szkodnika? Czy posiada zdolności samo-replikacji (takie jak robaki)?

 

JTak jak w przypadku Flame’a, nadal nie wiemy, w jaki sposób ofiary zostały zainfekowane Gaussem. Możliwe, że mechanizm infekcji jest taki sam jak w przypadku Flame’a, ale jeszcze nie odkryliśmy go; może też być inny. Nie wykryliśmy żadnych zdolności samo-replikacji (robaka) w Gaussie, jednak wyższa liczba ofiar w porównaniu z Flamem może wskazywać na funkcję wolnego rozprzestrzeniania. Mogła ona zostać zaimplementowana przez wtyczkę, której jeszcze nie widzieliśmy.

 

Warto wspomnieć, że Gauss infekuje urządzenia USB komponentem kradnącym dane, który wykorzystuje tę samą lukę .LNK (CVE-2010-2568) co Stuxnet i Flame. Jednocześnie, proces infekowania urządzeń USB jest bardziej inteligentny i skuteczny. Gauss potrafi “wyleczyć” urządzenie USB w niektórych okolicznościach i wykorzystuje ten nośnik wymienny do przechowywania zebranych informacji w ukrytym pliku. Zdolność gromadzenia informacji w ukrytym pliku na urządzeniach USB posiadał także Flame. Innym interesującym komponentem Gaussa jest instalowanie czcionki o nazwie Palida Narrow. Cel instalacji tej czcionki jest na razie nieznany.

 

Czy istnieją jakieś exploity zero-day (lub znane exploity)?

 

Nie znaleźliśmy (jeszcze) w Gaussie żadnych exploitów zero-day lub „God mode” w stylu Flame’a . Ponieważ jednak mechanizm infekcji nie jest jeszcze znany, może być wykorzystywany nieznany exploit. Warto wspomnieć, że ogromna większość ofiar Gaussa używa systemu Windows 7, który jest podatny na exploita .LNK wykorzystywanego przez Stuxneta. Dlatego też nie możemy stwierdzić na pewno, że Gauss nie posiada żadnych exploitów zero-day.

 

Czy wewnątrz Gaussa znajduje się jakaś specjalna szkodliwa funkcja lub bomba czasowa?

 

Tak. Zawarta w Gaussie funkcja kradzieży danych obejmuje kilka zaszyfrowanych sekcji, które są odszyfrowywane przy użyciu klucza, na który składają się pewne właściwości systemu. Sekcie te są szyfrowane przy użyciu klucza RC4, który pochodzi od hasha MD5 wykonanego 10000 razy na kombinacji zmiennej środowiskowej “%PATH%” oraz nazwy folderu w %PROGRAMFILES%. Klucz RC4 oraz zawartość tych sekcji nie są jeszcze znane – dlatego też nie wiemy, jaki jest cel tej ukrytej funkcji szkodliwej.

 

Nadal analizujemy zawartość tych tajemniczych zaszyfrowanych bloków i próbujemy złamać szyfrowanie. Jeżeli jesteś światowej klasy kryptografem i chcesz podjąć się tego zadania, napisz do nas na adres theflame@kaspersky.com.

 

Czym szkodnik ten różni się od typowego trojana backdoora? Czy wykonuje jakieś działania, które są nowe lub interesujące?

 

Po przeanalizowaniu Stuxneta, Duqu oraz Flame’a możemy powiedzieć z dużym stopniem pewności, że Gauss pochodzi z tej samej „fabryki” lub „fabryk”. Wszystkie te zestawy narzędzi do przeprowadzania ataków stanowią zaawansowane sponsorowane przez rząd cyberszpiegostwo oraz operacje cyberwojenne, w dużym stopniu definiując znaczenie koncepcji „wyrafinowanego szkodliwego oprogramowania”.

 

Wysoce modułowa architektura Gaussa przywodzi na myśl Duqu – wykorzystuje ona zaszyfrowane ustawienia rejestru w celu przechowywania informacji wskazujących wtyczki, jakie należy załadować; została tak zaprojektowana, aby unikać radaru programów bezpieczeństwa i monitoringu oraz wykonywać zadania bardzo szczegółowego monitorowania systemu. Ponadto, Gauss zawiera 64-bitową funkcję szkodliwą oraz kompatybilne z Firefoksem wtyczki do przeglądarki służące do kradzieży i monitorowania danych klientów kilku libańskich banków: Bank of Beirut, EBLF, BlomBank, ByblosBank, FransaBank oraz Credit Libanais. Ponadto, szkodnik atakuje użytkowników Citibanku oraz PayPala.

 

Jest to pierwszy taki przypadek, gdy zaobserwowaliśmy sponsorowaną przez rząd kampanię cyberszpiegowską z komponentem trojana bankowego. Nie wiadomo, czy operatorzy rzeczywiście przelewają środki pieniężne z kont bankowych ofiar czy jedynie monitorują źródła finansowania określonych celów.

 

Jak bardzo wyrafinowany jest Gauss? Czy posiada jakieś wyraźne cechy, funkcje lub zachowania, które odróżniają go od powszechnych programów spyware lub trojanów kradnących informacje?

 

W porównaniu z Flamem Gauss jest mniej wyrafinowany. Nie posiada modułowej architektury opartej na LUA, mimo to jest dość elastyczny. W porównaniu z innymi trojanami bankowymi Gauss wydaje się być precyzyjnie „dostrojony”, ponieważ nie atakuje setek instytucji finansowych, ale wybiera listę instytucji bankowości online.

 

Czy jest coś unikatowego w Gaussie, pod względem technicznym lub operacyjnym, co odróżnia go od Flame’a, Duqu i Stuxneta?

 

Główną cechą Gaussa jest funkcjonalność trojana bankowości online. Zdolność kradzieży danych uwierzytelniających transakcje bankowości online to coś, z czym wcześniej nie spotkaliśmy się w przypadku ataków z udziałem szkodliwego oprogramowania sponsorowanych przez rządy.

 

Jaka jest liczba zainfekowanych komputerów? Jak wiele jest ofiar? Oparty na chmurze system Kaspersky Security Network (KSN) zarejestrował ponad 2 500 zainfekowanych maszyn. Jest to mniejsza liczba niż w przypadku Stuxneta, ale znacznie wyższa niż w przypadku Flame’a i Duqu.

 

W rzeczywistości całkowita liczba wykrytych przez nas infekcji może stanowić zaledwie ułamek dziesiątek tysięcy infekcji, ponieważ nasze statystki obejmują tylko użytkowników produktów Kaspersky Lab.

 

Porównanie rozkładu geograficznego maszyn zainfekowanych Duqu, Flamem oraz Gaussem

 

Gdzie znajdują się ofiary (rozkład geograficzny)?

 

Ogromna większość ofiar Gaussa znajduje się w Libanie. Są również w Izraelu i Palestynie. Ponadto, niewielka liczba ofiar została zidentyfikowana w Stanach Zjednoczonych, Zjednoczonych Emiratach Arabskich, Katarze, Jordanie, Niemczech i Egipcie.

 

Trzy państwa z największą liczbą infekcji Gaussem

 

Czy Gauss atakuje konkretne branże?

 

Gauss nie atakuje przedsiębiorstw ani określonej branży. Najlepiej można go określić jako zaawansowaną operację cyberszpiegostwa skierowaną przeciwko określonym/wybranym jednostkom.

 

Czy jest to atak sponsorowany przez rząd?

 

Tak, istnieje wystarczająco dużo dowodów na to, że jest on blisko związany z Flamem i Stuxnetem, które stanowią ataki sponsorowane przez rządy. Mamy dowód na to, że Gauss został stworzony w tej samej „fabryce” (lub fabrykach), w której powstał Stuxnet, Duqu oraz Flame.

 

Na podstawie analizy Flame’a, Gaussa, Stuxneta oraz Duqu odkryliśmy następujące związki między tymi szkodliwymi programami:

 

Jak wiele serwerów kontroli istnieje? Czy przeprowadziliście analizę tych serwerów?

 

Podczas analizy Gaussa zidentyfikowaliśmy kilka domen kontroli oraz 5 różnych serwerów wykorzystywanych do pobierania danych przechwyconych z zainfekowanych maszyn.

 

Po raz pierwszy zauważyliśmy wykorzystanie “Round-robin DNS” w tego typu rodzinach szkodliwego oprogramowania, co prawdopodobnie wskazuje na przetwarzanie znacznie większej ilości danych. „Round-robin DNS” lub “DNS Balancing” to technika stosowana do rozkładania dużego obciążenia pracą pomiędzy różne serwery sieciowe.

 

Czy “odsysaliście” serwery kontroli?

 

Nie. Obecnie współpracujemy z kilkoma organizacjami w celu zbadania serwerów C2.

 

Jaki jest rozmiar Gaussa? Jak wiele posiada modułów?

 

Rozmiar bazowego modułu Gaussa to nieco ponad 200 KB. Potrafi ładować inne wtyczki, które łącznie mają rozmiar około 2 MB. Jest to około jedna trzecia głównego modułu Flame’a mssecmgr.ocx. Oczywiście, mogą istnieć moduły, których jeszcze nie wykryliśmy – wykorzystywane w innych regionach geograficznych lub innych przypadkach.

 

Czy Kaspersky Lab wykrywa tego szkodnika? Po czym poznam, że moja maszyna została zainfekowana?

 

Tak, Kaspersky Lab wykrywa to szkodliwe oprogramowanie jako Trojan.Win32.Gauss.

 

Czy Kaspersky Lab współpracuje z organizacjami rządowymi lub międzynarodowymi grupami w ramach prowadzenia dochodzenia i leczenia infekcji?

 

Kaspersky Lab ściśle współpracuje z International Telecommunication Union (ITU) w celu poinformowania wszystkich państw, w których zostały wykryte infekcje, aby pomóc im w leczeniu.

 

Czy Kaspersky Lab skontaktował się z ofiarami Gaussa?

 

Nie posiadamy danych pozwalających zidentyfikować ofiary ani też możliwości powiadomienia ich o tym. Publikujemy informacje o wykrywaniu i usuwaniu Gaussa, jak również współpracujemy z organami ścigania, zespołami CERT oraz innymi organizacjami międzynarodowymi w celu publikowania ostrzeżeń o infekcjach.

 

Dlaczego szkodnik ten koncentruje się na historii przeglądarki, danych uwierzytelniających transakcje bankowe, BIOS-ie oraz informacjach o karcie/interfejsie sieciowym?

 

Nie mamy jednoznacznej odpowiedzi na to pytanie. Przypuszczamy, że osoby atakujące są zainteresowane profilowaniem ofiar i ich komputerów. Dane uwierzytelniające transakcje bankowe, na przykład, mogą być wykorzystywane do monitorowania salda na kontach ofiar – lub do bezpośredniej kradzieży pieniędzy. Wierzymy w teorię, zgodnie z którą Gauss jest wykorzystywany do kradzieży pieniędzy w celu finansowania innych projektów, takich jak Flame.

 

Dlaczego celem osób atakujących są dane uwierzytelniające transakcje bankowe? Czy wykorzystywały je do kradzieży pieniędzy lub monitorowania transakcji na kontach?

 

Tego nie wiemy. Trudno jednak uwierzyć w to, aby rząd uciekał się do takich technik w celu finansowania operacji cyberwojennej/cyberszpiegowskiej.

 

Jakie rodzaje danych są pobierane?

 

Infrastruktura Gaussa została zamknięta, zanim mieliśmy szansę przeanalizować „żywą” infekcję i przyjrzeć się dokładnie, jak wiele i jakiego rodzaju dane zostały skradzione. Dlatego nasze obserwacje są oparte wyłącznie na analizie kodu.

 

Szczegółowe dane dotyczące zainfekowanej maszyny są wysyłane do osób atakujących, łącznie z informacjami o interfejsach sieciowych, sterownikach komputerowych, a nawet informacjami o BIOS-ie. Moduł Gaussa potrafi również kraść dane uwierzytelniające dostęp do różnych systemów bankowości online oraz metod płatności.

 

Warto wspomnieć, że infrastruktura C2 Gaussa wykorzystuje Round Robin DNS – co pozwala obsługiwać duży ruch generowany przez dziesiątki tysięcy ofiar. Daje to pewne pojęcie o ilości danych skradzionych przez wtyczki Gaussa.

 

Czy istnieje wbudowany komponent Time-to-Live (TTL), taki sam, jaki posiadał Flame oraz Duqu?

 

Kiedy Gauss infekuje urządzenie USB, ustawia flagę na “30”. Wartość flagi TTL zmniejsza się za każdym razem, gdy z urządzenia USB wykonywana jest szkodliwa funkcja. Gdy osiągnie 0, funkcja kradnąca dane usuwa się z urządzenia USB, aby utrudnić wykrycie jej.

 

Jaki język programowania został użyty? LUA? OOC?

 

Tak jak w przypadku Flame’a, Gauss został zaprogramowany w języku C++. Oba szkodniki posiadają sporą część tego samego kodu – prawdopodobnie są to biblioteki niskiego poziomu wykorzystywane w obu projektach. Te wspólne biblioteki wykonują zadania manipulacji ciągami i innymi danymi. Nie znaleźliśmy żadnego kodu LUA w Gaussie.

 

Jaka jest różnica między rozprzestrzenianiem się Gaussa oraz Flame’a wewnątrz sieci?

 

Jednym ze znanych mechanizmów rozprzestrzeniania się Flame’a było podszywanie się pod Windows Update i przeprowadzanie ataku man-in-the-middle na ofiary. Nie zidentyfikowaliśmy jeszcze ani takiego kodu w Gaussie, ani mechanizmu rozprzestrzeniania za pośrednictwem sieci lokalnej. Nadal badamy sytuację i będziemy aktualizować FAQ-u o dalsze ustalenia.

 

Czy serwery kontroli łączą się z którymś z serwerów Flame’a, czy Gauss posiada własną infrastrukturę C2?

 

Gauss wykorzystywał inną architekturę C2 niż Flame. Na przykład Flame wykorzystywał około 100 domen dla swoich serwerów C2, podczas gdy Gauss wykorzystuje tylko sześć. Poniżej porównanie infrastruktury C2 Gaussa oraz Flame’a:

 

 FlameGauss
Hosting VPS działający pod kontrolą Debian Linux VPS działający pod kontrolą Debian Linux
Dostępne usługi SSH, HTTP, HTTPS SSH, HTTP, HTTPS
Certyfikat SSL 'localhost.localdomain' - samodzielnie podpisany 'localhost.localdomain' - samodzielnie podpisany
Informacje o rejestracji fałszywe nazwy fałszywe nazwy
Adresy rejestrujących hotele, sklepy hotele, sklepy
protokół ruchu C2 HTTPS HTTPS
szyfrowanie ruchu C2 Nie XOR 0xACDC
nazwy skryptów C2 cgi-bin/counter.cgi, common/index.php userhome.php
Liczba domen C2 ~100 6
Liczba fałszywych tożsamości wykorzystanych do rejestracji domen ~20 3

 

Co powinienem zrobić, jeśli wykryję infekcję i będę chciał wspomóc wasze badania, dostarczając próbki szkodliwego oprogramowania?

 

Prosimy kontaktować się z nami pod adresem “theflame@kaspersky.com” stworzonym wcześniej dla ofiar takich cyberataków.