SC(4): SGX - Trusted und Untrusted Computing
Episode von SystemCall von Fachgebiet System- und Rechnerarchitektur, Leibniz Universität Hannover · 16. März 2022 · 45 min
Im SystemCall Podcast beschäftigen wir uns mit aktueller Betriebssystemforschung. In der vierten Folge diskutieren wir SGX, also die Software Guard Extentions von Intel, deren Funktionsweise, eine Anwendung im Bereich der Function as a Service und eine Attacke, die das Sicherheitssystem von SGX aushebelt.
Zunächst besprechen wir, wie SGX funktioniert, erklären die Konzepte der Enklave, also des geschützten Speicherbereichs, der selbst vor dem Betriebssystem gesichert sein soll. Die Enklave kann selbst über das Netzwerk durch Remote Attestation geprüft werden, also dass genau der erwartete Code richtig geladen worden ist.
Clemmys ist ein auf Apache OpenWhisk basierendes System, welches mithilfe von SGX Enklaven Functions as a Service implementiert. Mit einer FaaS-Architektur können Anwendungen preiswert umgesetzt werden, die manchmal relativ viel Rechenzeit brauchen, bspw. weil Daten angekommen sind, oftmals aber nicht gebraucht werden. Dann werden dynamisch neue Funktionen aufgezogen, die die Daten verarbeitet, und danach wieder pausiert. Mit Clemmys werden beim Erhalt der Daten diese in einer Enklave verschlüsselt, der Anbieter macht dann Lodabalancing und Abrechnung und sendet diese verschlüsselten (und damit nicht veränderten) Daten an unsere Funktion weiter, die diese auspacken und bearbeiten kann.
Mit SGAxe und dem Vorgängerpapier CacheOut diskutieren wir dann einen Angriff auf die Enklaven. SGX schließt in seinem Angreifermodell Seitenkanäle aus, weshalb sich der Enklavencode selbst darum kümmern soll, ebendiese zu schließen und keine Angriffsfläche zu bieten. In SGAxe gelingt es dann den Sealing-Key der Enklaven zu leaken, die für die Remote Attestation zuständig sind und von Intel geliefert werden. Dadurch gelingt es, beliebige Enklaven, auf beliebig bösartigen Simulatoren zu bescheinigen, dass sie (andere) Enklaven auf echten Intel-Prozessoren sind.
Links
Was ist SGX?
Hackaday: SGX Deprecation Prevents PC Playback of 4k Blu-Ray Discs
kernel.org: Software Guard eXtensions (SGX)
Overview of Intel SGX - Part 1, SGX Internals
medium.com: The Magic of Intel's SGX
Intel: Innovative Instructions and Software Model for Isolated Execution
Übersicht über SGX-Papiere
SG Papers
Functions as a Service: aber sicher
B. Trach, O. Oleksenko, F. Gregor, P. Bhatotia, and C. Fetzer. Clemmys: towards secure remote execution in FaaS. 12th ACM International Conference on Systems and Storage (SYSTOR '19), 2019, New York, NY, USA, pg. 44–54. DOI: 10.1145/3319647.3325835
ACM
SGAxe: How SGX fails in Practise
Website zur Schwachstelle
S. van Schaik, M. Minkin, A. Kwong, D. Genkin and Y. Yarom, CacheOut: Leaking Data on Intel CPUs via Cache Evictions, 2021 IEEE Symposium on Security and Privacy (SP), 2021, pp. 339-354, DOI: 10.1109/SP40001.2021.00064
.
IEEE
Weitere Episoden von „SystemCall“
- SC(13): Sichten auf Adressräume 24. Januar 2026
- SC(12): Was wir nie über Locking wissen wollten 2. Dezember 2023
- SC(11): CHERI-Capabilities als Speicherschutz 7. Oktober 2023
- SC(10): GPGPU Treiber für Intel iGPUs 30. Juni 2023
- SC(9): Riesenseiten und Page-Fault Latenz 28. Januar 2023
- Advent(2): Adventskalender der Systemrufe 2. Dezember 2022
- SC(8): MirageOS und Linux als Unikernel 28. Oktober 2022
- SC(7): Partitionierung und Paravirtualisierung 15. Juli 2022
- SC(6): Exokerniges Dateihandling und Threadpooling 7. Mai 2022
- SC(5): Schneller Gegenseitiger Ausschluss im Userspace 9. April 2022
- SC(3): #ifdef-Totengräber und Bibliotheksschwärzen 17. Dezember 2021
- SC(2): Himmelsbrücken durch Tunnel und Replikate bei Vielkernern 24. Oktober 2021
- SC(1): Weggabelungen, Kontrollpunkte und Adressräume 8. Juli 2021