Turvallisuuden tarkastus on yleisin tapa parantaa melkein minkä tahansa järjestelmän tai ohjelmiston turvallisuutta. Tarkastus on helppo tilata, ja sillä saadaan selkeitä tuloksia. Se voi olla myös suora edellytys hyväksynnälle.
Arvioinnin hyödyntäminen turvallisuusongelmien tunnistamisessa ja korjaamisessa on järkevää. Valitettavasti tuloksia ei useinkaan hyödynnetä tämän pidemmälle. Samankaltaiset ongelmat voivat ilmaantua uudelleen esimerkiksi seuraavassa versiossa tai ohjelmiston toisessa integraatiossa. Tämä voidaan välttää säännöllisillä arvioinneilla niin, että lopulta havaittujen ongelmien määrä voi vähentyä. Tämä on kuitenkin melko tehoton tapa oppia kehittämään turvallisempia ohjelmistoja. Tuloksena saatu prosessi ei todennäköisesti ole tehokas eikä selviydy väistämättä eteen tulevista muutoksista.
Perinteisesti turvallisuudentarkastus suoritetaan prosessin loppuvaiheessa, mutta tämä tapa on projektin kannalta haastava. Jos tarkastus tehdään vasta silloin, kun ohjelmisto on melkein valmis, tarkastukseen kuluva aika viivästyttää ohjelmiston saamista tuotantoon. Arvioinnissa löytyy tavallisesti ongelmia, ja niiden korjaaminen on olennainen osa ohjelmistokehitystä. Kireän aikataulun takia korjauksista tehdään yleensä vain välttämättömimmät ja ensimmäinen versio julkaistaan, vaikka siinä tiedetään olevan turvallisuusongelmia. Jos iterointeja on turvallisuuden vuoksi tehtävä paljon, se viittaa usein siihen, että kehitysprosessissa on parannettavaa.
Se, että ohjelmistokehittäjiä pyydetään ottamaan tietoturva paremmin huomioon suunnittelussa ja toteutuksessa, ei sinällään johda suuriin parannuksiin. Jos tämä riittäisi, turvallisuuden ongelmat olisi ratkaistu jo kauan sitten. Tällainen suora lähestymistapa voi toimia vain, jos kehitystiimillä on jo kokemusta turvallisuustyöstä.
Tarkastuskeskeisyydestä luopuminen
Useimmat jokapäiväiset turvallisuusongelmat ovat melko ennustettavia, toisin kuin yleisesti uskotaan. Poikkeuksellisia turvallisuusongelmia voi olla lähes mahdoton ennustaa, mutta todellisuudessa niiden osuus on vähäinen. Jotkin ongelmat voidaan havaita jo ennen kehitystyön aloitusta, ja monia voidaan havaita ennen kehitystyön päättymistä. Turvallisuusongelmien ennakoiminen vaatii kokemusta ja aikaa. Turvallisuustyötä voi parantaa merkittävästi käyttämällä rutiininomaisesti aikaa mahdollisten turvallisuusongelmien etsimiseen. Turvallisuusasiantuntijoista on paljon apua turvallisuusongelmien ennakoinnissa, sillä he ovat aiemmin kohdanneet erilaisia perusongelmia ja heillä voi yhteyksiensä ansiosta olla muita hyödyllisiä tietoja.
Ulkopuolisten turvallisuusennusteiden käytöstä on harvoin hyötyä. Tällaiset ennusteet eivät useinkaan johda toimiin, vaikka ne ymmärretäänkin. Jotta ennusteet olisivat uskottavia ja hyväksyttäviä, ne tulisi määrittää yhdessä kehitystiimin kanssa. Tässä prosessissa turvallisuusasiantuntijoiden tulisi esitellä ideoita ja rohkaista tiimejä tutkimaan asioita laajemmin.
Ihanteellisessa maailmassa turvallisuusasiantuntija työskentelee tuoteomistajan kanssa. Tuoteomistajalla on paljon asioita hoidettavanaan, ja turvallisuus on vain yksi monista. Tuoteomistajan auttaminen näkemään mahdolliset ongelmat riittävän aikaisin on tärkeä osa turvallisuusasiantuntijan työtä.
Riskianalyysi ja uhkien mallintaminen (mitä termiä näistä sitten käytetäänkin) tekevät turvallisuudesta entistä näkyvämpää kehittäjille. Turvallisuusasiantuntijan ei pitäisi tuottaa riski- ja uhkatietoja yksin vaan yhdessä kehitystiimin muiden jäsenten kanssa esimerkiksi workshop-työskentelynä. Näin voidaan varmistaa, että merkitykselliset tulokset sekä ymmärretään että hyväksytään.
Turvallisuuden tekeminen ymmärrettäväksi on avain turvallisuusasiantuntijan onnistumiseen. Kun turvallisuusasiantuntija onnistuu tässä, hänen panoksensa otetaan vakavasti. Tällöin turvallisuusasiantuntija voi todella vaikuttaa kehitykseen (tyypillisesti kahdenkeskisissä keskusteluissa, workshopeissa ja kahvitauoilla).
Turvallisuusasiantuntijan tehtävänä on mahdollistaa turvallisuustyö, ei tehdä kaikkea itse. Turvallisuusasiantuntija ei voi työskennellä eristyksissä, koska työ vaatii paljon keskustelua kehitystiimin kanssa. Näin kehitystiimi saa tietoa turvallisuudesta ja välttää siihen liittyvien pullonkaulojen ilmaantumisen prosessin eri vaiheissa.
Kun turvallisuustyö integroidaan kehitystyöhön, turvallisuuden arvioinnin rooli voi muuttua. Loppuarvioinnissa saatetaan pikaisesti arvioida jo tehtyä työtä ja mahdollisesti testata uusimpia ominaisuuksia ja tehtyjä korjauksia. Tarkastus ei kuitenkaan enää ole haaste aikatauluille, ja kehitysprosessin huomioiminen on luonnollinen osa keskustelua löydetyistä turvallisuusongelmista.
Mitä Wapice tarjoaa?
Kuten hiljattain uutisoimme, Wapice tarjoaa nyt myös kohdennettuja tietoturvapalveluja käytännön tietoturvaosaamisen lisäksi. Nämä palvelut mahdollistavat nykyaikaisen lähestymistavan turvallisuuteen, ja niiden käyttäminen on helppoa.
Turvallisuuden lisääminen kehitystyöhön voidaan aloittaa kahdella palvelulla, jotka eroavat lähestymistavaltaan. Voimme siis auttaa sekä turvallisuustyön nopeassa tehostamisessa että turvallisuutta lisäävien käytäntöjen toteuttamisessa joko organisaation sisällä tai ulkoisen osapuolen toimesta.
Turvallisen kehitystyön tuki on palvelu, joka tarjoavaa turvallisuusasiantuntijan auttamaan turvallisuuteen liittyvässä kehitystyössä. Turvallisuusasiantuntija osallistuu kehitystyöhön auttaen kaikissa turvallisuuteen liittyvissä asioissa. Asiantuntija voi esimerkiksi osallistua käyttöesimerkkien luomiseen, avustaa ja tukea uhkien mallintamista tai tukea turvallisuustestien automatisointia.
SDLC (Secure Development Life Cycle) -valmennus parantaa kehitysprosesseja lisäämällä turvallisuutta. Valmennuksesta merkittävä osa keskittyy sen varmistamiseen, että turvallisuustyö istuu olemassa olevaan kehitysprosessiin. Valmennus voi myös kohdistua itse kehitysprosessin parantamiseen, jos siinä havaitaan parannustarpeita. Prosessin parantaminen voi viedä aikaa, joten valmennus on yleensä pitkäaikaista. Tästä aiheesta lisää myöhemmässä blogikirjoituksessa.
Edellä mainitun lisäksi tarjoamme tietenkin myös puhtaita turvallisuusarviointeja. Valitsemalla Wapicen turvallisuusarvioinnin tekijäksi voit varmistaa, että et jää yksin saatujen tulosten kanssa.