18 helmikuuta 2016

Turvallinen softa ei synny ilman jämäkkää johtamista

Kuinka moni softayrityksen liiketoimintajohtaja ilmoittautuu kättelyssä yrityksensä ohjelmistokehitysprosessin omistajaksi? Veikkaan, että prosenttiosuus on kaukana sadasta, vaikka ohjelmistotuotanto olisi yrityksen keskeinen tai jopa ainoa tulonlähde.

Rahan johtamisessa yrityksen johto on usein lähempänä omaa mukavuusaluettaan ja teknologiaan liittyvät asiat on eritytetty asiantuntijoille. Tämä on sinänsä normaalia organisaation sisäistä työnjakoa, mutta siinä saattaa piillä myös ongelma: prosessin toteuttaminen ja johtaminen sulautuvat toisiinsa tavalla, jossa vastuu prosessin johtamisesta sysätään asiantuntijoille.

Meillä on maailmanluokan softaosaajat, kyllä ne kaverit tietää, miten homma hoidetaan” on hyvä lähtökohta mutta luottamuksen ja välipitämättömyyden raja voi olla veteen piirretty viiva. Väitän, että jämäkästi johdetuilla prosesseilla parannetaan paitsi tuotannon kokonaislaatua, myös ohjelmistotuotteiden turvallisuutta. Sitäkin pitää johtaa.

Turvallisuusjohtaminen on toiminnan lisäksi myös mielentila, jonka pitää kattaa kaikki yrityksen keskeiset osa-alueet. Lopulta kyse on liiketoiminnan jatkuvuuden ja riskien hallinnasta – myös maineriskien. Harva, jos yksikään, ohjelmisto tai sovellus toimii nykyisin omassa suljetussa universumissaan. Siksi tuotteeseen jäänyt tietoturva-aukko aiheuttaa riskin paljon laajemmalle kokonaisuudelle. Tästä näkökulmasta katsoen on hämmästyttävää, että top 10 -lista tunnetuista haavoittuvuuksista tuntuu pysyvän vuodesta toiseen lähes vakiona (SQL-injektio vakaasti listan kärjessä).

Laajaan aineistoon perustuvan amerikkalaisen tilastoanalyysin perusteella ”luokan huonoimmat” yritykset päästävät käsistään neljä-viisikymmenkertaisesti suuremman määrän vakavia ohjelmistovirheitä ja haavoittuvuuksia kuin luokan parhaat” (aineisto vakioitu 1000 toimintopistettä kohti). Itseäni ei yllättänyt, että huonoimpien ja parhaiden yritysten erot CMMI-kypsyystasossa olivat myös asteikon ääripäistä ja virheiden poistotehokkuus prosessissa aivan eri luokissa. Staattisen analyysin ja katselmointien käyttö osoittautuivat vahvasti erotteleviksi tekijöiksi.

Korkealla kypsyystasolla olevan organisaation keskeinen tunnusmerkki on prosessien kehittämisen systemaattisuus ja omistajuuden nostaminen ylätasolle. Ohjelmiston ei-toiminnallisia vaatimuksia – turvallisuus mukaan lukien – ei jätetä asiakkaan valistuneisuuden varaan vaan ne betonoidaan tiukasti osaksi omaa prosessia, jota tuetaan sopivilla työkaluilla. Usein turvallisen ohjelmistokehityksen johtamisen tukena on myös hyvin toteutettu ja ylläpidetty hallintajärjestelmä (esim. standardi ISO/IEC 27001:een perustuen).

Vaikka kyberuhat ja virukset tuntuvat lisääntyvän lähes hallitsemattomasti, ei pidä vaipua masennukseen. Yritysjohtaja, uskalla rohkeasti johtaa ohjelmistoturvallisuutta yrityksen ja asiakkaittesi parhaaksi.

Blogin kirjoittaja Tuukka Haarni toimii Inspectassa tietoturvallisuus- ja IT-palvelujen pääarvioijana.