Toimiva ohjelmisto ei automaattisesti ole luotettava ohjelmisto. Ohjelmisto voi täyttää kaikki toiminnalliset vaatimukset ja läpäistä sille suoritettavat testaukset, mutta silti sisältää ratkaisuja, jotka altistavat sen väärinkäytöksille, haavoittuvuuksille ja yllättäville käyttökatkoille.


Secure by Design tarkoittaa, että turvallisuus rakennetaan osaksi ohjelmistoa jo suunnittelusta lähtien ja huomioidaan koko sen elinkaaren ajan. Käytännössä tämä näkyy esimerkiksi riskien ja uhkien tunnistamisena, turvallisuusvaatimuksina, käyttöoikeuksien ja riippuvuuksien hallintana, testauksena sekä haavoittuvuuksien jatkuvana seuranta- ja korjaustyönä. Secure by Design ei ole vain kehitystiimin tehtävä, vaan koko organisaatiota ohjaava toimintamalli.
Kyberturvallisuudesta on tullut yksi tärkeimmistä tekijöistä ohjelmistokomponentteja sisältävissä tuotteissa ja palveluissa. Turvallisuuden on oltava kriittinen osa tuotekehitysprosessia. Secure by Design tarkoittaa, että turvallisuus huomioidaan jo silloin, kun ohjelmiston vaatimuksia, arkkitehtuuria ja käyttötapauksia suunnitellaan. Turvallisuutta ei lisätä tuotteeseen kehityksen lopussa, vaan se rakennetaan osaksi ohjelmiston koko elinkaarta suunnittelusta ylläpitoon ja käytöstä poistoon asti.
Kun riskit tunnistetaan ajoissa, turvallisuusvaatimukset määritellään selkeästi ja ratkaisut suunnitellaan hallituiksi myös poikkeustilanteissa, ohjelmisto kestää paremmin muutoksia ja häiriöitä. Secure by Designin ydin ei ole täydellisyydessä, vaan ennakoivassa ja hallitussa tekemisessä.
– “Turvallinen ohjelmisto ei perustu täydelliseen virheettömyteen, vaan ennakoivaan suunnitteluun, uhkamallinnukseen ja toimiviin käytäntöihin haavoittuvuuksien tunnistamiseksi ja korjaamiseksi”, kerrotaan Traficomin Ohjelmistoturvallisuuden tila 2023 -nykytilaraportissa.
Tutustu Traficomin Ohjelmistoturvallisuuden tila -raporttiin.
Käytännössä Secure by Design näkyy niin, että turvallisuus muutetaan konkreettisiksi tehtäviksi, vastuiksi organisaatiossa ja ohjelmiston hyväksymiskriteereiksi. Turvallisuutta ei jätetä yleiseksi tavoitteeksi, vaan se näkyy esimerkiksi identiteetin- ja pääsynhallinnassa, lokituksen toteutuksessa, ohjelmistoriippuvuuksien riskienhallinnassa, haavoittuvuuksien tunnistamisessa ja hallinnassa sekä kattavassa testauksessa sisältäen kuormitus-, regressio- ja penetraatiotestaukset.
Identiteetin ja pääsynhallinnassa annetaan kehittäjille ja käyttäjille vain riittävät oikeudet ja oikeuksien tarpeellisuutta tarkastellaan säännöllisesti uudelleen. Ohjelmistoriippuvuuksien riskienhallinta on tärkeä osa yrityksen kokonaisturvallisuutta. Ohjelmistojen käytössä olevat kolmannen osapuolen komponentit ja kirjastot täytyy kirjata koneellisesti luotettavaan muotoon. SBOM-tiedosto toimii kattavana luettelona kaikista ohjelmiston sisällä olevista riippuvuuksista.

Ketterässä kehityksessä tietoturvaan liittyvät tehtävät voidaan kirjata työjonoon ja käsitellä osana normaalia kehitystyötä. Ohjelmiston pitää muodostaa riittävää logitusta sen käytöstä. Jatkuvaan integraatioon voidaan puolestaan liittää automaattisia tarkastuksia, joilla havaitaan koodin, kirjastojen ja komponenttien haavoittuvuuksia mahdollisimman varhain. Testaus varmistaa, että riippuvuuksien kautta ilmenevät haavoittuvuudet tunnistetaan ja korjataan ennen vakavia tietoturvariskejä. Julkaisun jälkeen turvallisuus jatkuu monitorointina, ohjelmistopäivityksinä, poikkeamien hallintana ja haavoittuvuuksien raportointina sekä korjaamisena.
Secure by Design ei siis tarkoita yhtä erillistä tietoturvavaihetta, vaan sitä, että turvallisuus on näkyvä ja todennettava osa ohjelmiston normaalia kehitystä ja myöhemmin jatkuvaa ylläpitoa. Turvallisuuden huomioivat toimintatavat tukevat haavoittuvuuksien tunnistamista, niiden viranomaisraportointia ja nopeaa korjaamista.
Secure by Design ei ole vain kehitystiimin toimintatapa tai joukko teknisiä ratkaisuja, vaan koko organisaatiota ohjaava ajattelumalli. Sen toteutuminen riippuu siitä, millaisia tavoitteita, vaatimuksia, vastuita ja toimintatapoja ohjelmiston koko elinkaarelle asetetaan.
Organisaation johto määrittää turvallisuuden tavoitetason ja varmistaa tarvittavat resurssit. Liiketoiminta tunnistaa ohjelmistoon liittyvät riskit ja kriittiset tarpeet, hankinta huomioi turvallisuusvaatimukset ja toimittajariskit, kehittäjät toteuttavat turvallisuutta käytännössä ja ylläpito huolehtii sen jatkuvuudesta ohjelmiston koko käyttöiän ajan. Liiketoimintajohto, tuoteomistajat, ohjelmistokehitystiimit ja tietoturvavastaavat tarvitsevat jatkuvaa turvallisuuskeskustelua ja yhteisymmärrystä riskien hallinnan tärkeydestä.
“Jokaisen teknologiayrityksen on otettava johtotason vastuu siitä, että heidän tuotteensa ovat sisäänrakennetusti turvallisia.”
Traficomin Ohjelmistoturvallisuuden johtaminen – Roolit ja osaamistarpeet -oppaassa koko organisaation vastuu kiteytetään näin:
– “Ohjelmistoturvallisuus ei synny yksittäisen asiantuntijan tai tiimin toimesta, vaan se rakentuu koko organisaation yhteisellä toiminnalla.”

Secure by Design toteutuu käytännössä vasta silloin, kun turvallisuus ei jää yksittäisten asiantuntijoiden aktiivisuuden varaan, vaan näkyy yhteisissä tavoitteissa, päätöksenteossa, vastuissa ja päivittäisissä toimintatavoissa. Tämä edellyttää yhteistyötä johdon, liiketoiminnan, hankinnan, juridiikan, tietoturvan, kehityksen ja ylläpidon välillä. Parhaimmillaan turvallisuus ei ole erillinen työvaihe, vaan luonteva osa organisaation kulttuuria ja tapaa tehdä päätöksiä.
Käyttäjien on voitava aina luottaa käyttämiinsä palveluihin. Ohjelmistojen toimitusketjuihin kohdistuvat hyökkäykset ovat lisääntyneet merkittävästi. Yritysten on pystyttävä osoittamaan, että sen käyttämät ohjelmistot noudattavat asianmukaisia tietoturvakäytäntöjä. Kun ohjelmistot ovat sisäänrakennetusti turvallisia, niin turvallisuus on kiinteä osa organisaation toimintaa, turvallisuusriskejä hallitaan systemaattisesti, lakisääteiset velvoitteet täytetään ja liiketoiminnan jatkuvuus turvataan.
Kysymysten avulla voi tunnistaa missä kenties tarvitsee kehittää turvallisuuskäytänteitä paremmiksi. Tavoitteena ei ole täydellisyys, vaan se, että turvallisuus on suunnitelmallinen, jatkuva ja todennettava osa ohjelmiston kehitystä ja ylläpitoa. Luotettavassa ohjelmistokehityksessä rakennetaan taatusti luotettavia ja laadukkaita ohjelmistoja, jotka varmistavat liiketoiminnan jatkuvuuden ja palveluiden vakauden.
Luotettava ohjelmisto ei synny pelkästään siitä, että se toimii suunnitellusti. Sen on oltava myös turvallinen, ylläpidettävä ja hallittavissa muuttuvissa tilanteissa. Secure by Design auttaa rakentamaan nämä ominaisuudet osaksi ohjelmistokehitystä jo alusta lähtien. Kun turvallisuudelle on selkeät tavoitteet, vastuut ja toimintatavat ja sitä johdetaan koko organisaation yhteistyönä, turvallisuus tukee ohjelmiston laadun lisäksi liiketoiminnan jatkuvuutta ja palveluiden vakautta.

