Wat is clickjacking en hoe bescherm je ertegen

Clickjacking is een techniek die ook wel bekend staat als ‘user interface redressing’. Het is een vrij nieuwe techniek waarbij de gebruiker in de val gelokt wordt door op een verborgen link te klikken.

Bijvoorbeeld, een gebruiker komt een pop-up boodschap tegen op een website met schijnbaar een video als inhoud. Dit blijkt geen video te zijn, maar een nagemaakte foto met een afspeelknop. De gebruiker klikt op de afspeelknop in de veronderstelling dat de video zal starten, maar onrechtstreeks klikt hij op een verborgen link die onder een foto verscholen zit. Het is dus helemaal geen video, maar een foto van een filmpje waarop een afspeelknop te zien is. Wat is het gevaar van deze onschuldige klik? Vaak gaat er ongewenste malware gedownload worden, zonder dat je hier iets van merkt. Dit is slechts één van de vele methodes die op het internet circuleren. Andere veel gebruikte methodes zijn nagemaakte CAPTCHA’s, nep viraal nieuws, valse update boodschappen voor softwareprogramma’s etc.

De term clickjacking wordt gebruikt omdat men de gebruiker tracht te lokken om op een malafide link te klikken waardoor hij doorgestuurd wordt naar een website die hij niet wou bezoeken of malware gedownload wordt. Normaal kan je de eindlocatie van de URL bekijken als je met je muis over een link zweeft. Dit wordt bij clickjacking vermeden door gebruik te maken van een iFrame waarin een link verborgen kan worden. De definitie van een iFrame is als volgt: Een iFrame is een stukje code waarmee je een HTML website in een andere website kunt plaatsen. Een goed voorbeeld hiervan is het tonen van een YouTube video op een andere website. Men noemt dit ook wel ‘embedden’.

Gevaren van Clickjacking

Clickjacking wordt gebruikt voor vele doelen, sommige houden in dat ze malware of virussen verspreiden, sociale media manipuleren, advertising schemes waar de verspreider geld krijgt per klik op de link of persoonlijke info verkrijgen.

Op dit moment komt het verbergen van een Facebook like-knop het meeste voor. Er wordt dus een like-knop verborgen onder een andere laag. Zonder dat je het weet, geef je een like aan een bepaalde pagina of persoon. Deze vorm van clickjacking wordt ook wel likejacking genoemd. Dit lijkt een onschuldige techniek, maar het kan ook veel verder gaan waarbij er persoonlijke informatie van je profiel wordt gestolen. Deze info kan gemakkelijk verkocht worden op ‘the black market’.

Een ander veelvoorkomend type is het verschuilen van cost-per-click (CPC) advertenties. Adverteerplatformen zoals Google Adsense betalen blog eigenaren een klein bedrag per klik die ze binnenhalen op een advertentie. Sommigen proberen deze inkomsten te verhogen door dit soort advertenties te verbergen en clickjacking toe te passen. Deze methode verdwijnt meer en meer omdat Google (en andere aanbieders) weten hoeveel keer er gemiddeld geklikt wordt op een advertentie per x-aantal bezoekers. Wanneer dit aantal niet strookt met het verwachte aantal kliks, gaat er als het ware een alarmbelletje af bij Google.

Beschermen tegen clickjacking

Zolang je gebruikt maakt van een webbrowser, is er geen 100% doeltreffende manier om alle vormen van clickjacking te voorkomen. Alle grote browsers (Firefox, Chrome, Opera, Internet Explorer en Edge) ondersteunen het gebruik van verschillende lagen op websites, waarvan sommige onzichtbaar kunnen zijn.

Je kan altijd overschakelen naar een niet-grafische webbrowser, maar dat is niet de meest praktische oplossing. Allereerst, zorg ervoor dat al je browser plugins up-to-date zijn zodat deze zwakheden al grotendeels vermeden kunnen worden. Het is ook belangrijk om je web browser zelf regelmatig te updaten. Hackers maken maar al te graag gebruik van verouderde web browsers die exploits bevatten.

NoScript

Er zijn enkele tools ontwikkeld om jezelf te beschermen tegen clickjacking. NoScript is een gratis te gebruiken Firefox add-on die automatisch malafide scripts en iFrames gaat blokkeren. NoScript gebruikt auditieve feedback om zijn gebruikers te waarschuwen voor pagina’s die een of meerdere <script> tags (HTML structuur element om webpagina’s te bouwen) bevatten. Het lijkt irritant, maar sommige websites gaan door het blokkeren van <script> tags niet meer werken. Door het geluidssignaal weet je meteen dat er een mogelijke dreiging is en dat de website om deze reden niet zoals behoren zal werken. NoScript maakt daarnaast gebruik van een whitelist. Dit is een lijst die alle goedgekeurde websites met <script> tags bevat (o.a. youtube.com, outlook.com, netflix.com, paypal.com etc.). Daarnaast gaat ook niet elke website die gebruik maakt van <script> tags geblokkeerd worden. Er wordt een bepaald algoritme gebruikt die op verschillende elementen let en op basis hiervan een bron goed- of afkeurt. Een zeer bepalend element is of de gebruikte javascript package opgenomen is in een belangrijke javascript package register.

NoScript maakt tevens gebruik van ‘Anti-XSS protection’. XSS staat voor cross site scripting. Dit is het gebruikmaken van een zwakheid in een web applicatie om code te injecteren in een andere website. Dit soort aanvallen kunnen niet gedetecteerd worden door de whitelist omdat het de whitelist voorbij wandelt door deze injectie. Anti-XSS protection zorgt er vervolgens voor dat dat niet-vertrouwde websites geen JavaScript code kunnen injecteren.

Mogelijk nadeel aan NoScript is de vele (vaak dagelijkse) updates. Quote van NoScript website: ‘Every time a new browser weakness is reported, a new kind of web threat is discovered or a bug is found in NoScript itself (hey, no software is perfect!), NoScript is immediately updated to react as needed.’ Dus… Wil je jezelf beschermen, dan is een dagelijkse update een kleine prijs die je betaalt.

Clickjacking Reveal

Clickjacking Reveal plugin is gemaakt voor Chrome met hetzelfde doel als NoScript. Reveal zal je enkel waarschuwen wanneer hij clickjacking schema’s herkent. Reveal zal deze scripts dus niet blokkeren. Voor sommigen is het waarschuwen alleen al voldoende. De gebruiker kan de website nog steeds gebruiken zoals gewenst terwijl men op de hoogte is van de mogelijke clickjacking gevaren.

Hulp van webmasters

Ook webmasters kunnen zich inzetten in de strijd tegen clickjacking. Webmasters kunnen een header toevoegen aan hun website die afdwingt dat er geen iFrames van andere websites gebruikt kunnen worden op zijn website (X-Frame-Options HTTP Header). Vele frameworks of providers implementeren dit als een standaard optie zodat de webmaster hier niet zelf moet aan denken.

Conclusie

Er is geen sluitende methode om clickjacking aan te pakken. Het is een zeer eenvoudige techniek die moeilijk te stoppen is. Plugins zoals NoScript en Clickjacking Reveal maken het leven van de internetgebruiker al een stuk aangenamer. Samen met de hulp van webmasters (en providers / frameworks) zouden we dit probleem grotendeels kunnen uitschakelen. Uiteindelijk is gezond verstand het beste wapen tegen clickjacking.

Social:
Facebook
Google+
Volgen via Email