En gruppe forskere fra fire amerikanske universiteter har udviklet en Pixnapping-angrebsteknik (CVE-2025-48561), der gør det muligt for ikke-privilegerede Android-apps, som ikke anmoder om yderligere rettigheder, at bestemme indholdet, der vises på skærmen af andre apps. Som et eksempel på en praktisk anvendelse af angrebet blev det demonstreret, hvordan man kan bestemme koderne for to-faktor autentificering, der vises af Google Authenticator-appen. Det blev også vist, hvordan angrebet kan anvendes til at udtrække fortrolige data, der vises på skærmen, når man arbejder med Gmail, Signal, Venmo og Google Maps.
Til bestemmelser af skærminholdet benyttes en pixel-for-pixel analysemetode, der blev implementeret i 2023 af det samme forskerhold ved angrebet via GPU.zip og første gang beskrevet helt tilbage i 2013. Essensen af metoden er, at på grund af de optimeringer, der findes i GPU'en, bliver gengivelsen af en pixel med en farve, der allerede er vist på skærmen, hurtigere end for en pixel med en anden farve. Ved at vurdere forskellen i tid ved gengivelsen af pixel kan man genskabe det allerede eksisterende indhold på skærmen og danne en slags screenshot.
Pixnapping-angrebet består i at kalde den målrettede app, vise sit eget vindue ovenpå og udføre en pixel-for-pixel søgning af indholdet med analyse af tidsforbruget af grafiske operationer for hver enkelt pixel. En sådan søgning gør det muligt med høj sandsynlighed at bestemme, hvilke pixels der har en hvid baggrundsfarve, og hvilke der deltager i visningen af tegn. For at skjule manipulationerne med pixels for brugeren anvendes der lag med masker - under angrebet fortsætter det visuelle indhold fra den app, der udfører angrebet, med at blive vist på skærmen.
For at aktivere den angrebne app og bringe pixels fra dens vindue ind i gengivningspipeline skiftes der mellem Android-aktiviteter ved hjælp af intent-anmodninger. Halvtransparente vinduer vises oven på vinduet til den angrebne app og fremhæver enkelte pixels og initierer udførelsen af grafiske operationer med dem ved hjælp af API Window Blurs. For at måle den præcise tid for gengivelsen af en pixel anvendes callback-anmodninger, som er knyttet til VSync.

Begrænsningen af den tidligere foreslåede metode GPU.zip var den lave ydeevne — ved angreb på browseren krævede det 30 minutter at bestemme navnet, som brugeren var logget ind på Wikipedia under i en anden fane, med en GPU AMD Ryzen 7 4800U, og 215 minutter med en GPU Intel i7-8700 med en nøjagtighed på 97-98%. For at overholde det 30-sekunders interval for opdatering af koder i Google Authenticator blev metoden forbedret og optimeret. Antallet af kontroller for hver pixel blev reduceret fra 64 til 16, og forsinkelsen mellem behandling af pixels blev reduceret fra 1,5 sekunder til 70 millisekunder. Scanning blev udført ikke af hele skærmen, men kun af det område, hvor Google Authenticator viser koden.
Metoden blev afprøvet på smartphones Pixel 6, 7, 8 og 9 med Android-versioner 13-16 for at bestemme et hundrede sekscifrede koder til to-faktor autenticering, genereret i Google Authenticator. Nøjagtigheden af kodedetektionen på de nævnte smartphones var 73%, 53%, 29% og 53%, mens det tidsmæssige input var 14,3, 25,8, 24,9 og 25,3 sekunder, henholdsvis. På Samsung Galaxy S25 kunne forskerne ikke overholde det 30-sekunders interval på grund af støj fra andre applikationers arbejde, men der blev præsenteret angrebsmuligheder på andre applikationer, for hvilke der ikke var tidsbegrænsninger. Mekanismerne, der blev brugt i angrebet, er ikke specifikke for enkelte smartphone-modeller, og angrebet kan potentielt påvirke alle Android-enheder.
Google har i september-patches for sårbarheder tilføjet en indledende beskyttelse mod angreb, baseret på at forbyde operationen til at sløre et stort antal lag. Som svar har forskerne fundet en måde at omgå denne begrænsning, hvorfor Google planlægger at implementere en mere omfattende beskyttelse i december-opdateringen af Android. Producenterne af GPU'er har endnu ikke annonceret deres intentioner om at afhjælpe lækagekanalen, selvom angrebsmetoden har været kendt i over 12 år.
Kilde: opennet.ru
