Anzeigesprache
Zur Modulseite PDF generieren

#40953 / #1

WS 2019/20 - WiSe 2022/23

Englisch

System Virtualization and Secure Code Isolation
Systemvirtualisierung und sichere Code-Isolation

6

Nordholz, Jan Christoph

benotet

Portfolioprüfung

Zugehörigkeit


Fakultät IV

Institut für Softwaretechnik und Theoretische Informatik

34352600 FG Sichere und vertrauenswürdige netzangebundene Systemarchitekturen

Keine Angabe

Kontakt


TEL 16

Nordholz, Jan Christoph

j.nordholz@tu-berlin.de

Lernergebnisse

Nach Abschluss dieses Moduls kennen die Studierenden die spezifischen Zusatzfähigkeiten moderner Prozessoren, die den Betrieb von hochprivilegierter Software wie Hypervisoren und "sicheren Monitoren" erlauben. Die Studierenden haben gelernt, dass der zugrundeliegende Ansatz diverse Lösungsmöglichkeiten erlaubt (anhand der Beispiel-Implementierungen von x86, ARM und MIPS), und kennen die unterschiedlichen Use Cases und Abwägungen, die zur Wahl der jeweiligen Lösungsform motiviert haben. Die Studierenden haben darüber hinaus unterschiedliche Modelle zum Durchreichen von Peripherie-Geräten und für rein virtuelle Geräte(-treiber) kennengelernt und können dieses Wissen anwenden, um eigene Virtualisierungslösungen oder Geräte-/Treiber-Modelle für eine solche Lösung zu entwickeln. Dieses Modul zeigt darüber hinaus Wege auf, um die Ausführung von Code vor solch hochprivilegierter Software zu verbergen, und sensibilisiert die Studierenden für die Gefahren der häufig übersehenen oder unterschätzten Angriffsflächen in virtualisierten und isolierten Systemen. Die beiden Modulteile ergänzen sich dabei: die Studieren sollten zuerst die IV besuchen, um sich das theoretische Wissen anzueignen und echten Code zu sehen (und womöglich auch auszuprobieren). Im sich anschließenden Seminar können sie dann ihre neuen Fähigkeiten dazu nutzen, neu erschienene akademische Publikationen auf diesem Gebiet zu analysieren.

Lehrinhalte

Die folgenden Themen werden behandelt (eine Übersetzung ist aufgrund der vielen Fachbegriffe wenig hilfreich): (A) Virtualization - Virtualization Basics (from Popek&Goldberg onward) - Register Virtualization (contrast x86 to ARM and MIPS) - Memory Virtualization (shadow paging, nested paging, paravirtualized paging) - Interrupt Virtualization (APIC-V, AVIC, ARM GIC(v2/v3/v4), MIPS IRQ Controller Integration) - Handling Peripheral Devices in virtualized environments (paravirtualization, faithful virtualization, emulation) - Handling DMA in virtualized environments (IOMMU, SYSMMU, software workarounds) - Purely Virtual Devices (timers, virtual network links, virtual UARTs, virtual disks) (B) Isolation - Encrypted Virtualization (AMD SME/SEV, Intel TME/MKTME) - Isolated Execution Environments: ARM TrustZone, Intel SGX (C) Breaking Out or In - Side and Covert Channels - Guest-to-Host Privilege Escalation

Modulbestandteile

Pflichtgruppe:

Die folgenden Veranstaltungen sind für das Modul obligatorisch:

LehrveranstaltungenArtNummerTurnusSpracheSWSVZ
System Virtualization and Secure Code IsolationIV3435 L 10149WiSeEnglisch2
Recent Advances in System SecuritySEM3435 L 10213k.A.Englisch2

Arbeitsaufwand und Leistungspunkte

System Virtualization and Secure Code Isolation (IV):

AufwandbeschreibungMultiplikatorStundenGesamt
Präsenzzeit15.02.0h30.0h
Vor-/Nachbereitung15.04.0h60.0h
90.0h(~3 LP)

Recent Advances in System Security (SEM):

AufwandbeschreibungMultiplikatorStundenGesamt
Vorbereitung des Vortrags1.030.0h30.0h
Anwesenheit (Peer Review der Vorträge)1.08.0h8.0h
Seminararbeit1.052.0h52.0h
90.0h(~3 LP)
Der Aufwand des Moduls summiert sich zu 180.0 Stunden. Damit umfasst das Modul 6 Leistungspunkte.

Beschreibung der Lehr- und Lernformen

IV: Allmählicher Übergang vom klassischen Vorlesungsstil zum gemeinsamen Erarbeiten und Diskutieren der jeweiligen Konzepte und Problemstellungen. SEM: Klassisches Seminar (Präsentationen mit Diskussion in der Gruppe, Seminararbeit), entweder als Blockkurs am Ende des Semesters oder als wöchentliches Format, je nach Anzahl der Studierenden.

Voraussetzungen für die Teilnahme / Prüfung

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

Für diesen Kurs werden solide Kenntnisse der grundlegenden Schutz- und Separationsmechanismen vorausgesetzt, die eine CPU in ihrem "privilegierten Ausführungsmodus" bietet: Segmente, Seitenverwaltung (Seitentabellen, Seitenfehler), Zustellung von Interrupts, Systemaufrufe. Studierende, die diese Konzepte noch einmal auffrischen möchten, sollten einen Blick in die Bachelor-Veranstaltung "Systemprogrammierung" werfen - dort findet sich ein umfangreicher Foliensatz sowie weiterführende Literatur (von Stallings, Silberschatz, und Tanenbaum).

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 insgesamt

Sprache

Deutsch/Englisch

Prüfungselemente

NamePunkteKategorieDauer/Umfang
(Punktuelle Leistungsabfrage) Mündlicher Test (zum Inhalt der IV)40mündlich20 Minuten
(Ergebnisprüfung) Seminarvortrag20mündlich30 Minuten
(Ergebnisprüfung) Seminararbeit40schriftlich10 Seiten

Notenschlüssel

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

Gesamtpunktzahl1.01.31.72.02.32.73.03.33.74.0
100.0pt86.0pt82.0pt78.0pt74.0pt70.0pt66.0pt62.0pt58.0pt54.0pt50.0pt

Prüfungsbeschreibung (Abschluss des Moduls)

Es gelten die üblichen Regelungen für Portfolioprüfungen.

Dauer des Moduls

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

Dieses Modul kann in folgenden Semestern begonnen werden:
Wintersemester.

Maximale teilnehmende Personen

Dieses Modul ist nicht auf eine Anzahl Studierender begrenzt.

Anmeldeformalitäten

Es gelten die üblichen Regelungen für Portfoliomodule. Die genaue Anmeldefrist ist über QISPOS ersichtlich und liegt üblicherweise sechs Wochen nach Vorlesungsbeginn. Studierende, die QISPOS nicht benutzen können, melden sich bitte beim Veranstalter per Mail.

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
Dieses Modul findet in keinem Studiengang Verwendung.

Studierende anderer Studiengänge können dieses Modul ohne Kapazitätsprüfung belegen.

Sonstiges

Keine Angabe