Überblick über die Lehrinhalte und Qualifikationsziele der Module und Veranstaltungen

Diese Seite zeigt alle Module, die sich aktuell im System befinden. Für jedes Modul werden Lehrinhalte und Lernziele ausgegeben. Bitte suchen Sie mit der Suchfunktion ihres Browsers (Strg + F) nach den Namen des Moduls bzw. der Veranstaltung im Modul zu der Sie Informationen benötigen und klicken Sie dann auf den Link zum Modul. Die darauffolgende Seite enthält alle Informationen zu den Inhalten einer Veranstaltungen die Sie für eine Anerkennung benötigen sollten. Sollte die Institution weitere Informationen benötigen, nutzen Sie bitte zusätzlichen die Seiten der einzelnen Lehrstühle und dort den Bereich „Studium“.

Modul (6 Credits)

Reverse-Engineering Software Systems

Name im Diploma Supplement
Reverse-Engineering Software Systems
Verantwortlich
Voraus­setzungen
Siehe Prüfungsordnung.
Workload
180 Stunden studentischer Workload gesamt, davon:
  • Präsenzzeit: 60 Stunden
  • Vorbereitung, Nachbereitung: 60 Stunden
  • Prüfungsvorbereitung: 60 Stunden
Dauer
Das Modul erstreckt sich über 1 Semester.
Qualifikations­ziele

Die Studierenden:

  • können Software auf Binärebene (ohne Quellcode) analysieren und ihre Funktionsweise rekonstruieren
  • können Sicherheitsanalysen durchführen und Schwachstellen (z.B. Buffer Overflows) in Software Systemen detektieren und untersuchen
  • kennen die Konzepte dynamischer und statischer Analysemethoden (Reverse-Engineering)
  • kennen die wichtigsten Interna moderner Betriebssysteme
  • verstehen die Funktionsweise der Hauptkomponenten einer CPU und welche Rolle diese für die Programmausführung spielen
  • kennen die gängigsten Tools im Bereich Reverse-Engineering und können diese in der Praxis einsetzen
Prüfungs­modalitäten

Zum Modul erfolgt eine modulbezogene Prüfung in der Gestalt einer Klausur (in der Regel: 90-120 Minuten) oder mündlichen Prüfung (in der Regel: 30 Minuten); die konkrete Prüfungsform - Klausur versus mündliche Prüfung - wird innerhalb der ersten Wochen der Vorlesungszeit von der zuständigen Dozentin oder dem zuständigen Dozenten festgelegt.

Prüfungsvorleistung: Vom Dozierenden wird zu Beginn der Veranstaltung festgelegt, ob die erfolgreiche Teilnahme an der Übung (mindestens 50% der Übungspunkte) als Prüfungsvorleistung Zulassungsvoraussetzung zur Modulprüfung ist. Bestandene Prüfungsvorleistungen haben nur Gültigkeit für die Prüfungen, die zu der Veranstaltung im jeweiligen Semester gehören.

Verwendung in Studiengängen
  • AI-SE-Ba-2017VertiefungsstudiumWahlpflichtbereich I: Informatik5.-6. FS, Pflicht
Bestandteile
Name im Diploma Supplement
Reverse-Engineering Software Systems
Anbieter
Lehrperson
SWS
4
Sprache
deutsch
Turnus
Wintersemester
maximale Hörerschaft
unbeschränkt
empfohlenes Vorwissen

Kenntnisse mindestens einer Programmiersprache (Java, C, C++, Python, Rust, …) und Erfahrung in systemnaher Programmierung

Abstract

In dieser Veranstaltung sollen die Studierenden lernen Computerprogramme auf Binärebene (ohne vorhandenen Quellcode) zu analysieren und ggf. die Programmlogik zu ändern. Dabei werden im Vorlesungsteil die notwendigen theoretischen Inhalte vermittelt, welche anschließend im praktischen Teil der Übung angewendet werden sollen. Ein besonderer Fokus liegt dabei auf Intel x86 basierten Systemen auf denen die meisten klassischen Anwendungen lauffähig sind. Zusätzlich werden auch gängige Fehler in Programmen erläutert und analysiert wieso diese für Angriffe ausgenutzt und vermieden werden können. Ziel der Veranstaltung ist es, dass die Studenten ein grundlegendes Verständnis über die Möglichkeiten im Bereich Reverse-Engineering haben und dort bewährte Tools einsetzen können.

Lehrinhalte
  1. Grundlagen der Prozessorarchitektur
  2. x86 Assembler (32 und 64 Bit Systeme)
  3. Compileroptimierungen
  4. Methoden zur Kontrollfluss- und Datenflussanalyse
  5. Programmfehler erkennen und beheben
  6. Programmobfuskation
Literaturangaben

Eldad Eilam, „Reversing: Secrets of Reverse Engineering“, Wiley Verlag

didaktisches Konzept

Präsentationensfolien, Moodle-Kurs, Praktische PC-Labore, schriftliche Hausarbeiten

Hörerschaft
  • AI-SE-Ba-2017VertiefungsstudiumWahlpflichtbereich I: InformatikModul "Reverse-Engineering Software Systems"5.-6. FS, Pflicht
Vorlesung mit integrierter Übung: Reverse-Engineering Software Systems (WIWI‑C1152)
Modul: Reverse-Engineering Software Systems (WIWI‑M0898)

Aus Gründen der Performance und Übersichtlichkeit wird an dieser Stelle auf die Titel und vollständigen Namen der Dozenten verzichtet und es werden nur die Nachnamen ausgegeben. Die unterschiedlichen Titel der zugehörigen Dozenten  sind den Bereitstellern und Nutzern dieser Listen bekannt und bewusst.