Zur Modulseite PDF generieren

#41240 / #2

Seit SoSe 2025

English

Software Security Lab
Software-Sicherheits Praktikum

6

Seifert, Jean-Pierre

Benotet

Portfolioprüfung

English

Zugehörigkeit


Fakultät IV

Institut für Softwaretechnik und Theoretische Informatik

34355100 FG S-Professur Security in Telecommunications (SecT)

Keine Angabe

Kontakt


E 5

Beier, Julian

lehre@sect.tu-berlin.de

Lernergebnisse

1. How to analyse binary programs. 2. Understanding of vulnerabilities in memory-unsafe languages 3. Practical experience in exploiting these vulnerabilities 4. Understanding of defense mechanisms against the attacks outlined in the lecture 5. A profound evaluation of security in software

Lehrinhalte

The software security lab offers students the opportunity to learn how to analyze the security of Linux binary applications. It covers attacks and the mechanisms employed to mitigate these attacks. This lab will teach older attacks as an introduction and then move to more modern attacks and defenses. This course focuses on practically relevant details and hands-on experience instead of providing thorough theoretical background information. Students will have to solve multiple challenges, where a program has to be analyzed and then compromised. Covered topics include: * x86 assembly * Reverse Engineering * Standard defense mechanisms against Buffer Overflows * Return-/Jump oriented programming, SigROP * Formatstring attacks * RelRO * File Structure exploitation * Heap Structure and allocator exploitation * Use-after-free * Pointer Mangling * TCache attacks * Unsorted bin attack

Modulbestandteile

Compulsory area

Die folgenden Veranstaltungen sind für das Modul obligatorisch:

LehrveranstaltungenArtNummerTurnusSpracheSWS ISIS VVZ
Software SecurityPRSoSeen4

Arbeitsaufwand und Leistungspunkte

Software Security (PR):

AufwandbeschreibungMultiplikatorStundenGesamt
Assignments8.015.0h120.0h
Presence hours15.02.0h30.0h
Pre-/Post Processing15.02.0h30.0h
180.0h(~6 LP)
Der Aufwand des Moduls summiert sich zu 180.0 Stunden. Damit umfasst das Modul 6 Leistungspunkte.

Beschreibung der Lehr- und Lernformen

The module consists of a practical course.

Voraussetzungen für die Teilnahme / Prüfung

Wünschenswerte Voraussetzungen für die Teilnahme an den Lehrveranstaltungen:

Desirable prerequisites for participation in the courses: Prerequisites: • familiarity with Unix/Linux operating system primitives (e.g. using a command line) Recommended additional skills: * Basic Linux knowledge * C programming knowledge * SysProg/Rorg In order to complete the assignments, each participant needs at least one computer with administrator privileges (i.e. being able to log into university computers is insufficient) preferably running Linux. It is possible to complete the tasks while using Windows or MacOS as well, but the teaching staff cannot provide guidance on those operating systems.

Verpflichtende Voraussetzungen für die Modulprüfungsanmeldung:

Dieses Modul hat keine Prüfungsvoraussetzungen.

Abschluss des Moduls

Benotung

Benotet

Prüfungsform

Portfolio examination

Art der Portfolioprüfung

100 Punkte pro Element

Sprache(n)

English, German

Prüfungselemente

NameGewichtKategorieDauer/Umfang
(Deliverable assessment) ROP chain1praktisch2 weeks
(Deliverable assessment) Formatstring attack1praktisch2 weeks
(Deliverable assessment) File structure attack1praktisch2 weeks
(Deliverable assessment) unlink exploit1praktisch2 weeks
(Deliverable assessment) unsorted bin attack1praktisch2 weeks
(Deliverable assessment) tcache attack 11praktisch2 weeks
(Deliverable assessment) tcache attack 21praktisch2 weeks
(Deliverable assessment) tcache attack 31praktisch2 weeks

Notenschlüssel

Notenschlüssel »Notenschlüssel 2: Fak IV (2)«

Gesamtpunktzahl1.01.31.72.02.32.73.03.33.74.0
100.0pt95.0pt90.0pt85.0pt80.0pt75.0pt70.0pt65.0pt60.0pt55.0pt50.0pt

Prüfungsbeschreibung (Abschluss des Moduls)

Practical Course: 8 practical assignments All homework submissions are graded uniformly.

Dauer des Moduls

Für Belegung und Abschluss des Moduls ist folgende Semesteranzahl veranschlagt:
1 Semester.

Dieses Modul kann in folgenden Semestern begonnen werden:
Sommersemester.

Maximale teilnehmende Personen

Die maximale Teilnehmerzahl beträgt 40.

Anmeldeformalitäten

In case there are to many applicants, there will be a random selection according to the AllgStuPO. Details will be given via ISIS and the regular meetings.

Literaturhinweise, Skripte

Skript in Papierform

Verfügbarkeit:  nicht verfügbar

 

Skript in elektronischer Form

Verfügbarkeit:  nicht verfügbar

 

Literatur

Empfohlene Literatur
Keine empfohlene Literatur angegeben

Zugeordnete Studiengänge


Diese Modulversion wird in folgenden Studiengängen verwendet:

Studiengang / StuPOStuPOsVerwendungenErste VerwendungLetzte Verwendung
Computer Engineering (M. Sc.)16SoSe 2025SoSe 2025
Computer Science (Informatik) (M. Sc.)16SoSe 2025SoSe 2025
Elektrotechnik (M. Sc.)13SoSe 2025SoSe 2025

Sonstiges

Keine Angabe