Securing Filesystems for Confidential Computing
Das Papier präsentiert ShieldFS, ein POSIX-konformes Dateisystem, das durch die Verwendung von prägnanten kryptografischen Verpflichtungen (cryptographic commitments) und Merkle-Bäumen eine End-to-End-Integrität sowie Frische für persistente Speicher in Confidential-Computing-Umgebungen gewährleistet, um Rollback- und Manipulationsangriffe ohne erforderliche Applikationsänderungen oder vertrauenswürdigen Speicher zu erkennen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Im modernen digitalen Zeitalter sind wir an die Vorstellung gewöhnt, dass unsere Daten in der Cloud sicher sind. Wir vertrauen darauf, dass eine Datei, die wir speichern oder eine Datenbank, die wir aktualisieren, genau so bleibt, wie wir sie hinterlassen haben, geschützt vor neugierigen Blicken und versehentlichem Verlust. Es hat jedoch eine fundamentale Lücke in diesem Vertrauen bestanden. Während neue Technologien namens „Confidential Computing“ entstanden sind, um den Speicher zu sichern, in dem ein Computer aktiv nachdenkt, lassen sie die Festplatte verwundbar. Stellen Sie sich einen Tresor vor, bei dem der Tresor im Inneren undurchdringlich ist, aber der Flur, der zu ihm führt, von einem Fremden kontrolliert wird, der Ihre Dokumente austauschen, die Geschichte umschreiben oder Ihre aktuelle Version durch eine alte ersetzen kann, ohne dass Sie es jemals merken. Dies ist die Realität für Anwendungen, die heute in sicheren Umgebungen laufen: Ihre Berechnungen sind geschützt, aber der Speicher, auf den sie angewiesen sind, kann von einem böswilligen Cloud-Anbieter oder einem kompromittierten Systemadministrator manipuliert werden.
Die Herausforderung besteht also darin, ein System zu bauen, das die Daten auf der Festplatte genauso vehement schützt wie die Daten im Arbeitsspeicher, ohne den Computer zu verlangsamen oder Programmierer dazu zu zwingen, ihre Software neu zu schreiben. Ein Team von Forschern von Microsoft Azure, dem Imperial College London und anderen Institutionen hat dieses Problem angegangen, indem sie einen neuen Weg zur Verwaltung der Dateispeicherung entwickelt hat. Sie entwickelten ein System namens SHIELDFS, das als Wächter für persistente Daten fungiert und sicherstellt, dass das, was von der Festplatte gelesen wird, exakt das ist, was geschrieben wurde, und dass niemand heimlich die Zeit zurückgedreht hat, um einen früheren Zustand wiederherzustellen. Ihre Arbeit, die als eine spezifische Version eines populären Open-Source-Dateisystems namens ZFS implementiert wurde, zeigt, dass es möglich ist, den Speicher gegen selbst die mächtigsten Angreifer abzusichern und dabei Geschwindigkeiten zu erreichen, die nahezu identisch mit Standard-Systemen ohne Sicherheitsvorkehrungen sind.
Der Kern des Problems liegt darin, wie Computer Daten über die Zeit hinweg verarbeiten. Wenn eine Anwendung Informationen speichert, schreibt sie diese auf eine Festplatte. In einer sicheren Umgebung ist der Arbeitsspeicher des Computers abgeschirmt, aber die Festplatte wird oft vom Cloud-Anbieter verwaltet. Ein unehrlicher Anbieter könnte theoretisch den Zustand einer Festplatte zu einem bestimmten Zeitpunkt aufzeichnen, und wenn die Anwendung später versucht, diese Daten zu aktualisieren, könnte der Anbieter einfach die neue Version durch die alte, aufgezeichnete Momentaufnahme ersetzen. Dies ist als Rollback-Angriff bekannt. Die Anwendung würde die alten Daten lesen und glauben, sie seien aktuell, was zu Fehlern, verlorenen Transaktionen oder korrupten Datenbanken führt. Bestehende Lösungen erforderten entweder, dass der Speicher selbst vertrauenswürdig sein musste (was den Zweck der Cloud-Sicherheit zunichtemacht), verursachten schwere Leistungseinbußen, die Systeme zu langsam für den praktischen Einsatz machten, oder zwangen Entwickler dazu, individuelle Sicherheitsprüfungen in jede einzelne Anwendung einzubauen – ein mühsamer und fehleranfälliger Prozess.
Um dies zu lösen, entwarfen die Forscher ein System, das das Dateisystem selbst als eine Kette verifizierter Ereignisse behandelt. Anstatt nur Dateien zu speichern, erstellt das System einen kryptografischen „Fingerabdruck“ für jede Änderung an den Daten. Wenn ein Teil der Daten geschrieben wird, berechnet das System einen eindeutigen Code basierend auf diesen Daten und der Historie der vorangegangenen Änderungen. Dieser Code wird dann zusammen mit den Daten gespeichert. Entscheidend ist, dass das System auch einen sehr kleinen, sicheren Datensatz des neuesten gültigen „Fingerabdrucks“ an einem separaten, vertrauenswürdigen Ort aufbewahrt, den ein Angreifer nicht manipulieren kann. Dieser vertrauenswürdige Ort fungiert als Kontrollpunkt. Wann immer der Computer neu startet oder versucht, Daten zu lesen, gleicht er den Fingerabdruck auf der Festplatte mit dem Fingerabdruck im vertrauenswürdigen Kontrollpunkt ab. Wenn der Angreifer die Festplatte mit einer alten Version ausgetauscht oder die Daten verändert hat, werden die Fingerabdrücke nicht übereinstimmen, und das System wird sofort erkennen, dass etwas nicht stimmt, und das korrupte Datum nicht laden.
Die Forscher bauten eine funktionierende Version dieses Systems, die sie SHIELDZFS nannten, indem sie ein bestehendes, weit verbreitetes Dateisystem namens ZFS erweiterten. Sie mussten die grundlegende Art und Weise, wie das Dateisystem Daten auf der Festplatte organisiert, nicht ändern; statattdessen fügten sie eine Verifizierungsebene hinzu, die innerhalb des sicheren Arbeitsspeichers des Computers läuft. Diese Ebene stellt sicher, dass bei jedem Schreiben der Daten eine neue, unzerbrechliche Verbindung zur Historie hinzugefügt wird. Sie erstellten auch einen leichtgewichtigen Dienst, den sie „Registry“ nennen, der in seiner eigenen sicheren Umgebung läuft, um die neuesten gültigen Fingerabdrücke für viele verschiedene Dateisysteme gleichzeitig zu halten. Diese Registry ist darauf ausgelegt, schnell und zuverlässig zu sein und ist in der Lage, tausende von Anfragen pro Sekunde mit einer Verzögerung von weniger als einer Millisekunde zu bearbeiten, wodurch sichergestellt wird, dass die Sicherheitsprüfungen keinen Engpass darstellen.
Um ihre Kreation zu testen, führte das Team eine Reihe strenger Experimente unter Verwendung von Standard-Benchmarks und realen Anwendungen durch, wie etwa Datenbankservern und Dateiservern. Sie verglichen ihr sicheres System mit Standard-Dateisystemen und anderen Sicherheitstools. Die Ergebnisse zeigten, dass SHIELDZFS jede Art von Manipulation, die sie simulierten, erfolgreich entdeckte, einschließlich Versuchen, Daten zurückzusetzen (Rollback), alte Versionen abzuspielen oder widersprüchliche Kopien des Dateisystems zu erstellen. In Bezug auf die Geschwindigkeit schnitt das sichere System bemerkenswert gut ab. Für die meisten Aufgaben war es nahezu so schnell wie die Standardversion des Dateisystems ohne Sicherheitsvorkehrungen. In den anspruchsvollsten Szenarien, in denen Daten sofort geschrieben und bestätigt werden mussten, war es nur etwa 1,7-mal langsamer als die Standardversion – ein Kompromiss, den viele sicherheitsbewusste Organisationen akzeptabel finden würden. Im Gegensatz dazu waren andere getestete Sicherheitsmethoden deutlich langsamer, teilweise bis zu fünfmal langsamer, was sie für Hochleistungsanforderungen unpraktisch machte.
Die Forscher untersuchten auch, wie dieses System mit bestehender Software zusammenarbeiten kann, die bereits über einige Sicherheitsfunktionen verfügt. Sie fanden heraus, dass sie durch die Nutzung ihres sicheren Systems nur für die kritischsten Teile einer Datenbank – die Protokolle (Logs), die Änderungen aufzeichnen – und die Nutzung eines Standard-Dateisystems für den Rest der Daten, das Beste aus beiden Welten erreichen konnten. Dieser hybride Ansatz ermöglichte es ihnen, eine hohe Sicherheit für die wichtigsten Daten zu gewährleisten und gleichzeitig das Gesamtsystem schnell und reaktionsschnell zu halten. Die Studie bestätigt, dass es möglich ist, ein Dateisystem zu bauen, das gegen einen böswilligen Cloud-Anbieter resistent ist, ohne eine vollständige Überarbeitung der Software zu benötigen, die es verwendet. Indem sie das Dateisystem in eine selbstverifizierende Struktur verwandelten und es an einem vertrauenswürdigen, externen Kontrollpunkt verankerten, haben die Forscher einen praktischen Weg zur Sicherung von Daten in der Cloud aufgezeigt, der gewährleistet, dass das, was gespeichert wird, exakt das ist, was abgerufen wird, ungeachtet dessen, wer die Hardware kontrolliert.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.