Eksperci z Kaspersky Lab zidentyfikowali tajemniczy język występujący w trojanie Duqu


Eksperci z Kaspersky Lab zidentyfikowali tajemniczy język występujący w trojanie Duqu
2012-03-20
Kaspersky Lab informuje o rozwiązaniu jednej z największych zagadek trojana Duqu, którą było zidentyfikowanie bloku nieznanego kodu znajdującego wewnątrz jednej z funkcji tego szkodliwego oprogramowania.
Sekcja tajemniczego kodu, określona jako „Szkielet Duqu”, stanowiła część funkcji odpowiedzialnej za interakcję trojana z serwerami kontrolowanymi przez cyberprzestępców.

Na początku marca 2012 r. Kaspersky Lab wystosował apel do społeczności programistów z prośbą o pomoc w analizie tajemniczego kodu. Po otrzymaniu ogromnej ilości pomocnych informacji zwrotnych eksperci z Kaspersky Lab stwierdzili z dużym stopniem pewności, że Szkielet Duqu składa się z kodu źródłowego „C” skompilowanego przy pomocy Microsoft Visual Studio 2008 oraz specjalnych opcji optymalizacji rozmiaru kodu i tzw. rozwinięcia w miejscu wywołania. Kod został również napisany przy użyciu niestandardowego rozszerzenia umożliwiającego łączenie programowania obiektowego z językiem C, ogólnie znane jako „OO C”.        

Tego rodzaju programowanie we własnym zakresie jest wysoce zaawansowane i częściej spotykane w złożonych projektach dotyczących oprogramowania niż we współczesnym szkodliwym oprogramowaniu. Trudno stwierdzić, dlaczego w szkielecie Duqu użyto OO C zamiast C++, istnieją jednak dwa sensowne wyjaśnienia:    
 
  • Większa kontrola nad kodem: Gdy opublikowano C++, wielu programistów ze starej szkoły wolało trzymać się od niego z daleka z powodu braku zaufania do alokacji pamięci oraz innych niejasnych/skomplikowanych cech tego języka, które wymuszają pośrednie wykonanie kodu. OO C zapewniłby pewniejszy szkielet z mniejszym ryzykiem nieoczekiwanego zachowania.
  • Większa możliwość przenoszenia kodu na inne platformy: około 10-20 lat temu C++ nie był w pełni ustandaryzowany i istniały przypadki, w których kod C++ nie współdziałał z każdym komputerem. Stosowanie języka C zapewnia programistom wysoką uniwersalność, ponieważ napisany w nim program może atakować każdą istniejącą platformę w dowolnym czasie bez ograniczeń, jakie cechują C++.             
 
„Te dwa powody świadczą o tym, że kod został napisany przez zespół doświadczonych programistów ze starej szkoły, którzy chcieli stworzyć niestandardowy szkielet obsługujący wysoce elastyczną i adaptowalną platformę ataków. Kod mógł zostać użyty we wcześniejszych cyberoperacjach, a następnie powtórnie wykorzystany po odpowiedniej modyfikacji, tak aby mógł integrować się z trojanem Duqu” – komentuje Igor Sołmenkow, ekspert ds. szkodliwego oprogramowania, Kaspersky Lab. „Jedno jest pewne: takie techniki zwykle są stosowane przez najlepszych twórców oprogramowania i prawie nigdy w dzisiejszym szkodliwym oprogramowaniu”.
    
Eksperci z Kaspersky Lab dziękują wszystkim osobom, które uczestniczyły w przedsięwzięciu mającym zidentyfikować nieznany kod.

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

Nadesłał:

Kaspersky Lab Polska Sp. z o.o.
http://kaspersky.pl

Wasze komentarze (0):


Twój podpis:
System komentarzy dostarcza serwis eGadki.pl