08.03.2012, 00:00 Uhr
Bislang unbekannte Programmiersprache in Duqu-Trojaner entdeckt
Experten von Kaspersky Lab haben aufgedeckt, dass Teile des Trojaners Duqu in einer bislang unbekannten Programmiersprache geschrieben wurden. Der sehr anspruchsvolle Trojaner Duqu stammt aus derselben Programmierfeder, wie der berühmt-berüchtigte Stuxnet-Wurm. Seine Hauptaufgabe besteht darin, eine Backdoor in ein System einzuschleusen und damit den Diebstahl sensilber Informationen zu ermöglichen. Duqu selbst wurde erstmals im September 2011 entdeckt, jedoch registrierte Kaspersky Lab schon im August 2007 Malware, von der mittlerweile bekannt ist, dass sie eindeutig mit diesem Trojaner in Zusammenhang steht. Duqu wird von den Kaspersky-Experten mit über einem Dutzend Vorfällen, zumeist mit Opfern im Iran, in Zusammenhang gebracht. Dabei lagen seine Hauptangriffsziele im Stehlen von Informationen zu industriellen Kontrollsystemen.
Duqu stellte die Fachwelt vor ein Rätsel, denn der Trojaner kommunizierte mit seinem Command-and-Control-Server (C&C) sobald er eine Opfermaschine infiziert hatte. Das für die Interaktion mit dem C&C verantwortliche Modul von Duqu ist Teil seiner Payload-DLL. Kaspersky-Experten konnten nun nach eingehender Analyse der Payload-DLL feststellen, dass der Kommunikationsteil in einer bislang unbekannten Programmiersprache verfasst war. Sie nannten diesen unbekannten Bereich ?Duqu Framework?.
Im Gegensatz zu allen anderen Bereichen ist das Duqu-Framework nicht in C++ geschrieben und nicht mit Visual C++ 2008 von Microsoft kompiliert worden. Es ist möglich, dass die Autoren ein selbst erstelltes Framework genutzt haben, um einen dazwischenliegenden C-Code zu generieren oder sie nutzten eine komplett andere Programmiersprache. Die Kaspersky-Analysen haben jedenfalls ergeben, dass die Sprache objektorientiert ist und mit einem eigenen Set an relevanten Aktivitäten arbeitet, die für Netzwerkapplikationen geeignet sind. Die Sprache im Duqu-Framework ist hoch spezialisiert. Es ermöglicht der Payload-DLL, unabhängig von anderen Duqu-Modulen zu arbeiten und verbindet sich mit seinem C&C-Server über mehrere Wege inklusive Windows HTTP, Netzwerk und Proxy-Server. Darüber hinaus kann die DDL HTTP-Serveranfragen vom C&C und auch zusätzliche schädliche Payloads von anderen Maschinen im Netzwerk verbreiten, die eine kontrollierte und diskrete Form von Infektionen ermöglicht.
?Gemessen an der Grösse des Duqu-Projekts könnte ein komplett eigenes Team für die Erstellung des Duqu-Frameworks sowie dedizierte Teams für die Erstellung der Treiber und der Systeminfektions-Exploits verantwortlich gewesen sein?, sagt Alexander Gostev, Chief Security Expert bei Kaspersky Lab. ?Die aussergewöhnlich hohe Anpassung und Exklusivität, mit der die Programmiersprache entwickelt wurde, deutet darauf hin, dass man nicht nur die Spionageoperationen und die Interaktion mit den C&Cs für Aussenstehende verschleiern, sondern auch andere interne Duqu-Teams separieren wollte, die für das Schreiben von zusätzlichen Teilen des Schadprogramms verantwortlich waren.?
Laut Alexander Gostev zeigt die Erstellung einer eigenen Programmiersprache, wie professionell die Entwickler waren und dass signifikante finanzielle und labortechnische Ressourcen bei diesem Projekt zur Verfügung standen. Kaspersky Lab ruft Programmierer dazu auf, die Security-Experten über stopduqu@kaspersky.com zu informieren, wenn sie das Framework, Toolkit oder die Programmiersprache erkennen, mit denen ähnliche Code-Konstruktionen erstellt werden können. (ph) http://www.kaspersky.ch
Duqu stellte die Fachwelt vor ein Rätsel, denn der Trojaner kommunizierte mit seinem Command-and-Control-Server (C&C) sobald er eine Opfermaschine infiziert hatte. Das für die Interaktion mit dem C&C verantwortliche Modul von Duqu ist Teil seiner Payload-DLL. Kaspersky-Experten konnten nun nach eingehender Analyse der Payload-DLL feststellen, dass der Kommunikationsteil in einer bislang unbekannten Programmiersprache verfasst war. Sie nannten diesen unbekannten Bereich ?Duqu Framework?.
Im Gegensatz zu allen anderen Bereichen ist das Duqu-Framework nicht in C++ geschrieben und nicht mit Visual C++ 2008 von Microsoft kompiliert worden. Es ist möglich, dass die Autoren ein selbst erstelltes Framework genutzt haben, um einen dazwischenliegenden C-Code zu generieren oder sie nutzten eine komplett andere Programmiersprache. Die Kaspersky-Analysen haben jedenfalls ergeben, dass die Sprache objektorientiert ist und mit einem eigenen Set an relevanten Aktivitäten arbeitet, die für Netzwerkapplikationen geeignet sind. Die Sprache im Duqu-Framework ist hoch spezialisiert. Es ermöglicht der Payload-DLL, unabhängig von anderen Duqu-Modulen zu arbeiten und verbindet sich mit seinem C&C-Server über mehrere Wege inklusive Windows HTTP, Netzwerk und Proxy-Server. Darüber hinaus kann die DDL HTTP-Serveranfragen vom C&C und auch zusätzliche schädliche Payloads von anderen Maschinen im Netzwerk verbreiten, die eine kontrollierte und diskrete Form von Infektionen ermöglicht.
?Gemessen an der Grösse des Duqu-Projekts könnte ein komplett eigenes Team für die Erstellung des Duqu-Frameworks sowie dedizierte Teams für die Erstellung der Treiber und der Systeminfektions-Exploits verantwortlich gewesen sein?, sagt Alexander Gostev, Chief Security Expert bei Kaspersky Lab. ?Die aussergewöhnlich hohe Anpassung und Exklusivität, mit der die Programmiersprache entwickelt wurde, deutet darauf hin, dass man nicht nur die Spionageoperationen und die Interaktion mit den C&Cs für Aussenstehende verschleiern, sondern auch andere interne Duqu-Teams separieren wollte, die für das Schreiben von zusätzlichen Teilen des Schadprogramms verantwortlich waren.?
Laut Alexander Gostev zeigt die Erstellung einer eigenen Programmiersprache, wie professionell die Entwickler waren und dass signifikante finanzielle und labortechnische Ressourcen bei diesem Projekt zur Verfügung standen. Kaspersky Lab ruft Programmierer dazu auf, die Security-Experten über stopduqu@kaspersky.com zu informieren, wenn sie das Framework, Toolkit oder die Programmiersprache erkennen, mit denen ähnliche Code-Konstruktionen erstellt werden können. (ph) http://www.kaspersky.ch