Öffentliche Cloud-Dienste nutzen spezielle Sicherheitstechnologien. Informatiker der ETH Zürich haben nun eine Lücke in den neuesten Sicherheitsmechanismen von AMD- und Intel-Chips entdeckt. Dies betrifft große Cloud-Anbieter.
Mit «Confidential Computing» haben die Hardware-Hersteller in den letzten Jahren Technologien entwickelt, welche die gemeinsame Nutzung von Cloud-Computing-Ressourcen auch für Unternehmen und staatliche Organisationen sicher machen sollen, die sensible Daten verarbeiten. Konkret schützt Confidential Computing sensible Daten während ihrer Verarbeitung in einem isolierten Bereich, in den keine anderen Anwender Einblick haben, auch nicht der Cloud-Anbieter. Informatiker:innen der ETH Zürich haben nun nachgewiesen, dass sich Hacker:innen trotzdem Zugang zu diesen Daten und Systemen verschaffen können.
Die beiden Angriffsszenarien, die sie testeten, nutzen den sogenannten Interrupt-Mechanismus, mit dem sich Rechner-Prozesse vorübergehend unterbrechen lassen, um beispielsweise eine andere Rechen-Aktivität vorzuziehen. Jeder der insgesamt 256 unterschiedlichen Interrupts löst dabei eine ganz bestimmte Abfolge von Programmierbefehlen aus. «Die Unterbrechungsanfragen sind ein Randbereich. Es scheint, ihre systematische Absicherung ist schlicht und einfach vergessen gegangen», erklärt Shweta Shinde, die ETH-Informatikprofessorin, welche die problematischen Schwachstellen mit ihrer Secure & Trustworthy Systems Group in der Server-Hardware der zwei grossen Computerchiphersteller AMD und Intel gefunden hat.
Arbeit an abhörsicherem Smartphone führt zu Lücken
Auf die Spur der Sicherheitslücken gekommen ist Shindes Team, als es die Confidential-Computing-Technologien in den Prozessoren von AMD und Intel genauer unter die Lupe nahm. Die Wissenschaftler:innen wollten nachvollziehen, wie diese im Detail funktionieren. Sie arbeiten nämlich selbst an einem abhörsicheren Smartphone, das auf Confidential Computing aufbaut.
Den Kern von Confidential Computing bildet eine vertrauenswürdige Ausführungsumgebung (engl. Trusted Execution Environment, TEE). Diese hardwarebasierte Komponente schottet die Anwendungen während der Ausführung nach aussen ab. Nur ein autorisierter Code kann dann auf ihren Arbeitsspeicher zugreifen. Damit sind die Daten auch vor unerlaubten Zugriffen geschützt, wenn sie sich im Verlauf ihrer Verarbeitung unverschlüsselt im Arbeitsspeicher befinden. Zuvor war dieser Schutz nur mittels Verschlüsselung auf der Festplatte und während der Übermittlung sichergestellt.
Hypervisor als Unsicherheitsfaktor Nummer eins
In der Public Cloud werden die Anwendungen mit der TEE besonders auch vom sogenannten Hypervisor isoliert. Mit dieser Software verwaltet der Anbieter die Ressourcen seiner Cloud von den Hardware-Komponenten bis hin zu virtuellen Servern der Kunden. Hypervisoren sind wichtig für Cloud-Dienste, denn sie ermöglichen die erforderliche Flexibilität, Effizienz und Sicherheit. Sie verwalten und optimieren nicht nur die Nutzung der zugrundliegenden Hardware, sondern sie sorgen auch dafür, dass die verschiedenen Anwender dieselbe Cloud sicher und ungestört voneinander in separierten Bereichen benutzen können. Dennoch gelten die Verwaltungsund Managementfunktionen der Hypervisoren auch als Unsicherheitsfaktor, da sie verschiedene Angriffe zulassen. Über diese Attacken ist es unter bestimmten Umständen möglich, Daten in den Arbeitsspeichern von anderen, auf der gleichen Hardware aktiven Cloud-Anwendern mitzulesen. Zudem kann der Cloud-Anbieter über den Hypervisor allenfalls auch selbst Einsicht in die Anwender-Daten erlangen.
Beide Risiken sind für Unternehmen und staatliche Akteure mit sensiblen Daten nicht akzeptabel. So identifiziert beispielsweise auch ein Expertenbericht des Schweizer Bundesrates, der sich mit dem rechtlichen Rahmen der Umsetzung der Schweizer Cloud-Strategie befasst hat, den unerlaubten Zugriff auf die gerade aktiv verwendeten Daten (engl. «data in use») als das wahrscheinlichste Risiko einer Public-Cloud-Nutzung.
Vollständige Isolierung des Hypervisors ist nicht möglich
Es gibt jedoch prinzipielle Grenzen, wie gut sich ein Anwender-System gegenüber dem Hypervisor isolieren und absichern lässt. Eine gewisse Kommunikation zwischen den beiden bleibt nämlich unverzichtbar. Schliesslich muss ein Hypervisor als Verwaltungswerkzeug seine Kernaufgaben weiterhin wahrnehmen können. Diese bestehen in der Zuteilung der Cloud-Ressourcen und dem Management der virtuellen Server, auf denen das abgesicherte System in der Cloud läuft.
Eine der verbleibenden Schnittstellen zwischen dem Hypervisor und der TEE betrifft das Management der Interrupts. Die sogenannten «Ahoi-Attacken», die das ETH-Team einsetzte, nutzen die Möglichkeit des Hypervisors, jederzeit kontrollierte Interrupts an das abgesicherte System zu senden. Und hier geht das Sicherheitsloch auf: Statt die Anfrage vom nichtvertrauenswürdigen Hypervisor zu blockieren, schickt die TEE gewisse Interrupt-Anfragen weiter. Dem System ist bei diesen Weiterleitungen nicht bewusst, dass die Anfrage von aussen kommt, und es führt die üblichen Programmroutinen aus.
Interrupt-Zwischenrufe bringen Sicherheit aus dem Konzept
Den Forschenden gelang es mit orchestrierten Interrupt-Zwischenrufen ein in einer TEE abgesichertes System so aus dem Konzept zu bringen, dass sie unter anderem die vollständige Kontrolle - den sogenannten «root access» - erlangen konnten. «Das Problem betraf vor allem die AMD-Implementation von Confidential Computing. In ihr waren mehrere Unterbrechungsanfragen nicht abgesichert. Bei Intel stand nur eine Interrupt-Tür offen», fasst Shinde die Ergebnisse ihrer - nach dem englischen Begriff für störende Zwischenrufer benannte - «Heckler-Attacke» zusammen. Kommt dazu, dass die Wissenschaftler:innen auch die von AMD bisher zur Verfügung gestellten Abwehrmittel als ungenügend bewerten. Die Chip-Hersteller haben inzwischen Massnahmen ergriffen, um dieses Problem zu beheben.
Der zweite, WeSee genannte Angriff betrifft ausschliesslich die AMD-Hardware. Er nutzt einen Kommunikationsmechanismus, den der Chip-Hersteller eingeführt hat, um die Kommunikation zwischen der TEE und dem Hypervisor trotz Abschottung zu erleichtern. In diesem Fall führt eine spezielle Interrupt-Anfrage dazu, dass das abgesicherte System sensible Informationen preisgibt und sogar fremde Programme ausgeführt werden können.
Nebenprodukt auf dem Weg zur Anwenderkontrolle über Smartphones
So wichtig das Finden der Schwachstellen für die Sicherheit von sensiblen Daten in der Public Cloud ist, für Shinde und ihre Forschungsgruppe ist es ein Nebenprodukt auf dem Weg zu iPhones und Android-Smartphones, bei denen die Nutzer die volle Kontrolle über ihre Daten und auch über die Anwendungen behalten. Eine spezielle TEE wird dabei nicht nur die Daten abhörsicher von den Betriebssystemen der Hersteller abkapseln. «Auch der unüberwachte Betrieb von eigenen, nicht durch Apple oder Google kontrollierten Apps soll in unserer TEE möglich werden», lautet Shindes Vision.
Literaturhinweise
Schlüter B, Sridhara S, Kuhne M, Bertschi A, Shinde S. Heckler: Breaking Confidential VMs with Malicious Interrupts. In: 33rd USENIX Security Symposium (USENIX Security), August 14-16, 2024 externe Seite https://ahoi-attacks.github.io/heckler call_made
Paper Link: externe Seite https://ahoi-attacks.github.io/heckler/heckler_usenix24.pdf call_made
Schlüter B, Sridhara S, Bertschi A, Shinde S. WeSee: Using Malicious #VC Interrupts to Break AMD SEV-SNP. In: 45th IEEE Symposium on Security and Privacy (IEEE S&P), May 20-23, 2024. externe Seite https://ahoi-attacks.github.io/wesee call_made
Paper Link: externe Seite https://ahoi-attacks.github.io/wesee/wesee_oakland24.pdf call_made
Daniel Meierhans