Ohjelmistoarkkitehti Marko Latvala

27 - 9 - 2023 - Asiantuntijablogit

Turvallista ohjelmistokehitystä

Mitä turvallisessa ohjelmistokehityksessä on huomioitava? Ohjelmistoarkkitehti Marko Latvala [/uratarinat/ohjelmistokehitysta-puolustusvoimille] summaa asiantuntijablogissaan keskeisimmät seikat seitsemän vinkin muotoon. 

KyberturvallisuusTietoturva Ohjelmistokehitys

Tietoturva on keskeisessä roolissa puolustus- ja turvallisuusalan ohjelmistohankkeissa. Tässä joitakin kokemuksen myötä löytyneitä tärppejä meidän johtamisjärjestelmäprojektiemme pohjalta, jotka olisi hyvä huomioida aina turvallisessa ohjelmistokehityksessä.

Ohjelmistoarkkitehti Marko Latvala

Ylläpidä riittävää osaamista

Keskeisin asia turvallisessa ohjelmistokehityksessä on henkilöstön riittävä tietoturvaosaaminen. Kaikkien ei tarvitse olla tietoturva-asiantuntijoita, mutta jokaiselta projektijäseneltä tulisi löytyä perusymmärrys tietoturvasta roolista riippumatta.

Tietoturvakoulutus virittää ihmiset sopivaan ”epäilevään mielentilaan”, joka edesauttaa yhdessä tietoturvaongelmien perusosaamisen kanssa löytämään mahdollisia ongelmakohtia ohjelmistosta. Koulutuksen vaikutus kuitenkin haihtuu ajan myötä, joten koulutuksen ja oppimisen tulisi olla jatkuva prosessi.

Pidä mielessä yleisimmät sudenkuopat

Valtaosa hyökkäyksistä tapahtuu käyttäen tunnettuja haavoittuvuuksia. Kun nämä haavoittuvuudet tietää ja ymmärtää, niin ohjelmistosta saa jo pienellä vaivalla keskivertoa turvallisemman.

Tietoturvakoulutusten kautta tekijöille karttuu tietämystä siitä, mitä asioita suunnittelussa ja toteutuksessa tulee huomioida, ja mitkä ovat oman ohjelmiston herkät paikat. Jotta asiat pysyvät paremmin mielessä, on tärpit hyvä kerätä tarkastuslistaksi, jota voi tarvittaessa vilkaista nopeasti työn lomassa.

Määrittele tietoturvavaatimukset

Projektin alussa ja uusia ominaisuuksia määriteltäessä on hyvä kirjata ylös myös kaikki tietoturvavaatimukset. Kun tietoturva on huomioitu vaatimuksista lähtien, tulee tietoturva paremmin huomioitua kaikissa projektin vaiheissa.

Valvo kolmannen osapuolen riippuvuuksia

Ennen kuin ottaa tuotteeseen mukaan uusia kolmannen osapuolen komponentteja, on hyvä tarkastaa, löytyykö niistä tunnettuja haavoittuvuuksia. On myös hyvä katsoa, onko kirjasto edelleen aktiivisessa ylläpidossa, jotta komponenttiin tulee mahdollisesti saataville tietoturvakorjauksia.

Usein ohjelmistoissa on sen verran paljon kolmannen osapuolen komponentteja, ettei kaikkien kirjastojen haavoittuvuuksien seuraaminen ole enää mahdollista käsin. Tästä syystä CI-ympäristömme skannaa ohjelmistomme Java-kirjastoriippuvuudet läpi joka yö etsien tunnettuja haavoittuvuuksia. Ja luonnollisesti pelkkä valvonta ei riitä, vaan pitää olla myös varautunut siihen, että komponentteja tarvitsee päivittää havaintojen seurauksena.

Prosessi auttaa

Ohjelmistojen tietoturvan parantamiseksi on kehitetty erilaisia prosessimalleja, kuten SDL, joiden tarkoituksena on huomioida tietoturva prosessin eri vaiheissa. Jos suuren prosessikehyksen käyttöönotto ei tunnu luontevalta, voi tietoturvan huomiointia prosessissa auttaa pienilläkin teoilla. Joskus yksinkertainen kysymys ”onko tietoturva huomioitu?” esimerkiksi katselmuspöytäkirjassa voi olla se riittävä heräte, joka laittaa miettimään tietoturva-asioita vielä kerran ennen prosessin seuraavaa vaihetta.

Pyydä apua tarvittaessa

Jokaisen projektijäsenen ei tarvitse olla tietoturva-ammattilainen, mutta jokaisella jäsenellä tulee olla perustason ymmärrys yleisimmistä tietoturvaongelmista. Tietoturvan perustaidot auttavat tunnistamaan ne kohdat toteutuksesta, joissa tarvitaan erityistä tietoturvan huomiota, vaikka osaaminen ei välttämättä riittäisikään vaadittujen mekanismien toteuttamiseksi. Meidänkin projekteissamme saamme aina tarvittaessa apua kyberturvallisuusyksikkömme tietoturva-ammattilaisilta.

Tarkistuta ohjelmiston tietoturva ulkopuolisella taholla

Turvallisuuskriittisissä ohjelmistoissa vaaditaan yleensä tilaajan toimesta ulkopuolista tietoturva-auditointia toimitettavalle ohjelmistolle, mutta tietoturva-auditoinnin ei tarvitse olla pelkästään ohjelmiston tilaajan työkalu. Me käytämme kyberturvallisuusyksikkömme auditointiosaamista myös omassa kehitystyössä varmistamaan, että lopputulos vastaa tietoturvaltaan sille asettuja vaatimuksia. Vaikka tietoturva onkin jo huomioitu toteutusvaiheessa, saattaa ylimääräinen silmäpari löytää vielä asioita, joita ei olekaan osattu ottaa huomioon. Tietoturva-asioissa on aina parempi ottaa varman päälle kuin katua.

Marko Latvala
Kirjoittaja

Marko Latvala

Kirjoittaja työskentelee Instan puolustusliiketoiminnassa ohjelmistoarkkitehtina.

Jaa artikkeli

Pysy alan aallonharjalla ja tilaa uutiskirjeemme

Tärkeimmät uutiset, inspiroivat artikkelit ja asiantuntijoidemme ajankohtaisia näkemyksiä eri toimialoilta sekä tietoa tulevista tapahtumistamme.

Hyväksy käyttöehdot. Käsittelemme tietojasi vastuullisesti.
Tutustu tietosuojaselosteeseemme.