Met behulp van programmeurs is de mysterieuze programmeertaal van het Duqu-virus geïdentificeerd. Op 7 maart stelde het Russische anti-virusbedrijf Kaspersky Lab dat het supervirus, ontwikkeld om bij een zeer select aantal organisaties gevoelige gegevens te stelen, deels met een onbekende programmeertaal was gemaakt. Het ging om de aanwezigheid van een onbekend codefragment binnen een gedeelte van de payload-DLL van dit kwaadaardige programma.
Het gedeelte met onbekende code, dat het "Duqu Framework" wordt genoemd, vormde een onderdeel van de payload-DLL die verantwoordelijk was voor de communicatie met de Command & Control (C&C)-servers nadat het Trojaanse paard de computer van een slachtoffer had geïnfecteerd. Aangezien de analisten van de Russische virusbestrijder de programmeertaal niet herkenden, werd er een beroep op de gemeenschap van programmeurs gedaan.
Dankzij de feedback stellen analist "met een hoge mate van zekerheid" vast dat het Duqu Framework uit "C"-broncode bestaat. Deze code is gecompileerd met Microsoft Visual Studio 2008 en bevat speciale opties voor het optimaliseren van de codeomvang en inline uitbreiding. De code werd daarnaast geschreven met een aangepaste extensie die in de meeste gevallen "OO C" wordt genoemd en het mogelijk maakt om objectgeoriënteerd programmeren te combineren met C.
Geavanceerd
Dit type intern ontwikkelde programmatuur is uiterst geavanceerd en wordt normaliter aangetroffen binnen complexe ‘civiele’ softwareprojecten in plaats van moderne malware. Hoewel er geen eenvoudige verklaring is voor het feit dat het Duqu Framework gebruikmaakte van OO in plaats van C++, zijn er volgens Kaspersky Lab twee mogelijke redenen aan te wijzen. Ten eerste meer controle over de code.
Toen C++ werd gepubliceerd, besloten veel ‘old school’ programmeurs om deze taal te vermijden vanwege twijfels over de geheugentoewijzing en andere obscure functies die ervoor zorgen dat code op indirecte wijze wordt uitgevoerd. OO C zou een betrouwbaarder framework bieden met minder kans op dergelijk onverwacht gedrag.
De andere mogelijkheid is de hoge overdraagbaarheid: Zo’n 10 tot 12 jaar geleden was C++ nog niet volledig gestandaardiseerd, waardoor de kans bestond dat de code van deze taal niet compatibel was met elke compiler. Het gebruik van C biedt programmeurs een uiterst hoge mate van overdraagbaarheid, omdat deze taal op elk gewenst moment ondersteuning biedt voor elk bestaand platform, zonder gebukt te gaan onder de beperkingen van C++.
Old school
"Deze twee verklaringen doen vermoeden dat de code is geschreven door een team van ervaren ‘old school’ ontwikkelaars die een aangepast framework wilden creëren ter ondersteuning van een uiterst flexibel en aanpasbaar aanvalsplatform. De kans bestaat dat deze code voor eerdere cyberaanvallen is gebruikt en vervolgens is aangepast voor integratie in de Duqu Trojan", aldus malware-expert Igor Soumenkov.
"Maar één ding is zeker: deze technieken worden normaliter gebruikt door softwareontwikkelaars die tot de elite behoren, en worden vrijwel nooit aangetroffen in de malware die momenteel in omloop is."
Deze posting is gelocked. Reageren is niet meer mogelijk.