Ei ole mikään salaisuus, että teknologia kehittyy nopealla tahdilla. Nykypäivän yhteiskunnassa teknologiasta on tullut oleellinen osa päivittäistä elämäämme. Tämä tarkoittaa osaltaan myös sitä, että kyberturvallisuudesta on tulossa entistä olennaisempi elementti nyky-ympäristössä. Kyberturvallisuus pitää kuitenkin sisällään monta eri osa-aluetta. Tunkeutumistestaus, eli penetraatiotestaus, on niistä yksi.  

Mitä tunkeutumistestaus sitten on?

Tunkeutumistestaus on prosessi, jossa kyberturvallisuuden asiantuntija etsii ja hyödyntää järjestelmän haavoittuvuuksia. Tämä toimenpide on luvallinen simuloitu kyberhyökkäys. Toisin sanoen, se suoritetaan simuloidussa ympäristössä järjestelmän omistajan luvalla.  

Saattaisi luulla, että ei ole mitään järkeä pyytää kehittäjiä suorittamaan tunkeutumistestausta itse. Vaikka tämä toimintatapa on ihan tavallinen, useimmiten kehittäjiltä saattaa jäädä huomaamatta tiettyjä katvealueita, jolloin haavoittuvuudet jäävät paljastumatta. Emme tietenkään tarkoita, että järjestelmän haavoittuvuudet johtuvat aina kehittäjistä. Järjestelmän sisältämille haavoittuvuuksille on useita syitä. Tästä riippumatta suositus on, että aiheen asiantuntija suorittaa aina tunkeutumistestauksen.

Tunkeutumistestin voi tehdä useammalla kuin yhdellä tavalla

Jotkut käyttöjärjestelmät mahdollistavat tunkeutumistestaamisen itsessään. Esimerkiksi Kali Linux, BlackArch ja BackBox -järjestelmissä on valmiina esiasennettuja työkaluja pentestaamiseen. Mitä tulee itse tunkeutumistestiin, on pentestejä erilaisia. 

White box -tunkeutumistestit

Tässä tapauksessa testaajalle annetaan tiettyjä tietoja kohdeyrityksen järjestelmästä ennen varsinaista testiä. Nämä tiedot saattavat vaihdella tietoverkkojen kokoonpanoista salasanoihin ja lähdekoodeihin. 

Yksi white box -testauksen eduista on se, että se on yleensä perusteellisempi kuin muut menetelmät (joita käsittelemme myöhemmin). Koska tietyt tiedot järjestelmästä ovat tiedossa etukäteen, voidaan testiä laajentaa sellaisille järjestelmän alueille, joka ei välttämättä olisi muuten mahdollista, kuten vaikka koodin laadun arviointiin.

Tämänlainen testaus ei kuitenkaan aina vastaa todellista hyökkäystä. Miksi? Koska aito hyökkääjä saattaa lähestyä järjestelmässä eri haavoittuvuuksia kuin testaaja. Testaajalla on jo tietoa järjestelmästä ennen tunkeutumistestin suorittamista. 

Black box -tunkeutumistesti

Tämä on white box -testaamisen vastakohta. Tässä tapauksessa kohdejärjestelmästä ei anneta taustatietoja. Näin ollen menetelmä on toteutettavissa nopeammin, sillä se riippuu testaajan taidoista ja osaamisesta haavoittuvuuksien hyödyntämisen suhteen. 

Koska tässä menetelmässä asiaa lähestytään tietämättömän hyökkääjän näkökulmasta, on haittana se, että tietyt osat järjestelmästä jäävät testaamatta. Näin ei kävisi white box -tunkeutumistestissä. 

White box- ja black box -testeistä on olemassa myös yhdistelmämuoto. Tämä kulkee nimellä grey box -tunkeutumistesti. Tässä tapauksessa kohdeyrityksestä annetaan tietoja vain osittain. Ajatuksena on, että testaaja simuloi ympäristöä, jossa hyökkääjä on saanut laittomasti käsiinsä tiettyjä tietoja yrityksestä. 

Salainen tunkeutumistesti

Tämä vastaa black box -penetraatiotestausta, mutta yhdellä merkittävällä erolla. Kohdeyrityksellä ei ole tietoa penetraatiotestistä. Tämä koskee myös IT-osastoa. Yksi tärkeä huomioonotettava seikka kuitenkin on, että kaikki oleelliset tiedot testauksesta olisi oltava saatavilla kirjallisesti ennen testausta. Näin vältetään mahdolliset lakimääräiset seuraamukset tämän menetelmän käyttöön liittyen. 

Sisäinen ja ulkoinen penetraatiotestaus

Kuten termikin kertoo, sisäinen penetraatiotestaus suorittaa testin yrityksen sisäisessä tietoverkossa. Näin määritetään se, millaista vauriota voitaisiin aiheuttaa hyödyntämällä haavoittuvuuksia, jotka rajoittuvat yrityksen palomuurien sisäpuolelle.

Ulkoinen penetraatiotestaus tapahtuu yrityksen sisäisen tietoverkon ulkopuolella, sekä kirjaimellisesti että kuvainnollisesti. Tässä tapauksessa yrityksen ulkoiset varat arvioidaan haavoittuvuuksien osalta.

Manuaalinen ja automatisoitu penetraatiotestaus

Toinen tapa tarkastella penetraatiotestausta on tietenkin manuaalisen testauksen ja automatisoidun testauksen välinen ero. Manuaalinen testaus vaatii testin suorittamiseen asiantuntevia ammattilaisia. Automatisoitu testaus sen sijaan antaa ei niin kokeneelle testaajalle mahdollisuuden suorittaa tunkeutumistestejä automatisoitujen työkalujen avulla. Eroa on myös siinä, että automatisoidussa testauksessa on keskitetyt ja standardienmukaiset työkalut. Manuaalinen testaus vaatii Exceliä ja muita samankaltaisia välineitä, joiden avulla seurataan koko prosessia.

Penetraatiotestaamisen prosessi

Riippumatta tunkeutumistestin tyypistä, pitävät ne kaikki sisällään samat vaiheet. Ensimmäistä vaihetta kutsutaan tiedusteluksi. Tässä kohtaa kerätään kaikki mahdollinen tieto kohdejärjestelmästä. Seuraavaksi tulee skannausvaihe. Tällöin hyödynnetään kaikkia käytettävissä olevia teknisiä välineitä ja toimintamenetelmiä edellisessä vaiheessa tehtyjen alkulöydösten laajentamiseksi. 

Kolmas vaihe koskee järjestelmään pääsyä. Ensimmäisten kahden vaiheen löydöksiä käytetään järjestelmän haavoittuvuuksien hyödyntämiseksi. Tämä operaatio tehdään käyttämällä niin sanottua “haittakuormaa”. Yksinkertaisesti sanottuna haittakuorma voi olla mitä tahansa tietojen muuttamisesta ja näppäimistön painallusten kirjaamisesta mainosohjelmien asennukseen. Metasploitin kaltaiset työkalut mahdollistavat automatisoidut hyökkäykset tunnettuihin haavoittuvuuksiin.

Kun järjestelmään on päästy, seuraava vaihe on pitää saavutettu pääsy hallussa. Tämä on tärkeää, sillä se auttaa testaajaa saamaan mahdollisimman paljon dataa. Tässä vaiheessa prosessi ei välttämättä rajoitu pelkästään ohjelmistoihin. Se saattaa laajentua myös laitteisiin. Kyse voi esimerkiksi olla pienestä laitteesta, joka voitaisiin kiinnittää tietoverkkoon niin, että se antaa testaajalle mahdollisuuden päästä käsiksi tiettyyn tietoverkkoon etänä. 

Lopuksi testaajan on pystyttävä peittämään jälkensä, kun prosessin “pääsyn ylläpitämisen” vaihe on suoritettu. Tunkeutumistesti on onnistunut, mikäli testaaja onnistuu pysymään anonyyminä. 

Mitä penetraatiotestin jälkeen tapahtuu?

Testauksen jälkeinen vaihe on kenties koko prosessin tärkein vaihe. Tiukoilla testeillä ei ole mitään merkitystä, jos niiden pohjalta ei ryhdytä ennaltaehkäiseviin toimenpiteisiin. Siksi testaaja jakaa testin löydökset kohdeyritykselle testin valmistuttua. Näiden tietojen pohjalta ryhdytään asianmukaisiin toimiin. Kyse saattaa olla niinkin perusasioista kuin yrityksen standardien määrittämisestä käytänteiden tasolla. Toisaalta kyse voi olla myös jostakin tarkemmasta, kuten yrityksen tietoverkoston suojaamisesta automatisoiduilta väsytyshyökkäyksiltä ja hajautetuilta palvelunestohyökkäyksiltä. Joka tapauksessa tärkeintä on tunnistaa haavoittuvuudet ja paikata ne. Näin testatun järjestelmän turvallisuus pidetään ajan tasalla. 

Kyberturvallisuus ei ole enää vapaaehtoinen valinta nykypäivän liiketoiminnassa. Itse asiassa se on oleellinen osa nykyaikaista liiketoimintastrategiaa. Penetraatiotestaus on yksi monista menetelmistä, joiden avulla organisaatio voi vahvistaa olemassa olevaa teknologista infrastruktuuriaan. Muun muassa Yhdysvallat ja Yhdistynyt kuningaskunta ovat jo standardisoineet penetraatiotestaukset, joko riippumattomien viranomaiselinten tai yritystason toimijoiden toimesta.

Tunkeutumistestaus