course: Program Analysis

number:
141241
teaching methods:
lecture with tutorials
media:
e-learning, Moodle, computer based presentation
responsible person:
Prof. Dr. Thorsten Holz
Lecturers:
Prof. Dr. Thorsten Holz (ETIT), M. Sc. Tim Blazytko (ETIT), M. Sc. Emre Güler (ETIT), M. Sc. Sergej Schumilo (ETIT)
language:
german
HWS:
4
CP:
5
offered in:
summer term

dates in summer term

  • start: Tuesday the 21.04.2020
  • lecture Tuesdays: from 14:15 to 15.45 o'clock

Exam

All statements pertaining to examination modalities (for the summer/winter term of 2020) are given with reservations. Changes due to new requirements from the university will be announced as soon as possible.
Form of exam:schriftlich + studienbegleitend
Registration for exam:FlexNow
Date:19.08.2020
Begin:12:30
Duration:120min
Room : HZO 20

goals

Die Studierenden kennen verschiedene Konzepte, Techniken und Tools aus dem Bereich der Programmanalyse. Dies beinhaltet den Überblick über verschiedene Konzepte aus dem Bereich Reverse Engineering sowie Binäranalyse. Die Studierenden haben grundlegendes Verständnis von sowohl statischen als auch dynamischen Methoden zur Analyse eines gegebenen Programms. Sie sind in der Lage, verschiedene Aspekte der Programmanalyse zu beschreiben und auf neue Problemstellungen anzuwenden.

content

In der Vorlesung werden unter anderem die folgenden Themen und Techniken aus dem Bereich der Programmanalyse behandelt:

  • Statische und dynamische Analyse von Programmen
  • Analyse von Kontroll- und Datenfluss
  • Symbolische Ausführung
  • Taint Tracking
  • Binary Instrumentation
  • Program Slicing
  • Überblick zu existierenden Analysetools

Daneben wird im ersten Teil der Vorlesung eine Einführung in x86/x64 Assembler gegeben sowie die grundlegenden Techniken aus dem Themenbereich Reverse Engineering vorgestellt. Begleitet wird die Vorlesung von Übungen, in denen die vorgestellten Konzepte und Techniken praktisch eingeübt werden.

requirements

keine

recommended knowledge

Erfahrung in systemnaher Programmierung, Assembler sowie Pro­gram­mie­ren in C sind hilfreich für das Verständnis der vermittelten Themen. Vorkenntnisse aus den Vorlesungen Systemsicherheit/Betriebssystemsicherheit sind hilfreich aber nicht notwendig zum Verständnis der Themen.

miscellaneous

In the summer term 2020, the course will be offered in an online version. You can find all material in Moodle, please register for the course.