Modulbeschreibung Software Reverse Engineering
Studiensemester | 1. |
Dozent | Prof. Dr. Christian Dietrich |
Lehrform / Semesterwochenstunden | 2 SWS Vorlesung, 2 SWS Praktikum |
Leistungspunkte | 6 |
Turnus | Wintersemester, jährlich |
Voraussetzungen | Keine |
Inhalt | Maschinensprache und Assemblersprache für die Intel x86-Architektur • Wiederholung wichtiger Betriebssystemaspekte am Beispiel von Windows oder Linux • Methoden zur statischen Code-Analyse • Disassemblierung • Erkennung von CHochsprachenkonzepten in Maschinencode • Kontrollflusskonstrukte und Kontrollflussgraphen • Dekompilation • Abbildung von C++- Hochsprachenkonzepten (Vererbung, Virtual Function Calls) in Maschinencode • Methoden zur dynamischen Code-Analyse • Debugging • Hooking • Binary Instrumentation • Emulation • Grundlagen der Schadsoftware-Analyse |
Angestrebte Lernergebnisse | Die Studierenden beherrschen die grundlegenden Konzepte des Software Reverse Engineering und können einige statische und dynamische Methoden zur Programmanalyse zur Lösung überschaubarer, praktischer Aufgaben sicher anwenden. Sie kennen gewisse Elemente von Maschinensprachen, insb. Intel x86, amd64 oder ARM, sowie zur Umsetzung gewisser Hochsprachen-Idiome in MaschinencodeEntsprechungen. Durch exemplarische Anwendung der Methoden werden praktische Erfahrungen zur Schadsoftware-Analyse gesammelt und ein grundlegendes Verständnis zur Vorgehensweise von Cyber-Angreifern erlangt. Darüber hinaus erfahren sie die Grenzen der Programmanalyse beispielsweise bei obfuskiertem Binärcode und können abstrakte Repräsentationen von Programmen, etwa in Kontrollflussgraphen, erstellen und zur Problemlösung nutzen. Gegebenenfalls werden die Kenntnisse im Rahmen eines Capture-The Flag-Wettbewerbs angewendet und vertieft. |
Studien- / Prüfungsleistungen | Studienleistungen laut Prüfungsordnung als Voraussetzung zur Prüfungsteilnahme: Keine Prüfungsleistungen: Klausur (90 Min.) oder mündliche Prüfung |
Literatur | – Eilam, E.: Reversing: Secrets of Reverse Engineering; John Wiley & Sons, 1. Auflage – Dang, B./Gazet, A.: Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation; John Wiley & Sons, 1. Auflage – Russinovich, M./Solomon, D./Ionescu, A.: Windows Internals, Part 1 & 2; Microsoft Press, 6. Edition – Diverse aktuelle Konferenz-Publikationen |