Avoimen lähdekoodin haavoittuvuusskannerien vertailu
Siirilä, Santeri (2020)
Avaa tiedosto
Lataukset:
Siirilä, Santeri
2020
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020090320071
https://urn.fi/URN:NBN:fi:amk-2020090320071
Tiivistelmä
Opinnäytetyön aiheena oli avoimen lähdekoodin web-haavoittuvuusskannerien tutkiminen ja vertailu. Työssä tutkittiin automatisoitujen haavoittuvuusskannaustyökalujen eroja ja vahvuuksia. Tavoitteena oli saada enemmän ymmärrystä ja tietoa automatisoitujen työkalujen kyvykkyydestä, jotta työkaluista olisi helpompi valita asianmukaiseen työhön.
Opinnäytetyö suoritettiin tutkimuksena. Työn tutkimuskysymyksenä oli, miten hyvin vapaat haavoittuvuusskannerit löytävät haavoittuvuuksia ja mitä eroja niiden välillä on.
Työtä varten etsittiin viisi erilaista avoimen lähdekoodin web-haavoittuvuusskanneria ja neljä valmiiksi haavoittuvaa kohdejärjestelmää, joita vastaan skannauksia voitiin ajaa. Kohdejärjestelmät olivat monipuolisia käyttävillään erilaisilla teknologioilla ja sisälsivät suosituimpia käyttöjärjestelmiä, eli Windows- ja Linux-käyttöjärjestelmiä. Skannaukset ajettiin yhden kerran jokaisella skannerilla jokaiseen koneeseen ja tuloksia vertaillaan tarkoituksenmukaisten löydöksien avulla.
Opinnäytetyö rakentui tietoperustasta, työkaluista, kohdejärjestelmien läpikäymisestä, tuloksien käsittelystä ja pohdinnasta. Opinnäytetyön tietoperustaosiossa käytiin läpi erilaisia tietoturvan ja haavoittuvuusskannauksen piirteitä, jonka jälkeen paneuduttiin tyypillisimpiin web-sovelluksissa ilmeneviin haavoittuvuuksiin, joita oli mahdollista löytää skannaustuloksissa.
Tietoperustan jälkeen esitettiin käytettävät työkalut. Työkaluiksi oli valittu viisi haavoittuvuusskanneria, joita ovat Golismero, Vega, Wapiti, W3af ja Nikto. Työkalujen läpikäynnin jälkeen esitettiin käytettävät kohdejärjestelmät ja niiden sisältävät haavoittuvuudet. Lopuksi käytiin tulokset läpi kohdejärjestelmittäin, jonka jälkeen ilmaistaan loppupohdinnat.
Tulokset olivat todella yllättäviä. Kaikki skannerit eivät tuottaneet samoja tuloksia ja jotkin niistä löysivät jopa yllättäviä havaintoja. Havaintoja, mitä ei uskoisi välttämättä automatisoidun työkalun löytävän, kuten XSS- ja SQL-injektiohaavoittuvuuksia dynaamisista web-sovelluksista. Pohdinnassa tuotiin esille, ettei edes tulosten yllättävyyden vuoksi välttämättä kannatta uskoa skannereiden tuloksia absoluuttisena totuutena, vaan ennemmin mahdollisena lähtökohtana. Pohdinnassa myös mietittiin mahdollisia jatkotutkimusvaihtoehtoja.
Opinnäytetyö suoritettiin tutkimuksena. Työn tutkimuskysymyksenä oli, miten hyvin vapaat haavoittuvuusskannerit löytävät haavoittuvuuksia ja mitä eroja niiden välillä on.
Työtä varten etsittiin viisi erilaista avoimen lähdekoodin web-haavoittuvuusskanneria ja neljä valmiiksi haavoittuvaa kohdejärjestelmää, joita vastaan skannauksia voitiin ajaa. Kohdejärjestelmät olivat monipuolisia käyttävillään erilaisilla teknologioilla ja sisälsivät suosituimpia käyttöjärjestelmiä, eli Windows- ja Linux-käyttöjärjestelmiä. Skannaukset ajettiin yhden kerran jokaisella skannerilla jokaiseen koneeseen ja tuloksia vertaillaan tarkoituksenmukaisten löydöksien avulla.
Opinnäytetyö rakentui tietoperustasta, työkaluista, kohdejärjestelmien läpikäymisestä, tuloksien käsittelystä ja pohdinnasta. Opinnäytetyön tietoperustaosiossa käytiin läpi erilaisia tietoturvan ja haavoittuvuusskannauksen piirteitä, jonka jälkeen paneuduttiin tyypillisimpiin web-sovelluksissa ilmeneviin haavoittuvuuksiin, joita oli mahdollista löytää skannaustuloksissa.
Tietoperustan jälkeen esitettiin käytettävät työkalut. Työkaluiksi oli valittu viisi haavoittuvuusskanneria, joita ovat Golismero, Vega, Wapiti, W3af ja Nikto. Työkalujen läpikäynnin jälkeen esitettiin käytettävät kohdejärjestelmät ja niiden sisältävät haavoittuvuudet. Lopuksi käytiin tulokset läpi kohdejärjestelmittäin, jonka jälkeen ilmaistaan loppupohdinnat.
Tulokset olivat todella yllättäviä. Kaikki skannerit eivät tuottaneet samoja tuloksia ja jotkin niistä löysivät jopa yllättäviä havaintoja. Havaintoja, mitä ei uskoisi välttämättä automatisoidun työkalun löytävän, kuten XSS- ja SQL-injektiohaavoittuvuuksia dynaamisista web-sovelluksista. Pohdinnassa tuotiin esille, ettei edes tulosten yllättävyyden vuoksi välttämättä kannatta uskoa skannereiden tuloksia absoluuttisena totuutena, vaan ennemmin mahdollisena lähtökohtana. Pohdinnassa myös mietittiin mahdollisia jatkotutkimusvaihtoehtoja.