Miten ohjelmiston tietoturva huomioidaan suunnittelussa?
Ohjelmiston tietoturva rakennetaan suunnitteluvaiheessa. Päätät ensin, mitä tietoja ohjelma käsittelee, kuka niihin pääsee käsiksi ja miten ohjelmaa ylläpidetään julkaisun jälkeen.

Soitamme sinulle takaisin
Jätä nimi ja numero, niin soitamme sinulle.
Tässä artikkelissa
Ohjelmiston tietoturva rakentuu suunnitteluvaiheessa, ei viimeisessä testauksessa. Kun päätät projektin alussa, mitä tietoja ohjelma käsittelee, kuka niitä saa nähdä ja kuka huolehtii ohjelmasta julkaisun jälkeen, suojaus on osa rakennetta. Jälkikäteen lisätty suojaus vaatii usein rakenteen muutoksia. Nämä kolme kysymystä kuuluvat jokaiseen ohjelmistoprojektiin, olipa kyse pienestä sisäisestä työkalusta tai asiakkaille avatusta palvelusta.
Ohjelmiston tietoturva alkaa tietojen kartoituksesta
Aloita listaamalla tiedot, joita ohjelma käsittelee: asiakasrekisteri, laskutustiedot, sopimukset, työntekijöiden tiedot. Eri tiedot vaativat eri suojauksen, ja lista kertoo, mihin suunnittelussa kannattaa panostaa. Henkilötietoja koskevat EU:n yleinen tietosuoja-asetus ja kansalliset säännökset, joiden ajantasaiset vaatimukset löydät tietosuojavaltuutetun toimistolta. Kartoitus sopii luontevasti vaiheeseen, jossa ohjelmisto suunnitellaan yrityksen todellisiin tarpeisiin.
Kerää vain tiedot, joita ohjelma tarvitsee. Jos tilauslomake toimii ilman syntymäaikaa, älä kysy sitä. Tietoa, jota ei ole tallennettu, ei voi vuotaa. Tallennetut tiedot ja verkon yli kulkevat yhteydet suojataan salauksella, ja jokaiselle tiedolle sovitaan säilytysaika, jonka jälkeen se poistetaan. Tietokanta ei silloin täyty vanhoista tiedoista, joita kukaan ei enää käytä mutta joita pitäisi silti suojata.
Tietoa, jota ei ole tallennettu, ei voi vuotaa.
Käyttöoikeudet rajaavat, kuka näkee mitä
Kirjautuminen tunnistaa käyttäjän, ja käyttöoikeus ratkaisee, mitä hän saa tehdä. Myyjä näkee omat asiakkaansa, talouspäällikkö laskut ja ylläpitäjä asetukset. Kun jokainen saa vain työhönsä tarvittavat oikeudet, yksittäisen tunnuksen joutuminen vääriin käsiin aiheuttaa rajallisen vahingon. Roolit kannattaa määritellä projektin alussa, koska niiden lisääminen valmiiseen ohjelmaan vaatii usein rakenteen muutoksia.
Palvelimen on tarkistettava oikeudet jokaisessa pyynnössä. Käyttöliittymän piilottama painike ei suojaa mitään, jos osoitteen voi kirjoittaa selaimeen käsin. OWASP:n Top 10 -luettelo nostaa pääsynhallinnan puutteet verkkosovellusten tunnettujen riskien joukkoon. Hallintakäyttäjille kannattaa lisätä kaksivaiheinen tunnistautuminen, ja lokiin kirjataan, kuka muutti mitä ja milloin. Epäselvässä tilanteessa lokista näkee nopeasti, mitä tapahtui.
Ohjelmiston tietoturva jatkuu julkaisun jälkeen
Ohjelma ei ole valmis julkaisupäivänä. Käytettyihin kirjastoihin, tietokantaan ja palvelinympäristöön tulee päivityksiä, ja osa niistä korjaa havaittuja haavoittuvuuksia. Päivitysten seuranta, testaus ja käyttöönotto tarvitsevat nimetyn tekijän, muuten ne jäävät tekemättä. Kyberturvallisuuskeskus julkaisee tietoturvaa koskevia varoituksia ja ohjeita, joita yrityksen kannattaa seurata myös oman ohjelmansa osalta.
Varmuuskopiot kuuluvat samaan kokonaisuuteen. Kopiosta on hyötyä vasta, kun palautus on kokeiltu ennen ensimmäistä oikeaa tarvetta. Sovimme ylläpidon, päivitysten ja varmuuskopioinnin yksityiskohdat tilauksen yhteydessä. Tietoturvatavoitteet kannattaa kirjata mukaan ohjelmistoprojektin tavoitteisiin, ja työn vaiheet voit lukea artikkelista ohjelmiston valmistamisesta ideasta toimivaksi ratkaisuksi.
