UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe    
Suche:      Semester:   
 Lehr-
veranstaltungen
   Personen/
Einrichtungen
   Räume   Forschungs-
bericht
   Publi-
kationen
   Internat.
Kontakte
   Examens-
arbeiten
   Telefon &
E-Mail
 
 
 Darstellung
 
Druckansicht

 
 
Modulbeschreibung (PDF)

 
 
 Außerdem im UnivIS
 
Vorlesungs- und Modulverzeichnis nach Studiengängen

Vorlesungsverzeichnis

 
 
Veranstaltungskalender

Stellenangebote

Möbel-/Rechnerbörse

 
 
Einrichtungen >> Technische Fakultät (TF) >> Department Informatik (INF) >> Lehrstuhl für Informatik 1 (IT-Sicherheitsinfrastrukturen) >>

Software Reverse Engineering V+Ü (RE)5 ECTS
(englische Bezeichnung: Software Reverse Engineering)

Modulverantwortliche/r: Tilo Müller
Lehrende: Tilo Müller


Startsemester: SS 2019Dauer: 1 SemesterTurnus: halbjährlich (WS+SS)
Präsenzzeit: 50 Std.Eigenstudium: 100 Std.Sprache: Deutsch

Lehrveranstaltungen:


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".
Im Rahmen der Vorlesung werden grundlegende Konzepte sowie fortgeschrittene Techniken und Tools aus dem Bereich Software Reverse Engineering vorgestellt. Ziel der Veranstaltung ist ein Verständnis von statischen und dynamischen Methoden zur Analyse von Binärprogrammen, indem typische Werkzeuge wie Disassembler (bspw. IDA Pro) und Debugger (bspw. OllyDbg) zum Einsatz kommen. Es wird auch verdeutlicht, mit welchen Schwierigkeiten Software Reverse Engineering zu kämpfen hat und wo seine Grenzen liegen, bspw. im Bereich automatisierter Decompiler. Ebenso werden Techniken angesprochen 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 wird vorgestellt wie sich Schwachstellen in Binärprogrammen aufspüren lassen und wie sich diese trotz aktueller Schutzmechanismen (ASLR und DEP) ausnutzen lassen.

Lernziele und Kompetenzen:

Die Vorlesung vermittelt Kompetenzen im Bereich "Software Reverse Engineering", insbesondere zur Analyse von Schadsoftware und um Schwachstellen in Binärprogrammen aufzudecken. Das Lernziel dieser Veranstaltung ist, dass die Teilnehmer ausführbare Programme unter Windows und Linux mit entsprechenden Werkzeugen analysieren können.

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:

  1. Informatik (Bachelor of Science)
    (Po-Vers. 2009s | TechFak | Informatik (Bachelor of Science) | Wahlpflichtbereich (5. und 6. Semester) | Wahlpflichtmodule | Vertiefungsrichtung IT-Sicherheit)
  2. Informatik (Bachelor of Science)
    (Po-Vers. 2009w | TechFak | Informatik (Bachelor of Science) | Wahlpflichtbereich (5. und 6. Semester) | Wahlpflichtmodule | Vertiefungsrichtung IT-Sicherheit)
  3. Informatik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informatik (Master of Science) | Wahlpflichtbereich | Säule der systemorientierten Vertiefungsrichtungen | Vertiefungsrichtung IT-Sicherheit)
  4. Informations- und Kommunikationstechnik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informations- und Kommunikationstechnik (Master of Science) | Schwerpunkte im Masterstudium | Schwerpunkt Kommunikationsnetze | Wahlpflichtmodule | Wahlpflichtmodul aus INF im Schwerpunkt Kommunikationsnetze)
  5. Informations- und Kommunikationstechnik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informations- und Kommunikationstechnik (Master of Science) | Schwerpunkte im Masterstudium | Schwerpunkt Realisierung von Informations- und Kommunikationssystemen | Wahlpflichtmodule | Wahlpflichtmodul aus INF im Schwerpunkt Realisierung von Informations- und Kommunikationssystemen)
  6. Mathematik (Bachelor of Science)
    (Po-Vers. 2015w | NatFak | Mathematik (Bachelor of Science) | Module des Nebenfachs | Nebenfach Informatik | Vertiefungsmodule | Vertiefungsrichtung IT-Sicherheit)

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 Teilnahme an den Übungen (verpflichtetend) + erfolgreiche Bearbeitung aller Übungsaufgaben (verpflichtetend)

Erstablegung: SS 2019, 1. Wdh.: WS 2019/2020, 2. Wdh.: SS 2020
1. Prüfer: Tilo Müller

UnivIS ist ein Produkt der Config eG, Buckenhof