Farene ved Clickjacking: En detaljert gjennomgang
Det kan være vanskelig å motstå fristelsen til å trykke på en link som lover en gratis iPhone. Likevel, det er viktig å være forsiktig. Et enkelt klikk kan føre deg rett inn i en felle, og konsekvensene kan være alvorlige.
Clickjacking, også kalt User Interface Redressing, er en angrepsmetode der en nettside skjuler en link bak et overlegg. Dette lurer brukere til å utføre handlinger de ikke hadde tenkt å gjøre. Det skjer ved at et usynlig lag legges over et synlig element på siden, og når brukeren klikker på det synlige, aktiverer det i stedet det usynlige.
Mange brukere av sosiale medier er konstant innlogget. Dette er noe hackere utnytter for å manipulere brukere til å «like» eller «følge» ting uten å være klar over det. En hacker kan for eksempel plassere en fristende knapp med teksten «Gratis iPhone – begrenset tilbud» på en side, og deretter legge en usynlig ramme over, som inneholder «Liker»-knappen fra Facebook. Når brukeren klikker på «Gratis iPhone», klikker de i stedet på «Liker»-knappen.
Dette enkle trikset kan lett lure Facebook-brukere til å like sider eller grupper, uten at de vet det.
Dette scenariet er relativt harmløst, da det bare fører til at offeret blir med i en gruppe på sosiale medier. Men med litt mer raffinement kan den samme teknikken brukes til å sjekke om brukeren er logget inn på sin nettbank. I stedet for å «like» noe, kan brukeren bli manipulert til å klikke på en knapp som overfører penger til hackerens konto. Det verste er at denne handlingen er vanskelig å spore, siden brukeren faktisk var logget inn og frivillig klikket på overføringsknappen.
Clickjacking-teknikker er ofte basert på sosial manipulering, som gjør sosiale medier til et ideelt angrepspunkt.
La oss se på noen eksempler.
Clickjacking på Twitter
For cirka ti år siden opplevde Twitter et massivt angrep som raskt spredte en melding. Angrepet utnyttet brukernes nysgjerrighet og fikk dem til å klikke på en link.
Tweets med teksten «Ikke klikk», etterfulgt av en link, spredte seg raskt. Når brukere klikket på lenken, og deretter på en tilsynelatende uskyldig knapp på siden de ble sendt til, ble det automatisk sendt en ny tweet fra deres konto. Denne tweeten inneholdt den samme teksten og den samme ondsinnede lenken.
Twitter-utviklere rettet opp clickjacking-angrepet kort tid etter det startet. Angrepet var i seg selv ikke skadelig, men fungerte som en vekker som illustrerte risikoen ved clickjacking på Twitter. Den skadelige lenken førte til en nettside med en skjult iframe. I denne rammen lå det en usynlig knapp som sendte den ondsinnede tweeten fra offerets konto.
Clickjacking på Facebook
Brukere av Facebooks mobilapp er utsatt for en feil som gjør det mulig for spammere å legge ut klikkbart innhold på tidslinjene deres uten tillatelse. Denne feilen ble oppdaget av en sikkerhetsekspert som undersøkte en spamkampanje. Eksperten observerte at flere av hans kontakter delte en lenke til en side med morsomme bilder. Før de kom til bildene, ble brukerne bedt om å godta en erklæring.
Det de ikke visste var at erklæringen lå under en usynlig ramme.
Når brukerne aksepterte erklæringen, ble de sendt videre til en side med morsomme bilder. Men i mellomtiden hadde lenken allerede blitt publisert på deres Facebook-tidslinje. Dette var mulig fordi nettleserkomponenten i Facebook-appen for Android ikke fungerte riktig med overskrifter som styrer hvordan rammer fungerer (dette forklares nedenfor), og dermed tillot skadelige rammeoverlegg.
Facebook anser ikke dette som en feil, da det ikke påvirker brukernes kontosikkerhet, så det er usikkert om dette problemet noen gang vil bli løst.
Clickjacking på mindre sosiale nettverk
Clickjacking er ikke bare et problem for Twitter og Facebook. Også mindre populære sosiale nettverk og bloggplattformer har sårbarheter. LinkedIn, for eksempel, hadde en feil som gjorde det mulig for hackere å lure brukere til å dele og publisere lenker uten deres samtykke. Før denne feilen ble fikset, kunne hackere laste LinkedIn’s «Del artikkel»-side i en skjult ramme, som de plasserte over synlige lenker eller knapper.
En annen sak er Tumblr, en bloggplattform. Denne siden bruker JavaScript for å forhindre clickjacking, men denne metoden fungerer ikke dersom sidene isoleres i en HTML5-ramme. Dette hindrer JavaScript-kode i å kjøre. Ved å kombinere denne feilen med et nettlesertillegg for passordhåndtering, kan hackere lure brukere til å skrive inn passordet sitt, i stedet for en falsk captcha-tekst. Passordet blir da sendt til hackerens nettsted.
Forfalskning av forespørsler på tvers av nettsteder
En variant av clickjacking kalles Cross-Site Request Forgery (CSRF). Nettsvindlere bruker sosial manipulering i CSRF-angrep for å tvinge brukere til å utføre handlinger de ikke ønsker. Angrepet kan skje via en lenke i e-post eller chat.
CSRF-angrep er ikke designet for å stjele data, fordi hackeren ikke kan se svaret på den falske forespørselen. I stedet er målet handlinger som endrer status, som å endre passord eller overføre penger. Hvis offeret har administrative rettigheter, kan et slikt angrep kompromittere hele applikasjonen.
Et CSRF-angrep kan lagres på sårbare nettsteder, særlig de med såkalte «lagrede CSRF-feil». Dette kan skje ved å legge inn IMG- eller IFRAME-koder i tekstfelt, som senere vises på en side, for eksempel i kommentarer.
Hvordan forhindre «framing»-angrep
Moderne nettlesere kan instrueres om en ressurs skal kunne lastes i en ramme eller ikke. De kan også velge å bare laste en ressurs i en ramme hvis forespørselen kommer fra det samme nettstedet som brukeren befinner seg på. På denne måten kan ikke brukere bli lurt av usynlige rammer med innhold fra andre nettsteder.
Teknikker på klientsiden for å forhindre angrep kalles «frame busting» eller «frame killing». De kan være effektive, men de kan også enkelt omgås. Derfor anbefales ikke løsninger på klientsiden. I stedet bør du bruke serverside-metoder, som X-Frame-Options (XFO) eller den nyere Content Security Policy.
X-Frame-Options er en header som nettservere inkluderer i nettsider for å angi om en nettleser skal kunne vise innholdet i en ramme.
X-Frame-Option header tillater tre verdier:
- DENY, som forhindrer at siden vises innenfor en ramme.
- SAMEORIGIN, som tillater visning av siden innenfor en ramme, men bare fra det samme domenet.
- ALLOW-FROM URI, som tillater visning av siden innenfor en ramme, men kun fra en spesifikk URI (Uniform Resource Identifier).
Nyere metoder mot clickjacking inkluderer Content Security Policy (CSP) med «frame-ancestors»-direktivet. Dette alternativet brukes i økende grad i stedet for XFO. En stor fordel med CSP er at det lar en server autorisere flere domener til å vise innholdet. Imidlertid støttes ikke dette av alle nettlesere ennå.
CSPs «frame-ancestors»-direktiv tillater tre verdier: «none», som forhindrer alle domener i å vise innholdet i en ramme; «self», som kun tillater gjeldende nettsted å vise innholdet, eller en liste med URL-er, for eksempel «*.eksempel.com», eller https://www.example.com/index.html. Dette gjør at innholdet kan vises fra alle sider som samsvarer med elementer på listen.
Hvordan beskytte deg selv mot clickjacking
Det er praktisk å være innlogget på sosiale medier når du surfer på nettet, men det er da viktig å være forsiktig med klikkene dine. Du bør også være oppmerksom på nettsidene du besøker, ettersom ikke alle har implementert beskyttelse mot clickjacking. Hvis du er usikker på en side, bør du unngå å klikke på mistenkelige lenker.
Nettleserversjonen din er også viktig. Selv om et nettsted bruker alle beskyttelsene vi har nevnt, støtter ikke alle nettlesere dem. Det er derfor viktig å bruke den nyeste nettleserversjonen for å få beskyttelse mot clickjacking.
Sunn fornuft er også en viktig beskyttelse mot clickjacking. Hvis du ser uvanlig innhold, eller en lenke delt av en venn på sosiale medier, bør du spørre deg selv om dette er noe vennen din normalt ville ha publisert. Hvis ikke, bør du varsle vennen din om at vedkommende kan ha blitt et offer for clickjacking.
Et siste råd: Hvis du er en influencer, eller har mange følgere på sosiale medier, bør du være ekstra forsiktig. Hvis du blir et clickjacking-offer, kan angrepet også ramme alle dine følgere.