Tapio Särkelä

Tapio Särkelä

Helping software companies to make Secure DevOps.

Millainen olisi unelma-asunto? Omakotitalo järven rannalla keskellä kaupunkia tai valoisa loft-asunto trendikkäällä, uudella alueella. Käytännössä, kun budjettirajoite otetaan huomioon, ja lasten koulumatkan pitäisi olla kohtuullinen, päädytään asuntoon, joka ei ole ehkä niin iso kuin haluttaisiin, mutta on lähellä koulua, harrastuksia ja muita palveluita. Näilläkin reunaehdoilla kokonaisuudesta voi hyvin tulla kaikin tavoin sopiva kaikille osapuolille.

Sovellusten tietoturvan kehittäminen voi tuntua edellä kuvatun asunnonhankinnan kaltaiselta. Tiedetään mikä on ideaalitilanne ja -tavoite, mutta samalla tunnustetaan, ettei sinne koskaan päästä. Aika ja raha eivät riitä, osaamisessa ja yrityskulttuurissa voi esiintyä puutteita.

Millaisilla askelilla voisi lähteä liikkeelle? Jäljempänä kuvataan muutamaa toimintoja, joita käyttäen tai soveltaen voi lähteä turvallisesti lähteä kehittämään sovallusten tietoturvaa.

Parhaat käytännöt

#1: Käytä useampaa kuin yhtä menetelmää sovellusten tietoturvan testaukseen

Ei ole olemassa yhtä testiä, jolla saataisiin esille kaikki mahdolliset haavoittuvuudet. Jotta sovellus olisi turvallinen, paras tapa on käyttää useampaa kuin yhtä testimenetelmää. Kokemuksemme mukaan staattisen analyysin (SAST) lisäksi ainakin kirjastoanalyysi (SCA) on hyvä olla mukana.

Aloitetaan toimintatavalla, joka tuntuu järkevältä, ja jolla saa eniten tuloksia
Sovellusten tietoturvan rakentaminen ja testaaminen on hyvä aloittaa sieltä, missä saa eniten tuloksia mahdollisimman nopeasti – tai ainakin halvimmalla. Kun perusta on kunnossa, voidaan lisätä toimintoja ja testejä. On toki olemassa useita tekijoitä, jotka määrittävä millä testeillä on eniten vaikutusta. Jos portfoliossa on useita sovelluksia, testataan ensin niitä, joiden tietoturvariski on korkea. Toinen lähestymiskulma on sovelluskehityksessä käytetty ohjelmointikieli. Jos käytetään harvinaista ohjelmointikieltä, sopivien testien määrä voi olla rajallinen. Tällöin voidaan aloittaa testeillä, jotka eivät riipu ohjelmointikielestä, kuten dynaaminen analyysi tai pentestaus.

#2: Tietoturvakulttuurin muutos

Tietoturvan testaus on kokenut muutoksen samalla kun kehityssyklit ovat nopeutuneet. Jotta muutoksessa pysyisi mukana tietoturvan testaus täytyy olla mukana kehitysprosessissa sen sijaan, että testausta tehtäisiin kehityssyklin jälkeen. Tällä tavoin tietoturvan testaus ei ole hidasteena, kun sovelluksen julkaisu lähestyy.

Muuttakaa tietoturvakulttuuria
Tietoturvan testauksen siirtyminen osaksi kehitysprosessia tarkoittaa kehittäjien ja koodarien roolin muuttumista. Jos kehitystiimi ja tietoturvatiimi eivät ole aiemmin työskennelleet keskenään muutos voi olla yllättävän suuri. Ennen kuin muutos lähdetään tekemään tietoturvatiimille, on hyvä antaa perustiedot miten kehitystyö tapahtuu. Kehitystyön ymmärtämiseen kuuluu välineiden ja metodien opettelu tai läpikäynti, ja tietysti miten koodausta käytännössä tehdään, jotta tietoturvatiimi voidaan integroida täysin. Kun tietoturva on tavallaan ”kudottu” osaksi kehitysprosessia, kehittäjät ja koodarit ovat alttiimpia vastaanottamaan tietoturvaan liittyvä ohjeita, ja näin kehittäjät korjaavat ongelmat nopeammin ja aikaisemmassa vaiheessa.

#3: Korjataan kaikki nopeasti

Haavoittuvuuksien löytäminen on vasta puolet taistelua. Ongelmien korjaamiseen on oltava valmis suunnitelma heti, kun niitä löydetään. Tietoturvatestauksen automatisointi osaksi CI/CD -kehityslinjaa antaa tiimeille mahdollisuuden ei ainoastaan löytää heikkouksia nopeasti, vaan se myös nopeuttaa korjaavia toimenpiteitä.

Korjausten priorisointi
Vaikka tietoturvavirheet haluttaisiinkin korjata heti, se ei ole aina mahdollista. Ensimmäinen askel olisikin korjausten priorisointi. Priorisoinnissa ei kannata keskittyä vain kuinka vaarallinen virhe on, vaan myös sovelluksen liikekriittisyyteen ja miten altis virhe on hyväksikäytölle.

#4: Security Championin nimeäminen

Useimmilla kehittäjillä tai koodareilla ei ole tieturvataustaa. Tämä voi tuoda mukanaan haasteen, kun tietoturvakäytäntöjä implementoidaan kehitysprosessiin. Osaamiseen liittyvää aukkoa voidaan täyttää etsimällä kehitystiimistä vapaaehtoisia, joista kouluttautuvat secuirty champion -rooliin. Security champion perehtyy tietoturvatestaukseen ja voi viedä tärkeitä tietoturvaviestejä kehitystiimeille.

Security Champion -osaamisen rakentaminen
Kehitystiimin, johon kuuluu myös security champion, rakentaminen vie aikaa. Ennen kuin työ voidaan edes aloittaa, on varmistettava, että kaikki tietoturvasta vastaavat osapuolet ovat mukana: kehitys, tietoturva ja yrityksen johto. Kun kehitys- ja tietoturvatiimit luottavat toisiinsa, vapaaehtoisten löytäminen security champion -rooliin on paljon helpompaa.

#5: Sovellusten tietoturvan onnistumisen mittaaminen

Sovellusten tietoturvan mittaaminen on kriittinen menestystekijä koko prosessille. On valittava mitkä mittarit ovat tärkeimmät yrityksen tai organisaation päätöksentekijöille. Tämän jälkeen mittareiden tulokset esitellään ymmärrettävässä ja toimintaa ohjaavassa muodossa.

Keskity tietoturvapolitiikan toiminnan mittaamiseen
Liian monta mittaria voi aiheuttaa tilanteen, ettei metsää nähdä puilta. Yhtä hyvin voi aloittaa vaikka vain yhdellä mittarilla: miten sovellusten tietoturva vastaa asetettua tietoturvapolitiikkaa. Tämän jälkeen voi lisätä muita tärkeitä mittareita.
Veracode feature picture

Veracode

SAST – Koodin staattinen tarkistus SCA – Kirjastoanalyysi ja inventaario SDLC sovelluskehitysintegraatio Yrityksen koko sovellusportfolion tietoturvariskien hallinta samassa palvelussa Veracoden palvelun avulla voidaan tutkia ja

Lue lisää »
Veracode container scanning

Veracode Container Securityn hyödyntäminen pilvisovellusten ohjelmistokehityksen turvaamisessa

Pilvipohjainen ohjelmistokehitys on kantava voima, koska se antaa mahdollisuuden rakentaa ja ottaa käyttöön sovelluksia vauhdilla ja skaalautuvasti. Mikropalveluiden, pilvi-infrastruktuurin ja API-rajapintojen ohella kontit (containers) ovat tärkeä osa tätä kehitysprosessia. Tutkitaanpa hieman konttien turvallisuusvaikutuksia pilvipohjaisten sovellusten kehittämisessä ja niiden aiheuttamien tietoturvahaasteiden hallintaa.

Lue lisää »
Tapio Särkelä

Tapio Särkelä

Helping software companies to make Secure DevOps.

ota yhteyttä

Pyydä rohkeasti lisätietoa. Vastaamme todennäköisesti nopeammin kuin osasit kuvitella.