Kein Konzept zur Malware-Erkennung gleicht dem anderen

Autor: Fraser Howard, Principal Researcher, Sophos

Das Internet ist für Malware-Bedrohungen längst Verbreitungsherd Nummer 1 geworden. Laut Berichten der SophosLabs wurden 2009 täglich 23.500 neu infizierte Webseiten entdeckt. Dies entspricht einer Webseite alle 3,6 Sekunden und damit einem vierfachen Anstieg gegenüber dem Vorjahreszeitraum1. Mit folgender Methode sind Malware-Autoren besonders erfolgreich: Sie manipulieren beliebte, viel besuchte und seriöse Websites und nutzen sie als Ausgangspunkt für verheerende Infektionsprozesse2.

Für User, die eine manipulierte Website besuchen, ist der Schadcode unsichtbar, wird jedoch geladen, sobald der Browser die Webseite lädt. Der Code setzt meist websiteübergreifendes Scripting ein, mithilfe dessen ein noch schädlicherer Payload von einer Dritt-Website eingebunden wird. Dieser nutzt in Folge dutzender Schwachstellen im Browser oder Betriebssystem aus, um eine Infektion hervorzurufen, Daten zu stehlen oder das System in ein Botnet zu verwandeln.

Da bereits Internetauftritte sämtlicher Art – von Regierungs-Websites über Bildungseinrichtungen bis hin zu beliebten Nachrichtenportalen, Blogs und Social-Networking-Websites – erfolgreich manipuliert wurden, sollte das Schadenspotenzial dieser Angriffe nicht unterschätzt werden.

Da Anbieter von Security-Software ihre Produkte regelmäßig mit neuen Erkennungsmechanismen für derlei schädlichen Web-Code ausstatten, müssen Cyberkriminelle ihren Schadcode, um einer Enttarnung zu entgehen, ständig modifizieren. Dieses Katz-und-Maus-Spiel spitzt sich immer weiter zu und zwingt Malware-Autoren, bei der Entwicklung von Schadskripten zu neuen Ufern aufzubrechen. Seit neuestem steht der Einsatz von JavaScript ganz hoch auf der Beliebtheitsskala.

  • Der Flexibilität beim Tarnen oder Verschleiern von Schadcode in JavaScript sind kaum Grenzen gesetzt.
  • Außerdem sind der Flexibilität beim Tarnen oder Verschleiern von Schadcode in JavaScript kaum Grenzen gesetzt.

Eine einfache Darstellung finden Sie in Abbildung 1. In A wurde ein simpler HTML-Iframe in die Seite eingebunden, der den Browser dazu veranlasst, schädliche Inhalte von einer bestimmten Remote-Website zu laden, sobald die Webseite aufgerufen wird.

In B ist ein kurzes JavaScript in die Seite eingebunden. Der Payload ist mit bloßem Auge nicht unmittelbar zu erkennen. In diesem Beispiel wurde eine sehr einfache Verschleierungsmethode eingesetzt. Tatsächlich ist der Payload genau derselbe wie bei A. Das JavaScript schreibt ganz einfach genau dasselbe Iframe-Objekt auf die Seite, sobald dieses im Browser aufgerufen wird.

Abbildung 1: Einfaches Beispiel einer Webseite, die mit ein und demselben Payload unter Verwendung unterschiedlicher Methoden missbraucht wurde. Der eingebundene Iframe (A) und das Skript (B) bringen den Browser dazu, Inhalte von der schädlichen Remote-Website zu laden, sobald diese aufgerufen wird.

Durch die Flexibilität des JavaScripts eröffnen sich für eine Verschleierung des Payloads in B nahezu grenzenlose Möglichkeiten. Ein Problem für Inhaltsscanner, da der Payload beim Scannen des Seiteninhalts geschickt verborgen wird. Eine Tatsache, mit der auch proaktive generische Erkennungsmechanismen zu kämpfen haben.

2009 wurden die SophosLabs Zeuge zahlreicher Mass-Defacement-Angriffe, im Rahmen derer zehntausende seriöse Websites durch Einbinden von JavaScript-Schadcode manipuliert wurden. Um die Erkennungsmechanismen der Security-Software so lange wie möglich zu täuschen, kam bei diesen Malware-Attacken stets hoch verschleiertes JavaScript zum Einsatz.

Ein gutes Beispiel für eine solche Attacke ist Gumblar3. Hier wurde ein Schadskript in viele Seiten eingebunden, bei dem der Payload mittels Zeichenersetzung verborgen wurde (Abbildung 2A). Wie Sie sehen, ist der Payload in dem eingebundenen Skript nicht zu erkennen. Erst nach einer manuellen Entschleierung wird der Payload sichtbar (Abbildung 2B) – das Schadskript wird von einer Remote-Website geladen.

Abbildung 2: Schadskript (A), eingebunden in legitime Webseiten im Rahmen der Gumblar Mass-Defacement-Attacken 2009. Das manuell entschleierte Skript ist in (B) abgebildet.

Die Ausmaße von Mass-Defacement-Angriffen können verheerend sein. Sehr schnell nach Entwicklung einer Malware-Kennung (als Troj/JSRedir-R) arbeitete sich Gumblarg auf Platz 1 in den Statistiken der SophosLabs für Internetbedrohungen vor und stellte alle anderen Schädlinge in den Schatten (Abbildung 3).

 Abbildung 3: Top-Internet-Bedrohungen, aufgedeckt vom 6. bis 13. Mai 2009. Troj/JSRedir-R (alias Gumblar) war für mehr als 40 % aller gemeldeten Schädlingsbefälle aus dem Internet verantwortlich.

Kommerzielle Skript-Packer

Zunächst einmal ist das Verschleiern von JavaScript-Code vollkommen legitim. Auf dem Markt sind sogar kommerzielle Tools zur Verschleierung von Code erhältlich. Warum?:

  • Schutz von geistigem Eigentum: User verschleiern ihren Code, um zu verhindern, dass Dritte ihn kopieren.
  • Effizienz: Einige Tools komprimieren Skripts, um deren Download und demzufolge auch den Abruf einzelner Webseiten zu beschleunigen.

Der Einsatz solcher Skript-Packer stellt Analysten und Inhaltsscanner vor zusätzliche Probleme. Denn wenn Cyberkriminelle frei verfügbare Tools zur Verschleierung ihrer Schadskripte verwenden, müssen Anti-Malware-Analysten auf der Hut sein, bei tatsächlich bedenkenlosen Skripts keine False Positives zu generieren, falls diese mit dem gleichen Tool erstellt wurden4.

Server-seitiger Polymorphismus (SSP)

Viele der heutigen Bedrohungen verwenden zur Generierung von polmorphem Schadcode auch Skript-Techniken auf dem Server. Im Verlauf des Jahres 2009 identifizierten die SophosLabs beispielsweise zahlreiche Angriffe, bei denen User durch aggressiven Einsatz von SSP mit Zbot5,6  infiziert werden sollten. In diesem Fall wurden die eingesetzten Schadskripte dynamisch auf dem Server generiert. Ein solcher Vorgang erlaubt eine minimale Abänderung des Skript bei jeder Anfrage, um Schwachstellen auf Computern nichtsahnender User geschickt auszunutzen.

Bei SSP wiederum handelt es sich um eine spezielle Verschleierungstaktik, die Anti-Malware-Analysten genau wie Inhaltsscanner vor besondere Herausforderungen stellt.

Manipulierte PDF-Dokumente

Die SophosLabs haben 2009 über die Zweckentfremdung von PDF-Dokumenten zur Verbreitung von Malware berichtet7. Grund sind zahlreiche aggressive Attacken auf Schwachstellen in PDF-Reader-Anwendungen, über die arglose User infiziert werden sollten. Weniger bekannt ist, dass solche Angriffe meist JavaScript zweckentfremden.

Adobe Acrobat unterstützt eingebettete JavaScripts in PDF-Dokumenten8, um Usern das Erstellen komplexer und dynamischer Dokumente zu ermöglichen. Im Prinzip eine gute Idee. Cyberkriminelle nutzen diese Funktionalität jedoch, um schädliche PDF-Dokumente zu erstellen, welche durch Einbindung von JavaScript Anwendungsschwachstellen ausnutzen.

Die oben beschriebenen Verschleierungs- und SSP-Verfahren sind gleichermaßen auf in PDF-Dateien eingebettete JavaScripts anwendbar.

Das macht Sophos besser: Geschicktere JavaScript-Verarbeitung

Die neue Anti-Malware Engine verfügt über neue Funktionen, die eine bessere Verarbeitung von JavaScript ermöglichen. Zu den Verbesserungen zählen:

  • Option zur Aufspaltung in Token und Möglichkeit zur JavaScript-Analyse: So können Analysten der SophosLabs bessere generische Kennungen für JavaScript-Inhalte entwickeln.
  • JavaScript-Emulation: Die Anti-Virus Engine beinhaltet einen JavaScript-Emulator, der einen generischen Mechanismus zur Entschleierung von Skriptinhalten bereitstellt. So kann die Engine den Payload des Skripts aufdecken und proaktive Mechanismen zur generischen Erkennung entscheidend verbessern.

Die aktuelle Sophos Anti-Malware Engine und einige Modelle der Konkurrenz können verschleierte Skripts bereits „entpacken“. Wie aber unterscheidet sich dieses Verfahren konkret von anderen? Die üblichen Entpackungsverfahren setzen darauf, bestimmte Verschleierungen aufzudecken und schreiben Code, um den Schädling zu enttarnen (falls möglich). Dieser Ansatz ist dem heutigen Malware-Ansturm nicht gewachsen. Denn die Möglichkeiten, Skripts zu verschleiern, sind schier unendlich und Cyberkriminelle entwickeln ständig neue Angriffsmethoden. Eine generische Lösung zur Entschleierung ist von Nöten. Genau hier kommt die JavaScript-Emulation zum Einsatz.

Sophos Kunden profitieren von dieser neuen Technologie mit folgenden Funktionen:

  • Erhöhte Erkennungsraten von Schadskript-Inhalten und PDFs
  • Erhöhter Schutz (Zero-Day) vor neuen Angriffen

Ab November 2009 sind die beschriebenen Funktionen in die Anti-Malware Engine von Sophos Web Security and Control integriert. Alle Kunden-Appliances erhalten das Update im Rahmen des monatlichen Update-Package (kein zusätzliches Eingreifen erforderlich).

Ab Anfang 2010 wird dieses Verfahren in die Browser Helper Object (BHO)-Komponente von Sophos Endpoint Security and Data Protection integriert, welche verhindert, dass der Internet Explorer Malware-Anfragen bearbeitet.

Mehr über Sophos erfahren Sie unter:http://www.sophos.de

download Kostenloses Virus Removal Tool downloaden
Finden Sie heraus, an welchen Punkten Ihr Anti-Virus versagt hat.