- Det er jo ikke nødvendigvis sånn at alle utviklere må tenke på sikkerhet hele tiden, sier Inger Anne Tøndel, doktorgradsstipendiat og seniorrådgiver ved Direktoratet for e-helse, til kode24 i Lillehammer.
På Sikkerhetsfestivalen holdt Tøndel foredraget «Sikkerhet og smidig utvikling - kan man stole på at utviklerne fikser sikkerheten?». Foredraget tok utgangspunkt i en av forskningsartiklene fra Tøndels doktorgradsavhandling, som hun nylig leverte.
Her fulgte hun et programvareselskap med hovedkontor i Norge. Selskapet, som hun har gitt navnet DevCo, har rundt 80 utviklere fordelt på Norge, Øst-Europa og i to nordiske land.
Du vet hva teknisk gjeld er. Men har du hørt om sikkerhetsgjeld?
Utvikleren bør ikke ha alt ansvaret
I løpet av perioden Tøndal forsket på selskapet, fikk det to store prosjekter:
"Project Alpha", der utviklerne skulle lage frontend-løsninger på iOS og Android, samt backend-løsninger som skulle være integrert med sikkerhetsløsninger fra en tredjepart. Her kom kunden med eksplisitte sikkerhetskrav.
I det andre prosjektet, som forskerne kaller for "Project Beta", var teknologien mer kompleks, involverte mer arbeid med maskinvare og sikkerhetskravet var mindre fra kunden.
Ifølge Tøndel er det generelle inntrykket fra intervjuene hun gjorde, at utviklerne ble mer og mer opptatt av sikkerhet og stiller flere spørsmål enn før. Hun synes likevel ikke det er riktig å legge alt ansvaret for sikkerhet over på utviklerne.
- Det er ikke utvikleren, men bedriften som faktisk leverer programvaren. Bedriften må ta et ansvar for at den leverer kvalitet, sier Tøndel.
Hashing, salting og pepring - slik knekker du passord og sikrer brukernes
Fem faktorer påvirker sikkerheten
Tøndel viser til at utviklere må kunne så utrolig mange ting. Derfor er det ikke nødvendigvis riktig at alle utviklere skal fokusere på sikkerhet.
- Sikkerhet er én kvalitet, men det finnes utrolig mange andre kvaliteter som også er viktige. Noen brenner for sikkerhet, så brenner noen andre for brukervennlighet, forteller Tøndel.
I analysen av materialet har Tøndel og forskerkollegaene identifisert og kategorisert fem faktorer som kan påvirke sikkerhetsfokuset:
- Drivkraft
- Synlighet
- Motivasjon
- Manøvreringsrom
- Prosessmatch
«Utviklere må forklare ting på en måte slik at de uten en teknisk bakgrunn skjønner hva det handler om.»
Produkteier kan være en utfordring
- Hvilke faktorer bør være tilstede for at det skal være en sikkerhetsbevissthet i et prosjekt?
- Det er viktig med en viss grad av synlighet og noen triggere, når ikke alle utviklere har en kjempehøy sikkerhetsbevissthet. Det bør minimum være én person som er en drivkraft for sikkerhet, og som har litt autoritet. Det kan for eksempel være en Security Champion som hele tiden setter sikkerhet på agendaen, sier hun.
Ifølge Tøndel kan en utfordring være produkteiere som "setter seg på bakbeina", eller som ikke skjønner hvorfor man skal prioritere sikkerhet.
- Da blir det ikke lett for utvikleren. Det ene teamet som jeg forsket på hadde en Security Champion som lyktes med å sette søkelyset på sikkerhet, og funnet ut hvordan hen skulle legge det fram for produkteieren.
Nytt nasjonalt Security Champions-felleskap: - Vil hjelpe andre før de går i samme feller som oss
Står i en skviset rolle
Tøndel påpeker at utviklere og produkteiere ofte har forskjellige fagbakgrunner.
- Dersom utviklerne ikke lykkes med å presentere risikoen på en fornuftig og forståelig måte, kan det fort skjære seg, sier hun.
Tøndel legger til at det heller ikke alltid er riktig å prioritere sikkerhet. Noen ganger kan det nemlig være viktigere å få produktet fort til markedet.
- Det er en beslutning som produkteier må ta. Produkteieren står ofte i en skvist rolle. En av folka i studien var Security Champion og ble produkteier. Han var frustrert over seg selv og ville prioritere sikkerhet, men måtte oppfylle mange andre krav.
Tøndel maner utviklere til å ha medfølelse med produkteierne.
- Det er ikke bare, bare for dem å bestemme at man skal bruke tid på sikkerhet. De har gjerne en kunde som maser på dem, og de må levere innenfor tid og budsjett, sier Tøndel.
Gutta bak 03 Cyber-podkasten: - Vi henger etter i Norge
Viktig med god kommunikasjon
Tøndel mener det er særlig viktig å kommunisere bra og bygge opp en felles forståelse, slik at teamet kan snakke sammen på en fornuftig og respektfull måte.
- Utviklere må forklare ting på en måte slik at de uten en teknisk bakgrunn skjønner hva det handler om. Det er jo ikke alle produkteiere som har det, sier hun.
Å snakke om sikkerhet er nemlig den aller viktigste enkelttingen man kan gjøre for å bedre sikkerhetsbevisstheten i temaet, ifølge Tøndel.
- Still spørsmål, vis interesse og les deg opp på sikkerhet. Dette sprer seg fort blant utviklerne og blir en teknisk interessant situasjon. Hvis du vil ta dette videre: Lær deg å snakke og kommunisere med produkteier, sier hun.