Les experts de Kaspersky Lab identifient le mystérieux langage du cheval de Troie Duqu et remercient la communauté des programmeurs pour son concours

Les experts de Kaspersky Lab identifient le mystérieux langage du cheval de Troie Duqu et remercient la communauté des programmeurs pour son concours

Kaspersky Lab, éditeur reconnu de solutions de sécurité informatique, avait récemment lancé un appel à la communauté des programmeurs pour l’aider à résoudre l’un des principaux mystères du cheval de Troie Duqu, à savoir l’identification d’un bloc de code inconnu situé dans une partie de la charge d’attaque du programme malveillant (Payload DLL).

Cette portion de code, dénommé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.

Après avoir reçu une incroyable quantité de précieux commentaires de la communauté des programmeurs, les experts de Kaspersky Lab ont pu affirmer 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 »).

Ce type de programmation « maison » très évoluée se rencontre plus couramment dans des projets complexes de logiciels « légitimes », plutôt que dans des malwares.

Si aucune explication ne saute aux yeux concernant l’utilisation d’OO C au lieu de C++ pour Duqu Framework, il est possible d’en imaginer raisonnablement deux :

  • Meilleure maîtrise du code : lors de la publication de C++, de nombreux programmeurs de la vieille école ont préféré s’en tenir à l’écart car ils ne faisaient pas confiance à sa méthode d’allocation de la mémoire ainsi qu’à d’autres fonctions obscures du langage, risquant de causer indirectement l’exécution de code. OO C fournirait un cadre plus fiable, moins propice aux comportements imprévus.
  • Extrême portabilité : il y a 10 à 12 ans, C++ n’était pas encore entièrement normalisé et il était possible que du code C++ ne soit pas compatible avec tous les compilateurs. L’utilisation de C offre en revanche aux programmeurs une extrême portabilité puisque le langage peut fonctionner sur toute plate-forme existante, à tout moment, sans les limites liées à C++.

« Ces deux raisons donnent à penser que le code a été écrit par une équipe de développeurs chevronnés “de la vieille école”, souhaitant créer une plate-forme personnalisée pour le lancement d’une attaque d’une grande souplesse et adaptabilité. Ce code pourrait avoir été repris de précédentes cyberattaques et adapté de façon à s’intégrer au cheval de Troie Duqu », commente Igor Soumenkov, expert des malwares chez Kaspersky Lab. « Cependant, une chose est sûre : ces techniques sont normalement l’apanage de programmeurs d’élite et ne se rencontrent aujourd’hui quasiment jamais dans les malwares en général. »

Kaspersky Lab souhaite remercier tous ceux qui ont contribué à l’identification de ce code inconnu.

La version complète de l’étude rédigée par Igor Soumenkov est accessible sur le site www.securelist.com.

Cette analyse comprend les détails techniques du « framework », les méthodes d’identification ainsi que les précieux commentaires reçus par Kaspersky Lab et qui ont permis de résoudre cette pièce du puzzle Duqu.

20.03.2012

Recommander cette page

Photos non contractuelles - © 1997 - 2014 Kaspersky Lab

Tous droits réservés. La meilleure des technologies en matière de prévention des cyber-risques.