Turvallinen ohjelmistokehitys ja hankinta

Turvallinen ohjelmistokehitys varmistaa ohjelmiston turvallisuuden jo sen rakentamisvaiheessa. Turvallisuus ei synny ohjelmistoon päälle liimaamalla, vaan se tulee rakentaa niin, että tunnistetut uhkat ja hyvät käytännöt otetaan huomioon.

On tärkeää huomioida turvallisuusnäkökohdat jo vaatimusmäärittelyissä, projektihankinnoissa ja suunnittelussa. Ohjelmakoodia kirjoitettaessa ja järjestelmää konfiguroitaessa tietoturvaa tulee käsitellä kuten muitakin laatuominaisuuksia eli projektin kannalta tärkeät asiat ja yleiset hyvät käytännöt tulee ottaa huomioon.

Aikaisessa vaiheessa tehdyt tietoturvakorjaukset ja -muutokset ovat merkittävästi halvempia verrattuna jälkikäteen testaus- tai tuotantovaiheessa tehtyihin muutoksiin. Samalla korjaukset tulevat osaksi ohjelmiston toteutusta – eivät päälle lisätyksi laastariksi – jolloin ne ovat myös paremmin hallittuja ja tiedostettuja.
 
Ohjelmistokehityksen osana tehty tietoturvatyö tarkastelee järjestelmää sen ”pellin alta”, jolloin pelkkien haavoittuvuuksien lisäksi löydetään piileviä heikkoja kohtia ja riskialttiita ratkaisuja.
 
Yhtä tärkeää kuin järjestelmän tietoturva on sovelluskehitystiimin tietoisuus ja osaaminen sovellustietoturvan alueilla. Huomioitavia asioita ovat mm. tietoturvan huomioon ottaminen kehitysprosessissa (oli se Scrum, vesiputous tai jokin muu), tietoturvan dokumentoinnin ja katselmoinnin käytännöt, uusien uhkien tunnistaminen, turvalliset suunnittelumallit sekä sovelluksen ja arkkitehtuurikehyksen välinen vastuunjako tietoturvasuojauksissa. Tätä tukee usein yrityksen sovelluskehitystietoturvaryhmä tai -asiantuntija, joka myös ohjeistaa, linjaa ja neuvoo projekteja tietoturva-asioissa.
Tietoturva määrittelyissä

Puutteellisten tai jopa ristiriitaisten sovellusmäärittelyjen vuoksi tietoturvasta tulee riittämätön. Jos sovelluksen vaste normaalista käytöstä poikkeaviin tapahtumiin on jätetty määrittelemättä, sovellus käyttäytyy arvaamattomasti ja on helposti haavoittuva.

Ohjelmiston vaatimustenmukaisuuden varmistaminen

Organisaation tuottamiin ja käyttämiin sovelluksiin voi liittyä vaatimustenmukaisuusvaatimuksia, kuten tietoturvatasot, PCI tai lait yksityisyyden suojasta. Organisaatiolla voi myös olla tarve noudattaa yleisiä ohjeistuksia, kuten VAHTI-sovelluskehitysohjeita.

Sovelluksen jäännösriskin hallinta

Tietoturvariskien hallinta ja kontrolloimattomien riskien hyväksyntä edellyttävät kattavaa kuvaa sovellukseen kohdistuvista uhkista ja niihin liittyvistä suojauksista. Myös sovelluskehityksen aikana syntyvät uudet uhkat on otettava hallintaan riippumatta siitä, syntyvätkö ne sisäisesti tai ulkoisesti.

Tietoturvatarkastukset

Tietoturvatarkastukset PCI-auditoinneista tietojärjestelmän murtotestaukseen.
Lue lisää

Vaatimustenmukaisuuden hallinta

Erillisistä vaatimuksista vaatimustenmukaisuuden hallintaan
Lue lisää

Nixu Security Lead

Ohjelmistokehitystiimien tuki turvallisien ohjelmistojen kehitykseen.
Lue lisää