Turvallisen sovelluskehityksen käsikirja

Päivitetty
Ohjeessa kuvataan organisaation sovelluskehityksen keskeiset tietoturvallisuuden periaatteet, vaatimukset sekä kontrollit. Käsikirjaa voidaan käyttää pohjana organisaatiolle luotavan oman tietoturvallisen sovelluskehityksen ohjeistolle.

Ohje on tarkoitettu tukimateriaaliksi seuraaville kehitysprosessiin osallistuville rooleille:

  • Palvelun omistaja ("liiketoimintaomistaja")
  • Tuoteomistaja (Product Owner)
  • Arkkitehti
  • Ohjelmistokehittäjä (tuotetiimeissä)
  • Pilvipalveluasiantuntijat ("pilvitiimi")
  • Käyttöpalveluiden toimittajat

Ohje on kirjoitettu olettaen, että ohjelmistotuotannossa seurataan nykyaikaiselle ohjelmistotuotannolle ominaisia periaatteita:

  1. Kehitettävän kohteen toiminnallisuutta kehitetään iteratiivisesti ja kehityksen kohde voi muuttua nopeastikin (agile eli ketterä kehittäminen).
  2. Tuotetiimi on suurelta osin autonominen ja yhdessä tuoteomistajan kanssa kantavat liiketoimintavastuun myös tietoturvasta ja joissakin tapauksissa myös tuotannonaikaisista toimenpiteistä (DevOps ja DevSecOps).
  3. Tuotantoon viennin prosessi on automatisoitu, jos kyseessä on pilvipalvelu. Muissa tapauksissa integraation ja tuotantoon viennin automatisoinnille (continuous integration / delivery / deployment) ei saisi olla esteitä, vaikka sitä ei vielä olisikaan toteutettu.
  4. Jos kyseessä on pilvipalvelu, sen infrastruktuuri kuvataan versiohallittuna koodina (infrastructure as code tai declarative infrastructure).

Tilanteessa, jossa näitä periaatteita ollaan ottamassa käyttöön, ohjeen voi ottaa käyttöön soveltuvin osin samalla kun periaatteet kehittyvät.

Käsikirjan kuvaamat työnkulut on tarkoitettu käytettäväksi organisaation oman ketterän kehityksen viitekehyksessä. Se kuitenkin soveltuu käytettäväksi myös yksittäisissä projekteissa, jotka eivät ole ketterän kehityksen alaisuudessa.

Mikäli ohjelmistotuotanto on osin ulkoistettu - esimerkiksi ostavalla organisaatiolla on tuoteomistaja, mutta itse ohjelmistokehitys tehdään toimittajan toimesta toisaalla - ohjetta voi soveltaa niiden roolien osalta, jotka ovat ostavan organisaation hallussa. Muut ohjeen osat tulisi vaatia toimittajalta sopimuksin.

Useat ohjeen tietoturvaperiaatteet on kirjoitettu niistä lähtökohdista, että arkkitehtuuri voi olla nk. pilvinatiivi ja palvelu- tai mikropalveluorientoitunut, ja että tuotetiimillä voi olla valtaa ja vastuuta käytönaikaisista toimenpiteistä. Ohjetta voi kuitenkin soveltaa, vaikka näin ei olisikaan.