Seite 1 von 1

Mystery-Code - Unbekannte Programmiersprache?

Verfasst: Mo Mär 12, 2012 10:50 pm
von fat-lobyte
Hallo!

Nach einer neueren Veröffentlichung[1] das Kaspersky Labs, das sich mit einem Trojaner namens "Duqu" beschäftigte gibt es eine neue, "Geheimnissvolle" Programmiersprache mit Framework.

In der DLL befand sich normaler C++ Code, ein bisschen Code der STL, ein bisschen MSVC Runtime und - der überwiegende Teil - seltsamer Code, den man bis jetzt nicht zuordnen konnte.

Die Programmiersprache sei rein Objektorientiert (besteht ausschließlich aus Objekten) und hauptsächlich Event-Basiert. Die Annahme wurde getroffen, da der "Konstruktor"-Code sich mit dem allokieren von Speicher, initialisierung der "Member" und anschließend mit aufsetzen von Callbacks beschäftigt. Außerdem gibt es eine Art "Thread-kontextmanager", der für jeden Thread eine Nachrichtenschleife startet und Events abarbeiten kann.

Methoden-Aufrufe funktionieren meist (aber nicht immer!) über eine Methodentabelle innerhalb des Objekts (ähnlich einer Funktionstabelle für virtuelle Methoden in C++).

Die Sicherheitsexperten betonen, dass es sich nicht um eine der Programmiersprachen C++, Objective C, Java, Python, Ada, Lua oder viele andere handeln kann.

Die Programmiersprache müsste eine Art "Framework" enthalten, da sich der Code einerseits mit dem Betriebssystem unterhält und andererseits Standardstrukturen wie Listen und Vektoren bereitstellt - die Sprache wurde "duqu-Framework" betitelt.
Ein Autor [2] spekuliert sogar darüber, dass das Framework nur von einer größerem (staatlichen?) Organisation stammen kann:
Shawn Knight hat geschrieben:Experts have dubbed this portion of code the Duqu Framework and based on the sheer complexity of the instructions, it’s believed that the trojan is funded by a wealthy organization or a national effort.
Weiters interessant ist noch, dass der Trojaner nicht aus einem Guss ist und wahrscheinlich nicht
von einem einzigen Team stammt, denn der Exploit und einiger Objektladecode in C++ geschrieben ist.

Hier sind die Links dazu:
[1] http://www.securelist.com/en/blog/667/T ... _Framework
[2] http://www.techspot.com/news/47739-duqu ... d-dll.html

Kennt ihr diese Sprache?
Was haltet ihr davon? Werden wir hier von den Chinesen überrant? Oder konnten die Amerikaner doch noch ein paar Ressourcen für Spionage abdrücken?

Lasset die Verschwörungstheorien beginnen ;-)

Re: Mystery-Code - Unbekannte Programmiersprache?

Verfasst: Mo Mär 12, 2012 10:56 pm
von Bebu
Genesys ist weiter als uns Xin verraten will. Er wars?! ;)

Re: Mystery-Code - Unbekannte Programmiersprache?

Verfasst: Mo Mär 12, 2012 10:58 pm
von fat-lobyte
Bebu hat geschrieben:Genesys ist weiter als uns Xin verraten will. Er wars?! ;)
Glaube ich nicht. Ein derart rein objektorientierter Code wäre von Xin wohl nicht zu erwarten ;-)

Re: Mystery-Code - Unbekannte Programmiersprache?

Verfasst: Mo Mär 12, 2012 10:59 pm
von Xin
Klang im ersten Moment nach ObjC, aber wenn's ausgeschlossen wird.

Ich war's nicht. ^^ xD


PS:
fat-lobyte hat geschrieben:
Bebu hat geschrieben:Genesys ist weiter als uns Xin verraten will. Er wars?! ;)
Glaube ich nicht. Ein derart rein objektorientierter Code wäre von Xin wohl nicht zu erwarten ;-)
hehehe, ich werde mich bemühen, Deine Erwartungen hier nicht zu erfüllen. Aber ich fasse es als Kompliment auf. :-)

Re: Mystery-Code - Unbekannte Programmiersprache?

Verfasst: Mo Mär 12, 2012 11:09 pm
von fat-lobyte
Xin hat geschrieben:Aber ich fasse es als Kompliment auf. :-)
So wars auch gemeint :-)

Re: Mystery-Code - Unbekannte Programmiersprache?

Verfasst: Di Mär 13, 2012 2:00 am
von fat-lobyte
Ok.

Der Thread sollte als Belustigung und als Kuriosität dienen.
Ich habe allerdings weitergelesen und mich mittlerweile selbst in Paranoia versetzt: :?

Die ganze Duqu-Geschichte, die man unvollständig hier: http://www.securelist.com/en/blog?topic=199380362 nachlesen kann liest sich wie ein Krimi. (Ernsthaft!)

Hier waren anscheinend sehr, sehr fähige Menschen am Werk, die keineswegs Einzelpersonen sind: es gibt ausreichend Hinweise auf eine gewisse Organisationsstruktur, aufspaltung in Teams und genügend Mitarbeiter.
Das ganze Framework besteht schon seit ~2007 und wurde laufend weiterentwickelt.
Es wurde sehr sehr gezielt eingesetzt, die Ziele wurden per Mail angegriffen (aber nicht über Spam/Bot/Massenmails!), dabei wurde sehr vorsichtig und behutsam Information entnommen bevor sich der Trojaner selbst gelöscht hat.

Duqu wurde unter anderem auf Iranischen und Sudanischen Systemen gefunden und ist verwandt mit Stuxnet, ein anderer Trojaner der 2010 für furore gesorgt hat, weil er im Iran auf einigen Systemen, darunter ein Kontrollsystem einer Atomanlage entdeckt wurde.
"Verwandt" bedeutet hier, dass Duqu 1) viele Ähnlichkeiten zu Stuxnet hat und 2) eine Weiterentwicklung (mit möglicher Zwischenstufe) ist. Es wird gemutmaßt, dass die gleichen Leute dahinter stecken und die Erfahrungen von Stuxnet in Duqu verwendung fanden.

So. Das war mein Krimi für heute Abend. Toll, und jetzt soll noch wer einschlafen können :?

ps.: Ich glaub ich kuck mir morgen SELinux mal ganz ganz genau an. Nur um sicher zu gehn.

Re: Mystery-Code - Unbekannte Programmiersprache?

Verfasst: So Mär 18, 2012 11:19 am
von canlot
Sehr spannend Danke ;)
Ich liebe solche Sachen. Das motiviert mich stehts besser zu werden, mehr zu lernen.

Re: Mystery-Code - Unbekannte Programmiersprache?

Verfasst: Di Mär 20, 2012 6:33 pm
von Dubbel
http://www.golem.de/news/trojaner-duqu- ... 90641.html

Das Geheimnis ist gelüftet :D

War es das, was du mit ObjC meintest Xin? Mir als Jungspund sagt das alles garnichts :D

Re: Mystery-Code - Unbekannte Programmiersprache?

Verfasst: Di Mär 20, 2012 7:36 pm
von Xin
Dubbel hat geschrieben:War es das, was du mit ObjC meintest Xin? Mir als Jungspund sagt das alles garnichts :D
Nein, von OOC hatte bis heute auch nichts gehört und erstmal danach suchen.

Ich weiß zwar, dass es entsprechende Anläufe bei C++ gab, die man "Cfront", bzw. "C with Classes" genannt hat. Dass es ein zweites makrobasiertes, objektorientiertes C gab, wusste ich nicht. Hier wird aber wohl einiges zur Laufzeit entschieden, was beim Entschlüsseln wohl auch merkwürdig wirkte. Das macht in der Regel ja auch keinen Sinn, entsprechend macht das normalerweise auch auch keiner.

Wieder was gelernt :-)

ObjC ist wieder ein anderer Anlauf, der eigentlich in Vergessenheit geriet und erst jetzt durch Apple wieder bekannt wurde. ObjC hingegen macht auch vieles zur Laufzeit - vielleicht gibt es also eine Verwandtschaft zwischen OOC und ObjC.

Re: Mystery-Code - Unbekannte Programmiersprache?

Verfasst: Sa Mär 24, 2012 9:50 pm
von fat-lobyte
Komische Sache, von einer solchen "Antiken" Sprache habe ich noch nie was gehört.

Ist aber ziemlich Interessant, welche Leute und welche Ressourcen da eingesetzt werden. Zwar ist das Geheimnis der Sprache gelüftet, der Trojaner allerdings bleibt weiter Geheimnisvoll.