Ghidra von der NSA veröffentlicht – Was kann das Open Source Tool?

Ghidra ist ein Open Source Werkzeug mit dem Sicherheitsforscher Programme besser verstehen können. Das Tool wurde heute auf der RSA-Conference in San Francisco vorgestellt und veröffentlicht.

Ghidra ist ein Reverse Engineering Tool

Aber was bedeutet eigentlich Reverse Engineering? Bei der Entwicklung von Software wird in einer, für Menschen verständlichen Programmiersprache (z.B. Java oder Python) festgelegt, was das Programm machen soll. Dieser sogennante Quellcode wird von einem Übersetzer, den Compiler, in Maschinencode, das heißt für den Computer verständliche Befehle umgewandelt. Das Reverse Engineering ist der Versuch, diesen Schritt rückgängig zu machen und so sehen zu können, wie ein Programm arbeitet und abläuft. Hersteller versuchen sich davor zu schützen, doch Reverse Engineering ist ein wichtiges Werkzeug in der IT-Sicherheit.

Wieso gibt es Tools wie Ghidra?

Reverse Engineering ist ein wichtiger Schritt für die Sicherheit. Mit Hilfe von Reverse Engineering werden beispielsweise Schwachstellen in Passwortsafes gefunden und können geschlossen werden. Ein anderer Anwendungsfall für das Werkzeug ist die Analyse von Schadsoftware. Schadsoftware wird häufig analysiert um zu verstehen wie Sie funktioniert. Ist ein Computer nach einem Ransomware-Angriff verschlüsselt und kann doch irgendwann mit einem “Master-Key” oder Programm entschlüsselt werden, ist das meist dem Reverse Engineering zu verdanken. Der Blogpost von Digital Media Women beschreibt die Arbeit einer Malware Reverse Engineerin bei der GData Advanced Analytics aus Bochum.

Wieso ist Ghidra so spannend?

Wirklich auf Ghidra aufmerksam wurde die Welt im Zuge der Vault7 Veröffentlichungen im Jahre 2017 durch Wikileaks. Ghidra verfügt über eine graphische Oberfläche und wird seit Anfang der 2000er Jahre durch die NSA entwickelt. Das spannende ist, dass es wenig Bewegung im Reverse Engineering Markt gab bisher. Fast alle Tools sind mit enormen finanziellen Aufwendungen verbunden die eine hohe Einstiegshürde bedeutete. Durch das Tool wird es Interessierten, Studierenden und Lehrenden deutlich erleichtert, Reverse Engineering zu lernen.

Installation und erster Eindruck

Zur Installation benötigt ihr nichts, außer eine aktuelle Java Version. Ihr ladet eine zip Datei auf der Ghidra Webseite herunter und entpackt diese Datei an einem Ort eurer Wahl. Im Anschluss könnt ihr Ghidra einfach nutzen. Beim Start des Programms werdet ihr nach einem Projektnamen gefragt. Diesen vergebt ihr und dann könnt ihr beispielsweise .exe-Dateien importieren und im Anschluss analysieren. Der folgende Screenshot zeigt Ghidra bei der automatischen Analyse der npp.exe-Datei(notepad++). Wir werden uns in den kommenden Blogposts näher mit der Analyse von Dateien beschäftigen.