image

Onbekende programmeertaal in Duqu-virus ontdekt

woensdag 7 maart 2012, 17:30 door Redactie, 17 reacties

Onderzoekers van Kaspersky Lab hebben in het zeer geavanceerde Duqu-virus een nieuwe programmeertaal ontdekt. Duqu is gemaakt door dezelfde mensen die de beruchte Stuxnet-worm hebben ontwikkeld, dat werd gebruikt om het Iraanse nucleaire programma te saboteren. Het belangrijkste doel van Duqu is het stelen van zeer vertrouwelijke informatie. Het Trojaanse paard zou vooral in Iran veel slachtoffers hebben gemaakt, met als doel het stelen van informatie over industriële aansturingssystemen en inlichtingen te verzamelen over commerciële relaties van Iraanse organisaties, aldus Kaspersky.

Een groot onopgelost raadsel was tot nu toe hoe Duqu na een infectie communiceerde met de zogeheten Command & Control servers om gestolen informatie door te geven. Uitgebreide analyse heeft aan het licht gebracht dat een specifieke sectie binnen de Duqu-software daarvoor verantwoordelijk is. Deze sectie, het ‘Duqu Framework’, blijkt geschreven te zijn in een tot nu toe onbekende en zeer gespecialiseerde programmeertaal.

Taal
Deze taal stopt alles in objecten, maakt geen onderscheid tussen utility classes en door de gebruiker geschreven code en laat objecten via method calls en event-driven callbacks communiceren. Daarnaast is er geen referentie naar run-time library functies, maar wordt de 'native' Windows API gebruikt.

Daarbij speelt vooral het event-driven model een belangrijke rol. Dit model lijkt op Objective C, maar de code heeft geen directe referenties naar de programmeertaal. Daarnaast lijkt het niet met Objective C compilers gecompileerd te zijn. De mysterieuze programmeertaal is volgens analist Igor Soumenkov absoluut geen C++, Objective C, Java, Python, Ada, Lua of andere bekende programmeertaal.

Het anti-virusbedrijf doet dan ook een oproep aan programmeurs om mee te helpen met het ontcijferen van de programmeertaal of via welk framework of toolkit de code gemaakt is.

Reacties (17)
07-03-2012, 18:04 door Anoniem
Zou het misschien Go kunnen zijn?
07-03-2012, 18:34 door Wim ten Brink
Ik weet dat Delphi een populaire compiler is geweest voor diverse virusschrijvers. Zo erg zelfs dat Delphi applicaties soms "false positives" genereren. Best vervelend. Mogelijk is zelfs Delphi 2 gebruikt omdat deze compiler na al die jaren vast niet meer wordt herkend en de RTL ervan volledig is aan te passen zodat deze onherkenbaar wordt.
07-03-2012, 21:11 door Anoniem
internet is toch door amerikaanse en russische toedoen ontstaan? dus misschien heel misschien hebben ze uit een top secret kastje onder vermelding van sputnik crisis, een coding taal gevonden wat ze destijds hebben ontwikkeld en nooit bekend gemaakt is nu als les gebruiken voor duqu doeleinden?
07-03-2012, 21:11 door Security Scene Team
internet is toch door amerikaanse en russische toedoen ontstaan? dus misschien heel misschien hebben ze uit een top secret kastje onder vermelding van sputnik crisis, een coding taal gevonden wat ze destijds hebben ontwikkeld en nu als les gebruiken voor duqu doeleinden?
07-03-2012, 21:15 door Anoniem
google?
08-03-2012, 09:04 door Acid Burn
Door Security Scene Team: internet is toch door amerikaanse en russische toedoen ontstaan? dus misschien heel misschien hebben ze uit een top secret kastje onder vermelding van sputnik crisis, een coding taal gevonden wat ze destijds hebben ontwikkeld en nu als les gebruiken voor duqu doeleinden?

Toen waren ze toch helemaal nog niet bezig met objecten en utility classes. Ze zouden hun tijd wel erg vooruit zijn als dit zo zijn geweest.
08-03-2012, 09:08 door Anoniem
@WorkshopAlex
Als je kijkt naar hoe variabelen worden gemaakt/behandeld, dan is het snel duidelijk in welke hoek je het niet moet zoeken. Als men over Objective C spreekt is Pascal/Delphi niet aan de orde.
08-03-2012, 09:47 door Arie
Wellicht gewoon "ouderwets" met de hand geschreven, dus geen framework/toolkit gebruikt.
08-03-2012, 10:17 door Anoniem
Volgens mij is het N.S.A. 2.0
08-03-2012, 11:05 door anoniem lafbekje
RT: @G33_K Looks like some very fine ASM or some IBM code
08-03-2012, 11:17 door Anoniem
Er zijn zoveel programmeer talen, het kan van alles zijn. Waarschijnlijk speciaal ontworpen voor cyberwarfare en onafhankelijk van het platform waarop het actief moet zijn. En daarna met de hand getweaked en gefuzzed zodat het niet makkelijk gedetecteerd kan worden en uniek is.

Als ze niet zo slim zijn gebruiken ze de programmeertalen die hun drones e.d. gebruiken. Makkelijk, maar ik denk dat ze daar in Amerika te slim voor zijn om dit te doen. Hoewel ze zelf natuurlijk ook hun land vol SCADA apparaten hebben staan en met Stuxnet hebben laten zien hoe die gehackt kunnen worden (voor het eerst in de menselijke geschiedenis).
08-03-2012, 13:34 door wica128
Volgens de reacties zou het best wel eens een variant op Lisp kunnen zijn.
08-03-2012, 14:21 door Anoniem
Ze waren toch zo goed bij Kaspersky?

tjezus...ben je blind dan
08-03-2012, 15:00 door Anoniem
Door Anoniem: @WorkshopAlex
Als je kijkt naar hoe variabelen worden gemaakt/behandeld, dan is het snel duidelijk in welke hoek je het niet moet zoeken. Als men over Objective C spreekt is Pascal/Delphi niet aan de orde.

Zo gek is dat nog niet hoor. Maar er komt dan wel e.e.a. meer bij kijken. Bijvoorbeeld dit al eerder mij bekende scenario:

- RTL is KOL (zie mijn website kolmck.net)
- Er wordt gebruik gemaakt van Collapse (een soort pcode die je code eruit doet zien zoals in de screenshots, inderdaad een beetje als Objectice C, Collapse is een "forth like" dus ook lisp like language (op asm niveau) en zeer onbekend, zelfs onder KOL gebruikers.
- Niet de Borland/Delphi linker wordt gebruikt, maar een microsoft linker
- Het OMF formaat moet dan ook omgezet zijn naar COFF
- Er wordt gebruik gemaakt van een minimale, vervangen, system unit.

Nu heb ik het even bekeken omdat ik anders weer false positives op kol om mijn oren krijg en ik Kaspersky weer moet bellen: Nee, het is ditmaal geen virus dat KOL met Delphi heeft gebruikt.

Al zou het Collapse scenario ook gebrukt kunnen zijn met BCPP en een MS linker als beschreven.

Das in ieder geval geen scriptkiddie werk en de meest waarschijnlijke bron zou dan Rusland of Ukraine moeten zijn. En men vermoedt juist dat het uit het westen komt.
09-03-2012, 08:36 door dutchfish
Als ik zou mogen kiezen, zou ik Lisaac nemen.

Mijn 2 centen
09-03-2012, 11:23 door Anoniem
"who cares" wat de programmeertaal is. Wat een afleidings-taktiek weer zeg
09-03-2012, 11:30 door Security Scene Team
Door Acid Burn:
Door Security Scene Team: internet is toch door amerikaanse en russische toedoen ontstaan? dus misschien heel misschien hebben ze uit een top secret kastje onder vermelding van sputnik crisis, een coding taal gevonden wat ze destijds hebben ontwikkeld en nu als les gebruiken voor duqu doeleinden?

Toen waren ze toch helemaal nog niet bezig met objecten en utility classes. Ze zouden hun tijd wel erg vooruit zijn als dit zo zijn geweest.

tis ook niet te zeggen dat ze daar toen al mee bezig waren, maar er zal vast een taal uit ontstaan zijn. maar goed het is in iedergeval leuk inelkaar gezet.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.