Duqu est un trojan qui a pour but de s’infiltrer dans le système afin de voler des informations privées. Ce trojan touche plus particulièrement l’Iran et a pour cible les centrales nucléaires iraniennes. Ce dernier donne du fil à retordre aux experts de la célèbre société Kaspersky qui est spécialisée dans la sécurité des systèmes d’information, car même si une grande partie du programme a été développée en C++, il semblerait qu’une partie du langage soit encore inconnue des ingénieurs.
Une demande d’aide par Kaspersky
A part quelques références à Stuxnet 2.0 (un ver conçu pour attaquer une cible industrielle), Duqu reste un mystère en ce qui concerne le langage utilisé pour la prise en charge des communications. Un ingénieur de chez Kaspersky a donc demandé de l’aide auprès des internautes sur son blog. Pour le moment, une seule ébauche a été donnée par un internaute, indiquant que ce langage « inconnu » pourrait provenir de compilateurs IMB pour les vieux mainframe (ordinateur central de grande puissance) OS400 SYS38/SYS36.
Les principales conclusions données :
- Le Framework de Duqu a été écrit dans un langage de programmation inconnu.
- Contrairement  au corps du programme, le reste du langage de programmation de Duqu n’est pas en C++ et n’a pas été compilé avec Microsoft Visual C++.
- L’architecture du code a été conçue pour être utilisée dans n’importe quel type de conditions, incluant des commutations asynchrones.
- Si on se réfère à la taille du projet Duqu, il est fort probable que l’équipe qui se soit chargée du Framework ne soit pas la même que celle à l’origine des pilotes et de l’écriture de l’infection du système.
- Ce mystérieux langage de programmation n’est définitivement pas du C++, Objective C, Java, Python, Ada, Lya et autres langages connus.

























Le Journal du Geek
ork
9 mar, 2012, 12:01 #2Histoire qu’on dise : ah oui bidon !
Lavaze
9 mar, 2012, 12:02 #3thonyzuka
9 mar, 2012, 12:05 #5Chrystelle
9 mar, 2012, 12:05 #6Voilà un résumé les « GEEKS »
Ocian
9 mar, 2012, 12:05 #7Je me demande donc quelle est l’utilitée réélle de savoir quel compilateur à été utilisé à cet endroit
Bob
9 mar, 2012, 12:07 #8nemecle
9 mar, 2012, 12:08 #9ne serait ce pas à même titre que stuxnet le code propriétaire des centrales iraniennes en guise de charge utile le tout enrobé dans le C++ ?…
aliba
9 mar, 2012, 12:08 #10Kaspersky demande de l’aide pour éradiquer un virus très actif en Iran créée par ……. vous savez qui….!
Le jour où une centrale nucléaire ou autre chose nous pètera à la gueule à cause de la connerie de certains qui ne respectent rien au niveau internationale il faudra pas s’étonner !
sephiroth88
9 mar, 2012, 12:08 #11Fabio
9 mar, 2012, 12:10 #14+1 Ocian un bon vieux désassembleur comme au bon vieux temps des 68k et au boulot, ils ne connaissent pas l’assembleur chez Kaspersky ?
DaFab
9 mar, 2012, 12:11 #15Puisqu’il semble que Duqu ait été programmé au moyen d’un langage inconnu sur Terre, c’est que Duqu est un ver extra-terrestre.
Oh, les Men in Black, vous foutez quoi ?
nerthazrim
9 mar, 2012, 12:13 #16Ca ressemble étrangement à un langage au niveau compilé … Par contre que ça ne soit pas du Java ou C# ou autre langage à VM, c’est normal, Stuxnet/Duqu n’auraient pu s’exécuter qu’en présence d’une Machine Virtuelle Java ou bien un Framework .NET, ce qui aurait énormément réduit son efficacité. Dans ce cas-là , le seul compilé nativement connu est le C++ mais vu que ça n’en est pas … Bizarre …
aliba
9 mar, 2012, 12:14 #179 mar, 2012, 12:16 #18
Le Trojan Duqu a été écrit par des extras terrestres, voila l’explication ! Alors toujours gentil les E.T et autres E.T ?
Ocian
9 mar, 2012, 12:16 #19Mais lol … le seul compilé connu est le c++ … juste lol hein …
(le C, l’objective C… en fait n’importe quoi pour peu que tu es un compilateur qui te transforme ca en asm…)
ikg
9 mar, 2012, 12:17 #20Sur le screenshot c’est de l’assembleur
aliba
9 mar, 2012, 12:23 #22CaptainObvious
9 mar, 2012, 12:26 #24Nobo
9 mar, 2012, 12:30 #25Je m’incline, très joli troll pour le coup, ça mérite un oscar !
Xiongmao
9 mar, 2012, 12:38 #27Chrystelle
9 mar, 2012, 12:55 #29plug_in
9 mar, 2012, 12:55 #30vouloir faire rire la galerie avec ce type de raccourcis, bof bof
sur le coup, je ne t’ai pas trouvé amusante …. :/
quand au sujet lui-même, si ce n’est pas un fake, et qu’ils ont réellement besoin d’aide, alors c’est que c’est peut-être un peu plus compliqué qu’une simple histoire de compilateur.
@Mushu, +1 pour ton jeu de mot,qui effectivement élevait le débat, mais c’est moins drôle que d’écrire C++, OS/400 (oui, il manque un slash :p)
tiens d’ailleurs , si mes souvenirs sont bons, l’OS/400, OS tournant sur AS/400 concerne des petits ordinateurs
les MainFrame dont tu parles sont des ES/9000
bref, un peu de culture…
et maintenant vous pouvez relever le niveau
KorpuS
9 mar, 2012, 13:00 #31A moins que je n’ai pas compris, je rejoins Ocian et Fabio, il ont le code compilé passé au débugger, on a un code ASM dont « l’empreinte » ne correspond à aucun langage connu et là ils sont bloqué chez Kaspersky ?
Personne ne code en ASM là -bas ?
Pourquoi ne pas faire une rétroingénierie à l’ancienne à partir du code brute ?
Vu la dangerosité du virus, ça vaudrait peut-être le coup de placer quelque mecs à plein temps là -dessus. Je dis pas que chez Kaspersky ils sont mauvais, bien au contraire mais j’essaye de comprendre la difficulté.
Pour moi cela se résume à : si tu veux faire un bon virus, fabrique-toi déjà un langage connu que de toi.
nargek
9 mar, 2012, 13:09 #32Daelan Kaitan
9 mar, 2012, 13:21 #33Et dès que tu parle code il n’y a plus personne, bravo l’esprit!
Shadam
9 mar, 2012, 13:21 #34Sinon en ce qui concerne ce virus, si les mecs de chez Kasperski ne trouvent pas le langage en question c’est que c’est sûrement un langage développé pour l’occasion et enrobé dans du C++ pour « s’autocompiler »
lescentciels
9 mar, 2012, 13:30 #35@Mushu Moi je m’incline du très haut niveau, est te peu être pas loin de la vérité. C’est peu être même cette entité « hébreu » qui fait pression sur Kaspersky pour ne pas réussir a identifier le langage et donc éradiqué le virus.
Orfeo34
9 mar, 2012, 13:35 #36Très bonne idée l’utilisation d’un nouveau language pour un virus. Mais comment dialogue t-il avec les cibles? Il convertit son code en C?
Waldoo
9 mar, 2012, 13:36 #37Enfin maintenant qu’une entreprise de cet envergure rencontre ce genre de problème avec un virus qui attaque des centrale sa me fait plutôt peur …
lpxav
9 mar, 2012, 13:37 #38Sujet extrêmement intéressant !!!! Cela me laisse un peu perplexe! Comment peut on créer un langage soit même ? Je pense que ça doit être plus que complexe mais ce serais intéressant de voir ça!!
En tous cas merci pour cette excellent sujet!!
greg3395
9 mar, 2012, 13:39 #39Windows c’est la cible des attaque de tout type de malware.
A chaque malware , microsoft colmate la faille et rend Windows plus sécurisant.
En gros Windows a sûrement moins de faille que Mac OS.
qui sais ?? peu t’être que même Mac OS possède plus de faille que Linux.
Si un jour et j’éspère pas que Mac OS prend le monopole des OS sur les ordinateur de bureau , il aura autant de virus, spyware et malware que aujourd’hui avec windows.
La PS3 a tenu 4 ans avant que quelqu’un (Geohot) trouver une faille.
Greg
traducteur
9 mar, 2012, 13:42 #40Attention une erreur de traduction s’est glissée dans l’article (qui est probablement à l’origine des incompréhension de certains »
« L’architecture du code a été conçue pour être utilisée dans n’importe quel type de conditions, incluant les modes de transfert asynchrone. »
L’article sur le blog dit:
« The highly event driven architecture points to code which was designed to be used in pretty much any kind of conditions, including asynchronous commutations. »
C’est commutations et pas communications. L’auteur veut probablement expliquer que le vers/trojan est capable de polymorphisme/transformation asynchrone. Ce qui reviendrait a dire qu’il peut changer de forme (de signature) sans que son/ses createurs ait besoin de lui confirmer l’action.
Chaque developpeur/language a sa signature, determiner la signature permet de se rapprocher de l’auteur, et de pouvoir faire intervenir les autorités competentes. Dans le cas de Duqu (de ce que je comprend de l’article) Kasp n’est meme pas capable d’identifier le language, ce qui est un sacré handicap aussi bien pour trouver le coupable que pour identifier les autre formes du virus et pouvoir l’arreter.
seb83
9 mar, 2012, 13:44 #41le post de SCooke est vraiment pertinent (ca resoud pas le schmilblick mais bon)
Apostroph'
9 mar, 2012, 13:45 #42@iloveapple c’est quand même incroyable de voir qu’un vieux fanboy apple vienne baver sa m**** sur un topic qui n’a absolument rien a voir avec la pomme…
Sinon, en ce qui concerne la new, : C’est bête pour eux
Error32
9 mar, 2012, 13:52 #43Mac ne déroge pas à la règle
Article pas très récent mais bon l’esprit est la
http://www.palmipode.fr/2011/06/18/virus-sur-mac-mythes-realites-et-solutions/
Waldoo
9 mar, 2012, 13:55 #44@Ipxav : c’est pas anodin c’est sur, Tout est permis laissez libre court a votre imagination… (sséhihaaaa !)
MatthRoca
9 mar, 2012, 13:55 #45Info changeant de l’ordinaire et très interesssante
Technique certes !
Billou_13
9 mar, 2012, 13:56 #46@traducteur: merci pour le rétablissement de l’information.
Effectivement, avec tout ceci, la tâche pour Kasp va pas être aisée…
Chrystelle
9 mar, 2012, 14:02 #47Ensuite : Traduction +1 pour ta conclusion, cependant, en effectuant quelques recherches sur les « commutations asychrones », je suis tombée sur un article parlant des modes de transfert asynchrone, je pensais que c’était en rapport, mais merci pour cette précision alors.
linklenain
9 mar, 2012, 14:03 #48@KorpuS : Ce n’est pas le fait de savoir lire l’assembleur ou non qui est mis en cause la. Le truc qui est comparé ici, c’est la manière dont le code a été traduit en assembleur. En d’autres termes, on cherche à savoir grâce à ce code asm, quel langage a donné naisaance à duqu, afin de savoir savoir comment lutter contre lui. D’ou la remarque en #16 sur la trace asm
Mushu
9 mar, 2012, 14:03 #49C’était trop « inceptif », c’est passé au dessus de certains mais bon..j’ai loler à « élevons le débat » alors que je demandais pas mieux!
Merci à ceux qui ont compris;)
Jango51
9 mar, 2012, 14:04 #50@Orfeo34 : comme tous les langages , il est ramené a des instruction simple compréhensible par le processeur donc pas de probleme de ‘comprehension’ ^^