Penetraatiotestaus
Yritysturvallisuus > Kyberturvallisuus
Penetraatiotestaus

Penetraatiotestauksen tarkoituksena on simuloida mahdollisia hyökkäystapoja ja arvioida, kuinka hyvin järjestelmä kestää ulkoisia uhkia. Testauksessa ei kuitenkaan pyritä todentamaan löydettyjen haavoittuvuuksien hyväksikäytettävyyttä käytännössä, tämä kuuluu varsinaisen murtotestauksen (exploit-testaus) tai hyödyntämistestauksen piiriin.
Testauksen päätavoitteena on tuottaa johdolle ja tekniselle henkilöstölle luotettavaa tietoa järjestelmän kyvystä torjua ulkoverkosta tulevia hyökkäyksiä, sekä tarjota suosituksia mahdollisista parannustoimenpiteistä.
Tehtävälista
Suunnittelu ja valmistelu
- Määrittele testauksen tavoitteet (esim. järjestelmän suojaustason arviointi, compliance-vaatimukset).
- Tunnista testauksen kohteet (verkkopalvelimet, sovellukset, verkot, päätelaitteet).
- Valitse testauksen tyyppi (Blackbox, Whitebox, Greybox).
- Nimeä vastuuhenkilö(t) ja määrittele roolit.
- Laadi testauksen aikataulu ja rajaukset (esim. testiaika, testattavat IP-osoitteet).
- Tee riskiarvio testauksen vaikutuksista (häiriöt, järjestelmäkatkot).
- Hanki johdon hyväksyntä ja tarvittavat luvat testaukselle.
- Varmista tarvittavat varmuuskopiot ennen testausta.
Testauksen toteutus
- Valitse luotettava ja sertifioitu penetraatiotestaaja (esim. CEH, OSCP).
- Toimita testaajalle tarvittavat tiedot ja käyttöoikeudet (jos kyseessä ei ole Blackbox).
- Seuraa testauksen etenemistä ja dokumentoi tapahtumat.
- Kommunikoi testaajan kanssa mahdollisista löydöksistä testauksen aikana.
Tulosten analysointi
- Vastaanota testausraportti (sis. löydökset, riskiluokitukset, suositukset).
- Arvioi löydösten vakavuus ja priorisoi toimenpiteet.
- Jaa raportti sovituille sidosryhmille.
Korjaavat toimenpiteet
- Laadi korjaussuunnitelma löydösten perusteella.
- Toteuta korjaukset ja parannukset tietoturvaan.
- Dokumentoi kaikki toteutetut muutokset.
Jälkiseuranta ja jatkokehitys
- Suorita uusintatestaus tarvittaessa.
- Päivitä tietoturvapolitiikka ja ohjeistukset havaintojen pohjalta.
- Järjestä tarvittaessa koulutusta henkilöstölle.
- Suunnittele säännöllinen testausjakso (esim. vuosittain tai muutosten yhteydessä).
Penetraatiotestauksessa on kolme erilaista lähestymistapaa: Blackbox-, Greybox- ja Whitebox-testaus. Nämä vaihtoehdot eroavat toisistaan sen mukaan, kuinka paljon tietoa testaajalla on etukäteen testattavasta järjestelmästä tai kohteesta.
Blackbox-testaus (ulkoisen hyökkääjän näkökulma)
- Testaajalla ei ole lainkaan ennakkotietoa järjestelmästä (ei käyttäjätunnuksia, verkkoarkkitehtuuria tai lähdekoodia).
- Simuloi ulkopuolista hyökkääjää, joka lähestyy järjestelmää ilman pääsyä sisäisiin tietoihin.
- Soveltuu hyvin testaamaan julkisesti saatavilla olevien palveluiden suojaustasoa (esim. verkkosivut, rajapinnat).
- Tavoitteena on tunnistaa näkyvät haavoittuvuudet, kuten konfiguraatiovirheet, julkiset avoimet portit tai huonosti suojatut sovellukset.
Greybox-testaus (rajoitetun tiedon lähestymistapa)
- Testaajalla on osittaiset tiedot järjestelmästä, kuten käyttäjätunnus normaalikäyttäjänä tai perustiedot arkkitehtuurista.
- Tasapaino Blackboxin ja Whiteboxin välillä.
- Yleinen lähestymistapa yrityksissä, koska se tarjoaa realistisen hyökkäysskenaarion organisaation sisältä tai osittain tuntevasta ulkoisesta hyökkääjästä.
- Tavoitteena on testata järjestelmää todellisuutta vastaavalla tavalla, esim. kuinka pitkälle tavallinen käyttäjä voi päästä väärin konfiguroidussa ympäristössä.
Whitebox-testaus sisäpiiriläisen tai kehittäjän näkökulma)
- Testaajalla on täydet tiedot järjestelmästä: lähdekoodi, dokumentaatio, verkkokaaviot, järjestelmäoikeudet.
- Mahdollistaa perusteellisen analyysin logiikkavirheistä, koodin haavoittuvuuksista ja piilevistä riskeistä.
- Hyödyllinen erityisesti sovelluskehityksen aikana (secure code review).
- Tavoitteena on tunnistaa syvemmällä olevat, ei-julkiset haavoittuvuudet ja tarkistaa, että suojausmekanismit toimivat suunnitellusti.
Penetraatiotestausta edeltää yleensä yrityksen teknisten asiantuntijoiden haastattelut, jonka perusteella suunnitellaan verkkoskannaus. Verkkoskannauksen avulla kerätään kohdejärjestelmistä yksityiskohtaisia tietoja, joita tarvitaan varsinaisessa penetraatiotestauksessa. Verkkoskannaukset jaetaan verkko-, portti- ja haavoittuvuusskannauksiin seuraavasti:
- Verkkoskannauksella tutkitaan kohdejärjestelmän rakennetta ja potentiaalisia hyökkäyskohteita.
- Porttiskannauksella etsitään avoimet portit.
- Haavoittuvuusskannauksella etsitään kohdejärjestelmästä tunnettuja haavoittuvuuksia.
Verkkoskannauksessa tutkitaan mm.
- Mitä yhteyksiä ja verkkopalvelimia on kytketty internetiin?
- Millaisia järjestelmiä ja järjestelmäversioita sisäverkkoon on asennettu?
Penetraatiotestauksessa tutkitaan mm.
- Sisältyykö sovelluksiin hyökkäystä helpottavia koodausvirheitä?
- Sisältyykö palvelimien asennuksiin konfigurointivirheitä?
- Onko palveluissa virheellisiä linkkejä tai linkkejä sisäisiin palveluihin?
- Paljastaako sisäverkko hyökkäyksen kannalta olennaisia tietoja julkiseen verkkoon?
- Onko palvelimet asianmukaisesti suojattu?
- Onko DMZ-alue riittävästi suojattu?
Penetraatiotestauksen tulokset raportoidaan yrityksen johdolle. Raportointiin tulee liittää selkeät priorisoidut kehitysehdotukset.
Työkaluohjelmia
Penetraatiotestauksessa käytetään useita erityyppisiä työkaluohjelmistoja ja hyödynnetään verkkoskannauksessa hankittuja tietoja sekä selvitetään järjestelmän toiminnallisuudet ja mahdolliset haavoittuvuudet.
AircrackIlmaisen ohjelman avulla on mahdollisuus kohdejärjestelmän haavoittuvuuksia ja korjata heikkouksia. Ohjelma on WEP (Wired Equivalent Privacy) ja WPA-PSK avainten murto ohjelmisto, joka sisältää työkaluja myös verkkoliikenteen salakuunteluun ja WEP ja WPA/WPA2-PSK analysointiin.Aircrack-ohjelma kaappaa tietoa lähetetyistä tietopaketeista ja yrittää päätellä salausavaimen käyttäen hyväkseen sekä tiedon määrää, että koodauksen algoritmin yhteisiä kuvioita.BackTrackIlmainen WLAN-salausten haavoittuvuuksien analysointiin käytettävä ohjelma, joka sisältää työkalut tietoturvan ja haavoittuvuuksien testaukseen. Ohjelmaa voidaan käyttää mm. verkkojen etsintään ja tiedonkeräykseen sekä hyökkäyksiin WEP- ja WPA-salattuihin verkkoihin.EttercapIlmainen avoimen lähdekoodin tietoturvatyökaluohjelma, joka on suunniteltu MITM hyökkäyksiin. Ohjelmaa voidaan käyttää verkkoprotokollan turvallisuuden analysointiin.Ohjelma pystyy sieppaamaan verkkoliikenteen salasanoineen. Filttereiden/Suodattimien avulla on mahdollista muokata käyttäjien välistä liikennettä automaattisesti. Ohjelma sisältää myös dns spoof (DNS huijaus) pluginin.Hacker DefenderTietomurtoihin käytettävä ilmainen rootkit-ohjelma, josta on saatavana myös maksullinen "Golden"-versio. Ohjelma avaa takaportin, jota kautta hyökkääjä saa kohdejärjestelmän hallintaansa. Ohjelma osaa myös piiloutua rootkit-ohjelmien poistotyökaluohjelmilta.KismetIlmainen langattoman verkon skanneri ja tunkeutumisen havainnointiohjelma. Ohjelma toimii useimpien langattomien verkkokorttien kanssa. Ohjelma tunnistaa verkkoja passiivisesti kerää paketteja ja etsii mm. standardin mukaisesti nimettyjen ja piilotettujen verkkojen dataliikennettä.MetasploitHyökkäyksissä käytettävä ilmainen työkaluohjelma, jonka avulla hyökkääjä saa muistinkäsittelyvirheen sisältävän ohjelmiston suorittamaan haluamaansa koodia.NmapIlmainen porttiskanneri. Ohjelma ilmaisee kohdejärjestelmän avoimet portit. Skannaus on mahdollista tehdä useaan kohdejärjestelmään kerralla.NessusIlmainen haavoittuvuusskanneri. Ohjelma tarkastaa annetun verkko-osoiteavaruuden ja selvittää onko kohteeseen mahdollista tehdä tietomurto.NetStumblerIlmainen WLAN-kartoitusohjelma. Ohjelmalla voi esimerkiksi testata salauksen näkyvyyttä ja selvittää verkon haavoittuvuuksia.
