5.12.2011 Miksi tieto ei ole turvallista?
Viime viikkojen uutiset ovat nostaneet taas esille tietojärjestelmien tietoturvaongelmat. Tavallisen käyttäjän näkökulmasta voi vaikuttaa erikoiselta, että ihmisten henkilötietoja tai salasanoja ei ole suojattu riittävän hyvin tietovuotojen estämiseksi. Tietojärjestelmän kehittäjän näkökulmasta tietojen suojaaminen ei ole kuitenkaan niin yksinkertaista kuin maallikosta saattaisi vaikuttaa.
Tietojärjestelmiä hankitaan karkeasti yleistäen kahdella tavalla; joko etukäteen määriteltynä kokonaisuutena tai pienemmissä osissa tehtävänä työnä. Ensimmäinen vaihtoehto on enemmän käytössä esimerkiksi julkishallinnossa, jossa hankinnan kokonaiskustannukset täytyy tietää hankinnasta päätettäessä. Jälkimmäistä tapaa taas käytetään usein yritysten tuotekehityksessä, jossa tuotekehitystä tehdään niin monta iteraatiota, että riittävä toiminnallisuuden ja luotettavuuden taso on saavutettu.
Molemmissa tavoissa ovat omat ongelmansa tietoturvan näkökulmasta. Ongelmana ensimmäisessä, järjestelmän kertahankintana toteuttavassa, lähestymistavassa on, että vaatimusten määrittelijöiden täytyy tuntea kaikki tietojärjestelmän toimintojen erikoisalueet, mukaan lukien tietoturva. Kuitenkin hyvin harvasta organisaatiosta löytyy edes nimettyä tietoturvavastaavaa. Kun tietoturvavaatimukset puuttuvat määrittelystä, on niiden toteuttaminen kiinni toimittajasta. Jos vaatimukset on taas asianmukaisesti määritelty, voidaan toiminnallisuus varmistaa hyväksymistestauksessa.
Jälkimmäisen hankintatavan, eli niin iteratiivisen kehitysprosessin, ongelmana taas on tietoturvavaatimusten huomioon ottaminen heti alusta alkaen. Kun pyritään saamaan mahdollisimman nopeasti valmista näytettävää, saattavat tietoturvaominaisuudet jäädä muun toiminnallisuuden jalkoihin. Jälkeenpäin ominaisuuksien lisääminen saattaa olla vaikeaa ja kallista. Toisaalta iteratiivisuus antaa myös mahdollisuuksia tarkentaa tietoturvaan liittyviä vaatimuksia koko kehitysprosessin ajan.
Toinen tyypillinen ongelma on tietojärjestelmien suunnittelijoiden ja kehittäjien osaaminen. Jos kehittäjä ei tunne mekanismeja, joilla tietojärjestelmiä murretaan, ei hän pysty niiltä suojautumaan ilman aiemmin mainittuja vaatimuksia. Kun keskimääräisellä kehittäjällä on taustaa tietoturva-asioista enintään yhden kurssin verran opiskeluajoilta, on vastuu tässä tapauksessa vaatimusten määrittelijällä. Onneksi hyvällä ohjelmistoarkkitehtuurilla voidaan myös vaikuttaa toteutuksen tietoturvaan. Tämä taas vaatii tietoturva-alueen asiantuntemusta suunnittelijoilta, joten määrittelyn tärkeyttä on vaikea olla korostamatta.
Kolmas ongelma on ollut esillä viime aikaisissa tietomurroissa. Kaikki viimeisimmät kotimaassa julkisuuteen tulleet tietomurrot ovat käyttäneet hyväksi haavoittuvuuksia, joihin on ollut olemassa korjaus, parhaimmillaan jopa vuosia. Tietojärjestelmä vaatii elinkaarensa aikana valvontaa ja ylläpitoa ja mitä enemmän komponentteja siihen kuuluu, sitä enemmän ylläpitoa se vaatii. Päivitysten asentaminen on tärkeä osa tietojärjestelmän tietoturvasta huolehtimista, vaikka se voi kaiken kiireen keskellä tuntua välillä tarpeettomalta. Sen vuoksi ylläpidon helppouteen tulisikin kiinnittää huomiota tietojärjestelmää hankittaessa ja suunniteltaessa.
Edellä on vain muutama näkökulma tietoturvaan ohjelmistojen hankinnassa ja kehityksessä. Tietoturvan tulisi olla yhtenä näkökulmana mukana koko tietojärjestelmän elinkaaren ajan aina ensimmäisestä liiketoimintavaatimuksesta käytöstä poistamiseen asti. Sen vuoksi myös Relator tekee töitä näiden asioiden eteen. Yhtenä osoituksena tästä on osallistumisemme JYVSECTEC-hankkeeseen. Hankkeesta voit lukea lisää täältä.
-Riku
Kirjoittaja toimii Relator Oy:ssä konsulttina.
- Aiheeseen liittyvää:
- › Suutarin lapsella ei ole kenkiä
- › Hyvin suunniteltu on puoliksi tehty – hyvin uudelleenkäytetty on valmiiksi suunniteltu?
- › Android development - requirements


