slider

Reverse Engineering - Prof. Dr. Norbert Pohlmann

Reverse Engineering

Reverse Engineering - Glossar Cyber-Sicherheit - Prof. Norbert Pohlmann

Allgemein ist Reverse Engineering der Vorgang, um aus einem bestehenden fertigen Produkt durch Untersuchung der Strukturen, Zustände und Verhaltensweisen die Konstruktionselemente zu extrahieren.
Mit den gewonnenen Ergebnissen und Einsichten wird zur Verifikation das Produkt nachgebaut, was im Weiteren prinzipiell auch ermöglicht, Veränderungen und Weiterentwicklungen daran durchzuführen.
Somit ist das generelle Ziel von Reverse Engineering der Nachbau eigener oder fremder Produkte.

Reverse Engineering im Softwarebereich
Im Softwarebereich wird versucht, die Funktionsweise einer kompilierten Software zu analysieren, ohne dabei auf den Quelltext oder die Spezifikation der Software zugreifen zu müssen oder zu können. Für die Umsetzung wird in der Regel Dekompilierung mithilfe eines Decompilers genutzt. Dabei werden Maschinencodes in eine für Menschen lesbare Sprache übersetzt. Ist das automatisierte Übersetzen nicht möglich, kann der ermittelbare Binärcode des Programms auch direkt mit einem Disassembler (gegebenenfalls als Teil eines Debuggers) manuell analysiert werden.

Ziele des Reverse Engineerings im Softwarebereich
1.) Vorbereitung eines Cyber-Angriffs
Als Vorbereitung eines Cyber-Angriffs können zum Beispiel Sicherheits-Updates mittels Reverse Engineering durch Angreifer untersucht werden, um Erkenntnisse über Sicherheitslücken zu sammeln, die durch das Update geschlossen werden sollen. Mittels dieser sicherheitsrelevanten Informationen kann ein Angreifer Rückschlüsse ziehen, wie diese Schwachstelle auf den IT-Systemen ausgenutzt werden kann, die das Update noch nicht installiert haben, um dann – mithilfe eines Exploits – einen Angriff auf nicht upgedatete IT-Systeme durchzuführen.

2.) Analyse von Angriffstools
Mithilfe von Reverse Engineering kann jedoch auch Malware analysiert werden, um darüber Gegenmaßnahmen zu definieren, zum Beispiel die Malware zu erkennen oder deren Schadfunktionen (SpamDDoSKeyloggerRansomwareSpywareAdwareTrojanisches Pferd, …) zu unterdrücken.

3.) Finden von Schwachstellen
Die Analyse des Binärcodes von bestehender Software kann aber auch mit dem Ziel genutzt werden, um Schwachstellen in Betriebssystemen und Applikationen zu analysieren, damit diese behoben werden können.

4.) Verifikation der Cyber-Sicherheit von Produkten
Ein weiterer Anwendungsfall ist die Analyse von Software, um die Umsetzung von geeigneten IT-Sicherheitsmaßnahmen zu verifizieren.


Weitere Informationen zum Begriff “Reverse Engineering”:

Artikel: “On Botnets that use DNS for Command and Control”

Informationen über das Lehrbuch: „Lehrbuch Cyber-Sicherheit“

Glossar Cyber-Sicherheit: Bundesamt für Sicherheit in der Informationstechnik (BSI)

Zurück zur Übersicht
Reverse Engineering - Glossar Cyber-Sicherheit - Prof. Norbert Pohlmann
Reverse Engineering Prof. Dr. Norbert Pohlmann - Cyber-Sicherheitsexperten