Le mystère du malware Duqu est enfin résolu

0
91

Les chercheurs de Kaspersky ont annoncé qu’ils avaient résolu « avec un niveau de certitude très élevé » le mystère du langage de programmation du malware Duqu.

L’expert Igor Soumenkov commence par remercier les nombreux développeurs qui ont suggéré des pistes d’investigation : il annonce avoir reçu plus de 200 commentaires sur son blog et 60+ mails. Il dit donc « un grand merci » à tous ces participants. Parmi les différentes suggestions, le LISP, le Forth, Google Go, l’Erlang, Delphi, les compilateurs exotiques du C++ ainsi que la possibilité de programmer orienté objet directement en C sont tous revenus plusieurs fois.

C’est finalement cette dernière possibilité qui a été retenue. Suite à un commentaire, Soumenkov a expérimenté avec le compilateur pour C de Microsoft Visual Studio. Il a finalement trouvé une combinaison d’options qui permet, avec MSVC 2008, de reproduire à l’identique un segment de code machine de Duqu à partir d’un segment de code source C orienté objet. Avec d’autres compilateurs testés, y comprit MSVC 2005, il obtient un code machine légèrement différent.

Pour les chercheurs de Kaspersky, la préférence du C par rapport au C++ reflète des programmeurs expérimentés, qui souhaitent un contrôle plus direct sur le code machine produit ainsi qu’une « extrême portabilité ».

Ils sont désormais certains que ce module de Duqu a été compilé avec MSVC 2008 et ses options /O1 et /Ob1. Il a « sans doute » été écrit avec une extension C orientée objet, créée sur mesure. L’architecture événementielle a été créée avec le Framework Duqu ou son extension OO du C. Il n’est pas impossible que le module communication de Duqu ait servi dans d’autres applications, puis ait été réutilisé pour le trojan.

Kaspersky souligne la très haute qualité du code de Duqu (et Stuxnet), selon eux absolument exceptionnelle par rapport aux malwares contemporains.

 

Sources : Developpez.com