Automatisierte Signaturgenerierung für Malware-Stämme - Zynamics
Automatisierte Signaturgenerierung für Malware-Stämme - Zynamics
Automatisierte Signaturgenerierung für Malware-Stämme - Zynamics
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