Inhalt
Reverse-Engeneering auf zwei Betriebssystemen (zb Linux, Windows) von Binarapplikationen, evt auch eine mobile App (zb Android).
Debugger, Disassembler, Decompiler (zb Ghidra, Hexrays, IDA Pro, …), rudimentäres Verständnis von Maschinencode.
Memory Corruption (Stack Overflows, Heap Overflow, Return-to-libc, return oriented programming), Format String Vulnerabilities, Shellcode, Race conditions, Reverse Engineering, Malware Analysis, Binary analysis, rewriting, and patching.
Sicherheitsmaßnahmen in Programmiersprachen und Betriebsystemen und wie diese umgangen werden können.
VORAUSSETZUNG: Operating Systems Security behandelt die grundlegenden Sicherheitskonzepte und -infrastruktur der gängigsten Betriebsysteme.
Weitere Voraussetzungen: OWASP Top 10 und ähnliche Web-basierende Angriffe sind bereits bekannt (Secure Software Engineering). Konzepte wie Bufferoverflow sind grob bekannt.
Lernergebnisse
Nach dieser Lehrveranstaltung verstehen Studierende die Computersicherheit aus der Sicht eines Blackbox-Angreifers. Die Studierenden haben sich die analytische Methodik angeeignet, um fremde Programme zu analysieren und systematisch auf Schwachstellen zu untersuchen, auch wenn der Sourcecode nicht verfügbar ist.
In den Laborübungen konnten die im Vorlesungsteil demonstrierten Angriffe selbstständig ausprobiert werden, und dafür Exploits geschrieben werden.
Damit hat der/die Studierende ein tieferes Verständnis der Arbeitsweise von Angreifern erlangt. Dies trainiert deren kritischen Blick für die Computersicherheit im Betrieb und im Design. Es ermöglicht auch später im Bereich der offensiven Sicherheitsüberprüfung oder -forschung zu arbeiten (Penetration Testing).
Lehrmethode
Vortrag, Fernlehre, Lernplattform mit 5-10 praktischen Übungsbeispielen
Prüfungsmethode
Unterrichtssprache
Englisch