Mikä on tunkeutumistesti (pen-testi)?
Penetraatiotestien (joita kutsutaan usein pen-testeiksi) avulla voidaan selvittää, kuinka todennäköinen hyökkäys verkkoon on, mukaan lukien verkon yksittäiset järjestelmät ja tietyt sovellukset. Tutustu siihen, miten tällaiset testit toteutetaan ja mitä ne merkitsevät jo käytössä olevalle verkolle.
Mitä on tunkeutumistestaus?
Tietotekniikka-alalla tunkeutumistesti on suunniteltu hyökkäys minkä tahansa kokoista verkkoa tai yksittäisiä tietokoneita vastaan, jonka tarkoituksena on paljastaa haavoittuvuuksia. Tätä varten käytetään erilaisia työkaluja, joilla simuloidaan erilaisia hyökkäysmalleja, jotka perustuvat yleisiin hyökkäysmenetelmiin. Tyypillisiä kohteita, joille suoritetaan tunkeutumistesti, ovat:
- Verkon kytkentälaitteet, kuten reitittimet, kytkimet ja yhdyskäytävät
- Turvaportit, kuten ohjelmisto- ja laitteistopalomuurit, pakettisuodattimet, virustentorjuntaohjelmat, kuormituksen tasapainottajat, IDS- ja IPS-järjestelmät jne.
- Palvelimet, kuten verkkopalvelimet, tietokantapalvelimet, tiedostopalvelimet jne.
- Televiestintäjärjestelmät
- Kaikentyyppiset verkkosovellukset
- Infrastruktuurilaitteistot, esim. pääsynvalvontamekanismit
- Järjestelmään kuuluvatlangattomat verkot, kuten WiFi tai Bluetooth
Testaus jaetaan yleensä mustalaatikko-, valkoiselaatikko- ja harmaalaatikkotestaukseen: mustalaatikkotestauksessa penetraatiotestaajille annetaan vain tietoja kohdeverkon tai -järjestelmän osoitteesta. Valkoiselaatikkotestauksessa testaajilla on laaja-alainen tuntemus testattavista järjestelmistä. IP-osoitteen lisäksi he saavat tietoja käytettävistä ohjelmisto- ja laitteistokomponenteista. Harmaalaatikkotestaus, joka on penetraatiotestauksen yleisin muoto, yhdistää mustalaatikko- ja valkoiselaatikkotestausmenetelmät. IT-infrastruktuurista annetaan perustietoja, kuten järjestelmien käyttötarkoitus ja niiden yleinen rakenne.
Mitä tarvitsen pentestiin?
Miten voit laatia oman verkostosi tarpeisiin räätälöidyn tunkeutumistestin? Alla on tärkeää tietoa siitä, mitä sinun on otettava huomioon tunkeutumistestiä suorittaessasi.
Miten voin valmistautua tietoturvatestaukseen?
Jotta penetraatiotesti onnistuu, on tärkeää laatia ensin selkeä suunnitelma. Selvitä, mitkä osat on testattava, onko käytettävissäsi kaikki tarvittavat työkalut ja mikä on aikataulu kunkin yksittäisen testin sekä verkon kokonaisarvioinnin osalta.
Valmisteluvaihe on vieläkin tärkeämpi, jos palkkaat ulkopuolisia testaajia ja aiot käyttää white box -testausmenetelmää. Jos haluat käyttää tätä menetelmää, sinun on toimitettava testausryhmälle kaikki tiedot verkostasi ja sen järjestelmistä sekä järjestelmääsi koskeva dokumentaatio. Black box -testauksessa prosessi on erilainen. Tässä menetelmässä sinun tarvitsee ilmoittaa vain niiden komponenttien kohdeosoitteet, jotka on tarkoitus testata.
Penetration-testaajilla tulisi olla asiantuntemusta keskeisiltä teknisiltä aloilta, kuten järjestelmänhallinnasta, verkkoprotokollista, ohjelmointikielistä, tietoturvatuotteista, sovellusjärjestelmistä ja verkkokomponenteista.
Mitkä ovat parhaat työkalut tunkeutumistestaukseen?
Koska hyökkäyksiä on niin monenlaisia, on järkevää, että tunkeutumistestaukseen on käytettävissä runsaasti erilaisia työkaluja. Tärkeimpiä niistä ovat:
- Porttiskannerit: porttiskannerit käyttävät erityisiä työkaluja järjestelmän avoimien porttien tunnistamiseen.
- Haavoittuvuusskannerit: haavoittuvuusskannerit tutkivat järjestelmiä etsiäkseen olemassa olevia tietoturva-aukkoja, virheellisiä määrityksiä sekä puutteellisia salasana- ja käyttäjäkäytäntöjä.
- Snifferit: snifferiä käytetään verkkoliikenteen analysointiin. Mitä vahvempi salaus on, sitä vähemmän tietoa se pystyy keräämään.
- Pakettigeneraattorit: pakettigeneraattoreita käytetään verkkoliikennetietojen luomiseen tai simuloimiseen. Tämä mahdollistaa verkkoliikenteen jäljittelemisen tunkeutumistestien aikana.
- Salasananmurtajat: penetraatiotestaajat käyttävät salasananmurtajia keinona hankkia salasanoja, jotka eivät ole turvallisia.
Monet edellä luetelluista työkaluista on kehitetty nimenomaan verkkoturvallisuustestausta varten, minkä vuoksi ne on räätälöity tiettyihin testausalueisiin. Vaikka valtaosa näistä ohjelmista on avoimen lähdekoodin alalta, on olemassa myös joitakin kaupallisia tietoturvasovelluksia, joiden dokumentaatio on yleensä kattavampaa ja joihin kuuluu kattava IT-tuki.
Mitkä ovat penetraatiotestin eri vaiheet?
Penetration-testin testausmenettely voidaan jakaa seuraaviin neljään vaiheeseen:
Arvioi verkostokonsepti
Tunkeutumistesti voi paljastaa verkoston suunnittelussa tai yksittäisissä osissa olevia epäjohdonmukaisuuksia tai heikkouksia jo valmisteluvaiheessa. Jos esimerkiksi useille sovelluksille on määritetty eri käyttöoikeusryhmiä, tämä voi nopeasti aiheuttaa ongelmia ja muodostaa turvallisuusriskin koko verkostolle, vaikka verkosto ja yksittäiset isännöidyt ohjelmat olisivatkin asianmukaisesti suojattuja. Osa näistä tapauksista voidaan ratkaista jo alustavien neuvottelujen aikana, kun taas toiset voidaan vahvistaa vasta käytännön testin avulla.
Testien suojausmenettelyt
Verkossa käytettävien järjestelmien mahdollisimman korkean tietoturvatason varmistaminen on turvallisen yritysverkon perustana. Penetration-testin aikana on tärkeää tarkistaa jo käytössä olevat suojatoimenpiteet. Tähän kuuluu asennettujen ohjelmistojen, kuten käyttöjärjestelmien, järjestelmäpalveluiden ja sovellusten, tarkistaminen, joiden tulisi olla aina ajan tasalla. Jos käytössä on vanhempia versioita niiden yhteensopivuuden vuoksi muiden sovellusten kanssa, järjestelmän suojaamiseksi on ryhdyttävä vaihtoehtoisiin varotoimiin. Lisäksi yksittäisten järjestelmien ja ohjelmien käyttö- ja todennusvaatimukset ovat tärkeässä roolissa. Tässä yhteydessä penetration-testissä käsitellään muun muassa seuraavia asioita:
- Käyttöoikeudet
- Salasanojen käyttö ja salaus
- Olemassa olevien rajapintojen ja avoimien porttien käyttö
- Määritellyt säännöt (esim. palomuurisäännöt)
Etsi tunnettuja haavoittuvuuksia
Turvallisuusaukkojen havaitseminen ei yleensä vie kauan, minkä vuoksi tunkeutumistestaajat tuntevat yleensä hyvin tutkittavien kohteiden haavoittuvuudet. Verkko-osien suojausta koskevan selvityksen aikana keräämiensä versio- ja päivitystietojen avulla testaajat pystyvät nopeasti tunnistamaan, mitkä sovellukset muodostavat turvallisuusriskin. Jos lyhyessä ajassa on analysoitava useita järjestelmiä, haavoittuvuustarkistimien käyttö voi olla hyödyllistä, vaikka ne eivät aina anna tarkkaa tulosta.
Hyökkäysmenetelmien kohdennettu käyttö
Testaaja voi selvittää, voidaanko löydetyt haavoittuvuudet hyödyntää, vain kokeilemalla niitä käytännössä. Tällaisissa hyökkäyksissä käytettävät komentosarjat ovat yleensä eri internetlähteistä hankittuja skriptejä. Niitä ei kuitenkaan aina ole ohjelmoitu turvallisesti. Jos suoritetaan epävarma hyökkäys, on olemassa riski, että testattava sovellus tai järjestelmä kaatuu ja pahimmassa tapauksessa tärkeät tiedot voivat korvautua. Siksi tunkeutumistestaajien tulisi olla varovaisia ja käyttää vain luotettavia skriptejä hyvämaineisista lähteistä tai jättää haavoittuvuuden testaaminen kokonaan väliin.
Testausryhmän tulisi kirjata muistiin kaikki penetraatiotestin vaiheet ja tulokset. Näin saat parhaan mahdollisen perustan yksittäisten vaiheiden ymmärtämiselle ja tilanteen arvioinnille. Suositeltujen prioriteettiluetteloiden pohjalta voit optimoida järjestelmän suojaamisprosessia vaihe vaiheelta. Yleensä suositellaan, että penetraatiotesti suoritetaan vähintään kerran vuodessa.
Mitkä ovat tunkeutumistestauksen edut ja haitat?
Yhtenäiset tietokonerakenteet kuuluvat menneisyyteen. Nykypäivän hajautetut IT-rakenteet voivat aiheuttaa päivittäin uusia haavoittuvuuksia ja virheitä. Vaikka ohjelmistojen kehittäjät pystyvät toisinaan korjaamaan nämä virheet nopeasti, ongelmien ratkaiseminen voi joskus viedä heiltä hieman enemmän aikaa.
Tässä tilanteessa tunkeutumistestaus osoittaa vahvuutensa ja tarjoaa seuraavia etuja:
- Penetraatiotestit tarkastelevat järjestelmiä paljon perusteellisemmin kuin tavallinen tietoturvatarkastus.
- Penetraatiotestauksen perustavoitteena on tarkistaa, kuinka hyvin yksittäiset komponentit toimivat yhdessä.
- Ulkoisen testaajan avulla saatte toisen mielipiteen sekä uuden näkökulman perustana olevaan tietoturvakonseptiinne.
- Ammattimaiset tunkeutumistestaajat ovat saaneet erityiskoulutuksen ja lähestyvät järjestelmääsi samalla tavalla kuin hakkeri.
Penetraatiotestauksessa, ja erityisesti yhteistyössä ulkoisten testaajien kanssa, on kuitenkin myös omat haittapuolensa:
- Penetraatiotestin aikana testausryhmällä on pääsy sisäisiin tietoihin ja prosesseihin.
- Penetraatiotesteissä on aina mahdollista, että testi aiheuttaa korjaamatonta vahinkoa.
- Pen-testit antavat vain tilannekuvan verkkojärjestelmistäsi, eikä niitä siksi pitäisi koskaan käyttää syynä luopua tavanomaisista turvatoimista.
On myös tärkeää muistaa, että perinteisissä penetraatiotesteissä ei arvioida sosiaaliseen manipuloimiseen liittyviä riskejä. Monet yritykset tarjoavat palveluja, joilla tunnistetaan tällaisia haavoittuvuuksia, sekä järjestävät erityiskoulutuksia sosiaalisen manipuloinnin hyökkäysten torjumiseksi.