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), Dr.-Ing. 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 13.04.2021
  • lecture Tuesdays: from 14:15 to 15.45 o'clock
  • tutorial Thursdays: from 12:15 to 13.45 o'clock

Exams

Die Angaben zu den Prüfungsmodalitäten (im WiSe 2020/2021 | SoSe 2021) erfolgen vorbehaltlich der aktuellen Situation. Notwendige Änderungen aufgrund universitärer Vorgaben werden zeitnah bekanntgegeben.

Date according to prior agreement with lecturer.

Form of exam:oral
Registration for exam:FlexNow
Duration:30min
description of exam:

Änderung der Prü­fungs­form im WiSe 20/21

Die Angaben zu den Prüfungsmodalitäten (im WiSe 2020/2021 | SoSe 2021) erfolgen vorbehaltlich der aktuellen Situation. Notwendige Änderungen aufgrund universitärer Vorgaben werden zeitnah bekanntgegeben.
Form of exam:written
Registration for exam:FlexNow
Date:15.09.2021
Begin:08:30
Duration:120min
Rooms : HGA 10,  HGB 10
Individual appointments of students to each exam location will be issued by the responsible chair.

goals

Students will be familiar with various concepts, techniques, and tools from the area of program analysis. This includes an overview of various concepts from the field of reverse engineering as well as binary analysis. Students have basic understanding of both static and dynamic methods for analyzing a given program. They are able to describe various aspects of program analysis and apply them to new problems.

content

The course will cover, among other aspects, the following topics and techniques from the area of program analysis:

  • Static and dynamic analysis of programs
  • Analysis of control and data flow
  • Symbolic execution
  • Taint tracking
  • Binary Instrumentation
  • Program slicing
  • Overview of existing analysis tools

In the first part of the course, an introduction to x86/x64 assembler is given and the basic techniques of reverse engineering are presented. The lectures are accompanied by exercises, in which the presented concepts and techniques are practiced.

requirements

keine

recommended knowledge

Experience in system-oriented programming, assembler as well as programming in C are helpful for understanding the topics taught. Previous knowledge from the lectures System Security / Operating System Security is helpful but not necessary for understanding the topics.

miscellaneous

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