Organisationer som vill skapa en högre innovationstakt behöver söka sig bortom de traditionella verktyg som idag begränsar tvärfunktionellt samarbete och automatisering – och att se över sina säkerhets- och DevOps-processer är en utmärkt möjlighet att öka innovationstakten.

Teckna din prenumeration på Aktuell Säkerhet här 

Processer för att hitta och åtgärda säkerhetsrisker i applikationer borde gå hand i hand med de agila DevOps-processer som skapar och levererar mjukvaran. Det är svårt att ha en friktionsfri process för applikationssäkerhet i en DevOps-miljö om dessa två processer och deras respektive verktyg inte är kompatibla.

DevOps-funktioner har ofta fokuserat på automatisering för att skapa kontinuerliga arbetsflöden som förbättrar företagets innovation och ökar produktiviteten i mjukvaruteamet. I och med detta har en mängd startups, såväl som etablerade mjukvarujättar, tagit fram nya produkter för att tillgodose dessa behov. Tyvärr fokuserar dessa produkter enbart på väldigt specifika segment av arbetsflödet som exempelvis ärendehantering och kontinuerlig integration. Denna fragmentering har resulterat i en uppsjö av olika API:er och gränssnitt för att kunna sammankoppla alla segment till ett komplett DevOps-flöde som innefattar hela systemutvecklingscykeln (SDLC).

Att integrera nya säkerhetstjänster i redan komplexa DevOps-flöden leder lätt till en mängd användargränssnitt och isolerade arbetsflöden – samt fragmenterad data. Dessutom har IT-säkerhetsföretagens kommersiella fokus ytterligare förvärrat problemet: många bolag har byggt sina portföljer genom nyförvärv av andra företag och marknadsför fortfarande dessa produkter separat eller som dashboard-produkter. Därför finns det idag en ansenlig mängd olika säkerhetsprodukter som ännu inte nått sin fulla potential i syftet att öka effektiviteten hos DevOps och dess säkerhetstjänster.

Kunder som befinner sig under press för att leverera innovation i hög takt behöver därför ett praktiskt alternativ till att använda dessa komplexa nätverk av säkerhetstjänster och DevOps-verktyg. Men kan IT-säkerhetsbranschen realistiskt sett anta ett iterativt förhållningssätt som liknar den process vi har vid mjukvaruutveckling?

Att genomgå en sådan förändringsprocess kräver testning av applikationssäkerheten, så kallad DevSecOps, som behöver byggas in i utvecklarens arbetsflöde – samt kontinuerlig integration (CI). Med en sådan strategi granskas ny kod automatiskt, så att varje kodförändring bedöms med avseende på säkerhetsrisker. Varje förändring utvärderas och resultatet levereras till utvecklaren som en del av det befintliga arbetsflödet – istället för att behöva vänta på ett fullständigt säkerhetstest i slutet av processen. Utvecklaren kan på så sätt enkelt se effekten av sina egna förändringar utan att hindras av säkerhetsrisker som introducerats av kollegor.

Denna tydliga och iterativa säkerhetsgranskning gör också att team och deras resurser kan användas mer effektivt. Utvecklaren kan snabbt avvärja de flesta säkerhetsrisker och säkerhetsteamet kan fokusera på de undantag som inte kan lösas på ett enkelt sätt.

Applikationens säkerhetsansvariga behöver på så sätt inte hantera eller prioritera lika många säkerhetsrisker, eftersom de redan identifierats och lösts av utvecklaren själv.

Genom att riva verktygens isolerande ”silos” uppstår tvärfunktionellt samarbete mellan utvecklings- och säkerhetsteamen: båda ser samma data i ett relevant sammanhang. Säkerhetsfixar står i paritet med buggfixar, eftersom de inte längre hindras av fragmenterade system.

Detta tillvägagångssätt har långtgående fördelar:

  • Säkerhetsgranskning av applikationen blir iterativ, tillsammans med utvecklingen
  • Säkerhetsrisker är tydliga, redan när de uppstår
  • Ansvaret är tydligt – vem som införde säkerhetsrisken och var det skedde, med tydlig orsak och verkan
  • Utvecklare kan avvärja säkerhetsrisker med mindre omarbeta och utan att behöva byta kontext
  • Automatisering kan åtgärda brister genom att ersätta sårbara kodbibliotek med säkrare patchar medan koden fortfarande är i utvecklarens händer
  • Minskad kartläggning / prioritering och därmed ökad produktivitet för både utvecklare och säkerhetsteam.

Att öka effektiviteten är ett mycket verkningsfullt sätt för en säkerhetsmjukvara att skala upp och tas i beaktning för fler tillämpningsområden inom DevOps-portföljen. Införandet av sådana förändringar kräver dock att utvecklingsteamet rekryterar rätt resurser och implementerar rätt processer, men ett verktyg som möjliggör nya säkerhetsprocesser är en god startpunkt.

En enda applikation för hela DevOps-livscykeln är ett sätt att erbjuda säkerhetstestning som är inbyggd i CI-processen (kontinuerlig integration). Genom att använda denna nya strategi hittar testprogrammen säkerhetsrisker under utvecklingen, snarare än att identifiera det totala antalet säkerhetsrisker i samband med leverans. Denna typ av kompletta skanningsprocesser kan avslöja tusentals säkerhetsrisker, men kan också leda till utmaningar. Säkerhetsteamet får kämpa med att prioritera korrigerande åtgärder, medan utvecklingsteamet tappar motivationen på grund av mängden arbete som måste göras om.

Företag kan kombinera sina säkerhets- och DevOps-processer och höja innovationsförmågan genom att se bortom den uppsjö av komplexa verktyg som fortfarande begränsar tvärfunktionella samarbeten, automatisering och insikt.

Av Cindy Blake, CISSP, Security Evangelist, GitLab Inc.