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

Tajemnica Duqu: Część druga

Aleksander Gostiew
Kaspersky Lab Expert
Dodany 27 października 2011, 10:58 CEST

Nasze dochodzenie i badanie dotyczące szkodnika Duqu trwa. Poprzedni raport zawierał dwa twierdzenia:
  • istnieje więcej sterowników niż wcześniej sądzono;
  • możliwe, że istnieją dodatkowe moduły.

Ponadto doszliśmy do wniosku, że w przeciwieństwie do przeprowadzonych na masową skalę infekcji Stuxneta Duqu atakuje bardzo ograniczoną liczbę celów.

Zanim przedstawię najnowsze odkrycia, chciałbym przekazać wyrazy uznania dla węgierskiego laboratorium badawczego Crysys za jego pracę. To właśnie jego pracownicy jako pierwsi przeanalizowali komponenty Duqu i stworzyli świetny raport. Raport ten został następnie udostępniony firmom antywirusowym i stał się podstawą dalszych dociekań. (Niestety, nasza firma nie była pierwszą, która otrzymała ten raport).

Nasi eksperci nadal przeprowadzają dogłębne analizy wszystkich komponentów Duqu i znajdują kolejne dowody na istnienie podobieństw między Duqu a Stuxnetem. Szczegółowy raport zawierający analizę plików i ich struktury jest właśnie przygotowywany przez naszych specjalistów i zostanie opublikowany w późniejszym terminie. Ta część naszych badań nie jest ani najważniejsza, ani najpilniejsza. Warto jednak zrozumieć przyczyny i sekwencję omówionych tutaj faktów.

Rzeczywiste incydenty

W poprzednim wpisie na blogu wspominaliśmy, że w przeciągu wcześniejszych 24 godzin wykryliśmy tylko jeden rzeczywisty incydent od czasu dodania sygnatury wykrywania wszystkich znanych komponentów Duqu. Od tego czasu wykryliśmy więcej takich incydentów, dzięki czemu możemy wyciągnąć kilka wniosków dotyczących samego wektora ataku.

Warto zaznaczyć, że nie możemy ani potwierdzić, ani zakwestionować informacji od innych firm antywirusowych dotyczących znanych incydentów w Wielkiej Brytanii, Stanach Zjednoczonych oraz prawdopodobnie w Austrii i Indonezji. Powstrzymujemy się od komentarza na temat incydentów mających miejsce na Węgrzech. Skoncentrujemy się tylko na przypadkach, które wykryliśmy przy pomocy Kaspersky Security Network.

Incydent nr 1: Sudan

Jak już pisaliśmy wcześniej, jeden z pierwszych rzeczywistych przypadków infekcji wystąpił w bardzo specyficznym regionie - w Sudanie.

Znaleźliśmy zupełnie nowy sterownik, który różni się od poprzednich wariantów zarówno nazwą jak i sumą kontrolną MD5.

Opierając się na naszym odkryciu, zgodnie z którym główny moduł Duqu składa się z trzech komponentów (sterownik, biblioteka DLL oraz plik konfiguracyjny), możemy zakładać, że w pakiecie znajdowały się jeszcze dwa inne pliki. Jednak na systemach naszych klientów nie odnotowaliśmy żadnego wykrycia infekcji przy użyciu aktualnych baz. To oznacza, że pliki te różnią się od znanych przykładów (netp191/192.pnf, cmi4432/cmi4464.pnf).

Niestety, nie udało nam się skontaktować z zainfekowanym użytkownikiem w celu przeprowadzenia szczegółowej analizy tego incydentu. Ponadto, nie posiadamy kopii sterownika adp55xx.sys. Na razie znamy tylko nazwę pliku, jego rozmiar oraz sumę kontrolną.

Incydent nr 2: Iran

Na chwilę obecną największa liczba incydentów związanych ze szkodnikiem Duqu została zidentyfikowana w Iranie. Fakt ten kieruje naszą uwagę w stronę robaka Stuxnet i podnosi wiele kwestii. Na początek jednak przyjrzyjmy się niektórym szczegółom.

Sytuacja wygląda tak samo jak w przypadku pierwszego incydentu: nowa, unikatowa nazwa pliku (iraid18.sys), znany już wcześniej rozmiar pliku (24 960 bajtów) oraz nowa suma kontrolna. Jednak obok tych trzech niezmiennych cech pliku istnieją też pewne różnice. Znaleźliśmy nie tylko nowy sterownik, ale również nowy plik konfiguracyjny “ird182.pnf”. Jest on analogiczny do znanych plików (ten sam rozmiar 6 570 bajtów), ale różni się pod względem zawartości. Przechowuje informacje o dacie infekcji w celu kontrolowania dalszego procesu dezinstalacji.

Kolejny sterownik jest jeszcze bardziej interesujący. Niestety, nie zdołaliśmy przywrócić jego oryginalnej nazwy. Mimo posiadania tego samego rozmiaru co wcześniejsze sterowniki Duqu, różni się od iraid18.sys, który również został znaleziony na zainfekowanej maszynie. Jest inny niż wszystkie znane wcześniej sterowniki.

Tym razem mamy do czynienia z prawie kompletnym nowym zestawem modułów o podobnych nazwach: iraid18.sys + ird182.pnf + nieznana główna biblioteka DLL (która przypuszczalnie może posiadać nazwę typu “ird181.pnf”).

Incydent nr 3: Iran

Jest to jeden z najbardziej interesujących incydentów. Mamy tu do czynienia z infekcją 2 związanych ze sobą systemów. Oprócz tego, że systemy te znajdują się w jednej sieci, zostały ponadto zainfekowane tym samym sterownikiem (również nowym) - igdkmd16b.sys. Udało nam się zdobyć kopię tego pliku:

1 Wydawca Intel Corporation
2 Produkt Intel Graphics Accelerator
3 Opis Intel Graphics Kernel Mode Driver
4 Wersja pliku 2.2.0.15
5 Oryginalna nazwa igdkmd16b.sys
6 Wewnętrzna nazwa igdkmd16b.sys
7 Rozmiar 25088 bajtów
8 Data kompilacji17 października 2011

Warto zaznaczyć, że przed tym incydentem nigdy nie widzieliśmy pliku o rozmiarze 25 088 bajtów. Wcześniej spotykaliśmy tylko sterowniki o rozmiarze 24 960 bajtów (bez podpisu cyfrowego) lub 29 568 bajtów (z podpisem cyfrowym).

Ponadto, w jednym z systemów znaleźliśmy dwa kolejne pliki (niestety, nie mogliśmy zdobyć ich kopii). Pierwszy z nich jest plikiem konfiguracyjnym o nazwie netq795.pnf, drugi to nieznany sterownik o rozmiarze wynoszącym również 25 088 bajtów, ale o innej sumie kontrolnej.

Tak jak w przypadku incydentu nr 2, również tu mamy do czynienia z niemal kompletnym nowym zestawem modułów: igdkmd16b.sys + netq795.pnf + nieznana biblioteka główna DLL (która może mieć nazwę typu “netq794.pnf”).

Incydent nr 4: Iran

Tak jak we wszystkich opisanych wcześniej incydentach i tu mamy unikatowy sterownik różniący się od poprzednich zarówno pod względem nazwy (bpmgs.sys) jak i rozmiaru (24 832 bajtów). Niestety, nie udało nam się zdobyć kopii tego pliku, w związku z czym jego zawartość nadal stanowi niewiadomą. To samo dotyczy jego pliku konfiguracyjnego.

Przy okazji odkryliśmy coś, co prawdopodobnie nie ma związku z Duqu. A JEDNAK! Nie tak dawno temu zainfekowany komputer padł ofiarą kilku ataków za pośrednictwem sieci: 4 i 16 października. W obu atakach posłużono się exploitem wykorzystującym lukę MS08-067 (tę samą, którą wykorzystał robak Kido oraz Stuxnet).

Adres IP osoby atakującej to 63.87.255.149 (w obu przypadkach). Należy on do MCI Communications Services, Inc., wchodzącej w skład Verizon Business. Zastanówcie się nad tym. Dwa ataki w ciągu 12 dni przeprowadzone z tego samego adresu IP. Jakie jest prawdopodobieństwo, że atak ten został automatycznie przeprowadzony przez Kido? Czy to możliwie w przypadku jednego ataku? Co więcej, czy to możliwe w przypadku dwóch ataków? Być może oznacza to, że ataki te nie były przypadkowe, ale ukierunkowane? Niewykluczone, że osoba atakująca wykorzystała nie tylko lukę MS08-067, ale również inne exploity, które nie zostały zidentyfikowane.

Wnioski i fakty

  1. Zarejestrowaliśmy incydenty tylko w Sudanie i Iranie;
  2. Nic nam nie wiadomo o związkach ich ofiar z irańskim programem nuklearnym czy Instytucjami Certyfikującymi;
  3. Nie ma wątpliwości, że każdy incydent Duqu jest unikatowy (unikatowe pliki o różnych nazwach i sumach kontrolnych);
  4. Duqu jest wykorzystywany do przeprowadzania ataków ukierunkowanych, których ofiary są starannie wyselekcjonowane;
  5. Zgodnie z naszą wiedzą na chwilę obecną, istnieje co najmniej 13 różnych plików sterowników (jesteśmy w posiadaniu tylko 6 z nich);
  6. Nie wykryliśmy wykorzystania żadnego modułu keyloggera. To oznacza, że albo w ogóle nie został użyty w tych incydentach, albo został zaszyfrowany, albo został usunięty z zainfekowanych systemów;
  7. Analiza sterownika igdkmd16b.sys wykazała, że istnieje nowy klucz szyfrowania, co oznacza, że istniejące metody wykrywania znanych plików PNF (główna biblioteka DLL) są bezużyteczne. Biblioteka DLL została inaczej zakodowana w każdym ataku. Istniejące metody wykrywania Duqu, stosowane przez większość producentów oprogramowania antywirusowego, zapewniają wykrywanie sterowników Duqu. Jednak prawdopodobieństwo ominięcia głównej biblioteki DLL (PNF) jest bliskie 100%;
  8. Duqu to wielofunkcyjny “szkielet”, który potrafi współpracować z każdą ilością dowolnych modułów. Duqu jest wysoce spersonalizowany i uniwersalny;
  9. Główna biblioteka (PNF) potrafi całkowicie przekonfigurować i przeinstalować pakiet. Potrafi instalować sterowniki i tworzyć dodatkowe komponenty, zapisywać wszystko w rejestrze itd. To oznacza, że jeżeli istnieje połączenie z aktywnym centrum kontroli (C&C), infrastruktura Duqu na danym systemie może zostać całkowicie zmieniona;
  10. Autorzy Duqu zdołali zainstalować uaktualnione moduły w zainfekowanych systemach, zanim zostały opublikowane informacje o tym szkodliwym programie. Świadczy o tym fakt, że nadal wykrywamy nowe sterowniki Duqu stworzone 17 października 2011. Niewykluczone, że potrafili również zmienić centrum kontroli (C&C);
  11. Istnieje prawdopodobieństwo, że znane centrum kontroli w Indiach zostało wykorzystane tylko w pierwszym incydencie (przeczytajcie raport Crysys Lab) oraz że istnieją unikatowe centra kontroli dla każdego celu, łącznie z tymi, które wykryliśmy;
  12. Doniesienia o tym, że Duqu działa na zainfekowanych systemach tylko przez 36 dni, nie są zupełnie zgodne z prawdą. Tylko jminet7.sys/netp191.pnf wykorzystuje 36-dniowy licznik. Z kolei zestaw modułów cmi4432.sys/cmi4432.pnf usuwa się po 30 dniach.