Blogi 22.12.2025

Kuinka integroida tietoturva osaksi ohjelmistokehitystä – tietoturvallisen ohjelmistokehityksen elinkaari (SDL)

Digitaalinen yhteiskunta

Älykäs teollisuus

Tietoturvallisen ohjelmistokehityksen elinkaari eli SDL on jäsennelty tapa integroida tietoturva ohjelmistokehityksen jokaiseen vaiheeseen. Erilaisia SDL-malleja on useita, ja niistä jokaisella on vahvuutensa ja heikkoutensa.

Tietoturva on alana monitahoinen, minkä vuoksi tietoturvan sisällyttäminen osaksi ohjelmistokehitystä voi kuulostaa vaikealta. On kuitenkin olemassa jäsenneltyjä tapoja integroida tietoturva ohjelmistokehityksen jokaiseen vaiheeseen. Tätä lähestymistapaa kutsutaan tietoturvallisen ohjelmistokehityksen elinkaareksi, tuttavallisemmin SDL:ksi (Secure Development Lifecycle).

Erilaisia SDL-malleja on useita, ja niistä jokaisella on vahvuutensa ja heikkoutensa. Tunnettuja SDL-malleja ovat muun muassa:

  • Microsoft Security Development Lifecycle. Tätä pidetään kaikista SDL-malleista merkittävimpänä. Malli kehitettiin alun perin Microsoftin omiin kehitysprosesseihin. Sen yleinen sovellettavuus on huippuluokkaa, mutta kolikon kääntöpuolena malli ei ole kovin seikkaperäinen.
  • OWASP Software Assurance Maturity Model (SAMM). Samoin kuin Microsoftin SDL, myös tämä viitekehys soveltuu ohjelmistokehitykseen teknologiasta riippumatta. SAMM luokittelee tietoturvan liiketoiminnan perusteella, ja kattaa siten myös hallinnollisen tietoturvan elementtejä. Malli sisältää kolme eri kypsyystasoa, ja siihen kuuluu oma auditointityökalu.
  • Building Security in Maturity Model (BSIMM). BSIMM perustuu yli 130 yrityksen turvallisuuskäytäntöjen analyysiin. Siinä tarkastellaan, mitä turvallisuuskäytäntöjä käytetään useimmin ja mitkä ovat vaikeimpia omaksua. Mallia ei ole luotu teknologiayrityksiä varten, minkä vuoksi sen tarkkuus ei yleensä yksin riitä ohjelmistoprojektien tarpeisiin.

SDL:n käyttöönottoa tukee myös erilaiset standardit ja muut ohjeistukset. Esimerkiksi IEC 62443-4-1 on turvallisen tuotekehityksen standardi, joka on suunniteltu teollisuuden automaatiojärjestelmien turvalliseen tuotekehitykseen.

SDL:n yleiset osat

Vaikka SDL-mallien sisältö vaihtelee, niillä on silti paljon yhteistä. Kattava SDL sisältää seuraavat osiot:

1. Hallinnollinen tietoturva

Hallinnollisen tietoturvan vaiheessa selvitetään, millaisia vaatimuksia esimerkiksi toimiala tai lainsäädäntö asettaa ohjelmistolle, millaista turvallisuusosaamista eri sidosryhmiltä edellytetään ja miten turvallisuusriskejä hallinnoidaan.

2. Vaatimustenhallinta

Tietoturvavaatimustenhallinta painottuu uhkamallinnukseen ja tuotteen tietoturvakontekstiin. Uhkamallinnus on työkalu, jonka avulla ohjelmistoon kohdistuvat uhkat voidaan havaita järjestelmällisesti. Uhkamallinnuksen jälkeen uhille toteutetaan riskianalyysi, jonka tuotoksia käytetään tietoturvakontrollien laatimisessa.

3. Suunnittelu

Tietoturvaa pidetään usein suunnitteluongelmana, minkä vuoksi myös SDL korostaa turvallisen suunnittelun periaatteita. Tärkeimpiä konsepteja ovat mm. monitasoinen suojaus sekä hyökkäyspinta-alan minimoiminen. On tärkeää huomata, että tässä vaiheessa usein huomataan, että kaikkia vaatimusvaiheessa odotettua ei ole mahdollista sisällyttää todelliseen suunnitelmaan.

4. Toteutus

Toteutus-osiossa on kyse työkaluista ja käytännöistä, jotka auttavat varmistamaan, että kehittäjät voivat luoda turvallisen tuotteen. Esimerkkejä näistä ovat muun muassa CI/CD-putket ja koodin staattinen analyysi. Ohjelmistoprojekti muuttaa todennäköisesti muotoaan alkuperäisestä suunnitelmasta nimenomaan toteutusvaiheessa.

5. Testaus ja todentaminen

Tämä osio sisältää sekä tietoturvatestauksen että toteutuksen todentamisen. Testaus keskittyy tuotteen toimivuuteen ja turvallisuuteen. Tarkoituksena on varmistaa, että tietoturvakontrollit toimivat odotetusti ja tuote kestää erilaisia tietoturvahyökkäyksiä. Todentaminen puolestaan yrittää löytää aukot alkuperäisen suunnittelun ja toteutuksen välillä.

6. Ylläpito ja poikkeamanhallinta

Ohjelmiston elinkaari ei pääty tuotteen valmistumiseen. Ylläpito ja poikkeamanhallinta -osiossa julkaistun ohjelmiston toimintaa monitoroidaan ja jatkokehitetään. Sen lisäksi määritellään, miten tietoturvapoikkeamiin ja haavoittuvuuksiin tulisi reagoida.

Lopuksi

Tietoturvallisen kehityksen elinkaari (SDL) on tärkeä lähestymistapa, jonka avulla tietoturva voidaan integroida ohjelmistokehityksen jokaiseen vaiheeseen. Vaikka turvallisuusympäristö voikin olla monimutkainen, SDL:n kaltaiset mallit auttavat sen navigoimisessa.

Olipa kyseessä Microsoft Security Development Lifecycle, OWASP SAMM tai BSIMM, jokainen SDL-malli tarjoaa omat etunsa ohjelmistokehitykseen. Jotta tietoturva olisi jatkuvasti osana ohjelmistokehitystä, tulee SDL:n eri tehtävät aina integroida omaan ohjelmistokehitysprosessiin.

Iiris Joutsi

Turvallisuuskonsultti

Takaisin ylös