Siirry sisältöön
Icon-offering-ptaas-thick-green-1

OPAS

Ostajan opas: Tietoturvatestaus

Tutustu tietoturvatestaukseen tarkemmin. Opas auttaa sinua ymmärtämään mitä tietoturvatestaus on, miksi se on tärkeää ja miten valita sopiva palveluntarjoaja.

Miksi tietoturvatestausta tarvitaan?

Tietoturvallisuus on yksi digitaalisten, verkon yli käytettävien järjestelmien ja sovellusten toimintavarmuuden perusvaatimuksista. Järjestelmien on oltava turvallisia, vaihtoehtoja ei ole.

Tietoturvatestaus voidaan mieltää osaksi riskienhallintaa ja laadunvarmistusta, mutta niiden lisäksi se on usein ulkoisena vaatimuksena mm. regulaation, standardin tai loppuasiakkaan edellyttämänä.

Tietoturvatestaamisella varmistetaan, että julkaistavaksi tarkoitettu järjestelmä on riittävästi varautunut verkon yli tapahtuvaa vihamielistä vaikuttamista, häirintää ja toiminnallisuuksien väärinkäyttöä vastaan. Testaaminen on käytännöllinen menetelmä, joka paljastaa järjestelmän tietoturvahaavoittuvuudet ja väärinkäytön mahdollisuudet.
 
Testaaminen on tarpeellista sisällyttää järjestelmän kehitystyöhön osaksi testiautomaatiota. Näin nopeastikin kehittyvän järjestelmän mahdolliset puutteet havaitaan mahdollisimman pian, jolloin niiden korjaaminen ei ole erityinen toimenpide vaan osa normaalia kehitystyötä.

Kaikkia haavoittuvuuksia ja väärinkäyttötapauksia ei kuitenkaan ole mahdollista havaita automaattisesti, vaan lisäksi tarvitaan manuaalista asiantuntijatyötä.

Erityisesti ketterässä ohjelmistokehityksessä säännöllinen testaaminen varmistaa järjestelmän tietoturvan pysyvän ajan tasalla jatkuvista muutoksista huolimatta. Myös viimeisimmät regulaatiot tähtäävät siihen, että tietoturvasta huolehditaan säännöllisesti.

Vaikka testaaminen ennen kaikkea pyrkii löytämään järjestelmän suojaamiseen liittyviä puutteita, auttaa se myös arvioimaan, miten hyvin mahdollisten haavoittuvuuksien hyväksikäyttö tai väärinkäyttötapaukset voidaan havaita.

Mitä tietoturvatestaaminen on?

Tietoturvatestaaminen on asiantuntijatyötä, jossa tietoturva-ammattilaiset etsivät sovelluksesta, tietojärjestelmästä tai -verkosta tietoturvan vaarantavia virheitä, puutteita ja haavoittuvuuksia.

Usein testaaminen tehdään verkon yli eikä se edellytä kehitys- tai muihin ympäristöihin erillisten ohjelmistojen asentamista; tarvittavat työkalut ovat testaajien omalla työasemalla tai muissa testausta tuottavan yrityksen ympäristöissä.

Testaamisen aikana tehdyt havainnot varmistetaan niiden liiketoiminnallisten ja teknisten vaikutusten arvioimiseksi. Tämä poistaa ns. väärät positiiviset havainnot sekä auttaa riskien arvioinnissa ja korjaustöiden priorisoinnissa.

Testauksen lopputuloksena tuotetaan raportti, jossa kuvataan tehdyn työn laajuus, mahdolliset havainnot ja niiden aiheuttama riski sekä korjaussuositukset. Tulokset käydään läpi erillisessä palaverissa tilaajan kanssa, jolloin varmistetaan että havaintojen vakavuus ja vaadittavat korjaustoimenpiteet ovat kaikille selkeitä.

Tietoturvatestausta voidaan tehdä joko projektityyppisesti tai jatkuvana palveluna. Projektityyppisen toimituksen jälkeen voi olla tarpeen tehdä erillinen korjaustarkastus, mikäli havaintoja on paljon tai ne ovat riskitasoltaan vakavia.

Jatkuvassa palvelussa tarkastellaan kohdejärjestelmää säännöllisin väliajoin, jolloin testaataan uudet ominaisuudet ja edelliskerran havaintojen korjaustyö. Jatkuvuus tuottaa myös havaintoja itse kehitystyöstä esimerkiksi mikäli samankaltaisia havaintoja tehdään usein tai mikäli jotkut haavoittuvuudet osoittautuvat hankaliksi korjata, tai korjaustyöt eivät etene suunnitellusti.

Tietoturvatestauksen liiketoiminnalliset tavoitteet

Tietoturvatestauksessa on kolme näkökulmaa koskien liiketoiminnallisia tavoitteita: compliance eli vaatimustenmukaisuus, riskienhallinta ja laadunvarmistaminen. Näkökulmat eivät ole toisiaan poissulkevia, vaan ne toimivat sekä yksittäin että yhdessä.

Compliance eli vaatimustenmukaisuus

Compliance eli vaatimustenmukaisuus liittyy ulkoisten vaatimusten tunnistamiseen ja täyttämiseen. Näitä ovat mm. lainsäädännön, regulaation, standardien ja asiakaskohtaisten vaatimusten toteuttaminen ja osoittaminen. Compliance voi ilmentyä myös siten, että tuotekohtaisen riskianalyysin sijaan valitaan jokin turvallisuusstandardi, jota pyritään noudattamaan. Esim. organisaatiotasolla ISO27001 tai verkkosovellusten osalta OWASP ASVS.

Tässä näkökulmassa tietoturvallisuus todetaan auditoimalla eli vaatimusten täyttyminen osoitetaan riippumattomalla tavalla. Jäännösriskinä ovat ne tietoturvaan liittyvät asiat, joihin vaatimukset eivät ulotu, mutta joita järjestelmässä tai sovelluksessa ominaisuuksiensa puolesta saattaa olla.


Riskienhallinta

Riskienhallinta liittyy järjestelmän tai sovelluksen ominaispiirteistä (teknologian, toiminnallisuuksien, tietosisällön, käyttöliittymän, integraatiorajapintojen jne.) emergoituvien tietoturvariskien hallintaan siltä osin kun compilance-vaatimukset eivät niihin ulotu.

Käytännössä iso osa tyypillisistä riskeistä voi hyvinkin tulla katetuiksi jo ulkoisten vaatimusten noudattamisella, mutta ne eivät lähtökohtaisesti voi huomioida kaikkia mahdollisia tietojärjestelmiä. Jäännösriskin osalta vaihdoehdot ovat riskien hyväksyminen tai pienentäminen. Pienentäminen tarkoittaa tässä tapauksessa esimerkiksi sitä, että tehdään ensin tekninen uhkamallinnus, joka pyrkii tunnistamaan järjestelmään todennäköisesti kohdistuvat hyökkäysvektorit ja sen jälkeen valitaan niihin sopivat hallintakeinot eli tietoturvakontrollit.

Tunnistettujen tietoturvauhkien hallintakeinojen eli kontrollien muodostamaa kokonaisuutta kutsutaan tietoturva-arkkitehtuuriksi. Kontrolleja on kolmea lajia: estävät tai suojaavat, tunnistavat ja palauttavat kontrollit. Kontrollit ovat tyypillisesti teknisiä (esim. tunnistusmekanismit) tai hallinnollisia (esim. luvituskäytännöt).


Laadunvarmistus

Laadunvarmistuksen näkökulma koskee sekä osaamista, prosesseja että järjestelmää tai sovellusta itseään. Tietoturvavaatimukset spesifioivat toiminnallisia tietoturvakontrolleja (esim. millainen tunnistusmekanismi valitaan, millaiset käyttöoikeustarkastukset tarvitaan), mutta niiden lisäksi tarvitaan ei-toiminnallista tietoturvallisuutta, joka koskee toimintojen laadukasta toteutusta, esimerkiksi varautumista häiriö- tai poikkeustilanteisiin ja perusteellista virheiden käsittelyä.


Tietoturvapuutteet

Tietoturvaa koskevat puutteet voidaan jakaa kolmeen osaan: suunnittelu-, ohjelmointi- ja konfigurointivirheisiin.

  • Suunnitteluvirheet johtuvat vaatimusten puutteellisuudesta tai niiden virheellisestä tulkinnasta. Vaatimukset puuttuvat mm. siksi että riskejä tai uhkia ei ole asianmukaisesti tunnistettu.

  • Ohjelmointivirheet ovat usein seurausta siitä, että poikkeukselliseen tai odottamattomaan järjestelmän käyttöön ei olla varauduttu. Nämä ovat virheitä jotka periaatteessa pitäisi pystyä havaitsemaan kehitystyön aikanakin esim. yksikkö- tai integraatiotesteillä.

  • Kongifuraatiovirheet liittyvät puutteelliseen operatiiviseen tietoturvaan eli kun järjestelmä on jo tuotantokäytössä. Tällöin kehitys- tai ylläpitoprosesseissa ei varmisteta sovelluksesta näkyvän ulospäin vain välttämättömät asiat tai että kolmannen osapuolen komponenttien päivityksiä tai haavoittuvuuksia ei seurata.
Miten tietoturvatestaus tehdään?

Tietoturvaa voidaan arvioida usealla eri menetelmällä, joista testaaminen on yksi. Testaamisessa monesti painopiste on haavoittuvuuksien etsimisessä ja niiden vakavuuden arvioinnissa. Liiketoimintakonteksti on keskeinen tekijä havaintojen riskitason ja vakavuuden arvioinnissa ja olennainen myös testauksen suunnittelussa. Ilman sitä on vaikea päättää mikä on pakollista testata ja minkä voi mahdollisesti jättää testauksen ulkopuolelle.

Testauksen kattavuuden osalta puhutaan skouppaamisesta eli mitä tarkalleen testaukseen sisällytetään (sovellukset, rajapinnat, järjestelmät, ominaisuudet, jne). Toinen keskeinen tekijä on, miten perinpohjaisesti testaus kannattaa suorittaa eli riittääkö esimerkiksi haavoittuvuusskannaus vai tarvitaanko penetraatiotestaus. Näiden eroista tarkemmin täällä.

Tärkeää on ymmärtää, millaisia ovat kohteeseen liittyvät tunnistetut tietoturvauhkat tai -riskit. Mikäli näitä ei ole tiedossa, voi olla hyvä paikka aloittaa uhkamallinnuksesta.

1. Scope-palaveri

Scope-palaverissa kohde esitellään testaustiimille liiketoimintakontekstissaan. Palaverin tärkein tavoite on tuottaa testauksen työmääräarvio, koska se riippuu kohteen suuruusluokasta, kompleksisuudesta ja testauksen menetelmistä.

Jos kohde on websovellus tai mobiilisovellus, työmääräarviointiin riittää usein sen esittely suoraan käyttöliittymän kautta. Helpointa scope-palaveri on toteuttaa Teams-kokouksena. Toinen vaihtoehto on toimittaa tunnukset demo-ympäristöön, mutta näitä ei aina ole saatavilla. 

Jos kohde on ulko-tai sisäverkko, työmäärää arvioidaan verkkoon kuuluvien palvelinten tai käytössä olevien domain-nimien ja/tai IP-osoitteiden lukumäärän perusteella. 

Kun kohde on testaustiimin tiedossa, varmistetaan vielä että suunniteltu testausmenetelmä on liiketoimintatavoitteen näkökulmasta oikea. Tavoitteita ovat mm. ulkoisille sidosryhmille raportointi, riskiarviot sekä haavoittuvuuksien hallinta.

Scope-palaveriin tarvitaan tilaajan taholta liiketoimintatarpeesta tietävät sekä kohteiden teknologian tuntevat henkilöt. Esimerkiksi ulkoverkon testaamisessa suositeltavat osallistujat ovat CISO, CIO ja IT Manager. Sovelluksen osalta product manager, lead developer sekä toimintaympäristöstä eli infrastruktuurista vastaava henkilö. Jos sovellus toimii kumppanin ympäristössä, on heidänkin hyvä olla tulevasta testauksesta tietoisia.

2. Testiympäristön valmistelu

Testausta tuotannossa ei suositella, mutta joskus ei ole vaihtoehtoja. Suositus kuitenkin on tehdä testaus tuotannonkaltaisesssa ympäristössä (testi- tai esituotantoympäristö), jotta tehdyt havainnot pätevät myös tuotannossa.

Mikäli testiympäristö sijaitsee tilaajan sisäverkossa, tarvitaan testaamista varten palomuuriavaukset tai vaihtoehtoisesti VPN-yhteys. Jos testi- tai esituotantoympäristö on saavutettavissa julkisesta verkosta, erillisiä avauksia ei tarvita.

Testattavaan sovellukseen tarvitaan testitunnukset, jotta testaustyössä voidaan testata mm. organisaatio- ja käyttäjätasojen mukaisia näkyvyysrajoituksia. Testitunnukset auttavat myös epärehellisen loppukäyttäjän näkökulmasta tehtävien testitapausten suorittamista.   

Ennen testaamista on hyvä ottaa varmuuskopio, erityisesti jos testataan tuotannossa tai jos testidatakin on työläs tuottaa uudelleen.

3. Testaaminen ja raportointi

Testaus suoritetaan asiantuntijatyönä ja siinä hyödynnetään sekä automaattisia että manuaalisia tietoturvatyökaluja ja menetelmiä. Tehdyt havainnot varmistetaan pyrkimällä hyödyntämään niitä. Näin poistetaan ns. väärät positiiviset havainnot sekä saadaan tarkempi vaikutusarvio oikeille havainnoille.

Testaukseen käytettävä aika riippuu kohteen laajuudesta ja kompleksisuudesta. Tyypillisesti testausprojekti web-sovellukselle kestää n. 1-2 viikkoa, verkkoympäristöjen testaaminen taas 2-4 viikkoa.

Testauksen lopputuloksena tuotetaan raportti, jossa kuvataan tehdyn työn laajuus, mahdolliset havainnot ja niiden aiheuttama riski sekä korjaussuositukset. Tulokset käydään läpi erillisessä palaverissa tilaajan kanssa, jolloin varmistetaan että havaintojen vakavuus ja vaadittavat korjaustoimenpiteet ovat kaikille selkeitä. 

Miten tietoturvatestaus eroaa haavoittuvuuksien skannauksesta?

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.

Lue myös: Pentestaus ja haavoittuvuuksien skannaus – mikä näiden ero on?

Mikä on tietoturva-auditoinnin ja testauksen ero?

Tietoturva-auditoinnissa tarkoituksena on raportoida, onko tarkastettu järjestelmä vaatimusten mukainen. Mikäli puutteita havaitaan, ne korjataan. Raportin näkökulmasta tulos on binäärinen: joko ollaan vaatimusten mukaisia tai sitten ei olla. Tietoturva-auditointi vastaa siis siihen, kuinka hyvin tietoturvavaatimukset täyttyvät.

Tietoturvatestaus eroaa auditoinnista siinä, että järjestelmän tietoturvavaatimukset eivät johda tekemistä. Tekeminen on luonteeltaan kokeilevaa, adaptoituvaa ja ennen kaikkea luovaa eikä se perustu valmiisiin tarkastuslistoihin tai vaatimuksiin. 

Tietoturva-auditoinnin osana voi olla haavoittuvuusskannaus, mutta haavoittuvuuksia ei useinkaan pyritä aktiivisesti hyödyntämään. Tietoturvatestauksessa haavoittuvuusskannaus on yksi työvaihe ja havaittuja haavoittuvuuksia pyritään aktiivisesti hyödyntämään uusien tietoturva-aukkojen löytämiseksi. Aktiivisen hyödyntämisen avulla saadaan skannerien raportoimat “väärät positiiviset” (false positive) havainnot poistettua sekä haavoittuvuuksien todellinen riskitaso arvioitua.

Lue myös: Tietoturva-auditointi vai pentestaus – kumman tarvitset?

Tietoturvatestauksen hinnan muodostuminen

Penetraatiotestausta voidaan tehdä projektityyppisesti tai jatkuvana palveluna. Testauksen työmäärä riippuu sekä testattavan kohteen tyypistä, laajuudesta ja kompleksisuudesta että valitusta tietoturvan arviointimenetelmästä.


Projektityyppisen penetraatiotestauksen kustannukset liikkuvat usein seuraavissa hintahaarukoissa:

  • Web- ja mobiilisovelluksen penetraatiotestaus
    - 10 000 - 20 000 euroa

  • Ulkoverkon penetraatiotestaus
    - 10 000 - 30 000 euroa

  • Sisäverkon penetraatiotestaus
    - 15 000 - 40 000 euroa

  • IoT/Sulautetun järjestelmän penetraatiotestaus
    - 20 000 - 50 000 euroa

Lue myös: Mitä tietoturvatestaus maksaa ja mikä hintaan vaikuttaa?

Pyydä tarjous tietoturvatestauksesta

Laita meille viestiä osoitteeseen sales@silverskin.fi tai jätä yhteydenottopyyntö niin keskustellaan lisää!

Tutustu artikkeleihin

Sertifioitu ja asiantunteva kumppani

Meillä on yli 10 vuoden kokemus kyberturvallisuuspalveluiden tuottamisesta. Kehitämme itseämme jatkuvasti ja sertifoimme osaamisemme. Lisäksi kanssamme on mukava työskennellä!

Crest-logo-white
Offsec logo
ISC2-logo-white
ISACA-logo-white
giac-logo-color