Zum Hauptinhalt springen

Veröffentlicht am 27. Januar 2025

Schritt in Richtung einer sicheren Remote-Daten­wissenschaft

Das Bundesamt für Statistik (BFS) kennt das Potenzial von Daten, ist aber gleichzeitig darum besorgt, die Privatsphäre der Bevölkerung zu schützen. Die Wahrung der Privatsphäre in der Datenwissenschaft ist ein Fokusthema des Kompetenzzentrums für Datenwissenschaft (DSCC). In diesem Blogeintrag sollen die Konzepte rund um eine sichere Remote-Datenverarbeitung vorgestellt sowie die bestehende Lücke zwischen aktuellen Implementierungen und den typischen Kompetenzen von Datenwissenschaftlerinnen und Datenwissenschaftlern aufgezeigt werden. Das DSCC hat nun ein Tool veröffentlicht, mit dem sich diese Lücke schliessen lässt.

Autoren: Damien Aymon, Lancelot Marti

Datenwissenschaft trifft auf sicheres Cloud Computing

Cloud Computing bietet auf Abruf Zugang zu einer voreingestellten Recheninfrastruktur, die von einem Dienstleister, namentlich dem Cloud-Anbieter, verwaltet wird. Dank dieses «Pay as you go»-Modells können Datenwissenschaftlerinnen und Datenwissenschaftler grosse Datensätze verarbeiten und analysieren, ohne mit grossem Kosten- und Zeitaufwand eigene Systeme vor Ort unterhalten zu müssen.

Dieser Vorteil ist allerdings auch mit grossen Risiken bezüglich Datensicherheit verbunden. Bei der Nutzung von Cloud-Diensten, die von externen Anbietern verwaltet werden, muss sichergestellt sein, dass die Daten für Unbefugte nicht zugänglich sind. Obschon es Lösungen gibt, um die Daten bei der Speicherung und der Übermittlung zu schützen, bleiben sie während der Verarbeitung angreifbar.

Confidential Computing: Schutz der Daten bei der Verarbeitung

Der Fokus von Confidential Computing liegt auf dem Schutz der Daten während ihrer Verarbeitung. Sichere Enklaven bzw. vertrauenswürdige Ausführungsumgebungen (Trusted Execution Environments, TEE) wie Intel Software Guard Extensions (Intel SGX) bieten einen hardwarebasierten Schutz für die ausgeführten Berechnungen. Sie stellen sicher, dass auch Personen, die einen vollständigen privilegierten Zugriff auf den (virtuellen oder physischen) Rechner haben – etwa die Cloud-Anbieter –, die Daten und Berechnungen weder abhören noch manipulieren können.

Die grösste Stärke von Enklaven – also die Tatsache, dass Aussenstehende die Verarbeitungen nicht einsehen können – ist gleichzeitig auch ihr Schwachpunkt: Es kann nicht überprüft werden, welche Art von Berechnungen durchgeführt wurde. Ein Cloud-Anbieter könnte demnach eine bösartige Software in der Enklave ausführen, um Zugang zu schützenswerten Daten zu erhalten. Eine Softwarebescheinigung bietet externen Parteien die Möglichkeit, die Echtheit der in der Enklave laufenden Software zu überprüfen und nachzuweisen, dass die Berechnungen genau wie vorgesehen ablaufen, auch wenn sie nicht direkt beobachtet werden können. Zur Veranschaulichung kann man sich die Enklave als Umschlag mit Siegel vorstellen. Der Umschlag gewährleistet die Vertraulichkeit des Inhalts, genau wie die Enklave. Die Softwarebescheinigung ist das Siegel der Enklave: Sie garantiert die Integrität und Echtheit des Inhalts.

Die Herausforderung: Sichere Enklaven in der Praxis

Die Verwendung von Enklaven erfordert das Schreiben von massgeschneiderten Codes, die speziell für diesen Zweck entwickelt werden. Dazu braucht es häufig andere Fähigkeiten als in der Datenwissenschaft üblich sind. Datenwissenschaftlerinnen und Datenwissenschaftler arbeiten in der Regel mit hochentwickelten Programmiersprachen wie Python oder R. Im Idealfall sollte der bestehende Code nahtlos mit wenigen Änderungen in der Enklave ausgeführt werden können. Zwischen den Anforderungen für die Integration in Enklaven und den üblichen datenwissenschaftlichen Kompetenzen besteht aktuell eine Lücke. Es braucht somit Tools und Frameworks, die eine Brücke zwischen den beiden Welten schlagen können. Das Hauptziel unseres Projekts besteht darin, diese Lücke zu verringern.

Auftritt Gramine: Ausführung unveränderter Software in Enklaven

Gramine ist ein Community-getriebenes Open-Source-Projekt, das die Ausführung von unveränderten Anwendungen in Intel SGX-Enklaven erleichtern soll. Softwareentwicklerinnen und -entwickler können damit ihren bestehenden Code ohne umfangreiche Anpassungen ausführen. Gramine trägt somit dazu bei, die Lücke zwischen herkömmlichen Entwicklungsumgebungen und sicherer Enklaventechnologie zu schliessen. Derzeit werden zwar ausschliesslich proprietäre Intel-SGX-Enklaven unterstützt, aber Intel-Hardware ist bei fast allen grossen Cloud-Anbietern erhältlich, womit das Risiko einer Anbieterbindung begrenzt wird. Bei spezifischen Lösungen der Cloud-Anbieter wie AWS Nitro Enclaves ist dies nicht der Fall. Die Kompatibilität von Gramine mit anderen Enklaven-Anwendungen, z. B. ADM SEV-SNP, soll überdies erweitert werden.

Gramine bietet auch einen Softwarebescheinigungsmechanismus namens RATLS, der für spezialisierte Entwicklerinnen und Entwickler vorgesehen ist und nicht direkt mit datenwissenschaftlichen Programmiersprachen wie Python oder R genutzt werden kann. Dies stellt für Datenwissenschaftlerinnen und Datenwissenschaftler eine Herausforderung dar: Gramine ist zwar ausserordentlich leistungsfähig, doch um sein volles Potenzial ausschöpfen zu können, sind fortgeschrittene Codierkenntnisse nötig, über die sie in der Regel nicht verfügen.

Vereinfachung der Softwarebescheinigung mit dem Gramine RATLS Python Package

Das Gramine RATLS Python Package ist ein Werkzeug, das eine Schnittstelle zu den Softwarebescheinigungsmechanismen von Gramine herstellt. Dies erleichtert die Implementierung von Softwarebescheinigungen in Python-Anwendungen ohne vertiefte Kenntnisse der komplexen Gramine-Bibliotheken.

Das Package basiert auf einem bestehenden, von Gramine entwickelten Code, der in ein praktisches, installierbares Format verpackt wurde. So können Datenwissenschaftlerinnen und Datenwissenschafler Softwarebescheinigungen ganz einfach in ihre TEE-geschützten Arbeitsabläufe integrieren. Darüber hinaus umfasst es eine umfassende Anleitung zur Ausführung einer typischen datenwissenschaftlichen Anwendung in einer TEE einschliesslich Softwarebescheinigung.

Schlussfolgerung

Das Gramine RATLS Package und die dazugehörige Anleitung vereinfachen den Zugang zur sicheren Ausführung von Algorithmen in der Cloud. Datenwissenschaftlerinnen und Datenwissenschaftler können so ihre bestehenden Workflows mit begrenzten Änderungen in sicheren Enklaven ausführen, ohne sich neue spezialisierte Programmierkenntnisse aneignen zu müssen. Dies verstärkt die Akzeptanz einer sicheren Datenverarbeitung in der Cloud, bei der die Datensicherheit bei jedem Schritt gewährleistet ist.

Dieser Beitrag wurde aus dem Englischen übersetzt.

Bundesamt für Statistik

Kompetenzzentrum für Datenwissenschaft DSCC
Espace de l'Europe 10
2010 Neuchâtel