Zoals de meeste bezoekers van deze site zullen weten kent internetten allerlei risico's. Internetbankieren is wel de bekendste: het is makkelijker voor de gebruiker, maar er doet zich allerlei spyware en phishing de ronde die op de inloggegevens uit is. Daarnaast zijn er allerlei bedrijven die, hoewel legaal, bewust inbreuk maken op onze privacy om geld te verdienen aan advertenties.
Elke zoveel tijd wordt er ook weer een kwetsbaarheid gevonden in HTTPS. De meesten zijn te patchen zoals BEAST en CRIME, maar de meest recente genaamd BREACH is niet zomaar te verhelpen. Op dit moment is de enige bekende fix het uitschakelen van compressie op server-niveau, iets wat veel websites vele malen trager zou maken. Dit zal in veel gevallen niet acceptabel zijn voor een relatief klein risico, waardoor men besluit de site niet te patchen en deze kwetsbaar blijft.
Toch kunnen we hier iets tegen doen. De CRIME en BREACH aanvallen zijn met één simpele handeling te elimineren: privénavigatiemodus (ook wel incognito-modus).
Om BREACH als voorbeeld te nemen: dit werkt door javascript in de browser te injecteren. Dit is niet mogelijk bij https, maar wel bij http. Als in één van de tabs nu.nl of een andere non-https website open staat, kan deze worden misbruikt om de exploit uit te voeren. De javascript die geïnjecteerd wordt stuurt vele verzoeken naar de aan te vallen https website. Omdat het vanuit de browser gebeurt worden cookies en dergelijke meegestuurd. Niet zichtbaar voor de aanvaller, maar wel voor de https website, die u daardoor herkent, weet dat u ingelogd bent, en dus eventuele privégegevens laat zien.
Door de compressie (die nagenoeg elke website gebruikt) kan de aanvaller byte voor byte "geheimen" raden. Bijvoorbeeld als het geheim het e-mailadres "ceo@example.org" is, dan zal de response van de site korter zijn wanneer de aanvaller de string "ceo@exa" test dan wanneer hij "abc@exa" test. Door dit verschil zijn stukken van de pagina te achterhalen. Denk naast e-mailadressen ook aan wachtwoorden, csrf-tokens, of zelfs de inhoud van een e-mail kan woord voor woord geraden worden.
Door privénavigatie te gebruiken voor websites die dit soort privégegevens bevatten kan de aanval onmogelijk gemaakt worden. Zorg dan wel dat in de privénavigatiemodus geen enkele tab met een http-website open staat!
Ook add-ons en extensies kunnen de nodige risico's opleveren. Hier wordt niet vaak over bericht maar er zijn meer dan genoeg extensies die data lekken door http te gebruiken, bijvoorbeeld voor updates. In Chrome is het mogelijk om extensies selectief uit te schakelen specifiek voor privénavigatiemodus, dus niet-essentiële extensies kunnen uitgeschakeld worden. Hierdoor kunnen dergelijke lekken in add-ons/extensies niet misbruikt worden en het risico op datalekken wordt ook kleiner.
Naast wat extra beveiliging heeft het ook voordelen voor onze privacy. Opgeslagen cookies en andere gegevens (zoals javascript's localstorage) uit de gewone browsersessie worden niet gebruikt bij privénavigatie. Het nadeel is dat u op elke site opnieuw moet inloggen omdat websites u niet meer herkennen, maar van de andere kant kunnen Google's Analytics scripts en andere advertentiebedrijven u dan ook niet zomaar meer herkennen.
Wat veel mensen niet weten is dat naast cookies, localstorage, browser profiling, uw IP-adres en user agent string, er nog een manier is om gebruikers uniek te herkennen: door middel van caching. Bij het laden van afbeeldingen wordt meestal een ETag mee teruggestuurd naar de browser. De volgende keer dat de afbeelding moet worden geladen, zal de browser deze ETag mee terugsturen naar de website. De website vergelijkt vervolgens de ontvangen ETag met de huidige ETag voor dat bestand, en als ze overeenkomen hoeft enkel een "HTTP 304 Not Modified" teruggestuurd te worden. Dit scheelt heel veel dataverkeer.
Het nadeel, zoals de oplettende lezer misschien al heeft opgemerkt, is dat dit gedrag erg veel lijkt op cookies. Bij cookies stuurt de website ook gegevens naar de browser, die later weer teruggestuurd worden naar de server. En dit is inderdaad ook het probleem: een site kan een ETag simpelweg een unieke waarde geven per gebruiker, en daarmee gebruikers later weer herkennen.
Dit is ook geen toekomstmuziek, de techniek is al meer dan 10 jaar bekend en is jaren geleden al gebruikt door onder meer Hulu.com en Spotify. Maar ook deze manier van tracking wordt gestopt door privénavigatiemodus: de browser zal geen ETags (of if-modified-since, een etag-alternatief) meesturen met afbeeldingen of andere gecachte resources.
Het is aan te raden om privénavigatie te gebruiken elke keer dat u niet gevolgd wilt worden (zoekopdrachten zeggen bijvoorbeeld veel over uw medische conditie) of wat extra beveiliging wenst (zoals bij internetbankieren). Het beveiligingsvoordeel is vooral groot op openbare netwerken zoals in de trein of op vakantie, daar is de kans op Man in the Middle aanvallen vele malen groter dan thuis. Echter kan het nooit kwaad, ook thuis is het aan te raden.
Het makkelijkste is om de sneltoets te gebruiken: In Firefox en Internet Explorer is deze ctrl+shift+P, in Google Chrome is deze ctrl+shift+N. U krijgt dan een nieuw browservenster. Typ vervolgens de site in met https:// ervoor, bijvoorbeeld https://mijn.ing.nl. Als dit niet handmatig intypt wordt kunnen er nog altijd verschillende aanvalstechnieken worden gebruikt zoals sslstrip of dns spoofing. Een bookmark of favoriet kan ook worden gebruikt, dat is nog makkelijker en verzekert ook dat HTTPS gebruikt wordt.
Let vervolgens na het laden van de pagina op twee dingen: Het domein en het slotje. Afhankelijk van uw browser staat links of rechts van de adresbalk een slotje. Een andere locatie (zoals in de pagina zelf) zegt niks, het slotje moet echt naast de adresbalk staan! Het domein waar u bent is in de meeste browsers dik gedrukt in de adresbalk zodat het makkelijker te herkennen is. Het domein wordt ook altijd gevolgd door een slash (/), nooit een ander teken.
Nadat u klaar bent kunt u het beste uitloggen en dan de privénavigatie sluiten (sluit simpelweg dat venster, evt. met ctrl+W). Als u nog iets anders wilt doen, bijvoorbeeld nog een andere rekening checken, sluit dan toch eerste de privénavigatiemodus en open deze daarna weer. Zeker met de sneltoetsen is het nauwelijks moeite terwijl het verzekert dat eventuele restanten van cookies of cache weg zijn.
Dit artikel is geschreven op persoonlijke titel van de auteur en reflecteert niet noodzakelijk de zienswijze van Security.NL.
Heb jij ook een goede security tip voor de lezers van Security.NL? Mail de redactie en maak kans op een exclusief Security.NL T-shirt!
Deze posting is gelocked. Reageren is niet meer mogelijk.