Ausgewählte Kapitel der Systemsoftware
Fehlertoleranz und Vertrauenswürdigkeit in Cloud-Infrastrukturen
- 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
- Eigenständiges Erarbeiten eines Themas
- Sprache: Deutsch oder Englisch
- Voraussetzungen
- Berücksichtigung der Wissensbasis
- 6 Seiten (Master) bzw. 4 Seiten (Bachelor) - exklusive Referenzen
- Verwendung des ACM Standard Proceedings Templates (ACM sigconf style) | Template
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
- Friedemann Mattern: Seminarvortrag - Hinweise zur Präsentation
- Karsten Weicker: Seminar-Leitfaden - Anmerkungen zum Vortrag und der schriftlichen Ausarbeitung
- Markus Rath: Leitfaden zur Anfertigung von Seminar-, Studien- und Diplomarbeiten
- Srinivasan Keshav: How to Read a Paper
- Timothy Roscoe: Writing Reviews for Systems Conferences
- Graham Cormode: How NOT to Review a Paper: The Tools and Techniques of the Adversarial Reviewer
Themen
Trusted Execution Environments and Fault Tolerance (Betreuer: Thomas)
- Lift-and-Shift: Virtual-Machine-based TEEs (reserviert)
- Don't Put All Eggs in One Basket: Portable TEEs (reserviert)
- Bringing Trust to cVMs
Trusted Execution and Compartmentalization (Betreuer: Maxim)
- The Devil is in the Detail: Issues with Fine-Grained Trusted Execution Environments (reserviert)
- Capable of Memory Safety: Practical Compartmentalization on Capability Machines
- Memory Safety by Construction: Can We Achieve Memory Safety via Transformation? (reserviert)
- I Can See What You Can't See: Using Symbolic Execution to Find Invariants and Security Violations in Code?
Byzantine Fault Tolerance (Betreuer: Harald)
- Linear Agreement and Liveness (reserviert)
- Agreement in an Asynchronous World (reserviert)
- Efficient Agreement in Embedded Systems (reserviert)
- Making the Bad Guys Pay: Increasing the Cost of Byzantine Behaviour
- Byzantine Agreement and Timeliness
- How to Topple a Byzantine General: View Change Protocols in BFT State-Machine Replication (reserviert)
- Optimistic Agreement
Confidentiality and Attacks (Betreuerin: Ines)
- Confidential Cloud Services (reserviert)
- Forking Attacks (reserviert)
- Confidential Smart Contracts using Trusted Execution Environment