Weggeknipte info uit Google Pixel-screenshots te achterhalen door bug

Informatie die gebruikers van Google Pixel-telefoons hebben weggeknipt, is in veel gevallen terug te halen door een bug. Google heeft de kwetsbaarheid voor veel telefoons gefikst, maar de bug kan nog steeds negatieve gevolgen hebben.

Onderzoekers Simon Aaarons en David Buchanan vonden de bug en hebben een uitleg online gezet. De bug, die zij aCropalypse noemen, houdt in dat bij veel screenshots van Pixel-telefoons waarbij delen zijn weggeknipt of geblurd de originele afbeelding deels of helemaal te reconstrueren is. De onderzoekers hebben een tool online gezet, waarmee dat te testen is.

Google had de bug als op 'hoog' ingeschaald, omdat mogelijk hierdoor privé-gegevens van gebruikers uitlekken. Omdat sommige webdiensten zelf compressie toepassen op afbeeldingen, zijn toegestuurde screenshots in veel gevallen niet te reconstrueren. Onder meer Twitter comprimeert afbeeldingen zelf, maar Discord deed dat lang niet.

Google heeft de bug gefikst in de maart-update voor veel van zijn Pixel-telefoons. O De bug zit sinds Android 10 in het systeem en komt door een fout die al een paar jaar bekend was. Het is onbekend of er misbruik is gemaakt van het lek.

ACropolapypse, bug in Markup-tool voor screenshots Google Pixel

Door Arnoud Wokke

Redacteur Tweakers

20-03-2023 • 17:25

18

Reacties (18)

Sorteer op:

Weergave:

Leuk om erbij te vermelden dat de bug komt omdat de screenshot tool; na het wegknippen van stukjes afbeelding; het originele bestand overschrijft zonder daarbij het eind van het original bestand te verwijderen als het nieuwe bestand kleiner is.

Deze extra data achter het nieuwe bestand kan data bevatten waarmee stukken van de originele afbeelding teruggehaald kan worden.

Dit is vooral een gevaar als je een afbeelding cropt waardoor het resultaat uiteraard veel kleiner is dan het origineel, waardoor er veel data van de origineel nog aanwezig kan zijn.
De bug is een gevolg van een ongedocumenteerde API change in Android 10. In plaats van dat parseMode("w") ook een truncate van de file impliceert (zoals voor Android 10 het geval was), moet men expliciet aangeven dat de file getruncated moet worden (mbhv "wt").

Ik ben niet thuis in Android development, maar wordt die "parseMode" veel gebruikt bij file-io? Of is dit enkel iets dat bij Pixel telefoons gebruikt wordt?

Indien het eerste lijkt me dat dit ook op andere toestellen (Samsung heeft bvb ook een screenshot crop util), of in andere toepassingen, een probleem kan zijn?
Apart, want je zou verwachten dat inkorten van het bestand (truncate) de default keuze is, aangezien je anders onnodig extra geheugen gebruikt. Dit roept de vraag op wat er nog meer aan data in aangepaste, niet-ingekorte bestanden blijft hangen op Android?
Dit was een opgave uit de "Underhanded C Contest" waar je een bug moest maken die lijkt op een domme vergissing, en die zorgt dat een "gecensureerd" plaatje te reconstrueren is: http://underhanded-c.org/_page_id_17.html
Ik kan dit inderdaad reproduceren op oude screenshots uit mijn galerij.

Wat betreft Discord; het schijnt dat ze op 17 januari van dit jaar het hebben gefixt/aangepast en dat het daarna niet meer kan. Ik heb het echter ook geprobeerd op een paar oude screenshots geprobeerd die ik voor die datum via Discord heb gestuurd en kreeg het daar (gelukkig) ook niet voor elkaar. Is iemand anders dit wel gelukt?
Screenshots voor 17 januari op discord kan ik zelf wel terug halen.
In principe zijn services als Discord geen oorzaak van het probleem. Het is namelijk niet redelijk om te stellen dat compressie op andermans content toepassen (dus andermans content aanpassen) een goede werking is.
Zeker niet zolang het bij gebruikers van dit soort services niet duidelijk is wat het precies doet of deed.

Zolang een service dus niet heel duidelijk is dat het opzettelijk een aanpassing heeft om deze fouten uit bestanden te halen kun je er dus maar beter vanuit gaan dat het niet geschikt is om op te vertrouwen dat het je zal beschermen. Dat gaat dus voor iedere service op, niet alleen Discord.
Gelukkig doe ik dit nooit met een telefoon, als ik iets wil knippen en afschermen gebruik ik daar altijd desktop tools for.
Want in desktopsoftware zitten nooit bugs?
Ik had een keertje met de teken tool in de Windows fotoapplicatie streepjes gezet over data die ik wilde verbergen. Leuk en aardig, maar toen ik het opende, zag ik dat het streepje snel over de afbeelding getekend werd waardoor je nog steeds de gegevens kon zien.
Over het algemeen werken foto bewerkings programma's met lagen, juist zodat je dit soort wijzigingen ook weer makkelijk ongedaan kan maken. Allemaal opgeslagen in een eigen bestandsformaat.
Om er dan een echte afbeelding van te maken moet je de boel dan exporteren als afbeelding.
Wat @PhelX denk ik bedoeld is dat in die tekentool het soms als “animatie” wordt opgeslagen. Ik heb dat ook een keer gehad met die Windows 10 image edit tool. Geen idee waarom. Had in dit geval niets te maken met lagen (heb vroeger heel veel met Photoshop gewerkt, maar dit was voor mij ook een verassing!)
nderzoekers Simon Aaarons en David Buchanan vonden de bug
Het heeft inmiddels ook Tweakers bereikt ;).
Auteurarnoudwokke Redacteur Tweakers @Solaris20 maart 2023 17:52
Ik denk ik crop het even ;) Thanks!
Deze ook gecropt?
O De bug zit sinds Android 10 in het systeem en komt door een fout
Ah, is zojuist gefikst.

[Reactie gewijzigd door Anonymoussaurus op 29 juli 2024 00:49]

Thanks voor de post! Had hem ook ingediend zodat jullie er een artikel over konden maken, maar gelukkig hebben jullie hem zelf ook gevonden.
Het lijkt me dat dit dit niet alleen voor Pixel telefoons geldt, of zal de implementatie van fabrikanten als Samsung dusdanig anders zijn met eigen gallerij en dus crop functionaliteit?

Op dit item kan niet meer gereageerd worden.