Zur Modulseite PDF generieren

#40441 / #9

Seit SoSe 2026

Deutsch, Englisch

Embedded Systems Security Lab
Labor für Sicherheit eingebetteter Systeme

9

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

Jacob, Hans Niklas

lehre@sect.tu-berlin.de

Lernergebnisse

Die Qualifikationsziele dieses Moduls sind: 1. Das Erwerben praktischer Erfahrungen beim Identifizieren, Ausnutzen und Beheben von Sicherheitslücken. Mit einem speziellen Augenmerk auf Systemsoftware eingebetteter Systeme. 2. Das Vertiefen oder Erwerben von Kenntnissen in den Bereichen: Betriebssysteme, RISC-V, Mikroarchitektur und Kryptografie. 3. Verbesserung der Programmiersprachenkenntnisse in den Sprachen C, Python und RISC-V-Assembly.

Lehrinhalte

Das "Embedded Systems Security Lab" lehrt Studierende, wie sie die Sicherheit eingebetteter Systeme analysieren. Die abgedeckten Themen reichen von (Betriebssystem-) Softwaresicherheit über Python, C und RISC-V-Assembler, bis zu (mikroarchitektonischen) Seitenkanälen und Kryptografie. Neben der praktischen Erfahrung beim Schreiben von Angriffen lernen die Studierenden zahlreiche Werkzeuge und Techniken kennen und frischen ihr Wissen im Bereich Betriebssysteme auf. Der Kurs konzentriert sich auf das praktische Anwenden und das Sammeln praktischer Erfahrungen, statt auf das Vermitteln theoretischer Grundlagen. Das Labor ist als Praktikum organisiert. Die Studierenden arbeiten individuell mit einem RISC-V Entwicklungsboard (HiFive1 Rev B). Jede Woche lösen die Studierenden eine Aufgabe, deren Ziel es ist, mehr Kontrolle über das System zu erlangen, bis sie am Ende eine Kette von Exploits geschrieben haben, die ihnen die vollständige Kontrolle über das Board gibt. Konzepte und Techniken, die in diesem Kurs behandelt werden: - Einführung in RISC-V (Assembler, ISA, ABI) - Grundlegende statische Analyse von Binärdateien (z.B. mit GNU binutils) - Reverse Engineering (mit Ghidra SRE) - Obfuscation und Deobfuscation - Buffer Overflows (Exploitation und Mitigation) - Programmsektionen und Linking (.text, .(ro)data, .bss) - Debugging mit GDB - Heap Corruption Vulnerabilities - Seitenkanalattacken - Programmierung eingebetteter Systeme (Memory Mapped IO, Registers, Interrupts) - Betriebssysteme (Prozessisolation, Kontextwechsel, Scheduling, Systemaufrufe, Unterbrechungen, ...) - Einführung in Kryptografie mit elliptischen Kurven - Ausnutzen komplexer Logikfehler

Modulbestandteile

Pflichtbereich

Die folgenden Veranstaltungen sind für das Modul obligatorisch:

LehrveranstaltungenArtNummerTurnusSpracheSWS ISIS VVZ
Embedded Systems Security LabPR0434 L 972WiSe/SoSede4

Arbeitsaufwand und Leistungspunkte

Embedded Systems Security Lab (PR):

AufwandbeschreibungMultiplikatorStundenGesamt
Anwesenheit15.04.0h60.0h
Hausaufgaben6.035.0h210.0h
270.0h(~9 LP)
Der Aufwand des Moduls summiert sich zu 270.0 Stunden. Damit umfasst das Modul 9 Leistungspunkte.

Beschreibung der Lehr- und Lernformen

Das Modul besteht aus einem Projekt.

Voraussetzungen für die Teilnahme / Prüfung

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

Voraussetzungen: - Grundlegende IT-Sicherheitskenntnisse (Buffer Overflows, Heap-Speicher Sicherheitslücken, Vertraulichkeit/Integrität/Verfügbarkeit) - Moderate Programmierkenntnisse: C, Python, und mindestens eine Assembler-Sprache. - Grundlegende Kenntnisse der Betriebssystemkonzepte: Isolation von Prozessen/Betriebssystem, Kontextwechsel, Scheduling - Grundlegende Kenntnisse der asymmetrischen Kryptografie: öffentlich/private Schlüsselpaare, Signaturen und Zertifikate Empfohlene Zusatzkenntnisse: - Grundlegende Erfahrung im Umgang mit Unix/Linux-Betriebssystemen (z.B. mit der Kommandozeile) - Low-Level-Programmierkonzepte (Zeiger, Register, Stack vs. Heap, ...) Um die Aufgaben bearbeiten zu können, benötigt jeder Teilnehmer mindestens einen Computer mit Administratorrechten (d.h. es reicht nicht aus, sich an Universitätsrechnern anmelden zu können), vorzugsweise unter Linux. Es ist möglich, die Aufgaben 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)

Englisch

Prüfungselemente

NameGewichtKategorieDauer/Umfang
(Ergebnisprüfung) Statische Analyse1praktisch2 Wochen
(Ergebnisprüfung) Pufferüberläufe1praktisch2 Wochen
(Ergebnisprüfung) Speicherkorruption1praktisch2 Wochen
(Ergebnisprüfung) Einfache Seitenkanalanalyse1praktisch2 Wochen
(Ergebnisprüfung) Mikroarchitekturelle Seitenkanäle1praktisch2 Wochen
(Ergebnisprüfung) Ausnutzen einer Sicherheitslücke im Betriebssystem1praktisch2 Wochen

Notenschlüssel

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

Gesamtpunktzahl1.01.31.72.02.32.73.03.33.74.0
100.0pt85.0pt80.0pt75.0pt70.0pt65.0pt60.0pt55.0pt50.0pt45.0pt40.0pt

Dauer des Moduls

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

Dieses Modul kann in folgenden Semestern begonnen werden:
Winter- und Sommersemester.

Maximale teilnehmende Personen

Die maximale Teilnehmerzahl beträgt 24.

Anmeldeformalitäten

Anmeldung und Zulassung nach §48 AllgStuPO erfolgen über den ISIS-Kurs.

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
Wirtschaftsingenieurwesen (M. Sc.)11SoSe 2026SoSe 2026

Sonstiges

Keine Angabe