Een groep onderzoekers van verschillende Amerikaanse universiteiten heeft een nieuwe side-channel aanvalstechniek ontwikkeld waarmee de visuele informatie die door de GPU wordt verwerkt, kan worden gereconstrueerd. Met behulp van de voorgestelde methode, die GPU.zip wordt genoemd, kan een aanvaller de informatie die op het scherm wordt weergegeven, bepalen. De aanval kan onder andere via een webbrowser worden uitgevoerd. Zo werd bijvoorbeeld aangetoond hoe een kwaadaardige webpagina die in Chrome wordt geopend, informatie kan verkrijgen over de pixels die worden weergegeven bij het weergeven van een andere webpagina die in dezelfde browser wordt geopend.
De bron van het informatielek is de optimalisatie die wordt gebruikt in moderne GPU's, die zorgt voor compressie van grafische data. Het probleem doet zich voor bij gebruik van compressie op alle geteste geïntegreerde GPU's (AMD, Apple, ARM, Intel, Qualcomm) en afzonderlijke NVIDIA-videokaarten. Tegelijkertijd ontdekten de onderzoekers dat geïntegreerde Intel- en AMD-GPU's altijd compressie van grafische data inschakelen, zelfs als de applicatie niet specifiek om een dergelijke optimalisatie vraagt. Het gebruik van compressie leidt ertoe dat het verkeer in DRAM en de cachebelasting correleren met de aard van de verwerkte data, die pixel voor pixel kan worden gereconstrueerd door analyse via externe kanalen.
De methode is vrij traag. Op een systeem met een geïntegreerde AMD Ryzen 7 4800U GPU duurde een aanval om de naam te bepalen waaronder de gebruiker Wikipedia in een ander tabblad had ingevoerd bijvoorbeeld 30 minuten en kon de inhoud van pixels met 97% nauwkeurigheid worden bepaald. Op systemen met een geïntegreerde Intel i7-8700 GPU duurde een vergelijkbare aanval 215 minuten met een nauwkeurigheid van 98%.
Bij een browsergebaseerde aanval wordt de doelsite cyclisch geopend in een iframe om de rendering te starten. Om te bepalen welke informatie wordt weergegeven, wordt de iframe-uitvoer omgezet naar een zwart-witweergave, waarop een SVG-filter wordt toegepast. Dit filter plaatst maskers die wel en niet veel redundantie veroorzaken tijdens compressie sequentieel over elkaar heen. Op basis van een beoordeling van de verandering in renderingtijd van referentiesamples wordt de aanwezigheid van donkere of lichte pixels op een bepaalde positie vastgesteld. De volledige afbeelding wordt gereconstrueerd door middel van sequentiële pixel-voor-pixelcontrole met behulp van dergelijke maskers.

Leveranciers van GPU's en browsers werden in maart op de hoogte gebracht van het probleem, maar geen enkele leverancier heeft tot nu toe een oplossing voorbereid, aangezien de aanval in de praktijk waarschijnlijk niet zal worden geïmplementeerd onder minder ideale omstandigheden en het probleem meer theoretisch van belang is. Google heeft nog niet besloten of de aanval op Chrome-browserniveau zal worden geblokkeerd. Chrome is kwetsbaar omdat het laden van een iframe van een andere website mogelijk maakt zonder cookies te wissen, het toepassen van SVG-filters op het iframe toestaat en rendering delegeert aan de GPU. Firefox en Safari zijn niet kwetsbaar omdat ze niet aan deze criteria voldoen. De aanval is ook niet van toepassing op websites die embedding via iframes op andere websites verbieden (bijvoorbeeld door de HTTP-header X-Frame-Options in te stellen op "SAMEORIGIN" of "DENY", of door toegangsinstellingen te configureren met de header Content-Security-Policy).
Bron: opennet.ru
