Trace Id is missing
Gå til hovedindholdet
Microsoft Security

Hvad er DevSecOps?

Få mere at vide om, hvordan du integrerer sikkerhedspraksis i alle faser af softwareudviklingens livscyklus på tværs af dit multicloudmiljø.

DevSecOps defineret

DevSecOps, som står for udvikling, sikkerhed og drift, er en struktur, der integrerer sikkerhed i alle faser af softwareudviklingens livscyklussen. Organisationer indfører denne tilgang for at reducere risikoen for frigivelse af kode med sikkerhedsrisici. Gennem samarbejde, automatisering og tydelige processer deler teams ansvaret for sikkerhed i stedet for at udskyde det til sidste øjeblik, hvor problemer kan blive meget mere komplicerede og dyrere at håndtere. DevSecOps er en vigtig komponent i en sikkerhedsstrategi for flere cloudmiljøer.

DevSecOps versus DevOps

I traditionel softwareudvikling opdeles projekter i særskilte faser til planlægning, design, udvikling, integration og test, hvilket sker sekventielt over flere måneder eller endda år. Selvom denne fremgangsmåde er meget metodisk, har mange organisationer fundet, at den er for langsom, hvilket gør det svært at opfylde kundernes forventninger til løbende produktforbedringer. Desuden bliver sikkerheden typisk slået til helt i slutningen, hvilket bringer virksomheder i fare for brud.

For at forblive konkurrencedygtige har mange virksomheder indført en DevOps-model, der prioriterer levering af mindre pakker med kode i høj kvalitet i stedet for funktionsrige projekter, der tager længere tid. I denne struktur samarbejder softwareudviklings- og driftsteams for at inkorporere test og integration i hele processen. Automatisering, standardiserede processer og samarbejde hjælper teams med at bevæge sig hurtigt uden at gå på kompromis med kvaliteten.

DevSecOps er en forbedring af DevOps, der bygger sikkerhed ind i alle aspekter af processen. Målet er at løse sikkerhedsproblemer helt fra starten af projektet. I denne struktur tager hele teamet ikke kun ansvaret for kvalitetssikring og kodeintegration, men også for sikkerheden. I praksis betyder det, at teams diskuterer sikkerhedsmæssige konsekvenser under planlægning og begynder at teste for sikkerhedsproblemer i udviklingsmiljøer i stedet for at vente til slutningen. Et andet navn til denne fremgangsmåde er vagt til venstre sikkerhed.

Hvorfor er DevSecOps vigtigt?

Der er mange metoder, som hackere bruger til at få adgang til en organisations data og aktiver, men en almindelig taktik er at udnytte sikkerhedsrisici i forbindelse med software. Disse typer brud er dyre, tidskrævende og afhængigt af alvorsgraden skadelige for en virksomheds omdømme. DevSecOps-strukturen reducerer risikoen for udrulning af software med fejlkonfigurationer og andre sikkerhedsrisici, som ondsindede aktører kan udnytte.

Nøglekomponenter i DevSecOps

En vellykket DevSecOps-proces omfatter følgende komponenter:

Løbende integration

Med løbende integration bekræfter udviklere deres kode til et centralt lager flere gange om dagen. Derefter integreres og testes koden automatisk. Denne fremgangsmåde gør det muligt for teams at fange integrationsproblemer og fejl tidligt i processen i stedet for at vente til slutningen, når der kan være flere problemer, der skal løses.

Kontinuerlig levering

Løbende levering bygger på løbende integration for at automatisere processen med at flytte kode fra buildmiljøet til et midlertidigt miljø. Når softwaren er i midlertidig tilstand, testes softwaren automatisk for at sikre, at brugergrænsefladen fungerer, at koden er korrekt integreret, at API'er er pålidelige, og at softwaren kan håndtere de forventede trafikmængder. Målet med denne tilgang er konsekvent at levere produktionsklar kode, der giver værdi til kunderne.

Kontinuerlig sikkerhed

Opbygning af sikkerhed i hele softwareudviklingens livscyklus for er en vigtig komponent i DevSecOps. Dette omfatter trusselsmodellering tidligt i processen og automatiseret sikkerhedstest i hele livscyklussen, startende med udviklerens’ egne miljøer. Ved grundigt at teste softwaren for sikkerhedsproblemer tidligt og ofte kan organisationer effektivt levere software med minimale problemer.

Kommunikation og samarbejde

DevSecOps er meget afhængig af, at enkeltpersoner og teams arbejder tæt sammen. Løbende integration kræver, at folk samarbejder for at løse konflikter i kode, og teams skal kommunikere effektivt for at samle sig omkring de samme mål.

Sådan implementerer du DevSecOps

Tilføjelse af sikkerhed til din DevOps-proces kræver nøje planlægning. Start langsomt med processer, der introducerer den mindste friktion for teamet, og som giver de største sikkerhedsløsninger. Her er et par måder, du kan føje sikkerhed til et typisk DevOps-sprint på.

Planlægning og udvikling

Hvis du introducerer sikkerhed tidligt i udviklingssprints, hjælper det ikke kun med at reducere sikkerhedsrisici senere, men det sparer også tid, fordi det er nemmere at håndtere problemer, før kode er blevet bygget og integreret. Under planlægning og udvikling kan du bruge trusselsmodellering til at identificere og afhjælpe potentielle trusler mod programmet. Dette hjælper dig med at bygge sikkerhed ind i programmet lige fra starten. Hvis du vil afdække sikkerhedsproblemer, før kode er bekræftet for det delte lager, skal du implementere automatiserede kontroller, f.eks. integrerede sikkerheds-plug-ins til udviklingsmiljøer, som giver udviklere øjeblikkelig feedback, hvis der er en potentiel sikkerhedsrisiko i den kode, de har skrevet. Få en person med sikkerhedsekspertise til at komme med anbefalinger til at foretage forbedringer under kodegennemgang.

Kodebekræftelse

En af nøglerne til en vellykket DevSecOps-proces er kontinuerlig integration. Udviklere bekræfter typisk deres kode til et centralt lager flere gange om dagen for at sikre, at integrationsproblemer opdages tidligt. Det er vigtigt at føje automatiserede sikkerhedskontroller til denne fase. Dette kan omfatte scanning af tredjepartsbiblioteker og -afhængigheder, enhedstest og statisk sikkerhedstest af programmer. Det er også vigtigt at udrulle rollebaserede adgangskontroller for at beskytte din løbende integrations- og leveringsinfrastruktur mod hackere, der forsøger at køre skadelig kode eller stjæle legitimationsoplysninger.

Oprettelse og test

Kørsel af automatiserede sikkerhedsscripts i testmiljøet hjælper med at afdække potentielle problemer, der ikke tidligere blev registreret. Nogle af de sikkerhedstest, du kan køre i denne fase, omfatter test af dynamisk programsikkerhed, scanning af infrastruktur, scanning af objektbeholdere, validering af cloudkonfiguration og test af sikkerhedsaccept.

Produktion

Når programmet er udrullet til produktion, foretager nogle organisationer indtrængningstest for at forsøge at finde svagheder i livemiljøet. I forbindelse med indtrængningstest bruger folk en hackers tankesæt og søger efter måder at trænge ind i programmet på.

Drift

Selv den bedste DevSecOps-proces fanger ikke alt, så det er vigtigt løbende at overvåge programmer for sikkerhedsrisici og trusler. Analysedata kan hjælpe dig med at vurdere, om din sikkerhedstilstand forbedres, og fremhæve områder til optimering.

DevSecOps-værktøjer og -teknologier

Når du vælger sikkerhedsværktøjer, er det vigtigt at vælge dem, der fungerer godt sammen med din aktuelle DevOps-teknologi. Det gør det nemmere at inkorporere sikkerhed i hele processen. Følgende er nogle af de typer værktøjer, du muligvis har brug for:

Infrastruktur som kodescanning

For at forbedre deres effektivitet bruger DevSecOps-teams typisk værktøjer med åben kildekode som Terraform til at administrere og klargøre infrastruktur som netværk, virtuelle maskiner og belastningsjusteringer via kode i stedet for at gøre det manuelt. Terraform hjælper med at sikre, at infrastrukturen konfigureres og opdateres konsekvent på tværs af hundred- eller tusindvis af servere. For at reducere risikoen for, at fejlkonfigurationer udrulles i produktionsmiljøet, kontrollerer infrastruktur som et værktøj til kodescanning automatisk infrastrukturen på kodeniveau for manglende overholdelse af sikkerhedspolitikker og -standarder.

Sikkerhedstest af statiske programmer

Før deres kode kompileres, begynder DevSecOps-udviklere at teste deres brugerdefinerede kode i forbindelse med sikkerhedsrisici. Dette hjælper dem med at løse problemer uden at påvirke buildet. Statiske værktøjer til test af programsikkerhed gør denne proces nemmere med automatiske kontroller og feedback i realtid. Mange værktøjer identificerer præcist, hvilken kode der er risikabel, og tilbyder foreslåede rettelser.

Analyse af softwarekomposition

En måde, hvorpå teams kan bygge programmer og funktioner mere effektivt, er ved at bruge plug-ins og strukturer fra tredjepart. Disse færdigbyggede værktøjer sparer tid, men de kan også medføre risici, f.eks. problemer med licensering, dårligt skrevet kode eller sikkerhedsrisici. Analyseværktøjer til softwarekomposition identificerer komponenter med åben kildekode i programmer og evaluerer dem i forhold til beskyttede eller gratis databaser for at registrere licensovertrædelser og problemer med sikkerhed og kvalitet.

Interaktiv test af programsikkerhed

Under test af kvalitetssikring, eller når et program bruges, scanner interaktive programsikkerhedsværktøjer koden for at finde sikkerhedsrisici og levere rapporter, der identificerer, hvor i koden problemet er.

Sikkerhedstest af dynamiske programmer

Sikkerhedstest af dynamiske programmer emulerer de metoder, som en ondsindet aktør kan bruge til at angribe et program. Denne test udføres, mens programmet kører, og er baseret på foruddefinerede use cases.

Scanning af objektbeholder

Objektbeholdere bruges i stor udstrækning i DevSecOps, fordi de hjælper udviklere med nemt at udrulle selvtilstrækkelige kodeenheder. I en objektbeholder er der en objektbeholderafbildning, der indeholder den kode, der kører processer for objektbeholderen. Disse afbildninger oprettes dog ofte ved hjælp af eksisterende afbildninger eller hentes fra offentlige lagre. Scanningsværktøjer til objektbeholdere, scan objektbeholdere, og sammenlign dem med offentlige eller beskyttede databaser med sikkerhedsrisici for at afdække potentielle sikkerhedsproblemer.

Bedste praksis for DevSecOps

DevSecOps handler lige så meget om kulturændringer som proces og værktøjer. Her er nogle bedste fremgangsmåder til at gøre det så problemfrit som muligt at indføre denne struktur.

Skift kultur

Erkend, at folk kan have svært ved at ændre den måde, de arbejder på, og der kan opstå konflikter. For at hjælpe dem med at tilpasse sig skal du tydeligt kommunikere organisationens mål og forventninger, give masser af muligheder for åben dialog og forudse, at du skal være fleksibel, indtil teams finder de værktøjer, processer og den hyppighed, der fungerer bedst for dem.

Definer krav og målepunkter

Etabler en minimumsikkerhedsbaseline. Du kan få vejledning ved at se branche- og lovgivningsmæssige krav eller Open Worldwide Application Security Project® (OWASP) Top Ten kritiske risici for webprogrammer og SANS Top 25-softwarefejl. Når du har defineret krav, skal du afgøre, hvilke målepunkter du vil spore, for at hjælpe dig med at overvåge din status.

Start i det små

Værktøjer til sikkerhedsautomatisering giver mange muligheder for at kontrollere kode for problemer, men hvis du slår dem alle til, især tidligt i din indføring af DevSecOps, kan det overvælde dit team. Vær velovervejet om, hvilke værktøjer du implementerer, og hvor mange problemer du søger efter.

Udfør trusselsmodellering

Udvikl en trusselsmodelleringsproces, der kan være så enkel eller så detaljeret og teknisk, som du har brug for. Brug denne fremgangsmåde til at dokumentere en realistisk sikkerhedsvisning af dit program, der omfatter:

  • Hvordan hackere kan misbruge programmets design.
  • Sådan løser du sikkerhedsrisici.
  • Prioritet af forskellige problemer.

Implementer automatisering

Automatisering er nøglen til at aktivere både kvalitet og hastighed i DevSecOps-processen. Ved at integrere automatiserede sikkerhedsscanninger i alle faser af den kontinuerlige integration og livscyklus for kontinuerlig levering kan du forbedre sikkerheden i dine programmer uden at gøre processen væsentligt langsommere.

Administrer afhængigheder

De fleste udviklere bruger tredjepartspakker og -biblioteker til effektivt at bygge programmer. Problemet er, at nogle af disse løsninger har sikkerhedsbrist, og udviklerne er ikke altid omhyggelige med at holde dem opdateret. Hvis du vil reducere risikoen, skal du sørge for, at de komponenter, du bruger, er undersøgt for sikkerhedsrisici og udvikle en standardiseret proces til opdatering af dem.

Evaluer og forbedr

Vurder jævnligt, hvordan processen fungerer, og juster efter behov for at sikre, at din organisation opfylder sine mål. En post mortem, der ikke kan affindes efter fuldførelsen af et sprint, kan hjælpe med at afdække muligheder for forbedring. Analysedata og oplysninger om cybertrussel kan også hjælpe dig med at afgøre, om der er sikkerhedsbehov, der ikke opfyldes af din nuværende fremgangsmåde.

DevSecOps til cloudbaserede programmer

Cloudbaserede programmerCloudbaserede programmer er udviklet til cloudmiljøet og er normalt leverandørneutrale, så de kan overføres fra én cloud til en anden. Udviklingsteams, der er designet til at være yderst skalerbare og robuste, bygger dem typisk ved hjælp af mikrotjenester, objektbeholdere og automatisering, hvilket gør dem ideelle til en DevSecOps-proces. Opbygning af kontinuerlig sikkerhed, løbende integration og løbende levering i udviklingsprocessen for programmer, der oprindeligt er udviklet til cloudmiljøet, muliggør skalerbarhed uden at gå på kompromis med sikkerheden. Brug automatiserede sikkerhedsløsninger som f.eks. Microsoft Defender for DevOps, for at hjælpe dig med at beskytte din kode og hele DevOps-pipelinen. Når du har udrullet dit program i cloudmiljøet, skal du fortsætte med at overvåge det for risici. Platform til beskyttelse af cloud-arbejdsbelastninger (CWPP)CWPP (Cloud Workload Protection Platforms) hjælper med at beskytte disse programmer og de underliggende data ved at registrere og afhjælpe trusler mod arbejdsbelastninger på tværs af multicloudmiljøer. Administration af niveau for skysikkerhedCSPM (Cloud Security Posture Management)-løsninger finder og håndterer fejlkonfigurationer og sårbarheder på tværs af dit miljø.

Få mere at vide om Microsoft Security

Microsoft Defender for Cloud

Beskyt multicloud- og hybridmiljøer fra udvikling til kørsel med en omfattende platform til beskyttelse af programmer, der oprindeligt er indbygget i cloudmiljøet.

Microsoft Defender for Cloud Apps

Moderniser, hvordan du sikrer dine apps, beskytter dine data og øger dit sikkerhedsniveau for app med software som en service-sikkerhed (SaaS).

Microsoft Defender for Cloud Security Posture Management

Fokuser på dine mest kritiske risici på tværs af dit multicloudmiljø med kontekstafhængig administration af cloudsikkerhedsniveauet.

Microsoft Defender til DevOps

Få samlet DevOps-sikkerhedsadministration på tværs af miljøer med multicloudmiljøer og miljøer med flere pipelines.

Ofte stillede spørgsmål

  • DevSecOps er en proces, der integrerer sikkerhed i hele softwareudviklings livscyklus. Organisationer indfører denne tilgang for at reducere risikoen for frigivelse af kode med sikkerhedsrisici. Gennem samarbejde, automatisering og klare processer deler teams ansvaret for sikkerhed i stedet for at vente til sidst, hvor det kan være meget vanskeligere og dyrere at løse problemer.

  • DevSecOps står for udvikling, sikkerhed og drift. Den henviser til processen med at integrere sikkerhed i alle faser af softwareudvikling.

  • Skift til venstre er et koncept i DevSecOps, der refererer til inkorporering af sikkerhedspraksis fra begyndelsen af udviklingsprocessen.

  • DevSecOps-strukturen omfatter løbende integration, kontinuerlig levering og løbende sikkerhed. Det er en metode, hvorved sikkerhedsteams, drifts- og sikkerhedsteams arbejder sammen og deler ansvaret for hurtigt at levere kvalitetssoftware, samtidig med at sikkerhedsrisici reduceres.

  • Der er ingen DevSecOps-proces, men en almindelig måde at køre disse projekter på er ved at opdele arbejde i sprints, der hver især indeholder følgende komponenter: planlægning og udvikling, build og test samt produktion. I hele sprintet bruger teams automatisering til løbende at håndtere problemer med kvalitetssikring, integrere og løbende teste for sikkerhedsrisici.

Følg Microsoft Security