Tietoturva Nyt!
Tämä teksti on ensimmäinen osa Traficomin Kyberturvallisuuskeskuksen haavoittuvuuksia käsittelevästä juttusarjasta. Ensimmäisessä osassa pohditaan, mistä haavoittuvuudet johtuvat, miten niitä voidaan ehkäistä ja mitä tulisi tehdä, kun haavoittuvuus löydetään. Seuraavissa osissa perehdytään yleisesti haavoittuvuuksiin, Kyberturvallisuuskeskuksen haavoittuvuuskoordinaatioon ja yhteistyötahon haavoittuvuuksien hallintaan.
Ajoittain silmiin osuu haavoittuvuuksista ja tietovuodoista kertova otsikko, joka saa tavan käyttäjän kämmenet hikoilemaan ja sydämen pamppailemaan. Samassa yhteydessä uutisoidaan toivottavasti myös valmistajan tarjoamasta päivityksestä, jolla haavoittuvuuden voi paikata. Tarjottujen päivitysten asentaminen onkin ensiarvoisen tärkeää, jotta laite ei vuotaisi käyttäjän tietoja haavoittuvuuksien pahantahtoisille hyödyntäjille.
Aika moni meistä on jo oppinut, että päivitykset pitää aina asentaa. Harva älylaitteen haltija on kuitenkaan tullut pohtineeksi, mistä haavoittuvuudet johtuvat, miten niitä voidaan ehkäistä ja mitä tulisi tehdä, kun haavoittuvuus kuitenkin löydetään. Seuraavassa luodaan lyhyt vilkaisu näihin asioihin.
Haavoittuvuuksien juurisyyt
Yksi keskeinen tekijä haavoittuvuuksien syntymisessä on se, että älymaailmaa ohjaavat ohjelmistot on hyvin tyypillisesti koostettu toisiinsa liittyvistä osasista - kuin palapeli tai elementtitalo. Ja samoin kuin taloelementeissä, myös ohjelmiston rakennuspalikoissa havaitaan toisinaan jälkeenpäin riskirakenteita.
Haavoittuvat osaset voivat olla esimerkiksi ohjelmistokirjastoja, joista pystytään lainaamaan tarkoitukseen sopivia osasia niin, ettei kaikkea tarvitse kirjoittaa alusta. Hyvät ohjelmointikirjastot säästävät aikaa ja kustannuksia laadun säilyessä korkeana. Silti nekään eivät ole turvassa virheiltä, jotka liittyvät kaikkeen inhimilliseen tekemiseen. Siksi ohjelmistoihin liittyviä haavoittuvuuksia tulee seurata tarkasti. Yhtä tärkeää on löydettyjen haavoittuvuuksien paikkaaminen ja niistä käyttäjille tiedottaminen.
Haavoittuvuuksien hallinnan haasteet
Haasteelliseksi haavoittuvuuksien seurannan ja tunnistamisen tekee se, että historiatieto ja koodin ylläpidon perusperiaatteet saattavat toisinaan jäädä taustalle kiireemmän tekemisen vallatessa näyttämön. Ohjelmistokehitys on pitkäjänteistä toimintaa, joka vaatii keskittymistä joka askeleella. Ohjelmistokokonaisuudet saattavat kokea syntymänsä ja kuolemansa välissä niin monia muodonmuutoksia, että lopputulos muistuttaa enemmän tai vähemmän Frankensteinin hirviötä. Jos pää on otettu nallelta, keskiruumis vieterikoiralta ja jalat vauvanukelta, ei toiminnan vakaus ole välttämättä parasta A-luokkaa.
Ohjelmistokokonaisuuksien hallinta vaatii tietoista, järjestelmällistä työtä. Monet sattumukset matkan varrella voivat vaatia erityistä huomiotta, jotta kokonaisuuksien summa on toivottu. Osa ohjelmista voi olla kehitetty itse, osa lainattu ja loput ostettu. Yritysostot saattavat sekoittaa pakkaa, kun tuotteeseen saatetaan liittää aivan eri lähtökohdista rakennettuja toiminnallisuuksia ja koodia. Kun alkuperäiset tekijät vielä jossain vaiheessa kaikkoavat horisonttiin vieden mukanaan ajan mittaan kertyneen hiljaisen tiedon, on soppa valmis.
Ratkaisuja ja ennaltaehkäisyä
Haavoittuvuuksien hallintaa helpottaisi merkittävästi, jos ohjelmiston käyttötarkoitus ja elinkaari olisi suunniteltu alusta loppuun. Tähän kannattaakin tähdätä siinä määrin kuin se on mahdollista, koska muutoksista aiheutuvien haavoittuvuuksien paikkaaminen voi myöhemmin olla paitsi kallista, myös toisinaan mahdotonta.
Parhaistakin ponnisteluista huolimatta arkkitehtuuri kokee usein muutoksia matkan varrella, ja kaikkia kehitystarpeita tuskin koskaan pystytään näkemään ennalta. Tähän mahdollisuuteen kannattaakin varautua hahmottamalla, millaisista palasista kokonaisuus koostuu ja merkitsemällä tieto talteen. Samoin kaikki muutokset on syytä kirjata sitä mukaa, kun niitä tehdään.
Toistaiseksi organisaatioiden tietous omasta ohjelmisto-omaisuudesta on hyvin kirjava. Syynä tähän lienee IT-alan dynaaminen luonne ja se, että harva meistä tuntee synnynnäistä vetoa tekemistensä muistiin kirjaamiseen ilman pakkoa. Ohjelmistojen käsittelemän henkilötiedon määrä ja turvallisuuden merkitys kasvavat kuitenkin koko ajan ja samalla paine tietää, mistä on vastuussa. Tämän vuoksi myös ohjelmistoalalla on ryhdytty hyödyntämään automaattisia työkaluja riippuvuuksien seurantaan.
Mitä tavallisen käyttäjän tulisi tietää haavoittuvuuksista?
Ohjelmistoissa olevien haavoittuvuuksien hallinta ja paikkaaminen vaativat aikaa ja työtä, minkä vuoksi se vaatii tietoista ponnistelua ja motivaatiota. Kyberturvallisuuskeskus on pyrkinyt omalta osaltaan helpottamaan työtä Turvallinen tuotekehitys -oppaan avulla. Jos käyttäjä ei kuitenkaan kiinnitä huomiota haavoittuvuuksien paikkaamiseen, voi valmistajakin tuntea houkutusta keskittyä muihin asioihin.
Yksityishenkilön tehokkain tapa vaikuttaa asiaan on vaatia päivityksiä ostamiinsa ohjelmistotuotteisiin, olivatpa ne sitten laitteita, tietokoneohjelmia tai mobiilisovelluksia. Parhaiten paine tavoittaa kohteensa ostohetkellä, joten myyjältä kannattaa kysyä, kuinka pitkään valmistaja on sitoutunut tukemaan tuotetta. Takavuosien kuntourheilun kolmen P:n sääntö "Pitää pystyä puhumaan" muuntautuukin helposti nykypäivänä muotoon "Pitää pystyä päivittämään". Tuote, jonka haavat laastaroidaan, estää myös käyttäjän tietojen vuotamisen.
Tunnetko jo Tietoturvamerkin?
Liikenne- ja viestintävirasto Traficomin myöntämä Tietoturvamerkki on kuluttajalle tae siitä, että tuotteeseen ja palveluun liittyviin tietoturva-asioihin on kiinnitetty huomiota. Yritykselle merkki on yksinkertainen tapa osoittaa kuluttajille, että tietoturva on otettu huomioon laitteiden suunnittelussa.
Yksi Tietoturvamerkin keskeisimmistä vaatimuksista on se, että merkin hakija sitoutuu tarjoamaan tuotetuen ja päivitykset koko merkin voimassaolon ajaksi.