Reverse Engineering und Binary Exploitation (REE)
6/7. Semester
5 ECTS | 4 SWS
Continuous Assessment (CA)
Programmen die Geheminisse entlocken: Du analysierst binäre Programme ohne Quellcode, findest heraus, wie sie funktionieren, und veränderst gezielt ihr Verhalten und nutzt Schwachstellen aus.
Inhalte
- Ziele des Reverse Engineerings
- Statische Analyse
- Dynamische Analyse
- Binäre Java Programme dekompilieren und modifizieren
- Grundlagen zu x86_64 Assembler
- Einsatz gängiger Werkzeuge des Reverse-Engineerings (radare2, Ghidra, etc.)
- Native Programme disassemblieren und dekompilieren
- Analyse von unbekannten Executables und Malware
- Patchen von nativen Programmen
- Typische Schwachstellen (Buffer Overflow, Use after Free etc.)
- Typische Angriffstechniken (ROP, Formatstring-Schwachstellen etc.)
- CrackMe und Capture the Flag (CTF) lösen
- Anti-Reversing-Strategien und Gegenmaßnahmen
Lernziele/Kompetenzen
Die Studierenden sind in der Lage,
- gängige Werkzeuge des Reverse-Engineerings einzusetzen
- unbekannte Binärdateien zu untersuchen und deren Funktion einzuschätzen
- Binärdateien zu patchen, um deren Verhalten zu ändern
- Crackmes und Capture-the-flag (CTF) zu lösen
Literatur
- Sikorski, M. and Honig, A. (2012). Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software. No Starch Press.
- Andriesse, D. (2018). Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly. No Starch Press.
- Eagle C. and Nance K. (2020). The Ghidra Book: The Definitive Guide. No Starch Press.
- Yurichev, D. (2019). Reverse Engineering for Beginners. (https://beginners.re/main.html)
Dozentinnen / Dozenten
Empfohlene Vorkenntnisse
Daten zum Modul
| Semester |
6/7 |
| Unterrichtssprache |
Deutsch |
|
Häufigkeit
|
Unregelmäßig
|
| Kreditpunkte |
5 |
| Modulverantwortlich |
Prof. Thomas Smits |
| Dauer |
1 Semester |
| Studienleistung |
Keine |
| Prüfungsvorleistung |
Keine |
| Prüfungsleistung |
Continuous Assessment (CA) |
Semesterwochenstunden
| Vorlesung |
1 SWS |
| Übung |
3 SWS |
| Summe |
4 SWS |
Arbeitsaufwand (work load)
| Vorlesung |
30 h |
| Selbststudium |
90 h |
| Aufgaben |
30 h |
| Summe |
150 h |