sunnuntai 22. tammikuuta 2012

Operassa vaarallinen bugi korjaamatta

Nykyään haittaohjelmien tärkein leviämiskanava ovat tavalliset nettisivustot. Tarkoitus on, että haittaohjelman tekijä saa ujutettua pienen pätkän koodia ns. luotetulle hyvämaineiselle sivustolle, ja käyttäjän selaimen kautta saada haittaohjelma suoritetuksi. Tämä tapahtuu usein laajasti käytetyillä upotetuilla kehyksillä (IFrame) ja JavaScriptillä.

Sivun lähdekoodiin lisätty JavaScript-linkki, joka ei näy ulospäin käyttäjälle mitenkään, mutta selain suorittaa linkin haitallisen koodin sivua käsitellessään.
Ensiksi ns. luotetulle sivulle lisätään HTML-kieleen kuuluva Iframe -tagi, jossa voi olla linkki ulkopuoliseen sivuun, jolla varsinainen hyökkäys haitallisine koodeineen on. Tämä voi olla esim. JavaScriptillä toteutettu, ja tarkoitus on esim. hyökätä käyttäjän selaimen tai liitännäisten (esim. Flash, PDF jne.) mahdollisten heikkouksien kautta järjestelmään. Järjestelmä yritetään saastuttaa, tai sitten huijata esim. käyttäjä ajamaan haitallinen ohjelma kertomalla, että järjestelmässä on jokin vialla ja tarjoamalla apua siihen.

Niin tai näin, käyttäjä luulee olevansa hyvämaineisella sivustolla ja uskoo näin herkemmin eteen tullutta ilmoitusta esim. jostain viasta järjestelmässä. Toinen vaihtoehto on ettei käyttäjä huomaa mitään erikoista, vaikka taustalla suoritettaisiin haitallista koodia.


Operan tapa "estää" upotetut kehykset

Yksinkertaisin suoja on kytkeä pois tai muuten estää upotettujen kehysten suorittaminen. Esim. Firefoxille on mainio laajennus nimeltä NoScript jolla tämä onnistuu. Opera taas tarjoaa sisäisesti mahdollisuuden estää upotetut kehykset ja JavaScriptin suoritus oletuksena, ja sallia ne sitten vain halutuille sivuille. Paitsi ettei upotettujen kehysten poistaminen Operassa tee muuta kuin piilota ne! Esim. jos upotettu kehys sisältää JavaScriptiä, se pääsee ajoon vaikka upotetut kehykset olisivat estetty!

Operan turvaton tapa on kuulemma jo vanha asia, joten löydös ei ole minun. Siitä on tehty kuitenkin jo viime kesänä bugiraportti (ei minun toimesta, olen niin kypsä Operaan) mutta Opera ei ilmeisesti katso tätä yleisesti käytettyä tapaa hyökätä sen arvoiseksi että se kannattaisi korjata. Hienoa.

En ole mikään ammattilainen tietoturva-asioissa, mutta mielestäni Operan pitäisi korjata tämä bugi välittömästi. Kuka vaan voi käydä testaamassa asian tällä tekemälläni sivulla: Iframe & JavaScript testi Sivulle mennessä aukeaa JavaScript-ilmoitus, jos upotetun kehyksen koodi pääsee ajoon. Itse sivu testeineen on turvallinen.

HUOM! Jos saat testisivulla ilmoituksen, sinun ei välttämättä tarvitse olla huolissasi, testi kertoo vain että upotetun kehyksen JavaScript suoritetaan. Kenties et vain ole kytkenyt toimintaa pois päältä (jos siis käytät jotain muuta selainta kuin Operaa, Operassa asialle ei oikein voi järkevästi mitään).


Linkkejä

Ei kommentteja: