WebGPU soll die Leistung von Grafikkarten im Web verbessern. Die in aktiver Entwicklung befindliche Browser-Schnittstelle birgt aber auch Risiken: Ein Forschungsteam der TU Graz hat eine Sicherheitslücke in der Schnittstelle entdeckt und mithilfe von WebGPU Informationen ausspionieren können, wie die Technische Universität Graz am Montag informierte. Browser-Hersteller wurden bereits informiert.
Websites stellen immer höhere Anforderungen an die Rechenleistung von Computern. Aus diesem Grund 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 die neue Schnittstelle WebGPU kann die Skriptsprache JavaScript die Ressourcen der GPU nutzen. Mit schädlichem JavaScript können Angreifer*innen auf diesem Weg aber auch auf fremden Rechnern Informationen zu Daten, Tastatureingaben und Verschlüsselungs-Keys erhalten, wie Forschende des Instituts für Angewandte Informationsverarbeitung und Kommunikationstechnologie der TU Graz vor Augen führten. "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", betonte Lukas Giner vom Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie der TU Graz.
Schnittstelle für schnelleres Surfen
WebGPU wurde als Schnittstelle entwickelt, der die beschleunigte Grafik- und Computer-Berechnungen ermöglicht und soll die Art und Weise, wie wir mit dem Web interagieren revolutionieren. Der neue Standard ist noch in aktiver Entwicklung, Browser wie Chrome, Chromium, Microsoft Edge und Test-Versionen von Firefox würden aber schon auf die neue Technologie setzen, wie es seitens der TU Graz hieß.
Das Forscherteam führte auf unterschiedlichen Systemen 3 unterschiedliche Angriffe durch. Für ihre Attacken nutzten sie den über WebGPU verfügbaren Zugriff auf den Cache-Speicher des Rechners. Er ist für besonders schnelle und kurzfristige Datenzugriffe von CPU und GPU gedacht. Über diesen Seitenkanal kam man zu Metainformationen, die Rückschlüsse auf sicherheitsrelevante Informationen erlauben: So konnte das Team 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. Damit wurde eine relativ rasche, recht genaue Analyse der Tastatureingaben möglich.
Durch eine feinere Segmentierung des Cache konnten die im Dienste der Cybersicherheit tätigen "TU-Spione" in 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ärcodes dienten. Bei der Nutzung von rund 1.000 dieser Cache-Segmente erzielten sie Übertragungsgeschwindigkeiten von bis zu 10,9 Kilobyte pro Sekunde, was zur Übertragung einfacher Informationen schnell genug war. Angreifer*innen könnten einen solchen Kommunikationskanal nutzen, um Daten abzuziehen, die sie mittels anderer Attacken in vom Internet abgetrennten Bereichen des Computers auslesen konnten, wurde betont.
Verschlüsselungssystem als Ziel
Der dritte Angriff richtete sich auf die Verschlüsselung, die zur Chiffrierung von Dokumenten, Verbindungen und Servern genutzt wird (AES). Auch hier füllten sie wieder den Cache auf - diesmal jedoch mit einer eigenen AES-Verschlüsselung. Durch die Reaktion des Cache darauf wurden jene Stellen identifiziert, die im System für die Verschlüsselung zuständig sind und dort die Schlüssel des angegriffenen Systems abgreifen.
"Die Erkenntnisse unserer Arbeit haben wir natürlich den Browser-Herstellern vorweg mitgeteilt und wir hoffen, dass sie dieses Thema in der weiteren Entwicklung von WebGPU berücksichtigen werden", sagte Roland Czerny vom Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie der TU Graz. Die Experimente und die daraus entstandene Publikation werden im Juli auch in Singapur auf der ACM Asia Conference on Computer and Communications Security vorgestellt.