Die Saga geht weiter: Kaspersky Lab analysiert mysteriöse Programmiersprache im Duqu-Trojaner

Die Saga geht weiter: Kaspersky Lab analysiert mysteriöse Programmiersprache im Duqu-Trojaner

20. März 2012
Viren-News

Nachdem Kaspersky Lab im Trojaner Duqu eine bis dato unbekannte Programmiersprache entdeckt hatte, rief das Unternehmen Programmierer zur Mithilfe bei der Analyse auf [1]. In Duqu wurde ein unbekannter Code-Block innerhalb eines Teilbereichs der Payloadƒ-DLL identifiziert. Der unbekannte Codebereich, genannt „Duqu Framework“, war ein Teil der Payload-DLL, die für die Interaktion mit den Command-and-Control-Servern (C&C) verantwortlich war, wenn Duqu eine Maschine infizierte hatte.

Nachdem sehr viele wertvolle Hinweise der Programmierer-Community bei Kaspersky Lab eingingen, konnten die Kaspersky-Experten nun mit höchster Wahrscheinlichkeit feststellen, dass das Duqu-Framework aus Quellcode der Programmiersprache „C“ besteht, die mit Microsoft Visual Studio 2008 und speziellen Optionen für die Optimierung der Codegröße und der Inline-Ersetzung kompiliert wurde. Der Code wurde zudem mit einer angepassten Erweiterung erstellt, um objektorientiertes Programmieren mit C zu kombinieren, allgemein auch als „OO C“ bezeichnet.

Diese Art der hausinternen Programmierung ist sehr ausgeklügelt und wird eher in komplexer Malware, die vermutlich von staatlichen Stellen erstellt wird, als in aktueller herkömmlicher Malware gefunden.

 

Kaspersky Lab geht von zwei mögliche Varianten aus, warum sich die Entwickler von Duqu für OO C statt für C++ entschieden haben:

  • Mehr Kontrolle über den Code: Als C++ erschien, haben viele Entwickler der alten Schule diese Sprache nicht genutzt, weil sie dem Speicherort und anderen Sprachfunktionen nicht vertraut haben, die die indirekte Ausführung von Code ermöglichen. OO C dürfte ein sichereres Framework bieten, das unerwartete Verhaltensweisen eher ausschließt.
  • Extreme Portabilität: Vor etwa 10 bis 12 Jahren war C++ kaum standardisiert. Daher war es möglich C++-Code zu entwickeln, der nicht mit jedem Compiler dialogfähig war. Die Nutzung von C erlaubt Programmierern extreme Portabilität, weil sie jede existierende Plattform zu jeder Zeit ins Visier nehmen können, ohne die Einschränkungen von C++.

„Unsere Schlüsse deuten darauf hin, dass der Code von einem Entwickler-Team der alten Schule geschrieben wurde. Sie wollten ein maßgeschneidertes Framework entwickeln, um eine höchst flexible und adaptierbare Angriffsplattform zu unterstützen. Der Code könnte von früheren Cyberoperationen wiederverwendet und für die Integrierung in den Duqu-Trojaner angepasst worden sein“, so Igor Soumenkov, Malware-Experte bei Kaspersky Lab. „Jedenfalls wird deutlich, dass diese Technologien üblicherweise bei elitären Software-Entwicklern eingesetzt werden und fast nie in heutzutage verwendeter Malware zu sehen ist.“

Kaspersky Lab bedankt sich bei allen Programmierern, die bei der weiteren Analyse von Duqu mit geholfen haben.

Die vollständige Version der Analyse findet sich auf www.securelist.com/en


[1] Quelle: newsroom.kaspersky.eu

 Share this page