|
Software Reverse Engineering V+Ü (RE)5 ECTS (englische Bezeichnung: Software Reverse Engineering)
Modulverantwortliche/r: Tilo Müller Lehrende:
Tilo Müller
Startsemester: |
SS 2021 | Dauer: |
1 Semester | Turnus: |
halbjährlich (WS+SS) |
Präsenzzeit: |
50 Std. | Eigenstudium: |
100 Std. | Sprache: |
Deutsch |
Lehrveranstaltungen:
-
-
Software Reverse Engineering
(Vorlesung, 2 SWS, Tilo Müller, Di, 14:15 - 15:45, 01.019)
-
Software Reverse Engineering - Übung
(Übung, 2 SWS, Tobias Groß et al., Di, 10:15 - 11:45, 01.019)
Inhalt:
Ein regelmäßiger Untersuchungsgegenstand der angewandten IT-Sicherheit ist unbekannte Software deren Funktionsweise analysiert werden soll, bspw. um Schwachstellen aufzudecken oder um das Verhalten von Malware zu analysieren. Während "Reverse Engineering" im allgemeinen den Vorgang bezeichnet Konstruktionselemente und Strukturen aus einem bestehenden System zurückzugewinnen, bezeichnet "Software Reverse Engineering" speziell die Rückgewinnung von Software-Anforderungen und Intentionen aus Binärcode. Im Gegensatz zu "Software Engineering", bei dem es um die Übersetzung von Anforderungen in Code geht, muss hier also der umgekehrte Weg gegangen werden. Die Rückgewinnung von Informationen kann die Erstellung von äquivalenten Quell- oder Pseudocode beinhalten, hat darüberhinaus aber stets den Anspruch ein Programm auf höherer Ebene "zu verstehen".
Lernziele und Kompetenzen:
Die Vorlesung vermittelt Kompetenzen im Bereich "Software Reverse Engineering", insbesondere zur Analyse von Schadsoftware und um Schwachstellen in Binärprogrammen aufzudecken.
Im Rahmen der Vorlesung erlernen die Studierenden grundlegende Konzepte sowie fortgeschrittene Techniken und Tools aus dem Bereich Software Reverse Engineering. Ziel der Veranstaltung ist, dass die Studierenden ein Verständnis von statischen und dynamischen Methoden zur Analyse von Binärprogrammen entwickeln, indem typische Werkzeuge wie Disassembler (bspw. IDA Pro) und Debugger (bspw. OllyDbg) zum Einsatz kommen. Die Studierenden lernen außerdem, mit welchen Schwierigkeiten Software Reverse Engineering zu kämpfen hat und wo seine Grenzen liegen, bspw. im Bereich automatisierter Decompiler. Ebenso werden Techniken erlernt um sich gegen Software Reverse Engineering zu schützen, bspw. Code-Verschleierung (Obfuscation) gegen statische Analyse und Anti-Debugging Techniken gegen dynamische Analyse. Außerdem erarbeiten die Studierenden Vorgehensweisen wie sich Schwachstellen in Binärprogrammen aufspüren lassen und wie sich diese trotz aktueller Schutzmechanismen (bspw. ASLR und DEP) ausnutzen lassen.
Begleitet wird die Vorlesung von Übungen, in denen die vorgestellten Konzepte von den Studierenden praktisch umgesetzt und vertieft werden. Dazu werden Übungsaufgaben gestellt, die nach einer Bearbeitungszeit von jeweils einer Woche gemeinsam mit den Übungsgruppenleitern besprochen werden. Insgesamt gibt es zwölf Übungsblätter.
Literatur:
- "Reversing: Secrets of Reverse Engineering" von Eldad Eilam, Wiley Publishing Inc., Indianapolis, 2005
"The IDA Pro Book: An Unofficial Guide to the World's Most Popular Disassembler" von Chris Eagle, No Starch Press, San Francisco, 2011
"Microsoft Windows Internals: Fifth Edition" von Mark E. Russinovich und David Solomon, Microsoft Press, Washington, 2009
"Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection" von Christian Collberg und Jasvir Nagra, Addison-Wesley Professional, 2009
"Buffer Overflows und Format-String-Schwachstellen: Funktionsweisen, Exploits und Gegenmaßnahmen" von Tobias Klein, Dpunkt Verlag, 2003
Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan: Das Modul ist im Kontext der folgenden Studienfächer/Vertiefungsrichtungen verwendbar:
- Informatik (Bachelor of Science)
(Po-Vers. 2009w | TechFak | Informatik (Bachelor of Science) | Gesamtkonto | Wahlpflichtbereich (5. und 6. Semester) | Wahlpflichtmodule | Vertiefungsrichtung IT-Sicherheit | Software Reverse Engineering)
Studien-/Prüfungsleistungen:
Software Reverse Engineering V+Ü (Prüfungsnummer: 890193)
- Prüfungsleistung, mehrteilige Prüfung, benotet, 5 ECTS
- Anteil an der Berechnung der Modulnote: 100.0 %
- weitere Erläuterungen:
Schriftliche Prüfung (Klausur) + erfolgreiche Bearbeitung aller Übungsaufgaben (verpflichtetend). Die Note wird durch die Klausurleistung bestimmt.
- Erstablegung: SS 2021, 1. Wdh.: WS 2021/2022, 2. Wdh.: SS 2022
1. Prüfer: | Felix Freiling |
- Termin: 02.08.2022
Termin: 02.08.2022
|
|
|
|
UnivIS ist ein Produkt der Config eG, Buckenhof |
|
|