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.
30 2 Begriffe, Konzepte und Verfahren<br />
Beispiel der Dateistruktur (<strong>für</strong> ausführbare Dateien im PE- oder ELF-Format sind dies<br />
beispielsweise Informationen über die einzelnen Abschnitte), Einsprungadressen, gefundenen<br />
Programmfunktionen und Einstellungen des Benutzers 33 . Die automatische<br />
Analyse versucht außerdem deskriptive Namen <strong>für</strong> verwendete Bibliotheksfunktionen zu<br />
finden und fügt Kommentare zu bekannten Programmfragmenten hinzu. Für die Erkennung<br />
von Bibliotheksfunktionen werden vom Hersteller so genannte FLIRT-Signaturen<br />
(Fast Library Identification and Recognition Technology, FLIRT) bereitgestellt und gepflegt.<br />
Die so enstandene Sicht auf das Binary kann dem ursprünglichen Quelltext recht nahe<br />
kommen 34 und bildet einen guten Ausgangspunkt <strong>für</strong> das weitere Reverse-Engineering<br />
des jeweiligen Programms oder Objektcodes.<br />
2.5.2 BinDiff<br />
Das Einspielen von Programmaktualisierungen (engl. Updates), die bekannt gewordene<br />
Sicherheitslücken in bestehenden Produkten beheben, sind unbestreitbar wichtig <strong>für</strong> die<br />
Sicherheit von Rechensystemen. Im produktiven Einsatz in Unternehmen spielt jedoch<br />
häufig noch das betriebliche Kontinuitätsmanagement (engl. Business Continuity Management,<br />
BCM, siehe auch [63]) eine wichtige Rolle. Zur Sicherung der Kontinuität von<br />
Geschäftsprozessen zählen in diesem Zusammenhang auch die Einhaltung von Wartungsintervallen<br />
und die Minimierung von Ausfallzeiten der verwendeten Rechensysteme.<br />
Updates können deshalb in der Regel nicht sofort auf kritischen Systemen eingespielt<br />
werden, was potenziellen Angreifern einen zeitlichen Vorteil verschafft. Für eine Risikoabschätzung<br />
im Unternehmen kommt erschwerend hinzu, dass Software-Hersteller<br />
häufig keine oder nur unzureichende Details über geschlossene Sicherheitslücken veröffentlichen.<br />
Mit BinDiff der Firma <strong>Zynamics</strong> [66] steht ein Softwarewerkzeug zur Verfügung, das es<br />
erlaubt, Änderungen zwischen zwei ausführbaren Dateien sichtbar zu machen. Diese<br />
Kernfunktionalität unterstützt ein manuelles Reverse-Engineering, um Gemeinsamkeiten<br />
und Unterschiede von Varianten einer <strong>Malware</strong> herauszuarbeiten 35 oder die in Programmaktualisierungen<br />
enthaltenen Änderungen zu rekonstruieren.<br />
Im Fall von Programmaktualisierungen ermöglicht es BinDiff zu entscheiden, ob ein<br />
33 Insbesondere vom Benutzer eingetragene Kommentare zu einzelnen Teilen der Datenbank.<br />
34 Dies trifft so nur auf Programme zu, die keine Maßnahmen zur Erschwerung von Reverse-Engineering<br />
ergreifen.<br />
35 Diese Aufgabe kann mit dem in Abschnitt 2.6.1 vorgestellten Softwarewerkzeug bis zum einem gewissen<br />
Grad automatisiert werden.