23.11.2013 Aufrufe

Automatisierte Signaturgenerierung für Malware-Stämme - Zynamics

Automatisierte Signaturgenerierung für Malware-Stämme - Zynamics

Automatisierte Signaturgenerierung für Malware-Stämme - Zynamics

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

ii<br />

Inhaltsverzeichnis<br />

3.2 <strong>Signaturgenerierung</strong> mittels BinDiff und k-LCS . . . . . . . . . . . . . . . 44<br />

3.2.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

3.2.2 Formale Beschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

3.3 Längste gemeinsame Teilsequenzen. . . . . . . . . . . . . . . . . . . . . . 49<br />

3.3.1 Dynamische Programmierung . . . . . . . . . . . . . . . . . . . . . 50<br />

3.3.2 Weitere Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51<br />

3.4 Längste gemeinsame Teilsequenzen von Permutationen . . . . . . . . . . 52<br />

3.4.1 Korrektheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

3.4.2 Laufzeiteigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

3.5 Eine Heuristik <strong>für</strong> das k-LCS-Problem . . . . . . . . . . . . . . . . . . . . 56<br />

3.6 Kürzungsstrategien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

3.7 Konstruktion eines regulären Ausdrucks aus einer gemeinsamen Teilsequenz<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

4 Implementierung 61<br />

4.1 Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61<br />

4.2 Verwendete Programmiersprachen . . . . . . . . . . . . . . . . . . . . . . 63<br />

4.2.1 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

4.2.2 C++. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

4.3 Schnittstelle zu IDA Pro und BinDiff . . . . . . . . . . . . . . . . . . . . . 64<br />

4.3.1 IDAJava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br />

4.3.2 SWIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

4.4 Programmbeschreibung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69<br />

4.4.1 Implementierung des Rahmenprogramms . . . . . . . . . . . . . . . 70<br />

4.4.2 Datenstrukturen und Optimierungen . . . . . . . . . . . . . . . . . 71<br />

4.4.3 Einschränkungen von ClamAV-Signaturen. . . . . . . . . . . . . . . 73<br />

4.4.4 Unterstützte Plattformen . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

4.4.5 Benutzerschnittstelle. . . . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

4.5 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br />

5 Bewertung 77<br />

5.1 Erreichte Ziele. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br />

5.2 Falsche Positive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />

5.2.1 Testverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br />

5.3 Falsche Negative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br />

5.4 Experimente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

5.4.1 Unbekannte Mitglieder einer <strong>Malware</strong>-Familie . . . . . . . . . . . . 82

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!