fbpx

Blog: De uitdaging van Security binnen een Agile organisatie

Door: Security Consultant Melroy Bouwes

Veel organisaties zijn de laatste jaren overgestapt naar het werken volgens het Agile Scrum Framework. In plaats van de watervalmethode, worden projecten in stukjes opgeknipt (in dit blog noem ik die stukjes ‘features’), ontwikkeld en opgeleverd. Dit heeft het grote voordeel dat er snel iets opgeleverd kan worden, wat vervolgens steeds verder uitgebouwd en verbeterd wordt. Door Lean toe te passen, kunnen nieuwe features sneller opgeleverd worden. Maar dat betekent ook een uitdaging voor security. Want hoe blijf je waarborgen dat features veilig blijven, ook in het grote geheel?

Uitdaging Security

De laatste jaren is er binnen security-teams ook veel veranderd. Data en infra worden verplaatst naar de cloud of zelfs een hybride cloud. Scrumteams eisen meer dan ooit tevoren van de IT-infrastructuur, door bijv. eigen Virtual Machines of Docker containers te creëren. Door Agile te werken wordt het aantal (kleine) wijzigingen op de IT-infrastructuur steeds groter. Wat te doen met security in een Agile organisatie? De scrumteams hebben strakke planningen en moeten elke sprint (1-4 weken cyclus) weer nieuwe features aanleveren. Maar zijn deze features wel veilig? Worden ze wel gepentest? Of is er een audit? En hoort het security vraagstuk los bij elke feature, bij iedere sprint in zijn geheel of beiden? In het laatste geval zal het extra tijd en effort kosten om veiligheid te waarborgen.

Welke plek heeft Security?

Het is mogelijk om security in een apart scrumteam te plaatsen in de organisatie. Zo’n team kan security waarborgen door bijvoorbeeld audits, pentesten of reviews te leveren aan de andere scrumteams en ervoor zorgen dat deze op de scrumboards geplaatst worden bij de verschillende Product Owners. Maar hoe ga je er dan voor zorgen dat je niks mist van de andere scrumteams? En hoe kun je er zeker van zijn dat alles nog veilig is op ieder moment? Een andere optie is om elk team een security-lid te geven die de features van de rest van het team bewaakt. Maar heeft security dan eigenlijk wel genoeg invloed? Een teamlid kan namelijk niks zeggen over prioriteit en of iets überhaupt wel uitgevoerd mag worden.

Beide opties bieden dus niet de garantie dat security gewaarborgd is. Hoe kunnen we veiligheid dan wel garanderen?

De rol van de Product Owner

Er worden veel Product Owners gezocht in de markt. Wat opvalt in de meeste vacatures is dat er veel focus ligt op de ervaring in het Agile proces zoals minimaal 5 jaar ervaring als Product Owner, maar de focus ligt niet of nauwelijks op de kennis van het ‘product’ waar ze eigenaar van worden.

In de praktijk kom ik de Product Owner vaak tegen als diegene die de eigenaar is van de User Stories en veel kennis heeft van Agile. Maar zelden kennen ze de techniek of de ins en outs van het product van wat het team oplevert. Laat staan dat er kennis is van waar de security uitdagingen zitten. Dat ze die kennis niet hebben is dus niet zo vreemd; er wordt ook niet naar gevraagd.

Toch zou een Product Owner in mijn optiek een belangrijke rol kunnen spelen in dit geheel. Hij of zij kan ervoor zorgen dat veiligheid gewaarborgd blijft. Zolang diegene maar een eigen visie over het op te leveren product heeft en zich niet alleen laat leiden door de mensen die input leveren.

Security by Design

Bij zo’n verhaal moet toch een keer die vergelijking met auto’s komen. Dus stel je voor een Product Owner van een nieuwe auto. Klanten vragen om diverse features als grote velgen, entertainment systemen, getinte ramen, snelle motoren, laag verbruik. Maar hoe vaak wordt er gevraagd naar de remweg? Hoe groot de dode hoek is? En alle afkortingen als ABS, ASR, ESP, ESC? Wat te doen als Product Owner? Alleen de vraag beantwoorden van de klant en je team een nieuwere versie van een lopend led-strip als knipperlicht laten ontwikkelen? Of laat je die feature nog even achterwege totdat de remmen en airbags ook uit ontwikkeld zijn? Klanten zullen meestal niet vragen naar de veiligheid, omdat ze ervan uit gaan dat dat wel goed zit. Een Product Owner is in mijn ogen diegene die verantwoordelijk is voor de veiligheid van zijn of haar product.

En dan maakt het niet zoveel uit of de security specialisten in de verschillende teams zitten, of dat er een apart scrumteam van gemaakt wordt. Zolang een Product Owner trots is op het veilige product wat het team aflevert, kan security gewaarborgd worden binnen een agile organisatie.