Takaisin blogiin Tietoturva

DevSecOps ja shift-left-turvallisuus — miten rakentaa tietoturva ohjelmistokehitysprosessiin

Zespół ESKOM.AI 2026-05-13 Lukuaika: 7 min

Perinteinen malli ja sen kustannukset

Perinteisessä ohjelmistokehitysmallissa tietoturva oli erikoistuneen tiimin vastuulla, joka testasi järjestelmää juuri ennen tuotantoon vientiä. Löydetyt haavoittuvuudet aiheuttivat kalliita työnkulun uudelleenohjauksia — ohjelmoijien piti palata kauan sitten suljettuihin tehtäviin, ymmärtää viikkojen takainen konteksti ja tehdä muutoksia, jotka rikkoivat muita jo testattuja elementtejä. Turhautuminen oli molemminpuolista: tietoturvatiimi nähtiin esteenä, ohjelmoijat kyvyttöminä kirjoittamaan turvallista koodia.

Shift-left-filosofia

Shift-left tarkoittaa kirjaimellisesti turvallisuustoimintojen siirtämistä vasemmalle projektin aikajanalla — testaus- ja käyttöönottovaiheesta suunnittelu- ja koodausvaiheeseen. Mitä aikaisemmin haavoittuvuus havaitaan, sitä halvempaa ja yksinkertaisempaa sen poistaminen on. Ohjelmoija, joka näkee hälytyksen haavoittuvuudesta kehitysympäristössään sekunteja ongelmallisen koodin kirjoittamisen jälkeen, korjaa sen välittömästi menettämättä kontekstia ja keskeyttämättä koko tiimin työnkulkua.

Automatisointi CI/CD-putkessa

Shift-left toteutetaan rakentamalla automaattiset turvallisuustarkistukset jokaiseen jatkuvan integraation ja toimituksen vaiheen. Jokainen koodin vahvistaminen käynnistää turvallisuustarkistussarjan, joka estää siirtymisen seuraavaan vaiheeseen vakavien haavoittuvuuksien havaitsemisessa.

  • SAST (staattinen koodianalyysi) — havaitsee haavoittuvuudet lähdekoodissa suorittamatta sitä: SQL-injektiot, turvattomat deserialisoinnit, vaarallisten funktioiden käyttö
  • SCA (ohjelmiston koostumusanalyysi) — skannaa riippuvuudet tunnettujen haavoittuvuuksien varalta, tarkistaa lisenssit, havaitsee vanhentuneet kirjastot
  • Salaisuuksien skannaus — estää salasanojen, API-avainten ja sertifikaattien tahattoman tallentamisen versionhallintaan
  • DAST (dynaaminen analyysi) — testaa käynnissä olevaa sovellusta testiympäristössä simuloiden hyökkäyksiä API- ja web-rajapintoja vastaan
  • Kontti- ja infrastruktuuritestit — Docker-kuvien konfiguraation ja infrastruktuurimääritysten verifiointi turvallisuusvirheiden varalta

Turvallisuus koodina

Kypsät organisaatiot käsittelevät turvallisuuspolitiikkoja kuten koodia — ne määritellään versionhallintaan tallennetuissa konfiguraatiotiedostoissa, katselmoitavina ja testattavina. Tämä tarkoittaa, että WAF-säännöt, verkkopolitiikat, anomalianhavaitsemisjärjestelmien konfiguraatiot ja RBAC-politiikat hallitaan samalla kurinalaisuudella kuin sovelluksen koodi. Muutokset vaativat katselmointia, historia on auditoitavissa, palautus on mahdollinen minuuteissa.

Kulttuuri perustana

Työkalut ilman kulttuuria eivät tuota tuloksia. DevSecOps edellyttää, että ohjelmoijat ymmärtävät suunnittelupäätöstensä turvallisuusvaikutukset ja kohtelevat hälytyksiä esteiden sijaan arvokkaana palautteena. Tämä tarkoittaa investointia koulutukseen, turvallisuusasiantuntijoiden saatavuutta suunnittelukumppaneina (ei auditoijina), selkeitä mittareita ja yhteistä vastuuta haavoittuvuuksista. ESKOM.AI soveltaa DevSecOps-mallia omien järjestelmiensä kehityksessä, yhdistäen testiautomaation ja yhteisen turvallisuusvastuun kulttuurin jokaisessa kehityssyklin vaiheessa.

#DevSecOps #shift-left #SAST #DAST #CI/CD #security