Le mystère autour du Trojan Duqu (de type Stuxnet) s'est renforcé depuis que l'on a appris que sa charge d'attaque aurait été écrite dans un langage de programmation que l'on n'arrive pas à identifier. Les experts de Kaspersky Labs ont maintenant découvert une grande partie de la structure interne du programme. Celle-ci est presqu'entièrement écrite en C++, de façon assez conventionnelle. Pourtant, en creusant le fichier Payload.dll, l'équipe a trouvé une portion de code, qu'elle a appelée 'Duqu Framework' et qui défie ses analyses. Elle est destinée à une communication furtive avec les serveurs de commande et de contrôle (C&Cs) du Trojan. Il s'agit d'un langage orienté objet d'une grande sophistication pour autant que les experts de Kaspersky ont pu en juger.

« Le mystérieux langage de programmation n'est pas du C++, ni de l'Objective C, pas plus que du Java, du Python, de l'Ada, du Lua ou l'un des nombreux autres langages que nous avons examinés », a expliqué Igor Soumenkov, l'un des ingénieurs du Kaspersky Lab, sur Securelist

Payload.dll semble être un élément important du programme. Selon l'éditeur russe, il est utilisé pour recevoir des instructions venant de serveurs distants mais aussi pour transmettre des données volées. Et il peut opérer de façon totalement indépendante du reste du programme. C'est important pour diffuser le Trojan à d'autres ordinateurs sous Windows. 

Duqu, sans doute écrit par des équipes séparées

« Compte-tenu de la taille du projet Duqu, il est possible que la création du Framework Duqu ait été réalisée par une équipe totalement différente de celle qui a conçu les pilotes et écrit le code d'infection », a indiqué de son côté Alexander Gostev, expert de Kaspersky. « En considérant le niveau de personnalisation très élevé et la particularité avec laquelle le langage a été créé, il est également possible qu'il ait été fait non seulement pour empêcher des intervenants extérieurs de comprendre l'opération de cyberespionnage et les interactions avec les C&Cs, mais aussi pour le tenir à l'écart des autres équipes Duqu chargées d'écrire les autres parties du programme malveillant. »

Duqu a été découvert par les chercheurs en sécurité de l'Université de Budapest en septembre dernier. Son origine, sa conception et ses visées importent parce qu'il est plausible qu'il soit lié au malware Stuxnet que l'on soupçonne d'avoir été créé pour interrompre les systèmes SCADA (Supervisory Control And Data Acquisition) connectés au programme d'enrichissement nucléaire iranien. 

Les connexions entre les deux malwares sont discutables, mais étranges, si l'on tient compte tenu du fait qu'ils utilisent des éléments communs. Ce qui est clair, c'est que Duqu est suffisamment sophistiqué pour résulter du travail d'une équipe compétente et bien équipée qui essaie de brouiller les pistes. En cela, ils ont en partie échoué. Plus un logiciel est sophistiqué, plus sa structure et sa conception apparaissent inhabituelle, plus il attire l'attention sur lui et éveille les soupçons. Kaspersky fait maintenant appel aux programmeurs pour l'aider à identifier le langage de programmation utilisé pour créer le framework Duqu.