Programsäkerhet och DevSecOps-funktioner

Målet med programsäkerhet och DevSecOps är att integrera säkerhetsgarantier i utvecklingsprocesser och anpassade verksamhetsspecifika program (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. Sammanslagningen 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 tid-till-marknad-fördröjningar, underutnyttjande av utvecklare och tillväxt av kvarvarande problem.
    • Skift vänster för att engagera säkerheten tidigare i programutvecklingsprocesser eftersom det är billigare, snabbare och effektivare att åtgärda problem tidigare. Om du väntar tills efter kakan är bakad är det svårare att ändra formen.
    • Intern integrering: Säkerhetsmetoder måste integreras sömlöst för att undvika friktion som inte är felfria i arbetsflöden för utveckling och processer för kontinuerlig integrering/kontinuerlig distribution (CI/CD). Mer information om GitHub-metoden 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 utvecklartid med falska positiva identifieringar.
    • Konvergerad kultur: Säkerhets-, utvecklings- och driftsroller 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 att skicka" 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 molnbaserad infrastruktur och säkerhetsfunktioner för att effektivisera utvecklingsprocesser samtidigt som du integrerar säkerhet.
  • Riskhantering i leveranskedjan: Använd en nollförtroendemetod för programvara med öppen källkod (OSS) och komponenter från tredje part som validerar 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.
  • Programmässig metod för programsäkerhet för att säkerställa kontinuerlig förbättring av den agila metoden.

Mer information 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
  • Team för efterlevnad/riskhantering
  • Viktiga företagsledare eller deras representanter

Nästa steg

Granska funktionen för datasäkerhet.