Funktioner för programsäkerhet och DevSecOps

Målet med programsäkerhet och DevSecOps är att integrera säkerhetsgarantier i utvecklingsprocesser och anpassade verksamhetsprogram (LOB).

Modernisering

Programutveckling omformas snabbt i flera aspekter samtidigt, inklusive DevOps-teammodellen, DevOps snabba lanseringstakt och den tekniska sammansättningen av program via molntjänster och API:er. Se hur molnet ändrar säkerhetsrelationer och ansvarsområden för att förstå dessa ändringar.

Den här moderniseringen av föråldrade utvecklingsmodeller innebär både möjligheter och krav på att modernisera säkerheten för program och utvecklingsprocesser. Sammansmältningen av säkerhet i DevOps-processer kallas ofta DevSecOps och driver ändringar, inklusive:

  • Säkerheten är integrerad, inte utanför godkännandet: Den snabba förändringstakten i programutvecklingen gör klassiska "skannings- och rapportmetoder" föråldrade. Dessa äldre metoder kan inte hålla jämna steg med lanseringar utan att stoppa utvecklingen och skapa tidsfördröjningar, underutnyttjande av utvecklare och ökning av kvarvarande problem.
    • Skift vänster för att engagera säkerhet tidigare i programutvecklingsprocesser eftersom åtgärda problem tidigare är billigare, snabbare och effektivare. Om du väntar tills efter att kakan har bakats är det svårare att ändra formen.
    • Intern integrering: Säkerhetsmetoder måste integreras sömlöst för att undvika felfriktion i arbetsflöden för utveckling och processer för kontinuerlig integrering/kontinuerlig distribution (CI/CD). Mer information om GitHub metod finns i Skydda programvara tillsammans.
    • Säkerhet av hög kvalitet: Säkerhet måste ge högkvalitativa resultat och vägledning som gör det möjligt för utvecklare att snabbt åtgärda problem och inte slösa bort utvecklartiden med falska positiva identifieringar.
    • Konvergerad kultur: Säkerhets-, utvecklings- och åtgärdsroller bör bidra med viktiga element i en delad kultur, delade värden och delade mål och ansvarstaganden.
  • Flexibel säkerhet: Flytta säkerheten från en "måste vara perfekt för att leverera" till en flexibel metod som börjar med minsta möjliga säkerhet för program (och för processer för att utveckla dem) som kontinuerligt förbättras stegvis.
  • Använd molnbaserade infrastruktur- och säkerhetsfunktioner för att effektivisera utvecklingsprocesser samtidigt som säkerhet integreras.
  • Riskhantering i leveranskedjan: Använd en nollförtroendemetod för programvara med öppen källkod (OSS) och komponenter från tredje part som verifierar deras integritet och ser till att felkorrigeringar och uppdateringar tillämpas på dessa komponenter.
  • Kontinuerlig inlärning: Den snabba lanseringstakten för utvecklartjänster, som ibland kallas PaaS-tjänster (plattform som en tjänst), och den föränderliga sammansättningen av program innebär att medlemmar i utvecklings-, ops- och säkerhetsteamet ständigt lär sig ny teknik.
  • Programmatisk metod för programsäkerhet för att säkerställa kontinuerlig förbättring av den flexibla metoden.

Ytterligare kontext finns i Microsofts livscykel för säker utveckling.

Teamsammansättning och nyckelrelationer

Programsäkerhet och DevSecOps-funktioner utförs helst av säkerhetsmedvetna utvecklare och driftsteam (med stöd av experter på säkerhetsämnen).

Den här funktionen interagerar ofta med andra funktioner och experter, inklusive:

  • Säkerhetsarkitektur och -åtgärder
  • Säkerhet för infrastruktur
  • Kommunikation (utbildning och verktyg)
  • Personsäkerhet
  • Identitet och nycklar
  • Efterlevnads-/riskhanteringsteam
  • Viktiga företagsledare eller deras representanter

Nästa steg

Granska funktionen för datasäkerhet.