Sécurité IT : Kaspersky Lab parvient enfin à décoder le langage de Duqu
Après avoir lancé un appel à la communauté pour tenter d’identifier le langage utilisé dans le malware Duqu, Kaspersky dévoile les résultats.
Le très élaboré cheval de Troie Duqu continue de révéler ses secrets aux chercheurs.
L’équipe d’experts en sécurité du Kaspersky Lab a réussi à identifier le langage de programmation utilisé dans son module de communication.
Complètement bloqués par le code de ce module vital, les chercheurs ont demandé il y a deux semaines l’aide de la communauté des programmeurs.
Une initiative de « crowdsourcing » qui aurait rempli son office.
Duqu est un logiciel d’espionnage dérivé du ver industriel Stuxnet (qui a notamment été activé contre les centrifugeuses du programme nucléaire iranien), qui a été identifié fin 2011.
Les chercheurs veulent percer la forteresse du code pour retrouver l’origine de ce malware.
Les théories avancée à l’époque sur le langage utilisé dans ce module central allaient dans la direction d’un obscur langage ultra-spécialisé, ou d’un environnement créé pour l’occasion.
En réalité, ce composant de collecte d’information et de communication a tout simplement été écrit en C orienté objet (OOC) grâce à un framework personnalisé, compilé avec Microsoft Visual Studio Compiler 2008.
Un langage finalement assez commun, mais dont l’aspect du code final est changé par chaque extension et configuration du compileur.
La technique de programmation découverte était populaire il y a une dizaine d’année pour la création de logiciels professionnels, mais est très rare aujourd’hui parmi les hackers, affirme la firme de sécurité IT.
Ces techniques font émerger Duqu « comme une gemme au milieu de la masse de programmes néfastes « imbéciles » que nous voyons normalement » a réagi Costin Raiu, directeur des recherches et analyses de Kaspersky, lors d’une web conférence, cité par le magasine Wired.
Les personnes à l’origine du logiciel-espions seraient des développeurs chevronnés en conclut le chercheur. L’ancienne garde se méfierait en effet du (relativement) nouveau langage C++ pour certaines applications.
« Lorsque vous écrivez en C, vous pouvez vous assurer que le programme sera exécuté exactement de la manière que vous le souhaitez. Avec le C++ c’est un peu différent, […] le compilateur code des outils à votre place, et finalement vous perdez le contrôle sur tout le code. Vous ne pouvez jamais être certains qu’il s’exécutera de la façon voulue. »
Le compilateur Microsoft Visual Studio Compiler 2008 a été utilisé car il dispose d’une option permettant de limiter au maximum la taille du code produit, utile pour un malware devant infecter un système en passant par une faille « 0 Day ».
En l’occurrence, une faille de Microsoft Word.
Le C est également beaucoup plus polyvalent, pouvant être facilement compilé pour divers OS, en particulier Mac, Linux et les OS mobiles. Les mystérieux hackers avaient donc tout prévu.
Logo : ©-Lorenzo-Buttitta-Fotolia.com