Secure software design and development : towards practical models for implementing information security into the requirements engineering process - Väyrynen, Aino-Maria; Räisänen, Elina (2020)
Vaatimusmäärittelyprosessin tavoitteena on kerätä ja jalostaa ratkaisuiksi tuotteen tai palvelun sidosryhmiksi tunnistettujen osapuolten ajatuksia ja tarpeita. Näiden ratkaisujen avulla poistetaan asiakkaan liiketoiminnassa olevia ongelmia ja tuotetaan lisäarvoa. Ohjelmistokehityksessä on tällä hetkellä keskeistä erityisesti ohjelmistojen turvallisuus. Sitä on tutkittu paljon, mutta sen käytäntöön vieminen on usein ongelmallista ja puutteellista. Ohjelmistojen tietoturvallisuusuhkat ja -riskit lisääntyvät jatkuvasti ja ohjelmistojen kehityksessä muodostuneita haavoittuvuuksia paikallistetaan sekä hyväksi käytetään uusin tavoin. Ohjelmistokehityksen tulisi panostaa tietoturvallisuuden osalta vaatimusmäärittelyprosessin jatkuvaan kehittämiseen. Prosessin tulee kattaa koko tuotteen elinkaari, huomioiden myös lanseerauksen jälkeiset vaiheet, joissa markkinoilla olevaa tuotetta kehitetään. Vaatimuksia on kyettävä tarkentamaan iteratiivisesti, jolloin ne pysyvät ajantasaisina ja huomioivat muutokset ohjelmiston uhkissa ja riskeissä. Tutkimustehtävänä oli luoda toimeksiantajan (iso Suomalainen fyysisten turvallisuustuotteiden valmistaja) tarpeisiin sopiva malli, jonka avulla on mahdollista implementoida tietoturvallisuus kiinteäksi osaksi ohjelmistokehitystä ja turvallisempaa ohjelmiston tuottamista. Tutki-musongelman ratkaisussa hyödynnettiin käytännönläheisen toimintatutkimusmallin kahta ensimmäistä vaihetta. Tutkimuksen aluksi luotiin työn teoreettinen perusta vaatimusmäärittelystä ja tietoturvallisuudesta, sitten aloitettiin nykytila-analyysi. Siinä selvitettiin dokumentti analyysillä toimeksiantajan organisatorista toimintaympäristöä: keskittymällä vaatimusmäärittelyn prosessimalliin ja sitä hyödyntäviin sidosryhmiin. Saatujen tietojen pohjalta laadittiin suunnitelma haastatteluun, jonka avulla kartoitettiin vaatimusmäärittelyprosessin ongelmakohtia. Saadut tulokset analysoitiin codingilla ja teemoittelemalla. Toinen osa diagnoosia oli vertailututkimus, jota hyödynnettiin parhaiden käytänteiden selvittämiseen ja oikeiden elementtien muodostamiseen. Saadut muutosideat yhdistettiin kirjallisuuskatsauksesta nousseisiin, kohdeyrityksen liiketoimintaan sopiviin käytänteisiin. Tämä kombinaatio muodosti mallin tietoturvallisempaan vaatimusmäärittelyprosessiin, joka jalkautetaan kohdeorganisaatioon. Työn uutuusarvo on se, että malli yhdistää ketterää ohjelmistokehitystä riski- ja uhkamallinnus pohjaiseen ajatteluun, jota on tutkittu vielä vähän. Lisäksi molemmat komponentit toimivat lineaarisessa vaatimusmäärittelyprosessissa.