Zur Modulseite PDF generieren

#41240 / #2

Seit SoSe 2025

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 * TCache-Angriffe * Angriff auf den unsorted-bin

Modulbestandteile

Pflichtbereich

Die folgenden Veranstaltungen sind für das Modul obligatorisch:

LehrveranstaltungenArtNummerTurnusSpracheSWS ISIS VVZ
Software SecurityPRSoSeen4

Arbeitsaufwand und Leistungspunkte

Software Security (PR):

AufwandbeschreibungMultiplikatorStundenGesamt
Hausaufgaben8.015.0h120.0h
Präsenzzeit15.02.0h30.0h
Vor- und Nachbearbeitung15.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

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
(Ergebnisprüfung) ROP chain1praktischKeine Angabe
(Ergebnisprüfung) Formatstring Angriff1praktischKeine Angabe
(Ergebnisprüfung) Angriff auf die File-Struktur1praktischKeine Angabe
(Ergebnisprüfung) unlink Angriff1praktischKeine Angabe
(Ergebnisprüfung) Angriff auf den unsorted bin1praktischKeine Angabe
(Ergebnisprüfung) Angriff auf den tcache 11praktischKeine Angabe
(Ergebnisprüfung) Angriff auf den tcache 21praktischKeine Angabe
(Ergebnisprüfung) Angriff auf den tcache 31praktischKeine Angabe

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: 8 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 40.

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 2025SoSe 2025
Computer Science (Informatik) (M. Sc.)16SoSe 2025SoSe 2025
Elektrotechnik (M. Sc.)13SoSe 2025SoSe 2025

Sonstiges

Keine Angabe