Veranstaltung: Programmanalyse

Nummer:
141241
Lehrform:
Vorlesung und Übungen
Medienform:
e-learning, rechnerbasierte Präsentation
Verantwortlicher:
Prof. Dr. Thorsten Holz
Dozenten:
Dr.-Ing. Carsten Willems (ETIT), M. Sc. Benjamin Kollenda (ETIT), M. Sc. Philipp Koppe (ETIT)
Sprache:
Deutsch
SWS:
4
LP:
5
Angeboten im:
Sommersemester

Termine im Sommersemester

  • Beginn: Dienstag den 18.04.2017
  • Vorlesung Dienstags: ab 14:15 bis 15.45 Uhr im ID 04/471
  • Vorlesung Dienstags: ab 14:15 bis 15.45 Uhr im ID 04/459
  • Übung Donnerstags: ab 12:15 bis 13.45 Uhr im ID 04/471
  • Übung Donnerstags: ab 12:15 bis 13.45 Uhr im ID 04/459

Prüfung

Schriftliche Prüfung am 07.03.2018

Dauer: 120min
Prüfungsanmeldung: FlexNow
Beginn: 11:30

Raum:

HID : Alle Studierenden

Ziele

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 Malware-Analyse. Die Studierenden haben grundlegendes Verständnis von sowohl statischen als auch dynamischen Methoden zur Analyse eines gegebenen Programms.

Inhalt

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
  • Virtual Machine Introspektion
  • Binary Instrumentation
  • Program Slicing
  • Überblick zu existierenden Analysetools

Daneben wird im ersten Teil der Vorlesung eine detaillierte Einführung in x86 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 ausprobiert werden sollen.

Voraussetzungen

keine

Empfohlene Vorkenntnisse

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 Eingebettete Prozessoren (insbesondere Assembler-Programmierung) sowie Systemsicherheit/Betriebssystemsicherheit sind hilfreich aber nicht notwendig zum Verständnis der Themen.

Sonstiges

Alle Materialien sind per Moodle verfügbar, bitte registrieren Sie sich dort für den Kurs.