Gli esperti di Kaspersky Lab hanno identificato il misterioso linguaggio di programmazione del Trojan Duqu

19 mar
Notizie Virus

Kaspersky Lab ha recentemente fatto appello alla comunità dei programmatori per aiutare l’azienda a risolvere uno dei più grandi misteri che riguardano il Trojan Duqu, di cui è stato identificato un codice sconosciuto collocato all'interno di una sezione del programma nocivo di Payload DLL. La sezione del codice sconosciuto, denominato “Duqu Framework”, è parte del Payload DLL, responsabile delle interazioni con il Command & Control (C&C) server dopo gli attacchi ai dispositivi da parte di Trojan.

Dopo aver ricevuto una quantità incredibile di feedback utili da parte della comunità di programmatori, gli esperti di Kaspersky Lab hanno dichiarato che il Duqu Framework è costituito da un codice sorgente “C” scritto con Microsoft Visual Studio 2008 ed è dotato di  opzioni speciali, utilizzate per ottimizzare la dimensione del codice e l’espansione inline. Il codice è stato scritto anche con un’estensione personalizzata per combinare la programmazione orientata agli oggetti con C, generalmente indicato come "OO C".

Questo linguaggio di programmazione è sofisticato ed è molto comune trovarlo nei progetti software leciti piuttosto che nei malware.

Mentre non è possibile spiegare il motivo per cui venga utilizzato OO C invece di C++ per il Duqu Framework, ci sono invece due ragionevoli cause che sostengono il suo utilizzo:

  • Più controllo sul codice: quando C++ è stato pubblicato, molti programmatori della vecchia scuola hanno preferito rimanere estranei alla cosa perché diffidavano della distribuzione della memoria e dei linguaggi non conosciuti che causano l’esecuzione indiretta del codice. OO C, invece, fornirebbe un quadro più affidabile, con meno possibilità che avvenga un imprevisto.
  • Estrema portabilità: circa 10-12 anni fa, C++ non era stato del tutto standardizzato e il problema era che un codice C++ non era modificabile con nessun compilatore. Utilizzando C, invece, esso fornisce ai programmatori un portabilità estrema dal momento che è in grado di colpire ogni piattaforma esistente in qualsiasi momento senza dover affrontare i limiti che si presentano con C++.

 “Queste due ragioni indicano che il codice era stato scritto da un team di sviluppatori di grande esperienza della vecchia scuola, che volevano creare un framework personalizzato per supportare una piattaforma altamente flessibile. Il codice poteva essere recuperato da operazioni informatiche precedenti e, dopo averlo personalizzato, poteva essere riutilizzato per integrarlo nel Trojan Duqu“, ha dichiarato Igor Soumenkov, esperto di malware. “Tuttavia, una cosa è certa: queste tecniche sono in genere utilizzate da sviluppatori di software specializzati”.

Kaspersky Lab ringrazia tutti coloro che hanno partecipato all’identificazione del linguaggio sconosciuto.

Per leggere la versione completa dell’analisi, scritta da Igor Soumenkov, visitare il sito www.securelist.com.