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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

26 2 Begriffe, Konzepte und Verfahren<br />

Im Vergleich zu Perl-kompatiblen regulären Ausdrücken werden die Schrittinstanzselektionsmodi<br />

letzte und alle, sowie der Konsummodus nicht-konsumierend nicht unterstützt.<br />

Tabelle 2.4 fasst die Ergebnisse der semantischen Betrachtungen zusammen.<br />

2.5 Analyse von <strong>Malware</strong><br />

Vor der Erstellung einer Signatur zur Erkennung einer spezifischen <strong>Malware</strong> durch ein Antivirenprogramm<br />

ist zunächst eine umfassende Analyse des jeweiligen Schadprogramms<br />

erforderlich. Dabei wird nach charakteristischen Merkmalen der <strong>Malware</strong> gesucht, um<br />

daraus später eine Signatur zu erstellen. Dies geschieht üblicherweise manuell oder<br />

halb-automatisch.<br />

Die folgenden Abschnitte richten den Blick auf einige Softwarewerkzeuge und Analysemethoden,<br />

bevor in Kapitel 3 ein automatisiertes Verfahren dieses Prozesses vorgestellt<br />

wird, welches auf den vorgestellten Methoden aufbaut.<br />

2.5.1 IDA Pro<br />

Schadprogramme liegen bei ihrer Erscheinung – also ihrer ersten Verbreitung – nicht<br />

im Quelltext, sondern in Form von Objektcode vor, der je nach Art der <strong>Malware</strong> unterschiedlich<br />

gut getarnt sein kann. Die Analyse der Binaries solcher Programme erfolgt mit<br />

einer symbolischen Repräsentation der vom Prozessor 27 des Rechensystems ausgeführten<br />

Instruktionen, auch Assemblersprache (engl. assembly language) oder Assembler genannt.<br />

Ein Disassembler ist ein Programm, das Objektcode in diese symbolische Darstellung<br />

übersetzt, wobei der Objektcode meist zunächst aus einer ausführbaren Datei extrahiert<br />

wird (der Disassembler simuliert hier gewissermaßen das Ladeprogramm des Betriebssystems).<br />

Da Assemblersprache schwierig zu lesen und zu verstehen ist 28 , implementieren Disassembler<br />

eine Reihe von Techniken, die die Assemblerdarstellung eines Programms<br />

lesbarer gestalten.<br />

27 Da ein bestimmter Ausführungspfad eines Programms logisch immer nur auf einer Recheneinheit ausgeführt<br />

wird, genügt es, hier von einem Prozessor zu sprechen, selbst wenn das Programm Nebenläufigkeit<br />

und mehrere Prozessoren benutzt.<br />

28 Dies hängt natürlich stark von der Expertise des Benutzers ab, ist aber in etwa vergleichbar mit einer<br />

Wort-<strong>für</strong>-Wort-Übersetzung eines Textes.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!