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.

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

1 #include <br />

2<br />

3 static main() {<br />

4 auto ea, x;<br />

5 for (ea = NextFunction(0); ea != BADADDR; ea = NextFunction(ea)) {<br />

6 Message("Function at %08lX: %s", ea, GetFunctionName(ea));<br />

7 x = GetFunctionFlags(ea);<br />

8 if (x & FUNC_NORET) Message(" Noret");<br />

9 if (x & FUNC_FAR) Message(" Far");<br />

10 Message("\n");<br />

11 }<br />

12 }<br />

Listing 2.8: IDC-Script <strong>für</strong> die Ausgabe einer Funktionsliste<br />

IDA Pro ist modular aufgebaut und kann mit Plugins (engl. etwa Erweiterungen) um<br />

zusätzliche Funktionalität erweitert werden, wie zum Beispiel die Unterstützung <strong>für</strong><br />

neue Prozessortypen oder Dateiformate <strong>für</strong> ausführbare Programme. Technisch handelt<br />

es sich dabei um spät gebundene Programmbibliotheken (shared libraries), die bei Bedarf<br />

aufgerufen werden. Die in den Abschnitten 2.5.2 und 4.3.1 vorgestellten Werkzeuge sind<br />

Beispiele <strong>für</strong> IDA-Pro-Plugins.<br />

Um die Plugin-Entwicklung zu unterstützen, bietet IDA Pro eine Programmierschnittstelle<br />

(Application Programming Interface, API), die von Plugins zur Bereitstellung ihrer<br />

Funktionalität aufgerufen werden kann. Fast alle über die graphische Benutzeroberfläche<br />

verfügbaren Befehle lassen sich so aufrufen. 32<br />

Für einfache Aufgaben bietet IDA Pro neben der Programmierschnittstelle eine C-ähnliche<br />

Skriptsprache an (so genannte IDC-Scripts). Listing 2.8 zeigt ein solches Skript zur<br />

Ausgabe einer Liste von Funktionen in der aktuell geladenen ausführbaren Datei. Auch<br />

hier sind viele der über die Benutzeroberfläche erreichbaren Funktionen verfügbar. 32 Für<br />

die Stapelverarbeitung von Dateien können IDC-Scripts ebenfalls verwendet werden.<br />

Eine wesentliche Erleichterung bei der Analyse von Programmen ist außerdem die automatische<br />

Analyse beim Laden von ausführbaren Dateien – IDA Pro erzeugt <strong>für</strong> jede<br />

geladene Datei eine Datenbank (IDA Database, IDB) mit Metainformationen wie zum<br />

32 Eine bemerkenswerte Ausnahme ist die Funktion zum Öffnen von Dateien. Diese lässt sich ausschließlich<br />

über die GUI aufrufen.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!