Onderzoekers van CyLab hebben dit vastgesteld en hun bevindingen gepubliceerd in een paper (pdf). Daarin stellen ze dat eenderde van de 33.000 sites die ze onderzocht hebben technische fouten bevatten, waardoor Internet Explorer 6, 7 en 8 toelaten dat cookies worden geïnstalleerd. Dat gebeurt ook als de gebruiker de browser zo heeft ingesteld dat cookies geweigerd moeten worden.

De fouten zitten in de compact policies, de bestanden waarin de website wordt beschreven en die door de browser worden gebruikt bij het filteren van cookies. De onderzoekers hebben bij veel sites fouten in die bestanden gevonden. Sommige van die fouten zijn ongelukjes, maar meer dan de helft ervan is moedwillig aangebracht om IE te misleiden.

P3P

De privacy policies zijn geregeld in een aanbeveling van het World Wide Web Concortium (W3C). Die aanbeveling, het Platform for Privacy Preferences (P3P), heeft gezorgd voor twee formaten voor het aangeven van privacy policies: full policies en compact policies. In de full policies worden de policies van een website in detail uitgewerkt in XML-bestanden. In de compact policies (CP’s) worden de policies samengevat in een string van drie- en vier-karakter tokens. Deze CP’s worden door browsers gebruikt om cookies te filteren.

In 2002 hebben regelgevers in Europa, Canada en de Verenigde Staten uitdrukkelijk gesteld dat deze P3P-policies bindend moeten zijn. Ze moeten een representatie voor websitebezoekers zijn waarop die eindgebruikers kunnen vertrouwen.

De onderzoekers hebben de CP’s vergeleken met de full policies. Om al die 33.000 policies niet helemaal door te hoeven lezen, hebben ze die geautomatiseerd doorzocht. Daarbij is gespeurd naar fouten in de syntax van de CP’s, op conflicterende tokens en op onvolledige CP’s. Uit dat onderzoek blijkt dat bijna 34 procent van de CP’s minstens één fout bevat in deze categorieën.

IE misleiden

Het gaat in veel gevallen om typo’s en vergissingen, stelt Lorrie Faith Cranor, de directeur van het CyLab Usable Privacy en Security Laboratory, tegen The New York Times. Maar ze denkt toch dat meer dan de helft van de fouten opzettelijk is gemaakt om IE te misleiden. Zo laten sites de browser bijvoorbeeld niet weten als ze bepaalde informatie doorgeven, en IE laat deze cookies vervolgens gewoon door.

Internet Explorer is de enige browser die gebruik maakt van deze CP’s. Andere browsers houden het simpeler voor de gebruiker. Daarin kunnen gebruikers er alleen voor kiezen om alle cookies te blokkeren, om alleen third-party cookies te blokkeren of om ze allemaal door te laten.

Misbruik van gat in IE

Internet Explorer is wat dit betreft dus geavanceerder dan andere browsers, maar het gaat er wel vanuit dat de CP’s betrouwbaar zijn. Het controleert alleen of deze CP’s stellen dat een site wel of niet voldoet aan de policies van de gebruiker. Maar als er een fout staat in de CP, dan laat IE cookies dus gewoon door.

Hiervan wordt blijkbaar op grote schaal misbruik gemaakt door webmasters. Studenten die het onderzoek uitvoerden, merkten al snel op dat een groot aantal sites precies dezelfde fouten maakten. Toen ze de code opzochten in Google kwamen ze uit bij een support-pagina van Microsoft.

Die pagina is inmiddels offline, maar is gecached en kan hier nog bekeken worden. Microsoft stelt dat de code die daar wordt getoond slechts een voorbeeld was, geen aanbeveling. In een ander artikel laat de IE-maker webontwikkelaars zien hoe ze P3P-policies op een goede manier moeten schrijven.

Grote sites

Maar de ontwikkelaars van Microsoft zelf hebben toch ook moeite met de CP’s. Op Microsoft.com, windows.com en MSN.com zijn die bestanden met cookie-policies ook niet correct. Een aantal grote sites maakt verder misbruik van het gat in Internet Explorer. Zo heeft Facebook zijn CP gemanipuleerd waardoor IE de cookies van dat sociale netwerk doorlaat. Ook Amazon, IMDB en bijvoorbeeld Joomla.org staan op de lijst met sites die fouten hebben gemaakt in hun CP’s.

Update 10:24 uur: Aanpassing gemaakt in de regel over regelgeving in Europa, Canada en de Verenigde Staten.