SC(4): SGX - Trusted und Untrusted Computing
Mit Stefan Naumann, Florian RommelIm 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
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
SGAxe: How SGX fails in Practise
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 .