«Mystisk» Duqu-språk identifisert

- Old school-utviklere står bak trojaneren.

Det ukjente og mystiske programmeringsspråket brukt i en sentral del av Duqu-trojaneren var ikke så ukjent likevel.
Det ukjente og mystiske programmeringsspråket brukt i en sentral del av Duqu-trojaneren var ikke så ukjent likevel.
20. mars 2012 - 10:26

Eksperter har den siste tiden gransket en del av Duqu-trojaneren, som i motsetning til resten av skadevaren ikke er skrevet i C++.

Duqu åpner en bakdør og spionerer på industrielle kontrollsystemer av typen SCADA («supervisory control and data acquisition») og har trolig samme opphav som den berømte Stuxnet-ormen, som ødela iranske atomsentrifuger.

Det såkalte Duqu-rammeverket måtte være skrevet i et ukjent programmeringsspråk, mente det russiske sikkerhetsselskapet Kaspersky i begynnelsen av måneden.

Mysteriet skal nå være oppklart etter bistand fra publikum. Trojanerens rammeverk er etter alt å dømme skrevet i objektorientert C, eller en dialekt kalt «OO C».

Kildekoden skal deretter være kompilert med MSVC 2008.

- Takket være noen svært nyttige og innsiktsfulle innspill kan vi nå med stor grad av sikkerhet si at vi har funnet svaret, skriver selskapet i et blogginnlegg.

Konklusjonen kommer etter to ukers arbeid, der forskerne blant annet forkastet teorier om at koden kunne være utviklet i språk som Lisp, Delphi, Forth, Erlang, Google Go eller Ada.

Old school

Kaspersky kan ikke svare for hvorfor virus-skaperne valgte OO C framfor C++ eller andre programmeringsspråk.

Men etter å ha snakket med utviklere som foretrekker førstnevnte står de igjen med følgende to teorier:

1. De (bakmennene) stoler ikke på C++-kompilatorer. Dette er typisk personer som begynte å programmere i gamle dager, da assembler var førstevalget. C var et direkte evolusjonært trinn etter assembler og ble raskt standarden. Men når C++ ble utgitt var det mange old school-utviklere som vegret seg av manglende tillit til minneallokering og andre obskure spåkfunksjoner som forårsaker indirekte kjøring av kode (konstruktører, for eksempel).

Artikkelen fortsetter etter annonsen
annonse
Schneider Electric
Schneider Electric lanserer Galaxy VXL UPS
Schneider Electric lanserer Galaxy VXL UPS

2. Ekstrem plattform-uavhengighet. Igjen, i gamle dager (10-12 år siden) var ikke C++ helt standardisert og det var mulig å ha C++-kode som kompilerte under Microsoft Visual Studio, men som ikke lot seg kompilere under for eksempel Watcom C++. De som ønsket ekstrem portabilitet og rettet seg mot enhver plattform, valgte derfor C.

- Begge indikerer at koden ble skrevet av en gruppe erfarne «old scool»-utviklere. Slike teknikker blir normalt brukt innen profesjonell programvare og nesten aldri i dagens skadevare, påpeker Kaspersky.

    Les også:

Del
Kommentarer:
Du kan kommentere under fullt navn eller med kallenavn. Bruk BankID for automatisk oppretting av brukerkonto.
Tekjobb
Se flere jobber
4 fordeler med å bruke Tekjobb til rekruttering
Les mer
4 fordeler med å bruke Tekjobb til rekruttering
Tekjobb
Få annonsen din her og nå frem til de beste kandidatene
Lag en bedriftsprofil
En tjeneste fra