XSS-haavoittuvuudet ja niiden havaitseminen web-sovelluksissa
Niku-Paavola, Mikael (2024-04-29)
XSS-haavoittuvuudet ja niiden havaitseminen web-sovelluksissa
Niku-Paavola, Mikael
(29.04.2024)
Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
avoin
Julkaisun pysyvä osoite on:
https://urn.fi/URN:NBN:fi-fe2024043024438
https://urn.fi/URN:NBN:fi-fe2024043024438
Tiivistelmä
Internet ja web-sovellukset ovat olennainen osa nykymaailmaa ja jatkuvan suosion myötä niiden tietoturva on yhä tärkeämmässä asemassa. Cross-site Scripting (XSS) on yksi yleisimmistä web-sovellusten haavoittuvuuksista. XSS-haavoittuvuutta hyödyntävällä hyökkäyksellä voidaan muokata web-sivuston sisältöä mielivaltaisesti, kaapata käyttäjän selainistunto tai varastaa käyttäjätietoja. Tässä tutkielmassa käsitellään menetelmiä XSS-haavoittuvuuksien havaitsemiseen web-sovelluksissa. Jos haavoittuvuudet voidaan havaita ajoissa, ne voidaan korjata ennen kuin niitä hyväksikäytetään hyökkäyksissä.
Tutkielmassa käsitellään ja vertaillaan XSS-haavoittuvuuksien havaitsemismenetelmiä. Tutkimus toteutetaan kirjallisuuskatsauksena. Menetelmät on jaettu niiden käyttämän analyysimenetelmän perusteella kolmeen kategoriaan, jotka ovat staattinen analyysi, dynaaminen analyysi ja hybridianalyysi. Käsitellyillä menetelmillä on mahdollista havaita XSS-haavoittuvuuksia web-sovelluksissa tarkasti ja kattavasti. Uusimmissa menetelmissä hyödynnetään syväoppimista, vahvistusoppimista ja geneettisiä algoritmeja. Menetelmien kyky havaita haavoittuvuuksia on parantunut jatkuvasti vuoden 2015 jälkeen. Menetelmät ovat edistyneitä, mutta ne ovat usein rajoittuneita toimimaan vain tiettyjen ympäristöjen tai ohjelmointikielten kanssa. Lisäksi monet menetelmistä kykenevät havaitsemaan vain yhdenlaisia XSS-haavoittuvuuksia. Näihin ongelmiin olisi hyvä pyrkiä löytämään ratkaisuja tulevaisuudessa.
Tutkielmassa käsitellään ja vertaillaan XSS-haavoittuvuuksien havaitsemismenetelmiä. Tutkimus toteutetaan kirjallisuuskatsauksena. Menetelmät on jaettu niiden käyttämän analyysimenetelmän perusteella kolmeen kategoriaan, jotka ovat staattinen analyysi, dynaaminen analyysi ja hybridianalyysi. Käsitellyillä menetelmillä on mahdollista havaita XSS-haavoittuvuuksia web-sovelluksissa tarkasti ja kattavasti. Uusimmissa menetelmissä hyödynnetään syväoppimista, vahvistusoppimista ja geneettisiä algoritmeja. Menetelmien kyky havaita haavoittuvuuksia on parantunut jatkuvasti vuoden 2015 jälkeen. Menetelmät ovat edistyneitä, mutta ne ovat usein rajoittuneita toimimaan vain tiettyjen ympäristöjen tai ohjelmointikielten kanssa. Lisäksi monet menetelmistä kykenevät havaitsemaan vain yhdenlaisia XSS-haavoittuvuuksia. Näihin ongelmiin olisi hyvä pyrkiä löytämään ratkaisuja tulevaisuudessa.