Keystone-Projekt: Vertrauenswürdige Umgebung zum Ausführen von RISC-V-basierten Anwendungen

Ein Forscherteam des MIT und der University of California in Berkeley stellte mit Unterstützung von Facebook, Google, Microsoft und anderen IT-Giganten das Keystone- Projekt vor. Dies ist eine Open Source-Komponente, mit der Sie eine vertrauenswürdige Umgebung zum Ausführen von Programmen (Trusted Execution Environment, TEE ) basierend auf der RISC-V-Architektur organisieren können.

Weiter - darüber, warum eine Lösung benötigt wurde und wie sie funktioniert.


/ Foto Wikimedia CC

Warum Keystone?


Die vertrauenswürdige Ausführungsumgebung ist ein isolierter Bereich (Enklave) des Hauptprozessors mit einer Reihe von Sicherheitsmechanismen. Es wird angenommen, dass Code und Daten, die in diesen Bereich geladen werden, zuverlässig vor Änderungen und Störungen von außen geschützt sind.

Die Idee ist, dass Sie in diesen Enklaven ohne Angst vor Kompromissen Operationen an persönlichen und vertraulichen Daten durchführen können, da weder das Betriebssystem noch andere Anwendungen Zugriff auf diese Bereiche des Prozessors haben.

Es gibt Systeme und Lösungen auf dem Markt, die Daten auf Eisenebene schützen. Sie sind jedoch alle proprietär, da sie von den Herstellern von Computerchips selbst implementiert werden. Und es gibt eine Meinung, dass diese Technologien nicht gut geschützt sind (da sie nicht für die Bewertung durch unabhängige Experten für Informationssicherheit zur Verfügung stehen).

Beispielsweise bietet Intel die Architekturerweiterung Software Guard Extensions (SGX) an, die Daten vor unbefugtem Zugriff und Änderungen schützt. Diese Technologie umfasst auch Enklaven, in denen der Benutzeranwendungscode ausgeführt wird. Kürzlich wurde jedoch bekannt, dass dieses System für einen Foreshadow- Angriff anfällig ist ( CVE-2018-3615 ). Angreifer können mithilfe der Funktionen der spekulativen Ausführung von Befehlen auf Daten in der SGX-Enklave zugreifen.

Neben Intel bietet AMD seine Lösungen an - sie heißen Secure Processor und SEV sowie ARM - und verfügen über TrustZone. Sicherheitsexperten haben jedoch auch Fragen zu ihrer Sicherheit .

Laut Forschern des MIT und der University of California wird das Open-Source-System, obwohl es die Enklaven nicht unverwundbar macht, ihre Sicherheit dennoch durch das Fachwissen vieler Community-Experten erhöhen.


/ Foto Brad Holt CC

Somit ist das Keystone-System ein Open-Source-Projekt, das auf der RISC-V-Architektur zum Erstellen von TEE basiert. Die Forscher entschieden sich für RISC-V, da es weniger anfällig für Angriffe über Kanäle von Drittanbietern ist, die auf die praktische Implementierung von Kryptosystemen abzielen. Insbesondere ist diese Art von Architektur nicht von Sicherheitslücken wie Meltdown und Spectre betroffen .

Die Keystone-Entwickler haben sich folgende Ziele gesetzt :

  • Bauen Sie eine Vertrauenskette auf, um jede Hardware- und Softwarekomponente zu überprüfen (dies umfasst sichere Startsysteme und die Überprüfung der Zuverlässigkeit der Remote-Hardware).
  • Isolieren Sie den Speicher von Störungen von außen.
  • Implementieren Sie Methoden zum Schutz vor Angriffen auf Kanäle von Drittanbietern.
  • Implementieren Sie Verschlüsselungsmethoden für Speicher und Adressbus.

Lösungskomponenten


Das Konzept von Keystone basiert auf der SGX- Technologie und der am MIT entwickelten Enklavenplattform Sanctum Processor .

Letzteres wird mithilfe der sogenannten Trusted Abstraction Layer oder Trusted Abstract Abstract Platform (TAP) erstellt. Die Plattform (TAP) besteht aus einem Prozessor mit einem Befehlszähler , allgemeinen Registern , einem System zum Übersetzen virtueller Adressen und einer Reihe von Grundelementen zum Ausführen von Code in einer sicheren Enklave.

Vom SGX-System hat Keystone die Engine für die Speicherverschlüsselung (Memory Encryption Engine, MEE) "übernommen". Der Kern der Lösung wird mithilfe des parametrisierten RISC-V BOOM- Prozessors (Berkeley Out-of-Order Machine) am Rocket SoC- Generator organisiert.

Im Allgemeinen lautet das Implementierungsschema eines Systems mit einer Enklave auf RISC-V wie folgt:


Forscher haben bereits mehrere Tests ihrer Lösung durchgeführt und festgestellt, dass sie die Laufzeitumgebung des Codes zuverlässig isoliert und vor Störungen von außen (zumindest vor bekannten Angriffen) schützt.

Bei der Freigabe


Die erste Version - Keystone v0.1 - wird diesen Herbst erscheinen und auf FPGA ausgeführt. Forscher stellen fest, dass es in Zukunft SGX bei der Implementierung von Blockchain-Plattformen ersetzen kann.



PS Zusätzliche Ressourcen aus dem ersten Corporate IaaS-Blog:


PPS Ein paar Beiträge aus unserem Blog über Habré:

Source: https://habr.com/ru/post/de423777/


All Articles