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 2021Dauer: 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".

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:

  1. Informatik (Bachelor of Arts (2 Fächer))
    (Po-Vers. | TechFak | Informatik (Bachelor of Arts (2 Fächer)) | Vertiefung Informatik I und II | Vertiefungsrichtung IT-Sicherheit | Software Reverse Engineering)
  2. Informatik (Bachelor of Arts (2 Fächer))
    (Po-Vers. 2013 | TechFak | Informatik (Bachelor of Arts (2 Fächer)) | Vertiefung Informatik I und II | Vertiefungsrichtung IT-Sicherheit | Software Reverse Engineering)
  3. Informatik (Bachelor of Science)
    (Po-Vers. 2009s | TechFak | Informatik (Bachelor of Science) | Wahlpflichtbereich (5. und 6. Semester) | Wahlpflichtmodule | Vertiefungsrichtung IT-Sicherheit | Software Reverse Engineering)
  4. 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)
  5. Informatik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informatik (Master of Science) | Gesamtkonto | Wahlpflichtbereich | Säule der systemorientierten Vertiefungsrichtungen | Vertiefungsrichtung IT-Sicherheit | Software Reverse Engineering)
  6. Informations- und Kommunikationstechnik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informations- und Kommunikationstechnik (Master of Science) | Gesamtkonto | Schwerpunkte im Masterstudium | Schwerpunkt Kommunikationsnetze | Wahlpflichtmodule | Wahlpflichtmodul aus INF im Schwerpunkt Kommunikationsnetze | Software Reverse Engineering)
  7. Informations- und Kommunikationstechnik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informations- und Kommunikationstechnik (Master of Science) | Gesamtkonto | Schwerpunkte im Masterstudium | Schwerpunkt Realisierung von Informations- und Kommunikationssystemen | Wahlpflichtmodule | Wahlpflichtmodul aus INF im Schwerpunkt Realisierung von Informations- und Kommunikationssystemen | Software Reverse Engineering)
  8. Mathematik (Bachelor of Science)
    (Po-Vers. | NatFak | Mathematik (Bachelor of Science) | Module des Nebenfachs | Nebenfach Informatik | Vertiefungsmodule | Vertiefungsrichtung IT-Sicherheit | Software Reverse Engineering)
  9. Mathematik (Bachelor of Science)
    (Po-Vers. 2019w | NatFak | Mathematik (Bachelor of Science) | weitere Module der Bachelorprüfung | Module des Nebenfachs | Nebenfach Informatik | Vertiefungsmodule | 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