Kaspersky avait lancé un appel à la communauté des développeurs pour résoudre l'énigme posée par un bout du code du cheval de Troie, Duqu. Cette portion de code, appelée Duqu Framework, a pour rôle de communiquer avec les serveurs de commande et de contrôle (C&C) du cheval de Troie une fois que celui-ci a infecté une machine. Or le langage utilisé était inconnu des spécialistes de la sécurité. L'appel aux programmeurs a suscité plus de 200 commentaires et plus de 60 courriels. 3 commentaires et 2 mails, dont un d'une source anonyme ont permis de découvrir ce langage mystérieux.
Dans un billet de blog, le chercheur en sécurité de Kaspersky, Igor Soumenkov, lève le voile et explique « avec un degré élevé de certitude que Duqu Framework se compose de code source en langage C, compilé avec Microsoft Visual Studio 2008 et des options spéciales pour optimiser la taille du code et son expansion en ligne. Le code a été également écrit avec une extension personnalisée permettant de combiner la programmation orientée objet avec le langage C (une combinaison généralement connue sous l'appellation « oo C »). »
Le spécialiste indique que ce langage n'est quasiment jamais utilisé au sein d'un malware, mais plutôt dans des logiciels complexes. Par ailleurs sur le choix du langage oo C, Igor Soumenkov élabore deux hypothèses : une meilleure maîtrise du code, les programmeurs du Trojan n'avaient pas confiance dans le C++ et ont préféré travailler sur un langage qu'il connaissait. L'autre hypothèse est la portabilité, car le oo C pouvait fonctionner sur n'importe quelle plateforme, alors que le C++ a mis du temps pour être standardisé et reconnu par l'ensemble des compilateurs.
Le langage mystérieux de Duqu est une version de C orienté objet
Dans un billet de blog, l'éditeur de solutions de sécurité Kaspersky est arrivé, avec l'aide de la communauté des programmeurs, à percer le mystérieux langage d'une partie du Trojan Duqu. Il aurait été écrit dans une version de C orienté objet.