image

Hacker ontwikkelt niet te verwijderen cookie

donderdag 23 september 2010, 10:38 door Redactie, 15 reacties

De bekende beveiligingsonderzoeker Samy Kamkar, die in 2005 de eerste cross-site scripting worm ontwikkelde, heeft nu een niet te verwijderen cookie bedacht. De 'evercookie' is een JavaScript API dat "extreem persistente cookies in een browser produceert". Zodoende zijn gebruikers toch nog door een website of advertentiebedrijf te identificeren, ook al hebben ze de standaard cookies, Flash cookies en andere bestanden verwijderd.

De evercookie doet dit door de cookiegegevens in verschillende soorten opslag mechanismen op te slaan waar de browser toegang toe heeft. Als evercookie ontdekt dat de gebruiker cookies heeft verwijderd, maakt het die zelf weer aan. "Zie het als cookies die gewoon niet weg gaan", zo laat Kamkar op zijn weblog weten. Daar is inmiddels ook de broncode en een proof-of-concept versie van de evercookie te vinden.

Afbeelding
Als evercookie een cookie plaats, benadert het evercookie.php met een speciale HTTP cookie, die van de standaard sessiegegevens verschilt. Dit speciale cookie wordt door het PHP bestand gelezen, en indien gevonden, genereert een PNG-bestand waar alle ingestelde RGB waarden gelijk zijn aan de te bewaren sessiegegevens. Vervolgens wordt het PNG-bestand terug naar de browser gestuurd, met het verzoek om het bestand voor de komende twintig jaar te cachen.

Als evercookie dit bestand weer ophaalt, verwijdert het het speciale HTTP cookie en stuurt vervolgens hetzelfde verzoek naar het zelfde bestand, zonder informatie van de gebruiker. Als het PHP script ziet dat het geen informatie heeft om een PNG-bestand mee te genereren, stuurt het een valse HTTP response terug, die de browser dwingt om de lokale cache aan te roepen. De browser produceert dan het gecachte PNG-bestand en past de HTML5 Canvas tag toe. Via de Canvas tag kan evercookie elke pixel uitlezen, de RGB waarden achterhalen en zo de oorspronkelijke, maar verwijderde cookie herstellen.

Gebruikers die zich zorgen maken adviseert Kamkar om de private browsing optie van Safari te kiezen, aangezien dit alle evercookie methoden na een browser herstart stopt.

Reacties (15)
23-09-2010, 10:45 door Mysterio
Mooi, zou Microsoft h'm nog mee kunnen nemen in IE9? Gewoon aanmelden als bug in de Beta :D
23-09-2010, 11:01 door Ilker
ik zeg : Doen!
23-09-2010, 11:39 door johanw
Dat wordt dus wachten op een Firefox plugin die de html5 canvas tag blokkeert of dummy waarden doorgeeft. Of wat subtieler, als dat uitlezen enig nut zou hebben en je wilt die functionaliteit ongeveer behouden, de terug te sturen respons vervuilt met wat random ruis, te weinig om het effect erg te veranderen maar genoeg om deze toepassing te slopen.
23-09-2010, 11:45 door Anoniem
Er is een firefox plugin, BetterPrivacy, voor het automatisch verwijderen van flash cookies als je de browser sluit (of periodiek) Verder kun je firefox instellen om je cookies, geschiedenis en cache te wissen bij het afsluiten. Als je dit doet blijft de evercookie niet staan. Dat kun je zelf testen op http://samy.pl/evercookie .
23-09-2010, 12:45 door Bitwiper
Samy geeft zo te zien vanavond in Rotterdam een voordracht, zie http://www.owasp.org/index.php/netherlands (deze OWASP meeting staat ook aangekondigd op security.nl, zie http://www.security.nl/evenementen/2010-09#29)
23-09-2010, 13:41 door [Account Verwijderd]
Door Anoniem: Er is een firefox plugin, BetterPrivacy, voor het automatisch verwijderen van flash cookies als je de browser sluit (of periodiek) Verder kun je firefox instellen om je cookies, geschiedenis en cache te wissen bij het afsluiten. Als je dit doet blijft de evercookie niet staan. Dat kun je zelf testen op http://samy.pl/evercookie .

FF 3.6.10
BetterPrivacy 1.48.3

Mijn situatie:
FF accepteert alleen session cookies en verwijdert ze bij afsluiten, samen met alle geschiedenissen en cache. BetterPrivacy delete LSO's bij afsluiten en opstarten. De evercookie blijft in mijn geval bestaan en ik zie geen verschil met jouw situatie. Dus misschien wil je iets meer details geven?
23-09-2010, 14:12 door Anoniem
Wat is die man nou een beveiligingsonderzoeker of gewoon een ordinaire hacker die zijn techniek doorverkoopt aan de hoogste bieder?
Ik vind dit gewoon een enorme breuk op iemands privacy en het zou wettelijk verboden moeten worden om unberhaubt zulke cookies te maken en te gebruiken!
23-09-2010, 15:28 door Rubbertje
Is dit niet een uitdaging voor de antivirus industrie? Ik bedoel, als ik eens in de zoveel tijd een deep computerscan doe met mijn mijn antivirus programma, of een online scan van een andere vendor, dan zijn het meestal alleen maar cookies die gevonden en verwijderd worden... Dus bij een volgende signature database zou deze 'evercookie' ook herkent en verwijderd moeten kunnen worden lijkt mij...
23-09-2010, 16:31 door Anoniem
Door Anoniem: Ik vind dit gewoon een enorme breuk op iemands privacy en het zou wettelijk verboden moeten worden om unberhaubt zulke cookies te maken en te gebruiken!
Laat het woord "zulke" maar weg hoor.

Door Bastos: Is dit niet een uitdaging voor de antivirus industrie? Ik bedoel, als ik eens in de zoveel tijd een deep computerscan doe met mijn mijn antivirus programma, of een online scan van een andere vendor, dan zijn het meestal alleen maar cookies die gevonden en verwijderd worden... Dus bij een volgende signature database zou deze 'evercookie' ook herkent en verwijderd moeten kunnen worden lijkt mij...

Tja dat wordt dan toch echt een stukje rocket science. Hoe kan een scanner onderscheidt tussen een plaatje en een plaatje?
23-09-2010, 17:11 door [Account Verwijderd]
[Verwijderd]
23-09-2010, 18:02 door Blijbol
Was zelf toevallig ook bezig voor de lol zoiets te maken. Mijne is wel gedeeltelijk JS-onafhankelijk, dus misschien toch maar doorgaan. Canvas-truc is leuk, maar je kunt net zo goed een stuk JavaScript met daarin je ID hardcoded cachen. CSS-visited-hack is inderdaad leuk op dit punt; langere, echt unieke ID's hiermee opslaan kan door het ID op te splitsen en dan in delen te reconstrueren door voor elk ID-deel andere URL's in de geschiedenis te proberen, wat ik heb gedaan. Ik heb ook een ongeldig P3P-beleid en het cookie wordt bij mij ook opgeslagen bij het verlaten van de pagina, voor zover ik kan zien heeft deze onderzoeker dat nog niet. Niettemin goed en leuk werk.
23-09-2010, 20:09 door Anoniem
Ik had het "niet te verwijderen cookie" van mijn pc weer weg kunnen krijgen. Met SandboxIE ben ik naar de site gegaan van de maker:P, vervolgens daar zo'n cookie aangemaakt, vervolgens de sandbox leeg gemaakt.

Resultaat: Weg cookies:D
23-09-2010, 22:28 door Anoniem
Wat een onzin weer. Ten eerste is hij niet de eerste die een cross-site scripting worm ontwikkelde, ten tweede zijn er tientallen andere manieren voor persistente cookies. FUD.
24-09-2010, 06:19 door Dev_Null
Al eens gedacht aan de optie Format C: of een bootable cdrom met een OS erop?
Zou dat cookie dan nog blijven staan :-P
25-09-2010, 15:22 door Blijbol
Door Anoniem: Wat een onzin weer. Ten eerste is hij niet de eerste die een cross-site scripting worm ontwikkelde, ten tweede zijn er tientallen andere manieren voor persistente cookies. FUD.
Opmerkingen B en C spreken elkaar tegen. Opmerking A heeft niets met de rest te maken.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.