Formale Beschreibung von Malware-Verhalten Hermann Dornhackl „Viren sind die einzigen Rivalen um die Herrschaft über unseren Planeten. Wir müssen auf Draht sein, um mit ihnen Schritt zu halten.“ Joshua Lederberg (amerikanischer Mikrobiologe und Genetiker) WWW • Wer? • Was? • Warum? Agenda • Allgemeines zu Malware • Polymorphe und Metamorphe Malware • Beschreibung von Malware-Verhalten • Praxisbeispiel Allgemeines • Verschiedene Programmiertechniken zur Verschleierung von Aktivitäten • Probleme bei Signaturbasierter Erkennung „Eine unglückliche Koinzidenz beim Update der Virensignaturen und dem Update der Scanner-Version führte offenbar dazu […] dass auf diese Weise 25.000 Dateien inklusive Systemdateien in der Quarantäne landeten – also quasi fast das ganze System.“ http://heise.de/-1139392 • Gründe? Allgemeines • Kombination von Erkennungstechniken • Erschwernis: Obfuscating-Techniken zur Verschleierung der Vorhaben – Polymorph – Metamorph • Abhilfe: Verhaltensbasierte Analyse Allgemeines Verhalten??? Polymorphe Malware • Polymorph = „viele Gestalten“ • Basieren auf verschlüsselten Viren • Eigenschaften: – Ändert von Infektion zu Infektion die Gestalt – Funktion soll versteckt werden! – Detektierbares Merkmal (Decryptor) Decryptor Schadfunktion • Ziel: Bart Simpson töten • Weg: Tarnen und Täuschen durch Verkleidung Markante Eigenschaft: Große Füße Verkleidung -> Identität wird verschleiert = Tarnung Große Füße = Detektierbares Merkmal Polizei = Anti-Virus Programm Metamorphe Malware • • • • Keine Verschlüsselung notwendig Übersetzt Code in Metasprache Ändert Seine Gestalt Selbes Ziel wie zuvor Gestalt von Dingen annehmen = Tarnung „Metall“ = Detektierbares Merkmal Arnold Schwarzenegger = Anti-Virus Programm Zusammenhänge Unabhängig von Verschleierungstechnik (statische Form) Gleiche Instruktionen getätigt Verhalten (Laufzeit) von Wichtigkeit Formale Beschreibung • Einheitliches Beschreibungsmodell notwendig • Anforderungen: – Exakte Definitionen – Verarbeitbarkeit durch Computer – Darstellungsformen Formale Sprachen Formale Beschreibung • Formale Sprachen – Ähnlichkeit mit natürlichen Sprachen – Verwendung einer Grammatik Abstrakt Satz Subjekt Prädikat Objekt Substantiv Verb Artikel Substantiv Der Junge wirft den Ball Konkret Artikel Formale Beschreibung • Vorgehensweise: – Simulation von Malware-Samples (t3sim) Formale Beschreibung • Vorgehensweise: – Analyse von API-Calls – Finden von Mustern über mehrere Samples – Analyse von Mustern – Design der formalen Beschreibung • Komplexe Aktionen = zusammengehörige Abfolge Formale Beschreibung • Beispiel <EXECUTE-PROPAGATION> ::= [<GET-TARGET-DIRECTORY>] (([<GET-FILE-ATTRIBUTES>]<COPY-MALWARE>[<SET-FILEATTRIBUTES>])|([<WRITE-FILE>]<READ-FILE>[<SET-FILE-ATTRIBUTES>]<COPYMALWARE-PAYLOAD>)) [<ADD-AUTOSTART-INFORMATION>]<EXECUTE>[<SET-FILE-ATTRIBUTES>] <EXECUTE> ::= Startet einen Prozess für die Malware (ShellExecuteA, CreateProcessA) … Formale Beschreibung • Beispiel - Zusammenhang <Trojan-PWS.Win32.Agent> ::= <COMMUNICATION-MODIFICATION> <COPY-MALWARE> <EXECUTE-PROPAGATION> <BAT-EXECUTION> Fazit • Einfache Darstellung • Unterstützung bei Analyse – Abstrakte Darstellung – Unabhängig von Obfuscating-Techniken • Definition von Muster Prävention • Universelle Beschreibung umfassender Satz