Softwaresecurityleverancier Kaspersky Lab heeft ontdekt dat een deel van de code in het Trojaanse paard Duqu is geschreven in een onbekende programmeertaal. Het lukt Kaspersky Lab daarom niet om de trojen definitief te bestrijden en het bedrijf zoekt daarom naar mensen uit de programmeursgemeenschap die kan helpen bij het ontrafelen van de onbekende code.
Duqu is een geavanceerd Trojaans paard, gemaakt door dezelfde mensen die de beruchte Stuxnet-worm hebben ontwikkeld. Het belangrijkste doel van Duqu is het fungeren als een ‘achterdeur', waardoor diefstal van informatie mogelijk wordt. Het Trojaanse paard heeft vooral slachtoffers gemaakt in Iran, volgens de Kaspersky-experts met als doel informatie te stelen over industriële aansturingssystemen en inlichtingen te verzamelen over commerciële relaties van Iraanse organisaties.
Duqu Framework
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. Analyse van Kaspersky Lab 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. Volgens Alexander Gostev, chief security experts van Kaspersky Lab, maakt dit duidelijk dat de ontwikkelaars van Duqu zeer kundige programmeurs zijn en dat er ook veel geld en werk aan dit project moet zijn besteed.
Kaspersky Lab doet nu een beroep op de programmeursgemeenschap met de vraag wie het Duqu Framework, de programmeertaal of de toolkit herkent waarmee vergelijkbare code kan worden gegenereerd. Kaspersky Lab vraagt dan contact op te nemen met zijn experts: stopduqu@kaspersky.com.
Lijkt me niet gefinancieerd door een kleine groep hackers. Eerder door een overheid (NSA, China, India, etc.) of russische maffia.
Alle programmeercode is in principe hetzelfde als je op het machinecode (reverse engineering eigenlijk) gaat zitten. Je krijgt dan meer code voor je neus naarmate het in een hogere programmeertaal is geschreven. Dat zal het probleem zijn. Misschien dat er tools zijn die de belangrijkste zaken uit die machinecode kunnen halen, en hogere programmeertaal-overhead (als dat er is) en andere onnodige zaken er uit kunnen filteren. Wel vrij specialistisch. Het aantal machinecodespecialisten loopt misschien ook wel achteruit. Het is te hopen dat de gebruikte programmeertaal niet al te hoog was – dan krijg je veel meer onnodige machinecode. Het zou kunnen dat ze een programmeertaal met opzet zo hebben gemaakt dat er juist heel veel overhead is. Dan is ’t veel meer zoeken naar een boom in het bos dan als een lagere taal zoals assembler gebruikt is.
Een virus voornamelijk gericht op Iran? En er moet veel tijd, geld en mankracht in gestopt zijn om het virus en het Duqu Framework, ook nog in een onbekende programmeertaal. Tja, gezien de berichten de laatste dagen dat Israël Iran zou willen aanvallen, zou ik de makers wellicht in Israël zoeken. In dat land zitten hele goede techneuten, programmeurs en geld speelt in oorlogvoering geen rol.
Ik rommelde toen ik nog niet grijs en moe was op mijn Commodore64 met de programmeertaal Forth. Het leuke van Forth was dat je met een piepkleine instructieset zelf je programmeertaal ‘bouwde’. Niet slechts functies! Ook operatoren, en wat u zoal kunt bedenken. Het zou me niet verbazen als ze eens in die hoek zouden vinden.
YACC – yet another compiler compiler – je eigen programmeertaal in een handomdraai.
Reverse engineering van machinecode naar een onbekende programmeertaal lijkt mij een hopeloze zaak. Het achterhalen van de algoritmiek een monnikenwerkje. Ik heb niet echt het gevoel dat ik mee kan helpen op basis van bovenstaande informatie. Ook afwezigheid van een link naar aanvullende informatie (voorbeeldcode, extra technische informatie) vind ik in dit verband storend.
onbekende code……. In Skype is de code voor uitvoering vercijferd en daardoor bijzonder lastig te re-engineren. Dat is een zeer efficiënte beveiligingsmethode om andere niet op je programma te kunnen alten inhaken. Zou zo maar het zelfde type truckje kunnen zijn.
@Thijs Cobben
Beetje doorklikken op het internet en voila:
http://www.securelist.com/en/blog/667/The_Mystery_of_the_Duqu_Framework
Maakt het dan uit in welke programmeertaal het is geschreven?
Een virusbestrijder hoeft hoogstens besmetting te voorkomen door filtering of blokkering.
Als men dat al wil. Als het specifiek op Iran gericht is, dan is dat een politieke afweging geworden, niet een simpele kwestie i.v.m. consumenten of bedrijven.