Ausgewählte Kapitel der Systemsoftware

  • 12.04.2024: Raumänderung: Der erste Seminartermin am 16.04.2024 wird im H10 stattfinden, alle weiteren Treffen in Raum 0.031 (Erdgeschoss Rechenzentrum).
  • 07.04.2024: Alle bisher angebotenen Themen sind reserviert. Weitere Vorschläge werden in den kommenden Tagen auf der Webseite veröffentlicht.
  • 03.04.2024: Die Anmeldung in StudOn ist ab sofort möglich. Zur Reservierung eines Themas schreibt bitte zusätzlich eine E-Mail an die Mailingliste.
  • 11.03.2024: Die vorläufige Version der Veranstaltungswebseite ist online.

Inhalt

Cloud-Computing bietet durch das Auslagern von Diensten in große Datenzentren mitunter beträchtliche Vorteile in Bezug auf Aspekte wie Skalierbarkeit, Verfügbarkeit und/oder den für eine Anwendung anfallenden Wartungsaufwand. Die Kehrseite dieser Medaille ist eine nicht zu unterschätzende Abhängigkeit vom gewählten Cloud-Anbieter, die nicht selten einer Wette hinsichtlich dessen Kompetenz und Zuverlässigkeit gleichkommt. Gerade für Einsatzszenarien, die die Weitergabe sensibler Daten und Berechnungen erfordern, stellt die Notwendigkeit, Datenzentrumsbetreibern uneingeschränktes Vertrauen entgegenbringen zu müssen, oftmals eine relevante Hürde dar. Entsprechend intensiv ist daher gegenwärtig die Erforschung von Ansätzen, die von außen verifizierbare Vertraulichkeit, nachweisliche Code-Integrität sowie Toleranz willkürlichen Fehlverhaltens ermöglichen.

Dieses Seminar gibt Einblicke in aktuelle Entwicklungen in diesem Bereich. Eine zentrale Rolle spielen dabei von unteren Systemschichten bereitgestellte, vertrauenswürdige Ausführungsumgebungen und die Frage, wie sich diese effizient realisieren und effektiv zur Absicherung von Cloud-Anwendungen einsetzen lassen. Ergänzt werden solche Komponenten durch byzantinisch fehlertolerante Protokolle, die auf höheren Ebenen zu einer Steigerung der Robustheit beitragen, indem sie neuralgische Zustandsteile zuverlässig über mehrere Rechner hinweg replizieren.

Vorläufiger Semesterplan

Datum Themen Folien
16.04.2024 Organisation und Einführung 01
23.04.2024 Arbeitstechniken: Ausarbeitung und Literaturrecherche 02
30.04.2024 Papierdiskussion:
Allen Clement, Edmund Wong, Lorenzo Alvisi, Mike Dahlin, Mirco Marchetti
Making Byzantine Fault Tolerant Systems Tolerate Byzantine Faults
Proceedings of the 6th Symposium on Networked Systems Design and Implementation (NSDI '09), pages 153–168, 2009.
07.05.2024 Vortragstechniken 03
14.05.2024 Konferenzvortragsdiskussion:
Joshua Lind, Oded Naor, Ittay Eyal, Florian Kelbert, Emin Gün Sirer, Peter Pietzuch
Teechain: A Secure Payment Network with Asynchronous Blockchain Access
Proceedings of the 27th Symposium on Operating Systems Principles (SOSP '19), 2019.

Link zur Webseite der Konferenz (inkl. Video und Folien)
28.05.2024 Konferenzvortragsdiskussion:
Varun Gandhi, James Mickens
Rethinking Isolation Mechanisms for Datacenter Multitenancy
Proceedings of the 12th Workshop on Hot Topics in Cloud Computing (HotCloud '20), 2020.

Link zur Webseite des Workshops (inkl. Video und Folien)
11.06.2024 Don't Put All Eggs in One Basket: Portable TEEs
18.06.2024 The Devil is in the Detail: Issues with Fine-Grained Trusted Execution Environments
Memory Safety by Construction: Can We Achieve Memory Safety via Transformation?
02.07.2024 Efficient Agreement in Embedded Systems
How to Topple a Byzantine General: View Change Protocols in BFT State-Machine Replication
09.07.2024 Forking Attacks
16.07.2024 Confidential Cloud Services

Organisatorisches

Den Studierenden werden als Ausgangsbasis zum jeweiligen Thema mehrere wissenschaftliche Arbeiten zur Verfügung gestellt, anhand von denen das Thema anschließend selbstständig erarbeitet werden soll. Die Literaturanalyse mündet in einer Ausarbeitung, die den Themenschwerpunkt zusammenfasst und kritisch bewertet. Die Ergebnisse werden in einem Vortrag den anderen Seminarteilnehmenden vorgestellt und anschließend diskutiert.

Für eine Teilnahme am Seminar ist eine Anmeldung im StudOn notwendig. Die Themen werden rechtzeitig vor Beginn des Semesters bereitgestellt. Um ein Thema zu reservieren, schreibt uns bitte eine Email mit dem gewünschten Thema an die Mailingliste.

Das Seminar kann sowohl von Bachelor- als auch Master-Studierenden belegt werden. Abhängig davon wird die Schwierigkeit der Themen bzw. der Anspruch an die Ausarbeitung gewählt.

Die am Seminar teilnehmenden Studierenden können wählen, ob sie den Vortrag und die Ausarbeitung auf Deutsch oder Englisch erstellen.

Das Seminar findet dienstags, 16:00-17:30 Uhr, in Raum 0.031 (Erdgeschoss Rechenzentrum) statt.

Ausarbeitung

Vortrag

  • Vorbereitung und Diskussion der Vorträge der anderen Seminarteilnehmenden
  • Erstellung eines Foliensatzes zur Ausarbeitung
  • Sprache: Deutsch oder Englisch
  • Voraussetzungen
    • Berücksichtigung der Hinweise zur Erstellung der Folien
    • Foliensatz für einen ca. 25-minütigen Vortrag
    • Optional: Verwendung eines i4 Beamertemplates

Material zur Vortragsgestaltung und zu wissenschaftlichem Arbeiten

Themen

Trusted Execution Environments and Fault Tolerance (Betreuer: Thomas)

  1. Lift-and-Shift: Virtual-Machine-based TEEs (reserviert)
  2. Don't Put All Eggs in One Basket: Portable TEEs (reserviert)
  3. Bringing Trust to cVMs

Trusted Execution and Compartmentalization (Betreuer: Maxim)

  1. The Devil is in the Detail: Issues with Fine-Grained Trusted Execution Environments (reserviert)
  2. Capable of Memory Safety: Practical Compartmentalization on Capability Machines
  3. Memory Safety by Construction: Can We Achieve Memory Safety via Transformation? (reserviert)
  4. I Can See What You Can't See: Using Symbolic Execution to Find Invariants and Security Violations in Code?

Byzantine Fault Tolerance (Betreuer: Harald)

  1. Linear Agreement and Liveness (reserviert)
  2. Agreement in an Asynchronous World (reserviert)
  3. Efficient Agreement in Embedded Systems (reserviert)
  4. Making the Bad Guys Pay: Increasing the Cost of Byzantine Behaviour
  5. Byzantine Agreement and Timeliness
  6. How to Topple a Byzantine General: View Change Protocols in BFT State-Machine Replication (reserviert)
  7. Optimistic Agreement

Confidentiality and Attacks (Betreuerin: Ines)

  1. Confidential Cloud Services (reserviert)
  2. Forking Attacks (reserviert)
  3. Confidential Smart Contracts using Trusted Execution Environment

Betreuende