Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Wat is clickjacking en hoe voorkomen we het?

Clickjacking

Clickjacking is een van de technieken die aanvallers gebruiken om sitebezoekers om te leiden om gevoelige informatie te verzamelen via gecompromitteerde websites. Als webdevelopers nadenken over het beveiligen van hun website, bedenken ze echter meestal niet dat aanvallers erop Kunnen klikken via een andere site. In het artikel:

  • Gaan we dieper in op clickjacking.
  • Beschrijven we de soorten clickjacking-aanvallen.
  • Geven we enkele voorbeelden van hoe clickjacking eruit ziet.
  • Sluiten we af met de technische mogelijkheden om clickjacking op websites te voorkomen.

Wat is clickjacking?

Clickjacking vindt plaats wanneer een aanvaller een nietsvermoedende gebruiker verleidt tot klikken op een onzichtbaar element. Dat element is verborgen in de gebruikersinterface en moeilijk te herkennen. Clickjacking staat ook bekend als UI-redressing.

Het doel van een clickjacking-aanval is om een ​​sitebezoeker te verleiden om op de gehackte site te klikken, wat een actie op een andere, malafide iframed-website activeert. Deze klikken kunnen het verwijderen van een gebruiker, het bijwerken van machtigingen of andere acties tot gevolg hebben. Het zijn klikken en acties die normaal ook al op de site worden uitgevoerd, nu zit er echter een verborgen laag tussen die ze acties overneemt.

Bovendien kunnen hackers ook toetsaanslagen registreren met vergelijkbare technieken. Door een combinatie van iframes, tekstvakken en stylesheets te gebruiken, kunnen aanvallers een gebruiker bijvoorbeeld laten geloven dat ze een wachtwoord in een legitiem veld voor autorisatie typen – terwijl ze in werkelijkheid via een onzichtbaar kader inloggen op een andere site.

Clickjacking definitie

Clickjacking aanvallen voeren hackers meestal uit door de zichtbare interface van de website te veranderen. Dit gebeurt zodanig dat het slachtoffer zich niet bewust is van de aanval.

Deze misleiding kan niets vermoedende gebruikers zo ver krijgen dat ze bijvoorbeeld:

  • Malware downloaden.
  • Geld overboeken naar malafide rekeningen.
  • Functies voor het automatisch aanvullen in wachtwoordmanagers activeren.
  • Hackers ongemerkt toegang verlenen tot hun computer.

Soorten clickjacking aanvallen

Een van de meest voorkomende clickjacking vormen is het overlappen van kwaadaardige content bovenop de bestaande pagina (content overlays). Hackers kunnen clickjacking op een verschillende manieren realiseren:

  1. Onzichtbare iframes: De aanvaller laadt een onzichtbaar 1×1 iframe waardoor de gebruiker de inhoud niet kan zien. Het doelelement van het onzichtbare iframe, zoals een knop op de website, is gecentreerd onder de cursor van het slachtoffer, waardoor het gemakkelijk is om de gebruiker te misleiden om op de schadelijke inhoud te klikken.
  2. Pointer events: De hacker maakt een zwevende div-tag die het doel-UI-element volledig bedekt. De aanvaller stelt de eigenschap CSS pointer-events in op ‘none’, waardoor klikken erdoorheen gaan, waardoor ze zich registreren op het iframe erachter.
  3. Transparante overlays: de aanvaller plaatst een transparant venster bovenop een element waarop de gebruiker zal klikken. Het slachtoffer ziet het transparante venster niet en denkt op de legitieme knop of het linkelement te klikken. Maar aangezien het transparante venster van de aanvaller de bovenste inhoud van de pagina is, kaapt de hacker de klik.
  4. Snel vervangen van content: Bij deze aanval maken hackers wazige overlays om doelelementen op de webpagina te bedekken. De actie wordt vrijwel onmiddellijk (milliseconden) uitgevoerd, net voordat het slachtoffer de webpagina bezoekt. Deze techniek vereist dat de aanvaller de timing van de klik met enige nauwkeurigheid kan voorspellen. De overlay is net lang genoeg zichtbaar om de klik te onderscheppen voordat deze wordt verborgen.
  5. Fantoommuiscursors: Met behulp van zwevende div-tags kan een hacker een extra muiscursor genereren en deze instellen op een vaste afstand van de echte muiscursor van het slachtoffer. De hacker zal de pagina dan zo aanpassen dat de misleidende cursor prominenter is. Tevens plaatst hij dan een element waarop het slachtoffer moet klikken op de pagina. Het slachtoffer ziet een nepcursor die zijn eigen muisbewegingen nabootst en dat misleidt hem om op het kwaadaardige element te klikken voordat hij beseft wat er is gebeurd.

Voorkom clickjacking

Nu we weten wat clickjacking is en enkele van de technieken die aanvallers gebruiken kennen, kijken we naar de manieren waarop we Onze site tegen aanvallen kunnen beschermen.

Gebruik de X-Frame-Options-headers

De HTTP-header van X-Frame-Options voorkomt het gebruik van onze website in onzichtbare iframes.

Er zijn twee opties die we kunnen gebruiken:

X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN

De DENY- optie is het veiligst. Als we echter een van onze pagina’s in een frame willen gebruiken, kunnen we het gebruik van frames beperken tot ons domein met de SAMEORIGIN- optie.

Hoewel de grote browsers de X-Frame-Options- header ondersteunen, doen sommige browsers dat niet. Daarom moeten we deze optie combineren met enkele van de andere oplossingen hieronder.

Gebruik een inhoudsbeveiligingsbeleid

Met Content Security Policy (CSP) kunnen we een beleid van headers of meta-elementen implementeren dat het laden van content op onze site beperkt.

We kunnen gebruikmaken van de frame-ancestors CSP instructie zodat de browser geen frames van andere domeinen toestaat.

Hier zijn enkele voorbeelden van CSP-beleidsregels voor frame-ancestors die we kunnen gebruiken:

# Disallow embedding. All iframes will be blank or contain a browser specific error page.
Content-Security-Policy: frame-ancestors 'none'
# Allow embedding for your own site content only.
Content-Security-Policy: frame-ancestors 'self'

Frame-busting met JavaScript

Frame-busting, ook bekend als framekiller, kunnen we gebruiken om te voorkomen dat aanvallers onze site zonder toestemming in een frame laden 

Hoewel het in moderne browsers mogelijk is om de framestatus te “verbergen”, kunnen we het volgende JavaScript in heading (

) van onze webpagina’s opnemen als verdediging tegen clickjacking.

   
    script>
       if (self == top) {
       document.documentElement.style.display = ‘block’;  
   } else {
       top.location = self.location;
   }
    script>

Dit kleine stukje javascript voorkomt de weergave van onze webpagina’s in de frames van andere websites.

Auth-cookies instellen SameSite=Strikt

Ook clickjacking van sessiecookies is te voorkomen. We kunnen namelijk een auth-cookies instellen op SameSite in onze HTTP-responsheader. Hiermee voorkomen we echter niet kwaadaardig iframe-gedrag, maar we voorkomen dat gebruikers op de website kunnen inloggen terwijl deze zich in een iframe bevindt.

Set-Cookie: authorization=secret; samesite

Deze techniek is alleen nuttig voor websites waarbij de inloggegevens van de gebruikers worden vastgehouden met behulp van (sessie) cookies.

Clickjacking test

Een eenvoudige manier om te testen of onze website kwetsbaar is voor clickjacking, kan met HTML. Dit kan als volgt:

  1. HTML-pagina maken met een iframe.
  2. Plaats een van de te testen webpagina’s in dat iframe.
  3. Deze HTML-pagina moeten we op een andere webserver plaatsen om een ​​clickjacking aanval goed na te bootsen.

Bij het aanroepen van onze webpagina via het iframe zal blijken of we onze pagina’s goed geconfigureerd hebben.

Conclusie Clickjacking bescherming

Clickjacking is voor aanvallers eenvoudig uit te voeren. Elke actie op onze site die gebruikers met één klik kunnen uitvoeren, kan een hacker kapen.

Technische maatregelen tegen Clickjacking hebben altijd betrekking op aanpassingen van onze site:

Om risico’s te beperken, raden we webdevelopers en webmasters ten zeerste aan om X-Frame-Options te gebruiken op webpagina’s die niet bedoeld zijn om binnen een frame uit te voeren. We kunnen ook gebruikmaken van een inhoudsbeveiligingsbeleid om risico’s te beperken en ons te beschermen tegen clickjacking. Het enige wat een bezoeker kan doen is alert blijven.

Discussieer mee op ITpedia LinkedIn of op Financial Executives LinkedIn.

Gerelateerde artikelen

  • 5 soorten hackers en waarom ze websites aanvallen
  • Vulnerabilities in systemen, een bron van zorg
  • Wat is het verschil tussen een Proxyserver en een VPN?


This post first appeared on ITpedia, The IT Knowlegde Source, please read the originial post: here

Share the post

Wat is clickjacking en hoe voorkomen we het?

×

Subscribe to Itpedia, The It Knowlegde Source

Get updates delivered right to your inbox!

Thank you for your subscription

×