5 grunde til, at DevSecOps overhovedet ikke minder om … sport

VM i fodbold er forbi. Som sportselsker kan man godt sidde tilbage med en tom følelse, men der er ingen grund til at fortvivle.

Der er jo som bekendt masser af anden sport at kigge på, og det er jeg utroligt god til – i hvert fald i forhold til mit niveau som sportsudøver. Så føler jeg mig mere på hjemmebane, når det gælder software. Forleden sad jeg og tænkte over, hvilke fællesnævnere der er, altså hvordan softwareverdenen minder om sportens verden. Så slog det mig, at hvis der er én ting i it-verdenen, der i hvert fald ikke er som sport, er det DevSecOps.

Lad mig forklare det med fem eksempler.

  1. Du kan ikke skyde skylden på målmanden

Det er måske lidt bagvendt at lægge ud med et meget specifikt eksempel, men det handler om noget, der ligger mit hjerte nær. Dengang vi spillede fodbold i skolegården, blev jeg nemlig ofte valgt sidst, og så fik jeg den mindst eftertragtede position på banen: målmandsposten.

Når bolden efterfølgende fløj eller ganske ofte bare trillede i mål, var det altid mig, der fik skylden. Den slags er ikke bare ødelæggende for holdånden. Et hold burde slet ikke fungere på den måde. Jeg er ekstremt skeptisk over for formuleringer som ”DevSecOps gør sikkerhed til alles ansvar”. Ikke mindst af den enkle årsag, at langt fra alle er eksperter i sikkerhed. Faktum er dog, at alle er nødt til at tage et ansvar for at sætte sig ind i processerne og sikre, at de bliver fulgt. Skyd aldrig skylden på en enkelt person, når noget går galt. Og husk, at DevSecOps giver dig mulighed for at rette op på fejlen, dæmme op i en fart og implementere tests for at sikre, at den samme sårbarhed aldrig bliver blottet igen.

Gå efter sejren. Som et hold.

  1. Du ved ikke, hvem din modstander er

Uanset hvilken sport du dyrker, står det som regel rimeligt klart, hvem du spiller imod. Du kan se, hvor de er, og hvad de foretager sig. Du kan måske ikke stoppe dem hver gang, men du ved i hvert fald, hvem de er, og hvad deres mål er. Når det gælder DevSecOps, er det mindre tydeligt end i andre udviklings- og softwareprojekter. Du og dit team udvikler, tester og drifter flere forskellige lag i stacken, og jeres modstandere kan være forskellige fra gang til gang, råde over forskellige kompetencer og erfaringer og have adgang til forskellige ressourcer. Hvis I virkelig arbejder som et team, kan I drage nytte af jeres samlede kompetencer og erfaring over forskellige abstraktionslag på måder, som er svære at applicere i traditionelle modeller for udvikling og drift.

  1. Modstanderen spiller efter helt andre regler

I sportens verden er der regler. Hvis de ikke bliver fulgt, griber dommeren ind over for den part, der overtræder dem. Det ville være skønt at leve i en verden, hvor angriberne altid bliver fanget og straffet, når de kaster sig over din infrastruktur, dine applikationer og dine databaser. Desværre er der ikke meget, der tyder på, at det bliver en realitet inden for en overskuelig fremtid.

Eftersom du sandsynligvis ikke vil kunne tage jagten op i realtid og med et effektivt modangreb, er du nødt til at overveje, hvilke andre modtræk du kan implementere, hvordan du kan gøre det, og hvor hurtigt de kan aktiveres.

Det er vigtigt, at dette ikke overlades helt til sikkerhedsfolkene i teamet. Sikkerhedseksperter kan være gode til at forudse, hvor og hvordan angreb kan foregå, men det er ofte udviklerne, der har de bedste forudsætninger for at forudse, hvordan et angreb vil påvirke systemet, og hvordan eventuelle modtræk bør udformes.

  1. Hele holdet er med i hver eneste kamp

I de fleste former for holdsport kan du kun spille med et begrænset antal spillere ad gangen. En af fordelene ved DevSecOps er, at alle kan være involveret hele tiden gennem hele processen. Træneren behøver ikke at holde sig på sidelinjen, og mentaltræneren, assistenttræneren og de tekniske eksperter kan sendes på banen efter behov. Eftersom du hele tiden videreudvikler og forfiner, varer det ikke længe, før alle medlemmer i teamet har fået mulighed for at bidrage med deres færdigheder. Et DevSecOps-team bør desuden ikke være isoleret fra resten af virksomheden. Hvis du får brug for hjælp, selvom det kun er i en dag eller to, skal du bare sige til. Vær ikke bange for at reagere hurtigt eller bede om hjælp, når du har brug for den.

  1. Det er helt ok at fejle

Som supporter tænker man, at ens hold skal vinde hver eneste kamp. Men selv de bedste sportsudøvere og de bedste hold ved, hvordan det er at tabe, og at man kan komme styrket ud af et nederlag. I DevSecOps burde vi opfordre vores teams til at tabe – ofte og hurtigt – af den enkle årsag, at vores applikationer og projekter bliver bedre af, at vi oplever og nærstuderer de tilfælde, hvor vi mislykkes. Der er ikke længere nogen, der tror, at systemer og applikationer er usårlige. Det handler ikke længere om, hvorvidt du vil blive udsat for et angreb eller ej, men hvornår angrebet kommer.

Opbyg dine processer ud fra den antagelse, analysér aktiviteter og logs efter afvigende adfærd, og vær klar til at agere. Det er dog mindst lige så vigtigt at have processer, som sikrer, at du lærer af det, der er sket, så fejlen gør dig en erfaring rigere og baner vejen for et bedre, stærkere og mere modstandsdygtigt projekt og team på langt sigt.

Konklusioner

Jeg vil ikke påstå, at der ikke er ligheder mellem DevSecOps og sport – der findes naturligvis adskillige overlap og masser af passende sammenligninger. Et oplagt eksempel er, at en stor forandring kræver, at hele holdet er med på legen. Et andet kunne handle om, hvor vigtigt det er at sammensætte et hold, der kan kommunikere internt og samarbejde om et fælles mål, eller hvor afgørende det er, at du kan ændre din indsats i realtid og tilpasse din taktik efter nye forudsætninger. Nogle gange vinder du bare mere på at stille skarpt på forskelligheder i stedet for at forsøge at finde ligheder.

Jeg håber, at du får en skøn sommer fyldt med sport og DevSecOps!

Av: Red Hats Chief Security Architect Mike Bursell