Zur Modulseite PDF generieren

#41240 / #3

Seit SoSe 2026

Deutsch, Englisch

Software Security Lab
Software-Sicherheits Praktikum

6

Seifert, Jean-Pierre

Benotet

Portfolioprüfung

Englisch

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. Verständnis von Analysen von Binärprogrammen 2. Verstehen von Schwachstellen in speicherunsicheren Sprachen 3. Praktische Erfahrung im Ausnutzen dieser Schwachstellen 4. Verständnis von Verteidigungsmechanismen gegen die in der Vorlesung skizzierten Angriffe 5. Eine fundierte Bewertung der Sicherheit in Software

Lehrinhalte

Das Software Security Lab bietet Studenten die Möglichkeit, die Sicherheit von Linux-Programmen zu analysieren. Es behandelt Angriffe und die Mechanismen, die zur Verhinderung dieser Angriffe eingesetzt werden. In diesem Labor werden zunächst ältere Angriffe gelehrt, um dann zu moderneren Angriffen und Verteidigungsmaßnahmen überzugehen. Dieser Kurs konzentriert sich auf praktisch relevante Details und praktische Erfahrungen, anstatt tiefgehende theoretische Informationen zu vermitteln. Die Teilnehmer müssen mehrere Aufgaben lösen, bei denen ein Programm analysiert und dann angegriffen werden muss. Zu den behandelten Themen gehören: * x86-Assembler * Reverse Engineering * Standard-Verteidigungsmechanismen gegen Buffer Overflows * Return-/Jump-orientierte Programmierung, SigROP * Formatstring-Angriffe * RelRO * Ausnutzung von Dateistrukturen * Ausnutzung von Heap-Strukturen und Allokatoren * Use-after-free * Pointer-Mangling * Angriffe auf die verschiedenen speicher des libc Allokators * TCache-Angriffe

Modulbestandteile

Compulsory area

Die folgenden Veranstaltungen sind für das Modul obligatorisch:

LehrveranstaltungenArtNummerTurnusSpracheSWS ISIS VVZ
Software SecurityPRSoSeen4

Arbeitsaufwand und Leistungspunkte

Software Security (PR):

AufwandbeschreibungMultiplikatorStundenGesamt
Hausaufgaben14.010.0h140.0h
Präsenzzeit10.02.0h20.0h
Vor- und Nachbearbeitung10.02.0h20.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

Dieses Modul ist ein praktischer Kurs.

Voraussetzungen für die Teilnahme / Prüfung

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

Wünschenswerte Voraussetzungen für die Teilnahme an den Kursen: Voraussetzungen: - Vertrautheit mit den Primitiven des Unix/Linux-Betriebssystems (z. B. Verwendung einer Kommandozeile) Empfohlene Zusatzkenntnisse: * Grundlegende Linux-Kenntnisse * C-Programmierkenntnisse * SysProg/Rorg Um die Aufgaben zu bearbeiten, benötigt jeder Teilnehmer mindestens einen Computer mit Administratorrechten (d.h. es reicht nicht aus, sich bei Universitätsrechnern anmelden zu können), auf dem vorzugsweise Linux läuft. Es ist möglich, die Aufgaben auch unter Windows oder MacOS zu bearbeiten, aber das Lehrpersonal kann keine Anleitung zu diesen Betriebssystemen geben.

Verpflichtende Voraussetzungen für die Modulprüfungsanmeldung:

Dieses Modul hat keine Prüfungsvoraussetzungen.

Abschluss des Moduls

Benotung

Benotet

Prüfungsform

Portfolioprüfung

Art der Portfolioprüfung

100 Punkte pro Element

Sprache(n)

Deutsch, Englisch

Prüfungselemente

NameGewichtKategorieDauer/Umfang
(Deliverable assessment) Reverse Engineering1praktisch1 Woche
(Deliverable assessment) Sicherheitslücken ausnutzen1praktisch1 Woche
(Deliverable assessment) ROP Angriff1praktisch1 Woche
(Deliverable assessment) Printf Angriff1praktisch1 Woche
(Deliverable assessment) Angriff auf File Struktur2praktisch2 Wochen
(Deliverable assessment) Angriff auf den unsorted bin2praktisch2 Wochen
(Deliverable assessment) Angriff auf den Fast bin2praktisch2 Wochen
(Deliverable assessment) Angriff auf TCache 12praktisch2 Wochen
(Deliverable assessment) Angriff auf TCache 22praktisch2 Wochen

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)

Praktischer Kurs: 9 Hausaufgaben. Alle Hausaufgaben werden uniform bewertet.

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 50.

Anmeldeformalitäten

Falls es zu viele Bewerbungen gibt, wird ein Anmeldeverfahren gemäß AllgStuPO durchgeführt. Details dazu werden ggf über ISIS und die regelmäßigen Treffen bekannt gegeben.

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 2026SoSe 2026
Computer Science (Informatik) (M. Sc.)16SoSe 2026SoSe 2026
Elektrotechnik (M. Sc.)13SoSe 2026SoSe 2026
Information Systems Management (Wirtschaftsinformatik) (M. Sc.)12SoSe 2026SoSe 2026

Sonstiges

Keine Angabe