8 marca 2012

Eksperci z Kaspersky Lab odkrywają nieznany język programowania w trojanie Duqu

Apel do społeczności programistów o pomoc w analizie

Eksperci z Kaspersky Lab zajmujący się zwalczaniem szkodliwego oprogramowania odkryli, że część trojana Duqu została napisana w nieznanym języku programowania.


Duqu to wyrafinowany trojan stworzony przez te same osoby, które były odpowiedzialne za niesławnego robaka Stuxnet. Szkodnik ten pełni przede wszystkim funkcję backdoora otwierającego tylne drzwi do systemu i ułatwia kradzież prywatnych informacji. Duqu po raz pierwszy został wykryty we wrześniu 2011 r., jednak według danych Kaspersky Lab, pierwszy ślad szkodliwego oprogramowania związanego z Duqu pochodzi z sierpnia 2007 r. Eksperci z firmy odnotowali kilkanaście incydentów z udziałem Duqu, przy czym zdecydowana większość ofiar tego szkodnika była zlokalizowana w Iranie. Analiza działalności zaatakowanych organizacji oraz charakteru informacji, na które polowali autorzy Duqu, wyraźnie sugeruje, że głównym celem ataków była kradzież informacji dotyczących przemysłowych systemów kontroli wykorzystywanych w wielu branżach, jak również gromadzenie danych o związkach handlowych między wieloma różnymi organizacjami irańskimi.

Wielką, nierozwikłaną tajemnicą trojana Duqu jest sposób, w jaki szkodnik ten komunikował się ze swoimi serwerami kontroli po zainfekowaniu maszyny ofiary. Moduł Duqu odpowiedzialny za interakcję z serwerami kontroli stanowi część jego szkodliwej funkcji. Po szczegółowym przeanalizowaniu jednej z bibliotek trojana eksperci z Kaspersky Lab odkryli, że pewna jej sekcja, odpowiedzialna za komunikację z cyberprzestępcami, została napisana w nieznanym języku programowania. Eksperci z Kaspersky Lab nazwali tę sekcję "Szkieletem Duqu".

W przeciwieństwie do pozostałej części trojana "Szkielet Duqu" nie został napisany w języku C++ ani skompilowany przy użyciu Visual C++ 2008 Microsoftu. Jego autorzy mogli zastosować stworzony przez siebie szkielet, aby wygenerować pośredni kod C, lub wykorzystać całkowicie inny język programowania. Jednak eksperci z Kaspersky Lab potwierdzili, że jest to obiektowy język programowania, który wykonuje własny zestaw działań charakterystycznych dla aplikacji sieciowych.

Język programowania zastosowany w "Szkielecie Duqu" jest bardzo specjalistyczny. Pozwala bibliotece odpowiedzialnej za komunikację działać niezależnie od innych modułów Duqu i łączy ją z jej serwerami kontroli na różne sposoby, łącznie z Windows HTTP, gniazdami sieciowymi oraz serwerami proxy. Ponadto, unikatowy język programowania umożliwia bezpośrednie przetwarzanie żądań HTTP, potajemnie przesyła kopie skradzionych informacji z zainfekowanej maszyny do serwera cyberprzestępców, a nawet potrafi rozprzestrzeniać dodatkową szkodliwą funkcję do innych maszyn w sieci, co stanowi kontrolowaną i dyskretną formę rozprzestrzeniania infekcji na inne komputery. Pełny opis analizy (w języku angielskim), jak również związane z nią dane, można znaleźć na stronie http://www.securelist.com/en/blog/667/The_Mystery_of_the_Duqu_Framework.

"Biorąc pod uwagę rozmach projektu Duqu, możliwe, że za 'Szkielet Duqu' odpowiadał całkowicie inny zespół niż ten, który stworzył sterowniki i napisał moduły infekujące system" – powiedział Aleksander Gostiew, główny ekspert ds. bezpieczeństwa, Kaspersky Lab. "Ponadto, niezwykle wysoki poziom adaptacji do własnych potrzeb oraz ekskluzywność, jakie charakteryzują nieznany język programowania, może sugerować, że jego celem było nie tylko uniemożliwienie osobom z zewnątrz zrozumienia operacji cyberszpiegowania oraz interakcji z serwerami cyberprzestepców, ale również odseparowanie go od innych wewnętrznych zespołów tworzących Duqu, które odpowiadały za pisanie dodatkowych komponentów tego szkodliwego programu".

Według Aleksandra Gostiewa, stworzenie wyspecjalizowanego języka programowania świadczy o wysokich umiejętnościach osób pracujących nad tym projektem oraz mobilizacji znacznych zasobów finansowych i ludzkich w celu jego realizacji.

Kaspersky Lab apeluje do społeczności programistycznej i prosi każdego, kto rozpoznaje ten szkielet, zestaw narzędzi lub język programowania, który może wygenerować podobne konstrukcje kodu, o skontaktowanie się z ekspertami z firmy pod adresem stopduqu@kaspersky.com.

Pełna wersja analizy "Szkieletu Duqu" autorstwa Igora Sołmenkowa i Costina Raiu jest dostępna (w języku angielskim) na stronie http://www.securelist.com/en/blog/667/The_Mystery_of_the_Duqu_Framework.

Informację można wykorzystać dowolnie z zastrzeżeniem podania firmy Kaspersky Lab jako źródła.