Kyberturvallisuus

Yksinkertainen CSS-koodi käynnistää iPhonen uudelleen

Verkossa on julkaistu todistusaineisto (proof of concept) WebKit-moottorin ongelmasta, joka koskee erityisesti Safari-selainta. Kun ladataan HTML-sivu, joka sisältää erityistä CSS-koodia, iOS jumittuu ja käynnistyy uudelleen.

Ongelmaa hyödynnetään CSS-tehosteella backdrop-filter, jota sovelletaan sivun kaikkiin div-elementteihin. Taustasuodatin on CSS:n uusi ominaisuus, jonka avulla elementin takana olevan alueen värejä voi sumentaa tai vääristää. Tällainen toiminto vaatii huomattavasti resursseja, mikä on pitkään huolestuttanut joitakin kehittäjiä.

Näiden varoitusten paikkansapitävyyden osoitti viikonlopun aikana kehittäjä ja tietoturva-asiantuntija Sabri Haddouche, joka löysi ongelman. Tutkija julkaisi Twitterissä PoC-hyökkäyskoodin sekä esittelyvideon hyökkäyksestä, joka johti älypuhelimen nollaantumiseen. Käyttöjärjestelmän versiosta riippuen hyökkäys aiheuttaa joko pelkän uudelleenkäynnistyksen ja käyttöliittymän uudelleenlatautumisen tai sitten ytimen kaatumisen (kernel panic), mikä johtaa myös uudelleenkäynnistykseen.

Tutkija on lisäksi luonut erillisen sivun, jolla ongelmaa voi tarkastella käytännössä.

Haddouche kertoo, ettei virhe koske pelkästään iOS:ää, vaan sillä voi olla haitallinen vaikutus myös macOS:ään. Tutkijan mukaan nykyisessä muodossaan (pelkkä HTML ja CSS) hyökkäys “jäädyttää” Safarin ja hidastaa macOS:ää kokonaisen minuutin, minkä jälkeen käyttäjä vasta pystyy sulkemaan ongelmallisen välilehden.

Selaimen työpöytäversioon kohdistuva vakavampi hyökkäys vaatisi hyökkäyskoodin muokkaamista ja JavaScriptin lisäämistä. Tutkija ei kuitenkaan uskaltanut julkaista tätä hyökkäyskoodia, sillä ongelma säilyy myös laitteen uudelleenkäynnistyksen jälkeen: Safari lataa haitallisen sivun uudelleen ja kierre alkaa alusta.

Asiantuntija on jo ilmoittanut haavoittuvuudesta Applen insinööreille, ja nämä ovat kertoneet tutkivansa ongelmaa.

Mielipiteesi