Een groep onderzoekers van vier Amerikaanse universiteiten heeft een aanvalltechniek ontwikkeld, Pixnapping (CVE-2025-48561), waarmee de inhoud die door andere applicaties op het scherm wordt weergegeven, kan worden bepaald vanuit niet-privilegeerde Android-applicaties die geen aanvullende machtigingen aanvragen. Als voorbeeld van de praktische toepassing van de aanval werd de identificatie van de codes voor twee-factor-authenticatie gedemonstreerd, die door de Google Authenticator-app worden weergegeven. Ook werd getoond hoe de aanval kan worden gebruikt om vertrouwelijke gegevens te extraheren die op het scherm worden weergegeven tijdens het gebruik van Gmail, Signal, Venmo en Google Maps.
Voor het bepalen van de inhoud van het scherm is een methode voor pixel-analyse ingezet, die in 2023 door hetzelfde team van onderzoekers is uitgevoerd in de aanval via externe GPU-kanalen.zip en voor het eerst in 2013 werd beschreven. De essentie van de methode is dat door de optimalisaties die in de GPU aanwezig zijn, de rendering van een pixel met een kleur die al op het scherm is weergegeven, sneller verloopt dan die van een pixel met een andere kleur. Door het tijdsverschil bij het renderen van pixels te evalueren, kan de reeds aanwezige inhoud op het scherm worden gereconstrueerd en een soort screenshot worden gevormd.
De Pixnapping-aanval houdt in dat het doelwitapplicatie wordt aangeroepen, zijn venster bovenop wordt weergegeven en pixel voor pixel de inhoud wordt doorlopen met een analyse van de uitvoeringstijd van grafische bewerkingen op elke pixel. Dergelijke iteratie maakt het mogelijk om met hoge waarschijnlijkheid vast te stellen welke pixels de witte achtergrondkleur hebben en welke betrokken zijn bij het weergeven van tekens. Om de manipulatie van pixels voor de gebruiker te verbergen, worden lagen met masks opgelegd ā tijdens de aanval blijft de inhoud van het venster van de applicatie waarvan de aanval afkomstig is visueel op het scherm getoond.
Voor het activeren van de aangevallen applicatie en het binnenhalen van pixels uit zijn venster in de renderingpipeline wordt er geschakeld tussen Android-activiteiten met behulp van intent-verzoeken. Bovenop het venster van de aangevallen applicatie worden semi-transparante vensters weergegeven die afzonderlijke pixels benadrukken en de uitvoering van grafische bewerkingen met hen initiƫren via de Window Blurs API. Voor het meten van de exacte renderingtijd van een pixel worden callback-oproepen gebruikt die aan VSync zijn gekoppeld.

Een beperking van de eerder voorgestelde methode GPU.zip was de lage prestaties: bij de aanval op de browser kostte het 30 minuten om de naam te bepalen waaronder de gebruiker in een ander tabblad was ingelogd op Wikipedia, wat 215 minuten duurde op de GPU Intel i7-8700 met een nauwkeurigheid van 97-98%. Om binnen het 30-secondeninterval voor het bijwerken van de codes in Google Authenticator te blijven, is de methode geoptimaliseerd en verbeterd. Het aantal controles per pixel is verminderd van 64 naar 16, en de vertraging tussen het verwerken van pixels is verkort van 1,5 seconden tot 70 milliseconden. De scan werd niet over het hele scherm uitgevoerd, maar alleen in het gebied waar Google Authenticator de code toont.
De methode werd getest op de smartphones Pixel 6, 7, 8 en 9 met Android-versies 13-16 voor het bepalen van de 106-zescijferige codes voor twee-fasenauthenticatie, gegenereerd in Google Authenticator. De nauwkeurigheid van de codebepaling op de genoemde smartphones was respectievelijk 73%, 53%, 29% en 53%, terwijl de tijd voor bepaling 14,3, 25,8, 24,9 en 25,3 seconden was. Op de smartphone Samsung Galaxy S25 slaagden de onderzoekers er niet in om binnen het 30-secondeninterval te blijven vanwege de ruis die werd veroorzaakt door andere applicaties, maar op het apparaat werden aanvalsmogelijkheden op andere applicaties getoond waarvoor geen tijdslimieten golden. De mechanismen die in de aanval werden gebruikt, zijn niet specifiek voor bepaalde smartphone-modellen en de aanval kan potentieel elke Android-apparaat beĆÆnvloeden.
In de kwetsbaarhedenpatches van september heeft Google een aanvankelijke beveiliging tegen de aanval toegevoegd aan Android,, gebaseerd op het verbod op het toepassen van de vervaging op een groot aantal lagen. In reactie daarop vonden onderzoekers een manier om deze beperking te omzeilen, daarom is Google van plan om een uitgebreidere beveiliging te implementeren in de decembersupdate van Android. GPU-fabrikanten hebben tot nu toe geen plannen aangekondigd om het lek kanaal te verhelpen, ondanks dat de aanvalsmethode al meer dan 12 jaar bekend is.
Bron: opennet.ru
