Moderne Websites stellen immer höhere Anforderungen an die Rechenleistung von Computern. Daher erhalten Web-Browser neben der CPU eines Rechners seit einigen Jahren auch Zugriff auf die Rechenkapazitäten der Grafikkarte (Graphics Processing Unit oder GPU). Über Programmierschnittstellen wie WebGL und den neuen Standard WebGPU kann die Skriptsprache JavaScript die Ressourcen der GPU nutzen. Das birgt allerdings Risiken: Über eine Website mit schädlichem JavaScript konnten Forschende des Instituts für Angewandte Informationsverarbeitung und Kommunikationstechnologie der TU Graz bei drei verschiedenen Angriffen über WebGPU Informationen zu Daten, Tastatureingaben und Verschlüsselungs-Keys auf fremden Rechnern ausspionieren.
Ein Aufruf an die Browser-Hersteller
WebGPU ist derzeit zwar noch in aktiver Entwicklung, Browser wie Chrome, Chromium, Microsoft Edge und die Nightly-Versionen von Firefox unterstützen es allerdings bereits. Durch die größere Flexibilität und das modernisierte Design gegenüber WebGL wird die Schnittstelle in den kommenden Jahren eine große Verbreitung erfahren. "Unsere Angriffe brauchen keine Interaktion der Nutzer*innen mit einer Website und sie laufen in einer Zeitspanne, die es erlaubt, sie beim normalen Internetsurfen durchzuführen. Mit unserer Arbeit möchten wir die Browser-Hersteller deutlich darauf hinweisen, dass sie mit dem Zugriff auf die GPU genauso umgehen müssen wie mit anderen Ressourcen, die Sicherheit und Privatsphäre betreffen", sagt Lukas Giner vom Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie der TU Graz. Durchgeführt hat das Forschungsteam seine Attacken auf mehreren Systemen, in die unterschiedliche Grafikkarten der Hersteller NVIDIA und AMD eingebaut waren – von NVIDIA waren es Karten der Serie GTX 1000 sowie der RTX-Serien 2000, 3000 und 4000, von AMD kamen Karten der Serie RX 6000 zum Einsatz. Für alle drei Angriffsarten nutzten die Forschenden den über WebGPU verfügbaren Zugriff auf den Cache-Speicher des Rechners, der für besonders schnelle und kurzfristige Datenzugriffe von CPU und GPU gedacht ist. Über diesen Seitenkanal gelangten sie an Metainformationen, die Rückschlüsse auf sicherheitsrelevante Informationen erlauben.
Änderungen im Cache als Hinweisgeber
Das Team konnte Veränderungen im Cache mitverfolgen, indem es ihn mittels eines Codes im JavaScript über WebGPU selbst befüllte und darauf achtete, wann die eigenen Daten durch Eingaben wieder aus dem Cache entfernt wurden. Das ließ relativ schnell eine recht genaue Analyse der Tastatureingaben zu. Durch eine feinere Segmentierung des Cache konnten die Forschenden mit einem zweiten Angriff auch einen eigenen, geheimen Kommunikationskanal aufbauen, bei dem gefüllte und nicht gefüllte Cache-Segmente als Nullen und Einsen und damit als Basis für Binärcode dienten. Sie nutzten 1024 dieser Cache-Segmente und erreichten dadurch Übertragungsgeschwindigkeiten von bis zu 10,9 Kilobyte pro Sekunde, was zur Übertragung einfacher Informationen schnell genug war. Diesen Kanal können Angreifer nutzen, um Daten abzuziehen, die sie mittels anderer Attacken in vom Internet abgetrennten Bereichen des Computers auslesen konnten.
Änderungen im Cache als Hinweisgeber
Der dritte Angriff richtete sich auf die AES-Verschlüsselung, die zur Chiffrierung von Dokumenten, Verbindungen und Servern genutzt wird. Auch hier füllten sie wieder den Cache auf, allerdings mit einer eigenen AES-Verschlüsselung. Durch die Reaktion des Cache darauf konnten sie jene Stellen identifizieren, die im System für die Verschlüsselung zuständig sind und dort die Schlüssel des angegriffenen Systems abgreifen. "Unser AES-Angriff würde unter Echtzeit-Bedingungen wahrscheinlich etwas komplizierter ausfallen, weil auf einer GPU viele Verschlüsselungen parallel laufen", sagt Roland Czerny vom Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie der TU Graz. "Dennoch konnten wir demonstrieren, dass wir auch Algorithmen sehr präzise angreifen können. Die Erkenntnisse unserer Arbeit haben wir natürlich den Browser-Herstellern vorab mitgeteilt und wir hoffen, dass sie dieses Thema in der weiteren Entwicklung von WebGPU berücksichtigen werden."
Deine Meinung
Der Artikel ist lesenswert
Der Artikel ist informativ.
Der Artikel ist ausgewogen.