Een groep onderzoekers van verschillende Amerikaanse universiteiten heeft een nieuwe techniek ontwikkeld voor aanvallen via zijkanalen, waarmee visuele informatie die door de GPU wordt verwerkt, kan worden gereconstrueerd. Met de voorgestelde methode, die de naam GPU.zip heeft gekregen, kan de aanvaller bepalen welke informatie op het scherm wordt weergegeven. Onder andere kan de aanval via een webbrowser worden uitgevoerd, bijvoorbeeld is aangetoond hoe een kwaadaardige webpagina die in Chrome is geopend, informatie kan verkrijgen over de pixels die worden weergegeven bij het renderen van een andere webpagina die in dezelfde browser is geopend.
De bron van de informatielekken is de optimalisatie die in moderne GPU's wordt toegepast om grafische gegevens te comprimeren. Het probleem dwaalt op bij het gebruik van compressie op alle getest geïntegreerde GPU's (AMD, Apple, ARM, Intel, Qualcomm) en discrete grafische kaarten van NVIDIA. Onderzoekers hebben ontdekt dat geïntegreerde GPU's van Intel en AMD altijd grafische gegevenscompressie inschakelen, zelfs als de applicatie specifiek niet vraagt om dergelijke optimalisatie. Het gebruik van compressie leidt ertoe dat het verkeer in DRAM en de belasting op de cache correlaties vertonen met de aard van de verwerkte gegevens, die pixelgewijs kunnen worden gereconstrueerd via analyse via zijkanalen.
De methode is vrij traag; bijvoorbeeld, op een systeem met een geïntegreerde AMD Ryzen 7 4800U GPU, nam de aanval om de naam te bepalen waaronder de gebruiker in een andere tab Wikipedia was ingelogd, 30 minuten in beslag en stelde het in staat om de inhoud van de pixels met een nauwkeurigheid van 97% te bepalen. Op systemen met een geïntegreerde Intel i7-8700 GPU duurde een vergelijkbare aanval 215 minuten met een nauwkeurigheid van 98%.
Bij het uitvoeren van de aanval via de browser wordt de doelwebsite cyclisch geopend in een iframe om de rendering te initiëren. Om de weergegeven informatie te bepalen, wordt de uitvoer van het iframe omgezet in een zwart-witweergave, waaraan een SVG-filter wordt toegepast dat een serie maskers aanbrengt, die meer of minder overbodig zijn bij compressie. Op basis van de beoordeling van de wijziging in de renderingstijd van referentievoorbeelden wordt de aanwezigheid van donkere of lichte pixels op een bepaalde positie vastgesteld. Het totale beeld wordt gereconstrueerd door een pixelgewijze controle met behulp van dergelijke maskers.

GPU- en browserfabrikanten zijn in maart op de hoogte gesteld van het probleem, maar geen enkele leverancier heeft tot nu toe een oplossing voorbereid, omdat het uitvoeren van een aanval in de praktijk twijfelachtig is onder ideale omstandigheden en het probleem meer theoretisch van interesse is. Google heeft nog geen beslissing genomen over de haalbaarheid van het blokkeren van de aanval op browserniveau in Chrome. Chrome is kwetsbaar omdat het het laden van iframes van andere sites toestaat zonder cookies te schonen, het toepassen van SVG-filters op iframes mogelijk maakt en de uitvoering van GPU-rendering delegeert. Firefox en Safari zijn niet kwetsbaar omdat ze niet aan deze criteria voldoen. De aanval is ook niet toepasbaar op sites die het insluiten via iframes op andere sites verbieden (bijvoorbeeld door de HTTP-header X-Frame-Options in te stellen op "SAMEORIGIN" of "DENY", evenals via toegangsinstellingen met de header Content-Security-Policy).
Bron: opennet.ru
