Protection Poker: Spill deg til bedre programvaresikkerhet!

bilde_pp-kort_mindreProf. Laurie Williams og hennes gruppe ved North Carolina State University har utviklet en enkel, rask og engasjerende måte å vurdere risiko på spesielt for smidige utviklingsteam: Protection Poker! I dette innlegget vil vi fortelle hvordan man kan starte å spille Protection Poker, samt noe om bakgrunnen for spillet og hvilke erfaringer som ble gjort da Laurie og hennes team testet spillet i Red Hat IT.

I en hektisk programvareutviklingshverdag med fokus på ny funksjonalitet, kan det være en utfordring å ta seg tid til å tenke på sikkerhet også. Samtidig finnes det i dag få (om noen) programvaresystemer der man kan anse sikkerhet som irrelevant. Med begrenset tid, penger og ekspertise på sikkerhet blir det viktig å fokusere sikkerhetsinnsatsen der den trengs mest: beskytte de viktigste verdiene og den funksjonaliteten som er mest tilgjengelig for angripere. Slike områder med høy risiko kan identifiseres ved å gjøre en risikoanalyse. En standard risikoanalyse kan imidlertid oppleves som omfattende, og dermed vanskelig å prioritere i en travel hverdag. Med smidig utvikling kan i tillegg systemet endre seg relativt raskt, og dette vil ikke fanges opp om man f.eks. bare vurderer risiko i starten av et utviklingsprosjekt.

Tenk deg et utviklingsteam som sitter og planlegger hva som skal implementeres i kommende sprint. De trenger å forstå funksjonaliteten og flere aspekter av disse kravene – inkludert sikkerhet – i planleggingen av sprinten. Protection Poker tilbyr en strukturert måte å sikre at sikkerhet blir diskutert i en slik setting, og resulterer i at sikkerhetsrisiko til ulike krav blir rangert i forhold til hverandre. Slik er teamet rustet til å adressere sikkerhet på en kostnadseffektiv måte. Diskusjonene er også med på å øke sikkerhetsbevissthet og sikkerhetskunnskap hos alle i teamet.

Før vi forklarer hvordan man faktisk spiller Protection Poker er det imidlertid nyttig å se litt på bakgrunnen for spillet. Prof. Laurie Williams er en svært anerkjent forsker innen smidig utvikling, og har god kontakt med mange virksomheter og har deltatt i mange utviklingsaktiviteter. En teknikk som er relativt vanlig for å estimere tidsforbruk i smidig utvikling er Planning Poker. Prof. Laurie Williams så at det å spille Planning Poker ofte gav veldig mange gode diskusjoner, og ideen ble født: Kanskje kan vi gjøre noe av det samme for sikkerhet!

Planning Poker er basert på noe som heter Wideband Delphi, og dette er en teknikk som er svært nyttig for å konkludere om spørsmål der man må stole på ekspertise, og ikke har særlig mye empiriske data å bygge på – akkurat slik det gjerne er når det gjelder risikoanalyse av informasjonssikkerhet og programvaresikkerhet. Wideband Delphi bygger på at alle deltakere gjør individuelle estimater, som så diskuteres sammen i gruppa. Etter en slik runde med diskusjon kan deltakerne gå tilbake og gjøre nye individuelle vurderinger som så igjen diskuteres. Målet er å gå mot konsensus. Men siden teknikken sikrer at alle stemmer blir hørt, er det sannsynlig at man vil få en vurdering som tar inn over seg ulike perspektiver og dermed er mer pålitelig enn om man kun lyttet til en ekspert.

Så, hvordan spiller man Protection Poker? I Protection Poker vurderer man risiko av ulike features eller krav ved å se på:

  • Verdi: Hvilke verdier som berøres og hvor sensitive disse verdiene er for risiko (det vil si hvor kritiske er verdiene for organisasjonen og hvor alvorlige vil konsekvensene av et eventuelt angrep på disse verdiene være)
  • Eksponering: I hvilken grad påvirker de kravene som skal implementeres hvor eksponert disse verdiene vil være (øker eller minskes antall måter angripere kan nå disse verdiene, hvor stor kompetanse vil kreves av angripere for å kunne nå verdiene)

Man starter med et av disse aspektene, f.eks. ‘Verdi’, og så vil alle team-medlemmene måtte gjøre seg opp en mening om hvilken sensitivitet disse verdiene har sammenlignet med andre verdier programvaren håndterer ved å velge et av Protection Poker kortene (<10, 20, 30, 40, 50, 60, 70, 80 eller 100). Når alle har valgt et kort, viser alle sin vurdering til gruppa, og man starter en diskusjon der team-medlemmene kan forklare hvorfor de kom frem til den vurderingen. Slik fortsetter man til man har nådd en noenlunde felles vurdering, og man har gått gjennom alle krav for sprinten og de tilknyttede verdiene/eksponeringene. Mer detaljer om hvordan man spiller Protection Poker samt maler for spillekort kan finnes på nettsiden www.sintef.no/protection-poker. Vi deler også ut spillekort på standen vår på DnD Sikkerhet og Sårbarhet 10.-11. mai her i Trondheim.

Så, hva er erfaringene som er gjort med å spille Protection Poker? Prof. Williams og hennes team testet ut spillet med et vedlikeholdsteam hos RedHat IT, og de fant følgende:

  • Deltakerne opplevde at de fikk økt kompetanse og bevissthet om sikkerhet, og kunnskap om sikkerhet ble spredt blant alle i teamet.
  • De viktigste risikoene ble diskutert, og diskusjonene av risiko innebar at ulike måter å minske risikoen ble identifisert og lagt til som krav.
  • Det tok en del tid å spille Protection Poker i starten, men etterhvert gikk det raskt å gjennomføre en spill-runde.

Har din virksomhet lyst til å prøve ut Protection Poker? Ta gjerne kontakt med oss. Vi er svært interessert i å høre om erfaringer, for å finne ut mer om hvordan en slik teknikk for risikovurdering vil fungere for norske virksomheter og programvareutviklingsteam.

Forskningen på Protection Poker er en del av forskningsprosjektet SoS-Agile som tar for seg hvordan man kan jobbe med programvaresikkerhet i smidig utvikling. I arbeidet med Protection Poker samarbeider vi med Prof. Laurie Williams.