Shift Left Security: denk al in de ontwikkelfase na over het beveiligen van software
Software wordt eerst ontwikkeld, daarna opgeleverd en tenslotte beheerd. En pas in de laatste fase, als software al in gebruik is, wordt de meeste aandacht besteed aan security.
Althans, dat is de traditionele softwarecyclus. De opmars van DevOps bewees al dat het verstandig kan zijn om tijdens het ontwikkelen vooruit te kijken naar een volgende fase (beheer). Het is essentieel om de beveiliging vanaf het begin van het ontwikkelproces serieus te nemen. Software wordt tegenwoordig namelijk snel en agile ontwikkeld en in productie genomen, terwijl de dreigingen op het gebied van beveiliging blijven toenemen.
Daarover gaat een recente aflevering van onze podcast Business Vooruit met IT, waarin Michaël Hompus in gesprek gaat met Frank Thiele en Ingmar van der Steen over het onderwerp Shift Left Security.
Frank: “Traditioneel wordt er minder aandacht aan security besteed tijdens het ontwikkelen van de software. Deze behoefte wordt steeds groter, doordat steeds meer organisaties agile gaan werken. In plaats van grote releases, die je net voor live-gang nog kan pentesten, wordt er continu nieuwe functionaliteit opgeleverd. Dat vraagt wel wat van de security-aanpak.”
Shift Left Security in de praktijk
Shift Left Security wil zeggen dat security zo vroeg (links) mogelijk in het ontwikkeltraject aan bod komt. Hoe eerder er wordt nagedacht over security, des te effectiever en goedkoper. Er zijn verschillende technieken om Shift Left Security in de praktijk te brengen, zo leggen de experts uit.
Frank: “Threat modeling is een methode om al in de designfase na te denken over wat een aanvaller zou kunnen doen om misbruik te maken van je software. Voordat je de software hebt gebouwd, kun je al nadenken over waar de ingangen in je software komen. Deze zogenaamde interfaces maken het mogelijk om met je software te communiceren, bijvoorbeeld met een browser. Als deze interfaces niet goed beveiligd zijn, kan een aanvaller ongewenste acties uitvoeren of toegang krijgen tot data die niet voor hem bedoeld is. Als je deze interfaces in een vroeg stadium identificeert, kan je met de bouw ervan rekening houden met het beveiligen. Dit is veel goedkoper dan het achteraf beveiligen, als er bijvoorbeeld al een succesvolle aanval is gedaan door een hacker.”
Ook tijdens de ontwikkelfase zijn er methodes beschikbaar. “Je kunt als ontwikkelaar met een kritische securitybril naar de broncode kijken”, legt Frank uit. “Dat heet ook wel een security code review; je probeert security issues te identificeren door de code te lezen en je af te vragen hoe een aanvaller dit zou kunnen misbruiken.”
Een ander onderdeel van Shift Left Security in de bouwfase bestaat uit automatische broncodescans. “Deze zijn een aanvulling op de security code reviews en worden uitgevoerd door ontwikkelaars zelf. Hiermee ontdek je potentieel ook andere issues die door mensen lastiger te vinden zijn. Verder wijzen ze je ook op kwetsbare bouwstenen, en het gebruik van third parties in je software.”
Champions
Shift Left Security is niet alleen een kwestie van technologie, aldus Ingmar: “Beveiliging moet een vast onderdeel worden in de manier van werken in een organisatie. Door middel van training en voorlichting zorg je ervoor dat alle developers security-bewust zijn en dit standaard meenemen in hun manier van werken. Ook kun je zogenaamde security champions aanstellen, die bovengemiddelde interesse hebben in security. Deze champions kunnen andere collega’s inspireren en onderwijzen over security.”
De juiste balans
Een mogelijk risico is dat beveiligingsmaatregelen ten koste kunnen gaan van de wendbaarheid, aldus Frank: “Uiteindelijk is het altijd een afweging tussen het risico, de impact op je organisatie als er iets misgaat, en de investering die je erin wil doen. Want je kunt heel ver gaan met security, maar op een gegeven moment kan dit ook ten koste gaan van bruikbaarheid. Als het systeem onbruikbaar wordt en gebruikers gaan omwegen zoeken, sla je ook de plank mis. Het gaat uiteindelijk om de balans. Hoe makkelijk kan een gebruiker met het systeem aan de gang? Daar moet je ook aan denken.”
Tenslotte wil Shift Left Security niet zeggen dat je later in het proces geen omkijken meer hebt naar security. Frank: ”Je moet er ook in latere fases aandacht aan blijven schenken. Security is het krachtigste als je het overal toepast, van begin tot eind.”