Haavoittuvuus tietoturvassa on peikko, joka vaanii jokaisen palvelun ympärillä. Mahdollisen vuodon tai tietomurron vahingot voivat olla merkittävät. Tietoturva pitää huomioida koko palvelun elinkaaren ajan, suunnittelusta ja kehityksestä alkaen. Miten haavoittuvuuksien syntymistä voisi ehkäistä jo ennalta?
Millainen tietoturva-aukko on kaikkein harmittomin? Sellainen, jota kukaan ei koskaan löydä. Piilossa uinuvissa haavoittuvuuksissa on kuitenkin se harmillinen piirre, että ne voivat löytyä koska tahansa – ja usein juuri sen tahon toimesta jonka vähiten toivoisi ne löytävän. Osasta näitä tapahtumia saamme lukea lehdistä, osa ei ylitä uutiskynnystä tai pysyy muuten poissa julkisesta keskustelusta. Selvää on kuitenkin se, että haavoittuvuuden päätyessä hyökkääjän hyödyntämäksi sen hoitamisen kustannus ja haitta on valtava.
Toiseksi kallein aika löytää haavoittuvuus on palvelun ollessa jo tuotannossa, sillä silloin on sekä välitön mahdollisuus sille, että haavoittuvuutta on hyödynnetty ja vahinkoja on syntynyt että haavoittuvuuden korjaaminen on merkittävästi monimutkaisempaa ja työläämpää kuin jos ongelma olisi havaittu ja korjattu jo kehitysvaiheessa.
Miten siis vältetään haavoittuvuuksien syntyminen? Miksi ongelmia löytyy toistuvasti ja mitä asialle voisi tehdä?
Jos kysymys olisi yksinkertainen, ongelma olisi poistunut jo kauan sitten. Juurisyitä tietoturvapuutteille on lukemattomia, mutta tärkeimpiin niistä kuuluvat riskien aliarviointi, liiallinen kiire prototyyppien tuotannollistamisessa ja – onneksi yhä harvemmin – puhdas ymmärtämättömyys tietoturvan vaatimuksista.
Uhkamallinnus luo pohjan palvelun tietoturvalle
Uhkamallinnus – tai uhka-analyysi – luo pohjan palvelun tai sovelluksen tietoturvaprofiilin ymmärtämiselle ja oikean varautumistason suunnittelulle ja toteuttamiselle. Kaikkia järjestelmiä ei ole järkevää rakentaa äärimmäisiin tietoturvavaatimuksiin vastaaviksi, mutta varautumispäätösten tulee olla perusteltuja ja eksplisiittisiä. Kevyinkään tuotantoon menevä ratkaisu ei voi sivuuttaa tietoturvaa. Vaikka kampanjasivu.fi ei käsittelisikään henkilötietoja, voi siihen jäänyt tietoturva-aukko mahdollistaa esimerkiksi erittäin uskottavan kalastelun ja haittaohjelman levityksen. Epäilisitkö sinä oman yrityksesi oikeaan kampanjasivustoon osoittavaa linkkiä?
Varhaisessa vaiheessa tehty uhkamallinnus jota ylläpidetään kehityskaaren aikana on sekä kevyt, skaalautuva että toimivaksi osoittautunut tapa luoda selkeä kuva järjestelmän tietoturvavaatimuksista ja antaa riittävä ymmärrys päätösten tekemiseksi palvelun elinkaaren eri vaiheissa.
Yksinkertaistettuna uhkamallinnuksessa on kyse siitä, että siinä selvitetään millaista tietoa kehitettävässä palvelussa luodaan, tallennetaan ja käsitellään, kuka siitä voisi olla kiinnostunut, millaiset vaikutukset mahdollisilla haavoittuvuuksilla olisi ja miten uhkiin varaudutaan. Käsittelyn taso ja syvyys vaihtelevat sekä järjestelmän kriittisyyden että kehityksen vaiheen mukaan – esimerkiksi palvelumuotoilun aikana ei ole realistista eikä relevanttia pohtia teknisiä varautumiskeinoja, mutta on oleellista kartoittaa ja dokumentoida se, kenen on käsiteltävä tietoja palveluprosessin mahdollistamiseksi.
Tietoturva ei synny suunnitelmalla, eikä sattumalta
Perinteinen tapa lähestyä tietoturvaa on kaksiosainen: alussa tehdään massiivinen tietoturvapolitiikka ja suunnitelma, ja lopussa tehdään testaus jossa Virallisesti Vahvistetaan, että järjestelmän kehityksessä on Noudatettu Politiikkaa. Käytännön tietoturvan toteutus jää helposti irralliseksi ja tavoitteena on lähinnä lain (eli politiikan) kirjaimen toteuttaminen.
Lähes kaikki järjestelmäkehitys tehdään iteratiivisesti. Ympäristön muutokset ja alkuvaiheen epävarmuus lopullisesta tavoitetilasta ohjaavat kohti ketteriä menetelmiä. Tietoturvan hallinnalle ketterä kehitys asettaa luonnollisesti myös vaatimuksen sopeutua muutokseen. Tietoturvallisen ohjelmistokehityksen menetelmät, joista usein käytetään lyhennettä SDL tai SSDL (secure software development lifecycle) pyrkivät varmistamaan sekä sen, että uhkamalli pysyy ajan tasalla ja päivittyy määritysten tarkentuessa että sen, että suunnitellut kontrollit eivät vain päädy tehtävälistalle vaan ne myös toteutetaan, testataan ja verifioidaan.
Yllä kuvattu toimintamalli tuo tietoturvan lähelle toteutustiimiä kehityksen kaikissa vaiheissa. Näin työlistalle tuodut tietoturvakontrollit aidosti ymmärretään, toteutetaan ja testataan – ja koko palvelun tietoturvakehityksestä muodostuu yhtenäinen jatkumo suunnittelusta toteutuksen kautta tuotantoon.
Tietoturvan hallinta on palvelun koko elinkaaren asia
Tietoturva koetaan usein hyvin tekniseksi ja vaikeaksi asiaksi. Sen ei kuitenkaan tarvitse olla vaikeaa – eikä se saa jäädä vain tietoturva-ammattilaisten huoleksi. Tietoturva-asioiden säännöllisen tarkastelun ymmärrettävien ja konkreettisten vaikutus- ja toimenpidekuvausten avulla on oltava osa palvelun koko elinkaarta: niin liiketoiminta- ja palvelumuotoilua, kokonaisarkkitehtuuria, tietomallinnusta, data-arkkitehtuuria, ratkaisusuunnittelua, ketterää kehitystä, jatkuvaa suunnittelua ja kehitystä kuin operointipalveluitakin. Siten minimoidaan riski tilanteista, joissa esimerkiksi henkilötietoa on päätynyt käsiteltäväksi ympäristössä, joka ei sen käsittelyyn sovellu – tai tuotantoon ollaan menossa nopeasti proof-of-concept -hengessä tehdyn raakileen kanssa.
Koska tietoturva on moniulotteinen ongelma, on myös tietoturvan suunnittelua, toteutusta ja hallintaa lähestyttävä kokonaisvaltaisesti. Vaikka tekniset toimenpiteet kehitysprosessin ja järjestelmien koventamiseksi ovat erittäin tärkeitä, ne eivät vielä yksin riitä kokonaisuhkiin varautumiseen. Virheet järjestelmien toteutuksessa luovat piileviä haavoittuvuuksia, joita hyökkääjät voivat löytää ja hyödyntää, mutta kehitysvaiheeseen voidaan myös aktiivisesti kohdentaa hyökkäyksiä. Paraskaan tekninen tietoturva ei auta tilanteessa, jossa hallinnollinen tietoturva esimerkiksi käyttäjätunnusten hallinnan tai luottamuksellisen tiedon käsittelyvaltuutusten osalta pettää. Toisaalta äärimmilleen viritetty vaatimustaso tietoturvassa johtaa helposti käytettävyyden heikkenemiseen siinä määrin, että luovat yksilöt alkavat etsiä, ja löytää, sujuvia kiertoteitä kontrollien ympäri.
Lue lisää tietoturvapalveluistamme ja Solita WhiteHatista.