Harvester

Erkennt „schlafenden“ Schadcode in Android-Apps

Immer häufiger verstecken Angreifer „Schläfer“-Schadsoftware in Smartphone-Apps. Die „schlafende“ Malware bleibt zunächst untätig. Erst nach Stunden oder Tagen wird sie aktiv, manche schädlichen Apps auch erst nach einem Neustart des Mobilgeräts. Dies erschwert und verzögert die Erkennung des Schadcodes. Das Fraunhofer SIT und die Technische Universität Darmstadt haben mit Harvester ein neues Werkzeug entwickelt, mit dem Analysten „Schläfer“-Schadsoftware innerhalb einer Minute aufspüren können, selbst wenn die Programmierer versucht haben, den Schadcode zu verschleiern.

Harvester spart Zeit

Millionen von Android-Mobilgeräten sind bereits mit „schlafender“ Schadsoftware infiziert – diese macht sich erst nach einer gewissen Inkubationszeit oder bestimmten Aktionen auf dem Smartphone bemerkbar. Im Nachhinein können Nutzer durch die lange „Schlafzeit“ der schädlichen App nur noch schwer feststellen, was die eigentliche Ursache für unerwünschte Werbebanner oder andere unliebsame Aktionen ist. Auch für Sicherheitsanalysten stellen Schläfer-Apps ein Problem dar: Sie müssen Hunderte bis Tausende von Apps in kürzester Zeit untersuchen und können deshalb nicht alle Ereigniskombinationen (Zeitverzögerung, Neustart, Anruf länger als 10 Sekunden, etc.) überprüfen. Die Sicherheitsexperten des Fraunhofer SIT und der Technischen Universität Darmstadt haben gegen diese Art von Schadsoftware das Tool Harvester entwickelt. Harvester nutzt eine einzigartige neue Kombination von statischer und dynamischer Codeanalyse und Codeumwandlung und spart Sicherheitsanalysten damit viel Zeit.

Wie funktioniert Harvester genau?

Harvester untersucht nicht die originale Malware-App, sondern eine Mini-Version der App, die eine leichtere Identifikation des schadhaften Verhaltens gestattet. Harvester nutzt hierfür ein spezielles Verfahren der statischen Analyse („backwards slicing“ oder „program slicing“). Mit deren Hilfe können Analysten verdächtige Stellen aus dem Code herauslösen. Diese (und nur diese) Stellen führt Havester dann aus und prüft, was bei der Ausführung passiert. Dadurch umgeht das Werkzeug die Stellen, die normalerweise für eine Verzögerung der Ausführung oder Ähnliches sorgen. Anschließend kann Harvester vollautomatisch wichtige Informationen (Ziel-Telefonnummern, Inhalte von SMSen, Entschlüsselungs-Schlüssel, URLs, etc.) aus dem schädlichen Android-Code extrahieren, mit denen der Analyst auf Art und Quelle der Malware schließen kann. Harvester benötigt für die Teilanalyse einer Codestelle rund eine Minute – das haben die Experten von TU Darmstadt und Fraunhofer SIT an mehr als 13.500 gängigen Malware-Beispielen getestet.

Harvester funktioniert sogar, wenn der Code der schädlichen App stark verschleiert ist oder andere Anti-Analyse-Techniken genutzt wurden, denn das Werkzeug ist immun gegenüber den aktuell gängigen Arten von Code-Obfuskierung. Eine Basisvariante von Harvester steht als Open Source-Tool für wissenschaftliche Zwecke zur Verfügung. Für die kommerzielle Nutzung können Unternehmen eine Version mit erweiterter Funktionalität lizenzieren.