Flash ist inzwischen ein beliebter Loader für Malware und andere Schadprogramme, da Flash eine Reihe von Sicherheitslücken enthält. Fukami von SektorEins ist vermutlich einer der besten Flash-Experten die es bei uns gibt. BeF ist der Autor von erlswf. Die Analyse von Flash ist nicht trivial, weil Flash mit Obfuscation-Techniken gesichert werden kann.
Javascript kann via ExternalInterface.call() geladen werden. Darüber sind eine Vielzahl von Angriffen möglich. Erlswf prüft Flash-Dateien und kann typische Probleme wie ungültige Komprimierung oder unbekannte Opcodes herausfiltern. Dazu muss man das SWF-Format kennen.
SWF ist ein Containerformat und besteht aus einem Header, einem File Attribute Tag, diversen Daten-Tags und einem End Tag. Die Daten-Tags können Aktionen (DoAction, …) Mediadaten (Bilder, Filme), etc. enthalten. Dabei unterscheiden sich die Tags bei ActiveScript2 und 3 grundlegend. doAction aus AS2 besteht aus einem Header, vielen Actions und einem EndAction Tag. doABC besteht aus einem Opcode und Optionen. Flash 9 unterstützt außerdem die Funktion loadBytes, mit der eine Bytefolge gelesen, on the fly verändert und interpretiert werden kann.
Zur Analyse von Flash-Dateien gibt es keine brauchbaren dynamischen Tools wie Sandboxen, die den Flash-Lauf analysieren. In der Praxis beschränkt man sich zur Zeit daher auf die statische Analyse der Flash-Dateien. Dabei ist die Obfuscation natürlich störend. Ein Großteil des Vortrags beschäftigt sich mit den Möglichkeiten, Flash zu analysieren und Obfuscation aufzudecken. Insgesamt eine coole umfangreiche Arbeit aber wiedermal etwas, das für mich keine besondere Relevanz hat.
Kommentare gesperrt wegen Spam
Comment by Christian — 27. Januar 2010 @ 20:32