Siirry sisältöön

Pentestaus ja haavoittuvuuksien skannaus – mikä näiden ero on?

Miten penetraatiotestaus ja haavoittuvuusskannaus eroavat toisistaan? Entä mitä palveluiden ostajan olisi hyvä näistä ymmärtää, jotta saa varmasti investoinnilleen vastinetta? Tämä kirjoitus pyrkii avaamaan käsitteitä ja kirkastamaan niiden eroja. 

Penetraatiotestaus vs haavoittuvuusskannaus_Silverskin_blogi

Tietojärjestelmien tietoturvallisuuden teknisessä arvioinnissa käytetään usein menetelmiä kuten haavoittuvuusskannaus ja penetraatiotestaus. Termien sisältö ei kuitenkaan aina ole kokeneillekaan tietoturvapalveluiden hankkijoille selkeitä. Palveluita tarjoavat yrityksetkin saattavat nimetä palveluitaan vaihtelevasti - ja tarjoavat eri palvelua kuin minkä nimen perusteella kuvittelisi saavansa. Miten nämä menetelmät sitten liittyvät tai poikkeavat toisistaan?

Mitä on haavoittuvuusskannaus?

Haavoittuvuusskannauksessa (aka. haavaskannaus, haavoittuvuustestaus) kohdejärjestelmästä etsitään tunnettuja tietoturvan tasoa potentiaalisesti heikentäviä asioita.

Nämä voivat olla

  • ohjelmistokomponenteista tai käyttöjärjestelmistä löytyneitä tunnettuja haavoittuvuuksia
  • tahattomasti Internetiin näkyviä avoimia tietoliikenneportteja
  • tai heikkoja salausalgoritmeja käyttäviä palveluita.

Miten haavoittuvuusskannaus toimii?

Haavoittuvuustestauksessa eli skannauksessa hyödynnetään haavoittuvuuksien tunnistamiseen kehitettyjä ohjelmistoja (kuten esimerkiksi Nessus, Nexpose, Acunetix).

 

Haavoittuvuusskannauksen hyödyt ja rajoitteet

Skannaus on hyvä tapa käydä läpi iso määrä eri kohdejärjestelmiä suhteellisen nopeassa ajassa. Skannaus on usein myös kustannustehokasta ja edullista riippuen valitusta skannerista. Se mahdollistaa säännöllisen skannauksen esimerkiksi viikottain, kuukausittain tai kvartaaleittain.

Koska skannaus on pitkälti koneellinen tapa arvioida haavoittuvuuksia, tuottavat työkalut ajoittain myös niin sanottuja vääriä positiivisia havaintoja. Tällöin työkalu on virheellisesti päätellyt jonkin asian haavoittuvaksi, vaikka todellisuudessa näin ei ole. Myös käänteinen pätee eli kaikkia haavoittuvuuksia tai heikkouksia ei löydetä pelkästään koneellisesti.

Osa työkaluista osaa tiettyyn rajaan asti myös todentaa haavoittuvuuksia, mutta usein havainnot on silti käytävä manuaalisesti läpi. Manuaalinen läpikäynti tarkoittaa, että työkalun raportoimaa havaintoa yritetään hyödyntää, eli kokeillaan miten pahaa jälkeä sillä saadaan aikaiseksi.

 

Eri tyyppisiä haavoittuvuuksia on valtavia määriä:

  • jotkut mahdollistavat palveluneston vähäisin resurssein
  • toiset mahdollistavat luvattoman pääsyn järjestelmään
  • kolmannet avaavat reitin kohdejärjestelmän kautta sisäverkkoon jne. 

Kun havainnot on käyty läpi ja niiden vaikutus on arvioitu, voidaan aloittaa niiden paikkaaminen.

 

Haavoittuvuusskannauksen plussat:

+ kustannustehokkuus

+ nopeus

+ mahdollisuus automatisoida skannaus sopivaan sykliin

 

Haavoittuvuusskannauksen miinukset:

- väärät positiiviset havainnot

- havainnot täytyy käydä läpi manuaalisesti

- ei tarkasta sitä sitä onko haavoittuvuus hyödynnettävissä

- ei löydä kaikkia ongelmia

 

Haavoittuvuusskannauksen voidaan ajatella vastaavan kysymykseen:


“Mitkä meidän (ulkoverkkoon näkyvistä) tietojärjestelmistä sisältävät tunnettuja haavoittuvuuksia, ylimääräisiä tai vanhentuneita palveluita tai konfiguraatiovirheitä?”


Mitä on penetraatiotestaus?

Siinä missä haavoittuvuusskannaus liittyy varsin suoraviivaisesti järjestelmien suojaamiseen (ja niihin liittyviin prosessien) arviointiin, voidaan penetraatiotestauksessa arvioida myös tietoturvapoikkeamien havaitsemiseen ja poikkeamien hallintaan liittyviä kyvykkyyksiä.

 

Miten penetraatiotestausta tehdään?

Haavoittuvuusskannaus on usein ensimmäinen penetraatiotestauksen vaihe. Skannauksessa kerättyä haavoittuvuusdataa rikastetaan ja jalostetaan haavoittuvuuksia hyödyntäviksi haittakoodeiksi (engl. exploit code). Yksittäinen haavoittuvuus ei vielä välttämättä mahdollista järjestelmään luvatonta sisäänpääsyä vaan se edellyttää useiden haavoittuvuuksien samanaikaista tai ketjutettua hyödyntämistä.

Haittakoodeilla pyritään usein hankkimaan valtuuttamaton pääsy johonkin ulkoverkkoon näkyvään järjestelmään, joka itsessään on yhteydessä toiseen, esimerkiksi sisäverkossa sijaitsevaan järjestelmään. Näin hankitusta jalansijasta voidaan ajaa uusia haavoittuvuusskannauksia sisäverkon puolelle ja pyritään tunnistamaan sieltä heikosti suojattuja järjestelmiä, joista saadaan uusi jalansija jne. Penetraatiotestauksessa siis ohitetaan suojauksia kerros kerrokselta ja näin hyökkäys etenee ulkoverkosta sisäverkkoon asti.

Penetraatiotestaajalla on usein jokin konkreettinen tavoite (esim. maalijärjestelmä), johon pyritään hankkimaan pääsy.

 

Penetraatiotestauksen hyödyt ja rajoitteet

Tilaajan näkökulmasta penetraatiotestaus ei pelkästään auta arvioimaan mitkä haavoittuvuudet mahdollistavat luvattoman tunkeutumisen, vaan se myös auttaa arvioimaan miten hyvin haavoittuvuuksien hyödyntämisyritykset pystytään tunnistamaan ja myös pysäyttämään.

Jos haluat löytää syvällä piileviä ongelmia sovelluksessasi tai järjestelmässäsi, penetraatiotestaus on hyvä valinta. Mikäli sovelluksesi kehittyy ja päivittyy, säännöllinen penetraatiotestaus (PTaaS) on erinomainen tapa varmistaa tietoturvaa jatkuvasti.

Penetraatiotestaajat eli eettiset hakkerit ovat sertifioituja teknisen tietoturvan ammattilaisia, ja he käyttävät taitojaan järjestelmien turvallisuuden parantamiseen. Penetraatiotestauksen avulla voidaan myös osoittaa asiakkaille ja yhteistyökumppaneille, että sovellus on toimialan ja lakien vaatimusten mukainen. Usein esimerkiksi ohjelmistoille ja verkkosovelluksille voi olla tarve teettää riippumattoman 3. osapuolen suorittama tietoturvaturvatarkastus tai -arviointi.

 

Pentestauksen plussat:

+ havaitsee väärät positiiviset skannaukset

+ perusteellinen riippumattoman asiantuntijan näkemys teknisestä turvallisuudesta

+ havainnot kriittisyysasteineen ja korjausehdotukset (+korjausten tarkistus)

+ realistinen kuva tietoturvan tilasta pahantahtoisen hyökkääjän näkökulmasta

+ auttaa osoittamaan vaatimustenmukaisuuden

+ testaus vuosittain tai sovitussa syklissä aina kun sovellukseen tulee uusia päivityksiä


Pentestauksen miinukset:

- testaus vie enemmän aikaa

- kustannukset ovat korkeammat kuin pelkässä skannauksessa

 

Vahvasti tiivistäen penetraatiotestauksen voidaan ajatella vastaavan kysymykseen:

”Mitkä meidän (ulkoverkkoon näkyvistä) tietojärjestelmistä sisältävät hyödynnettäviä haavoittuvuuksia ja onko meillä kyvykkyys havaita jos joku niitä pyrkii aktiivisesti hyödyntämään?

 

Yhteenveto

  • Penetraatiotestaus ja haavoittuvuuksien skannaus ovat kaksi toisistaan poikkeavaa tapaa testata järjestelmiä haavoittuvuuksien varalta. Ne saatetaan usein sekoittaa toisiinsa. Kummassakin on puolensa ja kumpaakin tarvitaan.
  • Haavoittuvuusskannaus on pitkälti automatisoitu tapa testata ja siinä hyödynnetään valmista ohjelmistoa, joka etsii mahdollisia haavoittuvuuksia ja raportoi niistä.
  • Pentestaus on perusteellisempi, eettisten hakkereiden suorittama simuloitu kyberhyökkäys, joka skannauksen lisäksi yrittää havaita ja hyödyntää järjestelmän heikkouksia.

Pentestauksen ja haavoittuvuusskannauksen erot kootusti:

  • Haavoittuvuuksien hyödyntäminen
    Haavoittuvuusskannaus vain havaitsee haavoittuvuuksia. Jotkut skannerit myös yrittävät hyödyntää haavoittuvuuksia, mutta eivät kaikki, eivätkä ne välttämättä osaa hyödyntää kaikkea. Penetraatiotestauksessa löydettyjä haavoittuvuuksia pyritään hyödyntämään ja hankkimaan valtuuttamaton pääsy johonkin ulkoverkkoon näkyvään järjestelmään. Testauksessa suojauksia ohitetaan kerros kerrokselta ja hyökkäys etenee ulkoverkosta sisäverkkoon asti. 
  • Automaatio vs. manuaalinen testaus
    Haavoittuvuuksien skannausta tehdään automatisoidusti siihen suunnitelluilla ohjelmistoilla. Penetraatiotestaus puolestaan sisältää paljon manuaalista testausta ja siinä hyödynnetään myös valmiita työkaluja.  Penetraatiotestaajat eli eettiset hakkerit ovat sertifioituja alan ammattilaisia ja testausta tehdään manuaalisesti käyttäen samoja tekniikoita kuin pahantahtoiset hyökkääjätkin käyttäisivät.
  • Testauksen säännöllisyys ja sykli
    Haavaskannausta tehdään säännöllisesti lyhyilläkin sykleillä esimerkiksi viikoittain tai kuukausittain. Pentestausta tehdään yleensä vähintään vuosittain tai aina kun sovellusta kehitetään tai päivitetään.
  • Kustannukset
    Penetraatiotestaus edellyttää ammattitaitoa ja jatkuvaa asiantuntijuuden kehittämistä ja se on perusteellisempaa kuin haavoittuvuusskannaus. Se vie myös enemmän aikaa, joten kustannuskin on korkeampi.


Palveluita hankkiessa on hyvä olla tietoinen näistä eroista ja vertailla eri palveluntarjoajien palveluiden sisältöjä. Ethän osta pelkkää haavoittuvuusskannausta penetraatiotestauksena? Luotettava ja läpinäkyvä kumppani avaa palveluiden sisällöt mielellään tarkemminkin.


Kiinnostuitko pentestauksesta?

Tutustu pentestaus-palveluumme tai laita meille viestiä ja keskustellaan lisää.