Werbung
Auch wenn Intel mit der Cascade-Lake-Architektur sowie Coffee-Lake-Refresh eine gewisse Absicherung gegen die Sidechannel-Attacken (Spectre und Meltdown) vorgenommen hat, wird das Thema den Chipgiganten noch lange beschäftigen. Je nach Architektur konnte bisher ausgeschlossen werden, dass bestimmte andere Prozessoren und Chips gegenüber solchen Attacken anfällig sind – so bislang auch die GPUs. Dies scheint sich nun geändert zu haben.
Mehrere Forscher der University of California haben Methoden entwickelt, die zeigen sollen, dass auch GPUs für solche Attacken anfällig sind. Ihre Ergebnisse haben sie nun unter dem Titel "Rendered Insecure: GPU Side Channel Attacks are Practical" (PDF) veröffentlicht.
Die Forscher (zwei Professoren und zwei Studenten) haben einen Weg gefunden, wie sie die Renderpipelines derart manipulieren können, dass Sidechannel-Attacken möglich werden. Dazu wurde die Funktionsweise einer GPU Reverse Engineered – also die Methode, wie die GPU funktioniert, sozusagen vom Ende her untersucht. Das war nötig, da viele Details über die Funktionsweise nicht öffentlich sind. Demonstriert wird dies mit einer GPU aus dem Hause NVIDIA. Es ist jedoch nicht ausgeschlossen, dass dies auf vielen anderen GPU-Architekturen anderer Hersteller ebenfalls möglich ist.
Drei konkrete Methoden haben die Forscher dabei entwickelt. Die Tatsache, dass Grafikkarten das Rendering von Browser-Inhalten vornehmen, sorgt dafür, dass per OpenGL eine Malware eingeschleust werden kann, die dann wiederum sämtliche Daten ausliest. Dies können einfach nur die visuellen Inhalte aus dem Browser, aber auch Daten sein, die dort eingegeben werden.
In die gleiche Kerbe schlägt auch ein Angriff, der Benutzernamen und Passwörter aus den Login- und Passwort-Abfragen im Browser extrahiert. Eigentlich sollten solche Prozesse voneinander getrennt und es damit nicht möglich sein, von einem Prozess auf den Speicher eines weiteren zuzugreifen. Eben genau dies ist über die Sidechannel-Attacken aber möglich.
Die dritte Methode könnte vor allem im Datacenter ein Problem sein, denn Prozesse müssen nicht auf die Darstellung von UI-Elementen oder Browserfenstern beschränkt sein. GPUs übernehmen als GPU-Beschleuniger auch die Berechnung großer Datenmengen. Aufgrund der vielen tausend Shader pro GPU können komplizierte Aufgaben in tausende kleine Teile aufgetrennt und damit deutlich schneller berechnet werden. Die Prozesse sollten ihre Daten aber immer getrennt voneinander behandeln und nur auf Wunsch Zugriff untereinander gewähren. Eben dies können sich Angreifer ebenfalls zu Nutze machen und über infizierte Prozesse auf den Speicher anderer zugreifen, um dort die gewünschten Daten zu extrahieren.
Zumindest die letzte Attacke lässt sich wohl verhindern, in dem man den Zugang zu den Performance Countern für User-Level-Prozesse abschaltet. Allerdings funktionieren einige Anwendungen nur, wenn genau dies möglich ist. Die Performance Counter führen auf, wann Zugriffe auf den Speicher erfolgen. Daraus lassen sich beispielsweise Rückschlüsse darauf ziehen, um welche Daten es sich handelt.
Die Forscher haben ihre Ergebnisse bereits im vergangenen Monat auf der ACM SIGSAC präsentiert. Neben NVIDIA wurden auch AMD und Intel über die Erkenntnisse informiert. Derzeit gibt es noch keine offiziellen Reaktionen seitens der besagten GPU-Hersteller.
Danke an Gamer1969 für den Hinweis!
Update:
Wir werden darauf verwiesen, dass die eigentliche Entdeckung von Sidechannel-Attacken auf GPUs bereits mehrere Monate alt ist. Mit einem GeForce-Treiber im Februar diesen Jahres sollen einige der Sicherheitslücken bereits geschlossen worden sein. Wie dies auf Seiten von AMD aussieht, ist nicht bekannt.