Reverse Engineering und Binary Exploitation (REE)
6/7. Semester
5 ECTS | 4 SWS
Continuous Assessment (CA)
Programmen die Geheimnisse entlocken: Du analysierst binäre Programme ohne Quellcode, findest heraus, wie sie funktionieren, 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
- M. Sikorski, Practical malware analysis. San Francisco: No Starch Press, 2012.
- D. Andriesse, Practical binary analysis. San Francisco: No Starch Press, Inc, 2019.
- C. Eagle und K. Nance, The Ghidra book. San Francisco, CA: No Starch Press, 2020.
- D. Yurichev, Reverse Engineering for Beginners. (https://beginners.re/main.html), 2019.
Dozentinnen / Dozenten
Empfohlene Vorkenntnisse
Daten zum Modul
| Semester |
6/7 |
| Unterrichtssprache |
Deutsch |
|
Häufigkeit
|
Unregelmäßig
|
| Kreditpunkte (CP)
|
5 |
| Modulverantwortlich |
Prof. Thomas Smits |
| Dauer |
1 Semester |
|
Studienleistung
|
Keine |
|
Prüfungsvorleistung
|
Keine |
|
Prüfungsleistung
|
Continuous Assessment (CA) |
Semesterwochenstunden (SWS)
| Vorlesung |
1 SWS |
| Übung |
3 SWS |
| Summe |
4 SWS |
Arbeitsaufwand (Workload)
| Vorlesung |
30 h |
| Selbststudium |
90 h |
| Aufgaben |
30 h |
| Summe |
150 h |