Software Reverse Engineering (RE)

Neue LV im Wintersemester 2013/14

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Software Reverse Engineering (RE)
Ich möchte hier kurz auf die neue Lehrveranstaltung “Software Reverse Engineering” hinweisen, die im kommenden Wintersemester von Dr.-Ing. Tilo Müller erstmals angeboten wird. Es wird sowohl eine einfache (5 ECTS) als auch eine erweiterte Übung (7.5 ECTS) angeboten. Für die Teilnahme ist eine Anmeldung über den entsprechenden StudOn-Kurs erforderlich [1].

Inhalt (Auszug der LS1 Kursbeschreibung [2])
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.

[1] StudOn Anmeldung (begrenzte Teilnehmerzahl)
[2] Informationen zu RE beim LS1

2 „Gefällt mir“

Da du “im kommenden Wintersemester” geschrieben hast und die Veranstaltung dieses Sommersemester im Univis steht: Findet die LV in beiden Semestern statt, oder war die Info mit dem Wintersemester nur nicht aktuell?

Klingt aufjedenfall sehr interessant. Falls das ganze letztes Semester stattgefunden hat, könntest du kurz schreiben wie es so ablief?


Dieses Semester ist es auch noch. D.h. die LV war das jetzige WS13/14 angeboten und wird noch einmal das kommende SS14 stattfinden.

Interessant ist es auf jeden Fall, was ich vom Hoerensagen mitbekommen habe.

Es mussten die ausgegebenen Uebungsblaetter zu einer bestimmten Prozentzahl erfolgreich bearbeitet werden.


Die LV findet auch im Sommersemester 2014 [1] statt. Allerdings ist auch diesmal wieder eine Anmeldung via StudOn [2] nötig und der Kurs ist schon voll belegt und einige sind auf der Warteliste. Du kannst dich natürlich gerne noch anmelden, vielleicht - wenn auch eher unwahrscheinlich - bekommst du noch einen Platz.

Nachdem ich RE selbst erst dieses Semester höre, kann ich dir aus eigener Erfahrung leider nichts dazu sagen. Aber das machen bestimmt noch andere :slight_smile:

[1] Informationen zu RE beim LS1
[2] StudOn Anmeldung (begrenzte Teilnehmerzahl)


Danke für die Info. Nein dieses Semester hätte ich es eh nicht mehr untergebracht. Ging mir mehr um allgemeine Studienplanung.


Hi,
ich stehe auf der Warteliste.
Wie wahrscheinlich ist es, darüber in den Kurs zu kommen? Muss einer von den angemeldeten abspringen, oder ist es so wie beim HaPra, dass über Bewerbung entschieden wird, bzw. auch noch ein paar mehr dazu genommen werden könnten. Wenn es über die Warteliste aussichtslos für dieses Semester ist, muss ich mir wohl noch ne andere LV raussuchen.


Du musst dir wahrscheinlich eine neue LV aussuchen. IIRC sind letztes mal ca. 2 nachgerutscht. Das Problem ist die begrenzte Kapazität im Rechnerraum (Labor). Deshalb wurden auch nicht noch ein paar zusätzlich aufgenommen.

Aber du kannst ja in der ersten Woche RE und eine andere LV besuchen und in RE siehst du dann schon, ob es reicht oder nicht.


Die Plätze werden FCFS vergeben und nach der Erfahrung des letzten Semesters ist die Wahrscheinlichkeit tatsächlich ziemlich gering, auf einem hinteren Wartelistenplatz noch an der LV teilnehmen zu können. Ein Wartelistenplatz wirkt sich im Folgesemester aber positiv aus.