Assemblix

Clickjacking varastaa hiiresi

Ilari Sani | 14.10.2008

Clickjacking on vasta löydetty vakava tietoturvaongelma, joka koskettaa kaikkia selaimia. Ideana on, että käyttäjää huijataan klikkaamaan jotain, mitä hän ei näe.

Clickjackingin avulla esimerkiksi web-kameran käynnistyspainike voidaan naamioida näyttämään vaarattomalta linkiltä. Linkin klikkauksesta kamera käynnistyy ja käyttäjää voidaan kirjaimellisesti tirkistellä.

Ongelmasta kirjoittivat ensi kerran noin kuukausi sitten Whitehat Security -turvayhtiön tutkijat. He halusivat keskustella clickjackingista ensin selain- ja laajennusvalmistajien kanssa. Nyt aiheesta on julkaistu tietoja myös suurelle yleisölle.

Kuinka Clickjacking toimii?

Klikattavien elementtien naamioimiseen käytetään kahta tekniikkaa: iframe-kehyksiä ja läpinäkyvyyttä. JavaScriptiä ei tarvita, vaan pelkkä HTML ja CSS-muotoilut riittävät.

Hyökkääjä upottaa sivulleen toisen sivun käyttämällä iframe-kehystä. Kehyksen voi rajata siten, että upotetusta sivusta näkyy vain pieni osa – esimerkiksi painike. Painike näyttää tällöin kuuluvan hyökkääjän sivulle, mutta sen klikkaaminen käynnistää toiminnon toisella sivustolla.

Iframen käyttö. Otetaan sivu, jonka painiketta halutaan klikata. Kehystetään painike ja upotetaan kehys toiselle sivulle.

Läpinäkyvyyttä käytetään siten, että hyökkääjä tekee klikattavasta elementistä läpinäkyvän ja sijoittaa sen vaarattoman elementin päälle. Kun uhri yrittää klikata alla olevaa vaaratonta elementtiä, hiiri osuukin päällä olevaan läpinäkyvään elementtiin.

Läpinäkyvyys. Tehdään klikattavasta painikkeesta läpinäkyvä, jolloin se katoaa näkyvistä. Sijoitetaan sen alle houkuttelevan näköinen linkki.

Hyökkäystä voidaan pahentaa entisestään käyttämällä JavaScriptiä. Läpinäkyvä elementti voidaan laittaa seuraamaan hiirtä, jolloin klikkaus osuu siihen aina. JavaScriptillä voi myös luoda klikattavan elementin päälle vaarattoman elementin, joka katoaa hetkeksi klikattaessa.

Videoesimerkki

Tällä videolla näytetään, kuinka peliä pelatessa käyttäjä huomaamattaan muuttaa Flashin tietoturva-asetuksia. Video: Guya.net.

Riskien torjuminen

Clickjacking vaikuttaa sekä selaimiin että selainlaajennuksiin, ja sen torjumiseen tarvitaan laajaa valmistajien yhteistyötä. Adobe tekee Flashin seuraavaan versioon korjauksia, jotka estävät turva-asetusten naamioimisen ja kameran salakäytön. Microsoft puolestaan kaventaa clickjackingin mahdollisuuksia IE8:ssa.

Siitä, miten ongelman voisi poistaa kokonaan on tehty useita ehdotuksia. Yksi vaihtoehto on merkitä, ettei sivua saa upottaa toiselle sivulle. Tämä vaatii selainten ja kaikkien riskialttiiden sivujen muuttamista.

Toinen vaihtoehto on, että selaimet valvovat elementtien käyttöä ja yrittävät estää hämäyksiä. Tästä voi seurata ongelmatilanteita, joissa vaaraton toiminto lakkaa toimimasta koska sitä luullaan clickjacking-hyökkäykseksi.

Tutkijat suosittelevat toistaiseksi käyttämään Firefoxia NoScript-laajennuksen kanssa ja kytkemään pois käytöstä iframe-kehysten näyttämisen.

Linkit

click

Anonyymi (ei varmistettu) | 15.10.2008

Artikkelista puuttui tieto siitä, mitä käyttöjärjestelmiä uhka koskee. Toivoisin saavani lisäinfoa tältä osin.

Re: click

Harri J. Talvitie | 15.10.2008

Clickjacking ei käsittääkseni ole mitenkään riippuvainen käyttöjärjestelmästä. Jutun alussa tuo epäsuorasti kuitataankin toteamuksella "koskettaa kaikkia selaimia".

Ongelma ei myös rajoitu pelkästään Flashiin, vaikka jutussa ja esimerkeissä sitä paljon väläytellään.

Kyseessä on jälkiviisaudessa todettu perusongelma: selaimen näytölle saa ladottua erilaisia elementtejä, joista osa voi olla laajennuksia (Java, Flash, Silverlight, ..). Elementtien päällekkäin sijoittelulla ja muilla visuaalisilla näppäryyksillä käyttäjää voidaan huijata kuvittelemaan, että se mitä näkyy ruudulla ei olekaan se, miltä näyttää - kirjaimellisesti. No, tämähän olikin selostettu jutussa.

Flashin, Javan, ActiveX:n yms. tyyppiset laajennukset ovat siis se ongelman ydin. Niillä pääsee käsiksi selaimen ulkopuolella oleviin resursseihin (ainakin perus-HTML:ää ja JavaScriptiä helpommin), oli käyttöjärjestelmä aivan mikä tahansa.

Harri

Julkaisujärjestelmä: Drupal   |   Tietoa Assemblix.netistä