Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
DevOps-säkerhet integrerar säkerhetsrutiner under hela programvaruutvecklingslivscykeln (SDLC) – från inledande design och kodning via bygge, testning och distribution till produktion. Till skillnad från traditionella säkerhetsmetoder som behandlar säkerhet som en sista grind bäddar DevOps-säkerhet in säkerhetskontroller, automatiserad testning och kontinuerlig övervakning i varje steg i utvecklingspipelinen. Den här metoden identifierar att modern programvaruleverans förlitar sig på komplexa CI/CD-pipelines, beroenden från tredje part, infrastruktur som kod och automatiserade distributioner – var och en introducerar potentiella attackvektorer som angripare aktivt utnyttjar. Genom att tillämpa Zero Trust-principer (anta intrång, verifiera explicit) och djupskyddsstrategier säkerställer DevOps-säkerheten att kod, beroenden, infrastrukturkonfigurationer och pipelineprocesser förblir tillförlitliga och manipuleringsbeständiga mot design via produktion. Utan omfattande DevOps-säkerhet står organisationer inför kritiska risker, inklusive leveranskedjeattacker, exponering av autentiseringsuppgifter i pipelines, skadlig kodinmatning, sårbara containeravbildningar och obehöriga infrastrukturändringar som kan upprätta beständiga bakdörrar som påverkar alla nedströmskonsumenter.
Här är de tre grundpelarna i Säkerhetsdomänen DevOps.
Skydda design- och leveranskedjan: Utför strukturerad hotmodellering tidigt. Skydda leveranskedjan med beroende- och licensgenomsökning, sårbarhetshantering och SBOM-generering. Kontrollera proveniens och integritet för alla komponenter.
Relaterade kontroller:
Skift lämnade säkerhetskontrollerna: Shift lämnade säkerhetskontrollerna genom att integrera SAST, hemlig genomsökning, IaC-genomsökning och DAST i CI/CD-pipelinen. Centralisera hantering av hemligheter (t.ex. Key Vault), begränsa pipelinens ändringsutfärdare och genomsöka och skydda artefakterna (till exempel container- och VM-avbildningar) före distributionen.
Relaterade kontroller:
- DS-3: Skydda DevOps-infrastrukturen
- DS-4: Integrera säkerhetstestning för statiska program (SAST)
- DS-5: Integrera DAST (Dynamic Application Security Testing)
- DS-6: Skydda arbetsbelastningens livscykel
Övervaka och granska DevOps-aktiviteter: Samla in och vidarebefordra DevOps-gransknings- och säkerhetsloggar till en central analysplattform för korrelation och svar. Identifiera obehöriga pipelineändringar, behörighetseskaleringar, avvikande incheckningar och körning utanför arbetstid.
Relaterade kontroller:
DS-1: Genomföra hotmodellering
Säkerhetsprincip
Implementera systematisk hotmodellering med hjälp av STRIDE-metoden under designfasen för att identifiera potentiella säkerhetshot, prioritera risker och implementera lämpliga åtgärder innan kodutvecklingen börjar. Den här vänsterskiftesmetoden minskar åtgärdskostnaderna och förbättrar det övergripande säkerhetsläget.
Risk att mildra
Organisationer som inte utför hotmodellering under designfasen fungerar med kritiska blinda fläckar som angripare systematiskt utnyttjar. Utan systematisk hotanalys:
- Sena arkitektoniska brister: Inbäddade designsårbarheter kräver dyr refaktorisering i produktion, med reparationskostnader som är betydligt högre än att åtgärda problem under designfasen.
- Oidentifierade attackytor: Hotvektorer som osäkra förtroendegränser, saknade autentiseringskrav eller otillräckligt dataskydd förblir odokumenterade, vilket gör det möjligt för angripare att utnyttja kända svagheter som försvarare inte känner igen.
- Otillräckliga säkerhetskontroller: Saknade eller otillräckliga säkerhetskontroller (kryptering, autentisering, auktorisering, granskningsloggning) beror på ofullständig hotanalys, vilket skapar sårbarhetsluckor i en djupskyddsstrategi.
- Blinda kompatibilitetsfläckar: Regelkrav (PCI-DSS, HIPAA, SOX) som kräver säker designvalidering kan inte uppfyllas utan dokumenterade hotmodeller och åtgärdsbevis.
- Ackumulering av säkerhetsskulder: Kontinuerliga funktionstillägg utan hotmodellering skapar en ökad teknisk säkerhetsskuld, vilket gör systemen allt mer sårbara och svåra att skydda retroaktivt.
Brist på hotmodellering ökar sannolikheten för intrång, förlänger uppehållstiden och ger mycket högre reparationskostnader jämfört med tidig designfasreducering.
MITRE ATT&CK
- Initial åtkomst (TA0001): utnyttja offentlig applikation (T1190) genom att dra nytta av arkitektoniska brister i autentisering, sessionshantering eller indatavalidering som skulle identifieras av hotmodellering.
- Privilege Escalation (TA0004): mekanism för missbrukshöjningskontroll (T1548) som utnyttjar otillräcklig behörighetsseparation eller saknade auktoriseringskontroller i systemarkitekturen.
- Defense Evasion (TA0005): försämrar skydd (T1562) som utnyttjar saknade granskningsloggningar, övervakningsluckor eller otillräcklig säkerhetstelemetri som är utformad i systemet.
DS-1.1: Implementera STRIDE-baserad hotmodellering
Systematisk hotmodellering under designfasen utgör grunden för säker programvaruarkitektur genom att identifiera sårbarheter innan utvecklingen börjar. Att åtgärda säkerhetsproblem på designstadiet minskar avsevärt reparationskostnaderna och förhindrar att arkitektoniska fel blir inbäddade i produktionssystem. Tidig hotidentifiering säkerställer att säkerhetskontrollerna är inbyggda i arkitekturen i stället för att eftermonteras senare.
Implementera följande strukturerade metod för att upprätta hotmodellering:
Upprätta systematiska STRIDE-metoder: Upprätta systematisk hotmodellering som en obligatorisk designfasaktivitet med hjälp av STRIDE-metoden (förfalskning, manipulering, avvisning, avslöjande av information, Denial of Service, utökade privilegier). Börja med att skapa dataflödesdiagram (DFD) som mappar systemkomponenter, dataflöden, förtroendegränser och externa beroenden. För varje komponent och dataflöde utvärderar du systematiskt potentiella hot i alla sex STRIDE-kategorier, prioriterar risker baserat på sannolikhet och påverkan och dokumenterar specifika minskningar innan utvecklingen börjar.
Använd strukturerade verktyg för hotmodellering: Använd strukturerade verktyg för hotmodellering som Microsoft Threat Modeling Tool för att upprätthålla konsekvens och utnyttja fördefinierade mallar för vanliga arkitekturmönster (webbprogram, API:er, mikrotjänster, IoT-lösningar). Verktyget underlättar skapande av DFD, automatiserad hotidentifiering baserat på komponenttyper och dataflöden och genererar åtgärdsreducerande rekommendationer med tillhörande säkerhetskontroller. Lagra hotmodeller som versionsartefakter i källkontrollen tillsammans med arkitekturdokumentationen.
Integrera i utvecklingsarbetsflöden: Integrera hotmodelleringsutdata direkt i utvecklingsarbetsflöden genom att exportera identifierade hot mot Azure DevOps-arbetsobjekt med tydligt ägarskap, prioritet och acceptanskriterier. Implementera grindar för arkitekturgranskning som kräver färdigställda hotmodeller före designgodkännande och upprätta kontroller av pull-begäranden som utlöser granskningar av hotmodeller vid upptäckta arkitekturändringar. Detta säkerställer att hotanalysen förblir synkroniserad med systemutvecklingen under hela utvecklingslivscykeln.
DS-1.2: Automatisera integrering av hotanalys
Skalning av hotmodellering i stora organisationer kräver automatisering och distribuerad kapacitet för att förhindra att säkerhetsgranskningar blir flaskhalsar i utvecklingen. Automatiserade arbetsflöden för hotidentifiering inbäddade i processer för projektinitiering och pull-begäranden säkerställer konsekvent säkerhetsanalys utan manuella åtgärder för varje projekt. Genom att skapa säkerhetsexpertis inom utvecklingsteamen genom att aktivera program skapas hållbara, skalbara modelleringsmetoder för hot.
Implementera dessa automatiserings- och aktiveringsfunktioner:
Skala genom automatisering och aktivering: Skala hotmodellering i hela organisationen genom automatisering och aktivering. Bädda in säkerhetsformulär i projektinitieringsmallar som automatiskt utvärderar risknivån, fastställer krav för hotmodellering och tilldelar lämpliga kontrollpunkter för säkerhetsgranskning baserat på dataklassificering, extern exponering och regelomfång. Automatisera utlösare för arkitekturgranskning i pull-begärandearbetsflöden som upptäcker ändringar i systemgränser, autentiseringsflöden eller logikroutning för datahantering och dirigerar dessa ändringar till säkerhetsarkitekter för verifiering av hotmodeller.
Skapa distribuerad kapacitet med säkerhetsmästare: Upprätta ett Security Champions-program för att skapa funktioner för distribuerad hotmodellering i utvecklingsteam. Träna mästare på STRIDE-metodik, ge dem verktyg och mallar för hotmodellering och ge dem möjlighet att underlätta hotmodelleringssessioner för sina team. Säkerhetsansvariga fungerar som den första granskningslinjen och eskalerar komplexa scenarier till centraliserade säkerhetsteam, samtidigt som de möjliggör att hotmodellering oftast kan ske utan flaskhalsar.
Implementering av automatiserad hotanalys:
- Enkätbaserad utvärdering: Standardiserade säkerhetsformulär integrerade i Azure DevOps-mallar för konsekvent hotidentifiering
- Säkerhetsmästarprogram: Utsedda säkerhetsmästare i varje utvecklingsteam som utbildats i underlättande av hotmodellering
- Automatisering av arkitekturgranskning: Automatiserade kontroller i pull-begäranden för uppdateringar av arkitekturdiagram som kräver granskningar av hotmodeller
- Hotmodell som kod: Versionskontrollerade hotmodelldefinitioner med hjälp av strukturerade format (JSON/YAML) som möjliggör automatiserad analys
Exempel på implementering
En organisation för finansiella tjänster drabbades av dataintrång när angripare utnyttjade auktoriseringsfel i betalnings-API:et som aldrig identifierades under utvecklingen, vilket resulterade i betydande bedrägliga transaktioner och regelböter.
Utmaning: Arkitektur för mikrotjänster med flera API:er som distribuerats utan säkerhetsgranskning. Utvecklingsteamen saknade säkerhetsexpertis för att identifiera hot. Arkitektoniska säkerhetsproblem upptäcktes först efter produktionsincidenter.
Lösningsmetod:
- STRIDE-hotmodellering: Implementerat Microsoft Threat Modeling Tool för alla mikrotjänster och API-slutpunkter med dataflödesdiagram som visar arkitektur och känsliga dataflöden.
- Säkerhetsambassadörsprogram: Utbildade facilitatorer för hotmodellering i varje utvecklingsteam som möjliggör säkerhet genom design utan att skapa flaskhalsar i det centrala säkerhetsteamet.
- Automatiserad arbetsflödesintegrering: Integrerade hotmodellgranskningar i Arbetsflöden för Pull-begäranden i Azure DevOps som kräver säkerhetsgodkännande för arkitekturändringar.
Utfall: Identifierade flera säkerhetsproblem före distribution som förhindrar potentiella överträdelser. Avsevärt minskade säkerhetsrisker i produktionen. Säkerhetsgranskningar har lagt till minimal tid i utvecklingscykeln.
Kritiskhetsnivå
Måste ha gjort det.
Kontrollmappning
- NIST SP 800-53 Rev.5: SA-11, SA-15, PL-8, RA-3, RA-5
- PCI-DSS v4: 6.3.1, 6.3.2, 12.3.1
- CIS-kontroller v8.1: 14.2, 14.3
- NIST CSF v2.0: ID.RA-3, PR. IP-2
- ISO 27001:2022: A.5.12, A.8.25
- SOC 2: CC3.2, CC7.1
DS-2: Skydda programvaruförsörjningskedjan
Säkerhetsprincip
Implementera noll förtroende för beroenden genom att verifiera proveniens, integritet och säkerhetsstatus för alla komponenter från tredje part före integrering. Genomsök kontinuerligt beroenden efter sårbarheter, underhålla omfattande SBOM (Software Bill of Materials) och framtvinga automatiska säkerhetsuppdateringar för att minimera angreppsytan i leveranskedjan.
Risk att mildra
Attacker i leverantörskedjan för programvara utgör kritiska hot eftersom angripare utnyttjar förtroenderelationer mellan organisationer och komponenter från tredje part för att uppnå omfattande påverkan med minimal ansträngning. Utan omfattande säkerhet i leveranskedjan:
- Skadliga beroenden: Angripare matar in bakdörrar i populära bibliotek med öppen källkod (SolarWinds-liknande attacker) eller skapar typokvatterade paket som kör skadlig kod under installationen eller körningen.
- Sårbara bibliotek från tredje part: Kända CVE:er i beroenden (Log4Shell, Heartbleed, Struts-sårbarheter) förblir okorrigerade i veckor eller månader på grund av bristande synlighet och avsaknad av automatiserad sårbarhetshantering.
- Komprometterade byggartefakter: Angripare manipulerar kompilerade binärfiler, containeravbildningar eller distributionspaket under lagring eller överföring och matar in skadlig kod som kringgår källkodsgranskning.
- Beroendeförvirringsattacker: Skadliga aktörer laddar upp paket till offentliga lagringsplatser med namn som matchar interna privata paket, utnyttjar pakethanterarens lösningslogik för att ersätta skadlig kod.
- Transitiva beroenderisker: Sårbarheter i indirekta beroenden (beroenden av beroenden) förblir osynliga utan djup beroendeträdsanalys och SBOM-generering.
- Brist på proveniensverifiering: Avsaknad av kryptografisk verifiering möjliggör paketersättningsattacker där legitima paket ersätts med skadliga versioner.
Kompromettering av försörjningskedjan möjliggör bred påverkan, beständiga bakdörrar i betrodda bibliotek och hög grad av undvikande på grund av legitimt utseende.
MITRE ATT&CK
- Initial Åtkomst (TA0001): kompromiss i leveranskedjan (T1195.001) genom komprometterande av programvaruberoenden och utvecklingsverktyg för att få initialt fotfäste i målmiljöer och betrodd relation (T1199) som utnyttjar förtroendet mellan organisationer och tredjeparts programvaruleverantörer för att leverera skadliga uppdateringar.
- Körning (TA0002): kommando- och skripttolkare (T1059) som kör skadlig kod inbäddad i beroendeinstallationsskript eller hookar efter installationen.
- Persistence (TA0003): kompromettera klientprogramvarans binärfil (T1554) genom att integrera bakdörrar i kompilerade bibliotek som bevaras vid programuppdateringar.
DS-2.1: Implementera beroendegenomsökning och hantering
Omfattande beroendesäkerhetshantering förhindrar leveranskedjeattacker genom att hålla insyn i alla komponenter från tredje part, kontinuerligt övervaka sårbarheter och automatisera reparationsprocesser. Moderna program förlitar sig på hundratals eller tusentals beroenden (direkta och transitiva), vilket gör manuell säkerhetsbedömning omöjlig och skapar omfattande attackyta via sårbara bibliotek. Automatiserad beroendegenomsökning med kontinuerlig övervakning säkerställer att organisationer identifierar och åtgärdar sårbarheter före utnyttjande.
Upprätta kontinuerlig beroendesäkerhet via dessa kärnfunktioner:
Upprätta omfattande synlighet och SBOM-generering: Upprätta kontinuerlig beroendesäkerhetshantering med tre kärnfunktioner: omfattande synlighet, automatiserad sårbarhetsidentifiering och proaktiva åtgärder. Börja med att generera fullständiga beroendeinventeringar som mappar både direkta beroenden (uttryckligen deklarerade i paketmanifest) och transitiva beroenden (beroenden av beroenden) över alla lagringsplatser. Underhåll Software Bill of Materials (SBOM) i branschstandardformat (SPDX, CycloneDX) för regelefterlevnad och beredskap för incidenthantering.
Implementera automatiserad sårbarhetsgenomsökning och reparation: Implementera automatiserad sårbarhetsgenomsökning som kontinuerligt övervakar beroenden mot den nationella sårbarhetsdatabasen (NVD), GitHub Advisory Database och språkspecifika säkerhetsrekommendationer. Konfigurera realtidsaviseringar när nya CVE:er avslöjas som påverkar din beroendestack, med allvarlighetsgradsbaserad routning till lämpliga team. Aktivera automatiserade säkerhetsuppdateringsfunktioner som genererar pull-begäranden med uppgraderingar av beroendeversioner, inklusive kompatibilitetstestning och intelligent lösning av sammanslagningskonflikter för att minska den manuella reparationsbördan.
Integrera säkerhetsvalidering i utvecklingsarbetsflöden: Integrera validering av beroendesäkerhet direkt i utvecklingsarbetsflöden genom granskning av pull-begäranden som automatiskt utvärderar säkerhetspåverkan av ändringar i beroenden, flaggar nya beroenden med kända sårbarheter, licensöverensstämmelseproblem eller misstänkta egenskaper (typosquatting, brist på underhållarrykte). Upprätta godkännandegrindar för ändringar av högriskberoenden och framtvinga principer som förbjuder beroenden med kritiska säkerhetsrisker från sammanslagning till skyddade grenar.
Utöka synligheten för produktionsmiljöer: Utöka synligheten utöver källkod till distribuerade miljöer med hjälp av verktyg som Microsoft Defender för Cloud DevOps Security för att korrelera kodberoenden med arbetsbelastningar som körs, identifiera attackvägar via beroendekedjor och prioritera reparation baserat på faktisk produktionsexponering snarare än enbart teoretisk risk. Verktyg som GitHub Advanced Security tillhandahåller omfattande visualisering av beroendediagram, Dependabot-drivna automatiserade uppdateringar och anpassat stöd för sårbarhetsmönster för proprietära paketekosystem.
Exempel på implementering
En sjukvårdsorganisation upptäckte skadligt npm-paket i produktionsprogrammet som exfiltraterade patientdata i månader. Undersökningen avslöjade omfattande sårbara beroenden med kända CVE:er, inklusive kritisk Log4Shell-sårbarhet.
Utmaning: Tusentals beroenden över hundratals lagringsplatser utan insyn i sårbarheter eller skadliga paket. Manuella beroendegranskningar krävde veckor per applikation. Regelgranskning identifierade kritiska brister i leveranskedjan.
Lösningsmetod:
- Automatiserad sårbarhetshantering: Aktiverad GitHub Advanced Security med Dependabot-genomsökningsberoenden och automatiskt skapa pull-begäranden för säkerhetsuppdateringar.
- Transparens i leveranskedjan: Implementerat Microsoft SBOM-verktyg som genererar programvarufakturor i SPDX-format för regelefterlevnad och incidenthantering.
- Paketverifiering: Har konfigurerat Azure Artifacts med signaturverifiering och beroendelåsning som förhindrar förvirringsattacker och obehörig paketersättning.
- Säkerhetsövervakning av DevOps: Distribuerade Microsoft Defender för Cloud DevOps Security för kod-till-moln-spårning.
Utfall: Identifierade och åtgärdade snabbt omfattande sårbara beroenden. Förhindrade flera skadliga paketincidenter genom automatisk verifiering. Uppnådd regelefterlevnad med omfattande SBOM-dokumentation.
Kritiskhetsnivå
Måste ha gjort det.
Kontrollmappning
- NIST SP 800-53 Rev.5: SR-3, SR-4, SR-6, SA-12, SA-15(9), RA-5
- PCI-DSS v4: 6.2.4, 6.3.2, 6.3.3
- CIS-kontroller v8.1: 16.1, 16.2, 16.11
- NIST CSF v2.0: ID.SC-2, ID.SC-4, DE.CM-8
- ISO 27001:2022: A.5.19, A.5.22, A.5.23
- SOC 2: CC3.2, CC8.1
DS-3: Skydda DevOps-infrastrukturen
Säkerhetsprincip
Implementera skydd på djupet för att bygga infrastruktur genom omfattande hantering av hemligheter, kontroller för pipelineåtkomst med godkännandegrindar, säker konfiguration av byggagenter och kontinuerlig övervakning. Eliminera hårdkodade autentiseringsuppgifter och framtvinga åtkomst med lägsta behörighet för att skydda integriteten i programutvecklings- och distributionsprocessen.
Risk att mildra
Osäker DevOps-infrastruktur skapar kritiska sårbarheter som angripare utnyttjar för att kompromettera hela leveranskedjan för programvara. Utan omfattande infrastruktursäkerhet:
- Komprometterade CI/CD-pipelines: Angripare får åtkomst till att skapa pipelines via stulna autentiseringsuppgifter, sårbarheter som utnyttjas eller insideråtkomst, vilket möjliggör kodinmatning, artefaktmanipulering eller distributionsmanipulering som påverkar alla nedströmskonsumenter.
- Exponerade hemligheter i byggloggar och artefakter: Hårdkodade autentiseringsuppgifter, API-nycklar, certifikat och anslutningssträngar läcker via pipelineloggar, felmeddelanden eller kompilerade artefakter, vilket ger angripare direkt åtkomst till produktionsmiljöer.
- Otillåtna pipelineändringar: Brist på arbetsflöden för ändringskontroll och godkännande gör att skadliga aktörer kan ändra pipelinedefinitioner, mata in skadliga byggsteg eller ändra distributionskonfigurationer utan identifiering.
- Otillräckliga åtkomstkontroller: Alltför tillåtande rolltilldelningar och brist på ansvarsfördelning möjliggör lateral förflyttning, eskalering av privilegier och beständig åtkomst i DevOps-infrastrukturen.
- Osäkra byggagenter: Okopplade, felkonfigurerade eller komprometterade byggagenter ger angripare beständig åtkomst till byggmiljön och potentiella pivotpunkter till produktionsnätverk.
- Spårningsloggar saknas: Otillräcklig loggning och övervakning av DevOps-aktiviteter förhindrar identifiering av obehörig åtkomst, misstänkta ändringar eller insiderhot.
Med infrastrukturkompromisser kan angripare mata in kod vid källan, kringgå betrodda pipelines och påverka alla underordnade program.
MITRE ATT&CK
- Initial Access (TA0001): giltiga konton (T1078) med stulna autentiseringsuppgifter eller hemligheter för tjänstens huvudnamn för att få åtkomst till DevOps-plattformar och pipelines.
- Persistence (TA0003): kontomanipulering (T1098) som skapar huvudnamn för bakdörrstjänsten, personliga åtkomsttoken eller SSH-nycklar för bibehållen åtkomst.
- Åtkomst till autentiseringsuppgifter (TA0006): oskyddade autentiseringsuppgifter (T1552.001) som samlar in hemligheter från pipelineloggar, miljövariabler eller konfigurationsfiler.
- Defense Evasion (TA0005): rubbning av skydd (T1562) genom att inaktivera säkerhetsgenomsökningssteg, granskningsloggning eller tillståndsgate i pipelinedefinitioner.
DS-3.1: Implementera sekretesshantering för pipelines
Centraliserad hantering av hemligheter eliminerar exponering av autentiseringsuppgifter i DevOps-pipelines genom att ta bort hårdkodade hemligheter från kod, konfigurationsfiler och pipelinedefinitioner. Autentiseringsuppgifter som är inbäddade i YAML-pipeline, miljövariabler eller källlagringsplatser representerar den primära attackvektorn för pipelinekompromettering, vilket gör det möjligt för angripare som får åtkomst till lagringsplatser eller loggar att extrahera autentiseringsuppgifter för produktion. Implementering av kryptografiskt skyddad hemlig lagring med dynamisk hämtning och just-in-time-åtkomstmönster förhindrar stöld av autentiseringsuppgifter samtidigt som drifteffektiviteten bibehålls.
Konfigurera hantering av hemligheter med dessa säkerhetskontroller:
Eliminera hårdkodade autentiseringsuppgifter med centraliserad lagring: Eliminera hårdkodade autentiseringsuppgifter från pipelinedefinitioner och källkod genom att centralisera alla hemligheter i en dedikerad infrastruktur för hantering av hemligheter med kryptografiska åtkomstkontroller och omfattande spårningsloggar. Upprätta principen att hemligheter aldrig får lagras i YAML-pipelinefiler, miljövariabler som visas i loggar eller konfigurationsfiler i lagringsplatser. Dessa är de primära vektorerna för exponering av autentiseringsuppgifter i DevOps-miljöer.
Konfigurera dynamisk hämtning av hemligheter med hanterade identiteter: Implementera centraliserad hemlig lagring med hjälp av lösningar som Azure Key Vault som tillhandahåller krypterad hemlig lagring, detaljerade åtkomstprinciper, automatisk hemlig rotation och omfattande granskningsloggning. Konfigurera pipelines för att dynamiskt hämta hemligheter under körning genom säkra tjänstanslutningar, i stället för att integrera dem i pipelinedefinitioner. Använd hanterade identiteter eller arbetsidentitetsfederation för att autentisera pipelineåtkomst till hemlighetsförråd, vilket eliminerar behovet av varaktiga autentiseringsuppgifter för service principal som i sig blir mål för stöld.
Framtvinga just-in-time-åtkomst med godkännandegrindar: Framtvinga mönster för just-in-time-hemlighetsåtkomst där hemligheter endast hämtas när det behövs, med automatiskt återkallning efter att pipelinen har slutförts för att minimera exponeringen av autentiseringsuppgifternas livslängd. Implementera tidsbundna åtkomstbegränsningar och kräva auktorisering för flera personer (godkännandegrindar) för pipelineåtkomst till produktionshemligheter, så att inget enskilt komprometterat konto kan komma åt känsliga autentiseringsuppgifter utan ytterligare verifiering.
Upprätta åtkomstkontroller i skiktad infrastruktur: Upprätta skiktade åtkomstkontroller för DevOps-infrastrukturen: begränsa behörigheten för pipelineändringar till säkerhetsgranskad personal, framtvinga miljöspecifika behörigheter som kräver godkännande för produktionsdistributioner, implementera tjänstanslutningsbegränsningar på lagringsplatsnivå som hindrar pipelines från att komma åt hemligheter utanför deras avsedda omfång och distribuera härdade lokala byggagenter med nätverksisolering för känsliga arbetsbelastningar. Integrera säkerhetsgenomsökning med infrastruktur som kod i pipelines för att förhindra distribution av felkonfigurerade resurser som kan exponera hemligheter eller skapa obehöriga åtkomstvägar.
Exempel på implementering
En detaljhandelsorganisation drabbades av ett intrång när angripare använde stulna autentiseringsuppgifter för tjänstekonto som hittades i pipelineloggar för att få åtkomst till produktionsdatabaser, vilket exponerade miljontals kunduppgifter.
Utmaning: Databasanslutningssträngar och API-nycklar hårdkodade i pipelinevariabler. Överdrivet tillåtande pipeline-behörigheter tillät alla utvecklare att distribuera till produktion. Kompromissen för byggagenten gav beständig åtkomst till infrastrukturen.
Lösningsmetod:
- Centraliserad hantering av hemligheter: Implementerad Azure Key Vault-integrering eliminerar hårdkodade hemligheter från pipelines. Konfigurerad hanterad identitetsautentisering som tar bort exponeringsrisk för autentiseringsuppgifter.
- Åtkomstkontroller för pipeline: Upprättade godkännandegrindar och miljöspecifika behörigheter med hjälp av Azure DevOps-miljöer som kräver godkännande av säkerhetsteamet för produktionsdistributioner.
- Härdade byggagenter: Distribuerade lokalt installerade agenter med säkerhetshärdning och nätverksisolering för känsliga arbetsbelastningar som bearbetar reglerade data.
- Genomsökning av infrastruktursäkerhet: Integrerad säkerhetsverifiering för ARM-mallar och Terraform-konfigurationer som förhindrar felkonfigurationsdistribution.
Utfall: Eliminerade hemligheter från pipelineloggar som förhindrar stöld av autentiseringsuppgifter. Eliminerade otillåtna produktionsdistributioner. Identifierade och blockerade felkonfigurationer av infrastrukturen före distributionen.
Kritiskhetsnivå
Måste ha gjort det.
Kontrollmappning
- NIST SP 800-53 Rev.5: AC-2, AC-3, AC-6, SC-12, SC-13, AU-2, AU-6
- PCI-DSS v4: 8.3.2, 8.6.1, 8.6.3, 12.3.3
- CIS-kontroller v8.1: 4.1, 4.7, 6.1, 6.5
- NIST CSF v2.0: PR. AC-4, PR. DS-5, DE. CM-7
- ISO 27001:2022: A.5.15, A.5.16, A.8.3
- SOC 2: CC6.1, CC6.6, CC6.7
DS-4: Integrera säkerhetstestning för statiska program (SAST)
Säkerhetsprincip
Implementera omfattande automatiserad säkerhetstestning via flera specialiserade SAST-skannrar (Static Application Security Testing) som är integrerade i varje byggprocess. Använd täckning för flera skanner för omfattande identifiering, implementera hemlig genomsökning med push-skydd och distribuera semantisk kodanalys för att identifiera och blockera sårbarheter innan de når produktion.
Risk att mildra
Säkerhetsrisker på kodnivå som undgår identifiering under utveckling skapar beständiga säkerhetsbrister som angripare systematiskt utnyttjar. Utan omfattande SAST-integrering:
- Sårbarheter vid inmatning: MED SQL-inmatning, XSS (cross-site scripting), kommandoinmatning och LDAP-inmatningsfel kan angripare manipulera programlogiken, extrahera känsliga data eller köra godtycklig kod.
- Hårdkodade autentiseringsuppgifter: Utvecklare checkar oavsiktligt in lösenord, API-nycklar, certifikat och anslutningssträngar till källkodslagringsplatser, vilket ger angripare direkt åtkomst till produktionssystem och data.
- Osäkra kryptografiska implementeringar: Svaga krypteringsalgoritmer (DES, MD5), hårdkodade krypteringsnycklar, felaktiga initieringsvektorer eller otillräckliga nyckellängder äventyrar datasekretessen och integriteten.
- Buffertspill och minnesskada: Osäkra minnesåtgärder i C/C++-program möjliggör godtycklig kodkörning, eskalering av privilegier och överbelastningsattacker.
- Fel i affärslogik: Förbikoppling av autentisering, auktoriseringsluckor, konkurrensvillkor och otillräcklig validering av indata möjliggör eskalering av privilegier, bedrägeri och obehörig åtkomst.
- Felkonfigurationer av infrastruktur som kod (IaC): Osäkra Terraform-, ARM-mallar eller Kubernetes-manifest distribuerar sårbar infrastruktur med alltför tillåtande åtkomst, kryptering som saknas eller exponerade hanteringsslutpunkter.
Utan automatiserad SAST ackumuleras sårbarheter som teknisk skuld, förlänger uppehållstiden och blir kostsamma att åtgärda i produktionen.
MITRE ATT&CK
- Initial Access (TA0001): utnyttja offentligt riktade program (T1190) med hjälp av sårbarheter för inmatning eller förbikoppling av autentisering i programkod.
- Körning (TA0002): utnyttjande för klientkörning (T1203) som utnyttjar sårbarheter på klientsidan som XSS eller osäker deserialisering.
- Åtkomst till autentiseringsuppgifter (TA0006): autentiseringsuppgifter från lösenordslager (T1555) som extraherar hårdkodade autentiseringsuppgifter från källkod, konfigurationsfiler eller kompilerade binärfiler.
- Privilege Escalation (TA0004): utnyttjande för behörighetseskalering (T1068) som utnyttjar buffertspill eller minnesskada för förhöjd åtkomst.
DS-4.1: Implementera SAST-pipeline för flera skanner
Omfattande säkerhetstest för statiska program som är integrerade i varje version ger tidig identifiering av säkerhetsrisker på kodnivå innan de når produktionsmiljöer. Moderna program använder olika språk, ramverk och infrastruktur som kod som kräver specialiserade analysverktyg – ingen enskild skanner identifierar alla sårbarhetsklasser. SAST-strategier i flera lager som kombinerar specialiserade verktyg med automatisk körning och kvalitetsgrindar ger omfattande täckning samtidigt som utvecklarna får omedelbar feedback när säkerhetsproblem upptäcks.
Implementera automatiserad säkerhetstestning med följande komponenter:
Implementera en strategi för genomsökning i flera lager: Bädda in automatiserad säkerhetstestning för statiska program i varje version för att identifiera sårbarheter innan koden når produktion. Implementera en SAST-strategi med flera lager som kombinerar flera specialiserade skannrar – inget enskilt verktyg identifierar alla sårbarhetsklasser, så omfattande täckning kräver språkspecifika analysverktyg (Python, JavaScript, C/C++), skannrar med infrastruktur som kod (Terraform, ARM-mallar, Kubernetes-manifest), hemlig identifiering och semantisk kodanalys för komplexa dataflödessårbarheter.
Konfigurera automatisk körning med kvalitetsgrindar: Konfigurera SAST-genomsökning så att den körs automatiskt på varje inchecknings- och pull-begäran, vilket ger utvecklare omedelbar feedback om säkerhetsproblem medan kodkontexten är färsk. Upprätta allvarlighetsgradsbaserade kvalitetsgrindar som blockerar sammanslagningar eller distributioner när kritiska eller allvarliga säkerhetsrisker upptäcks, vilket förhindrar att sårbar kod avancerar via pipelinen. Konfigurera skannrar för utdataresultat i standardiserade format (SARIF) som möjliggör konsekvent sårbarhetsspårning, deduplicering mellan verktyg och integrering med centraliserade säkerhetsinstrumentpaneler.
Införa hemlig genomsökning med push-skydd: Implementera specialiserad hemlig genomsökning med push-skydd som hindrar utvecklare från att checka in autentiseringsuppgifter, API-nycklar, certifikat eller tokens till lagringsplatser, som fångar hemligheter vid själva incheckningen istället för att identifiera dem i granskningar veckor senare. Stöd för både standardhemlighetsmönster (AWS-nycklar, Azure-token, databasanslutningssträngar) och anpassade organisationsspecifika mönster för egna autentiseringsmekanismer. När hemligheter identifieras ger du omedelbar reparationsvägledning, inklusive procedurer för rotation av autentiseringsuppgifter och säkra alternativ.
Använd semantisk kodanalys för komplexa sårbarheter: Distribuera semantiska kodanalysverktyg som GitHub CodeQL som utför djupdataflödesanalys för att identifiera komplexa sårbarheter som är osynliga för mönstermatchande skannrar, till exempel SQL-inmatning via flera funktionsanrop, förbikoppling av autentisering i affärslogik eller osäkra deserialiseringskedjor. Skapa anpassade säkerhetsfrågor som är skräddarsydda för din organisations ramverk, säkerhetskrav och vanliga sårbarhetsmönster som identifieras i incidentrespektiv. Integrera SAST-resultat direkt i utvecklararbetsflöden genom pull-begärandekommentarer med specifika radnummer, sårbarhetsförklaringar och reparationsrekommendationer.
Orkestrera med enhetliga plattformar: Enhetliga SAST-plattformar som Microsoft Security DevOps-tillägget kan samordna flera specialiserade skannrar (AntiMalware, Bandit, BinSkim, Checkov, ESLint, Template Analyzer, Terrascan, Trivy) via en enda pipelineuppgift, standardisera konfigurationshantering och resultataggregering i heterogena verktygsekosystem.
Exempel på implementering
En SaaS-provider drabbades av EN SQL-inmatningsattack som exponerade hundratusentals kundposter. Analys efter incident avslöjade omfattande säkerhetsrisker på kodnivå, inklusive hårdkodade autentiseringsuppgifter och inmatningsfel som fanns i månader.
Utmaning: Manuella kodgranskningar fångade bara en liten del av säkerhetsriskerna. Utvecklare saknade säkerhetsutbildning för att identifiera inmatningsfel och kryptografiska svagheter. Ingen automatisk genomsökning före produktionsdistribution.
Lösningsmetod:
- SAST för flera skanner: Distribuerat Microsoft Security DevOps-tillägg med CodeQL, ESLint och Bandit som ger omfattande täckning för olika språk och sårbarhetstyper.
- Hemligt skydd: Implementerade GitHub Advanced Security med hemlig genomsökning och push-skydd som förhindrar exponering av autentiseringsuppgifter i incheckningar.
- Semantisk analys: Konfigurerade GitHub CodeQL med anpassade frågor för sårbarheter i affärslogik och ramverksspecifika säkerhetsmönster.
- Säkerhetsgrindar: Etablerade pipelinegrindar i Azure Pipelines blockerar distributionen av resultat med hög allvarlighetsgrad.
Utfall: Identifierade och åtgärdade snabbt omfattande sårbarheter. Förhindrade kritiska säkerhetsbrister från att nå produktion. Kraftigt minskade säkerhetsskulder.
Kritiskhetsnivå
Måste ha gjort det.
Kontrollmappning
- NIST SP 800-53 Rev.5: SA-11, RA-5, SI-2
- PCI-DSS v4: 6.3.2, 6.4.1, 11.3.1
- CIS-kontroller v8.1: 16.3, 16.6
- NIST CSF v2.0: PR.IP-2, DE.CM-4
- ISO 27001:2022: A.8.25, A.8.29
- SOC 2: CC7.1, CC7.2
DS-5: Integrera DAST (Dynamisk applikationssäkerhetstestning)
Säkerhetsprincip
Implementera omfattande dynamisk säkerhetstestning i förproduktionsmiljöer genom genomsökning av containersäkerhet för containerbaserade arbetsbelastningar, automatiserad intrångstestning för webbprogram och API:er (Application Programming Interfaces) och specialiserad testning för autentisering, auktorisering och sessionshantering. Körningsverifiering identifierar konfigurationsbrister och integrationssårbarheter som statisk analys inte kan identifiera.
Risk att mildra
Körningssårbarheter som är osynliga för statisk analys skapar kritiska säkerhetsluckor som angripare utnyttjar när program har distribuerats. Utan omfattande DAST:
- Svagheter i distributionskonfigurationen: Felkonfigurerade autentiseringsprovidrar, tillåtande CORS, svaga TLS-konfigurationer eller saknade säkerhetshuvuden (CSP, HSTS, X-Frame-Options) möjliggör att det inte går att identifiera källgranskning av attacker.
- Luckor i API-säkerhet: REST- och GraphQL-API:er med förbikoppling av autentisering, auktoriseringsfel, överdriven dataexponering, saknad hastighetsbegränsning eller osäkra direktobjektreferenser (IDOR) tillåter obehörig åtkomst och extrahering av data.
- Autentisering och auktorisering kringgår: Brister i sessionshantering, flöden för lösenordsåterställning, implementering av multifaktorautentisering eller rollbaserad logik för åtkomstkontroll möjliggör behörighetseskalering och kontoövertagande.
- Sårbarheter för sessionshantering: Förutsägbara sessionstoken, otillräcklig timeout-tillämpning, sårbarheter vid sessionskorrigering eller saknad tokenåterkallning möjliggör sessionskapning och stöld av autentiseringsuppgifter.
- Miljöspecifika säkerhetsproblem: Integreringspunkter med databaser, meddelandeköer, externa API:er eller tjänster från tredje part introducerar sårbarheter för körning som är osynliga vid utveckling eller isolerad testning.
- Fel i affärslogik: Konkurrensförhållanden, sårbarheter för tillståndsmanipulering, otillräcklig validering av indata i komplexa arbetsflöden eller problem med transaktionsintegritet möjliggör bedrägeri och datamanipulering.
DAST validerar körningsbeteende, miljökonfiguration och säker integration som erbjuder täckning som statisk analys inte kan.
MITRE ATT&CK
- Initial Access (TA0001): utnyttja offentligt exponerade applikationer (T1190) med förbikoppling av autentisering, injektionsfel eller osäkra API-slutpunkter som upptäckts via körningstester.
- Åtkomst till autentiseringsuppgifter (TA0006): brute force (T1110) som utnyttjar hastighetsbegränsning som saknas, svaga lösenordsprinciper eller förutsägbara sessionstoken som identifierats under DAST.
- Privilege Escalation (TA0004): giltiga konton (T1078) som missbrukar förbikopplingar av auktorisering eller sårbarheter för rollmanipulering i distribuerade program.
- Samling (TA0009): data från informationslagringsplatser (T1213) som extraherar känsliga data via överdrivna API-svar, kataloggenomströmning eller osäkra referensrisker för direktobjekt.
- Exfiltrering (TA0010): exfiltrering över webbtjänst (T1567) utnyttjar API-säkerhetsluckor för att extrahera data i stor skala utan identifiering.
DS-5.1: Implementera automatiserad DAST i förproduktion
Dynamisk programsäkerhetstestning validerar säkerhetskontroller i program som körs och upptäcker sårbarheter i körningen som statisk analys inte kan identifiera. Medan SAST undersöker källkoden, testar DAST distribuerade applikationer med produktionsliknande konfigurationer för att identifiera problem specifika för distribution, inklusive felkonfigurationer av autentisering, auktoriseringsfel och säkerhetsbrister i integrationer som bara manifesteras i produktionsmiljöer. Automatiserad DAST i förproduktion säkerställer säkerhetsvalidering före kundexponering samtidigt som realistiska attackscenarier testas mot integrerade system.
Implementera körningssäkerhetsvalidering genom följande funktioner:
Komplettera SAST med körningsverifiering: Komplettera statisk analys med dynamisk programsäkerhetstestning som validerar säkerheten i program som körs med produktionsliknande konfigurationer. Sast identifierar säkerhetsrisker i källkoden, men DAST identifierar körningsproblem som är osynliga för statisk analys: svagheter i distributionskonfigurationen (felkonfigurerade autentiseringsprovidrar, tillåtande CORS-principer, saknade säkerhetshuvuden), miljöspecifika integreringsfel (säkerhet vid databasanslutning, API-auktorisering i distribuerade kontexter) och sårbarheter i affärslogik som bara visas under realistiska driftsförhållanden.
Distribuera i produktionsliknande mellanlagringsmiljöer: Distribuera DAST-genomsökning i mellanlagringsmiljöer för förproduktion som speglar produktionsarkitektur, nätverkstopologi, externa beroenden och konfigurationsparametrar. Automatiserad DAST-körning bör utlösas vid distribution till mellanlagring, systematiskt testa autentiseringsflöden, auktoriseringsgränser, sessionshantering, validering av indata, API-säkerhet och felhantering under realistiska belastnings- och användningsmönster. Detta verifierar att säkerhetskontroller fungerar korrekt när de är integrerade med produktionsliknande externa system (identitetsprovidrar, databaser, meddelandeköer, API:er från tredje part).
Implementera körningsövervakning för containrar: För containerbaserade arbetsbelastningar implementerar du kontinuerlig körningssäkerhetsövervakning som kombinerar avbildningsgenomsökning före distribution med beteendeanalys efter distributionen. Sök igenom containeravbildningar efter kända sårbarheter före distributionen och övervaka sedan containrar som körs efter avvikande nätverksanslutningar, obehörig processkörning, filsystemändringar och försök till eskalering av privilegier. Profilera normalt Kubernetes-arbetsbelastningsbeteende för att identifiera avvikelser som indikerar kompromisser och kontinuerligt utvärdera containerkonfigurationer mot CIS-riktmärken och metodtips för säkerhet.
Fokusera på högriskangreppsytor: Fokusera specialiserade DAST-insatser på högriskangreppsytor: REST- och GraphQL-API:er (förbikoppling av testautentisering, auktoriseringsfel, sårbarheter för inmatning, överdriven dataexponering, osäkra direktobjektreferenser), autentiserings- och sessionshantering (validera tokensäkerhet, timeout-tillämpning, inloggningsfunktioner, lösenordsåterställningsflöden, multifaktorautentisering) och arbetsflöden för affärslogik (test för konkurrensförhållanden, tillståndsmanipulering, problem med transaktionsintegritet). Upprätta SAST/DAST-korrelationsarbetsflöden som kombinerar resultat från båda metoderna och prioriterar sårbarheter som bekräftats genom både statisk och dynamisk analys som högsta risk.
Utnyttja integrerade plattformar: För containerbaserade miljöer tillhandahåller Microsoft Defender för containrar integrerad sårbarhetsbedömning, arbetsbelastningsprofilering och hotidentifieringsfunktioner under hela containerns livscykel.
Exempel på implementering
En e-handelsorganisation upptäckte att autentisering kringgås i betalnings-API som tillåter obehöriga rabatter. SAST missade fel i körningskonfigurationen som bara manifesterades i distribuerade miljöer med externa autentiseringsproviders.
Utmaning: SAST identifierade kodsårbarheter men missade körningskonfigurationsproblem och API-auktoriseringsfel. Konfigurationen av produktionsdriftsättningen skiljer sig från utvecklingen, vilket leder till säkerhetsluckor som är osynliga för statisk analys.
Lösningsmetod:
- Automatisk DAST-genomsökning: Distribuerade OWASP ZAP i förproduktionsmiljöer som testade distribuerade program med produktionsliknande konfigurationer.
- Körningsskydd för containrar: Implementerade Microsoft Defender för containrar för övervakning av körningssäkerhet och bedömning av sårbarheter.
- API-säkerhetstestning: Konfigurerad specialiserad API-testning som validerar autentisering, auktorisering och dataverifiering i distribuerade REST- och GraphQL-slutpunkter.
- SAST/DAST-korrelation: Skapade arbetsflöden för sårbarhetskorrelation som kombinerar statiska och dynamiska resultat för omfattande säkerhetsverifiering.
Utfall: Identifierade körningssårbarheter som missades av SAST, inklusive att autentisering kringgås och brister i API-auktorisering. Förhindrade säkerhetsincidenter genom identifiering före produktion.
Kritiskhetsnivå
Måste ha gjort det.
Kontrollmappning
- NIST SP 800-53 Rev.5: SA-11, CA-8, RA-5
- PCI-DSS v4: 6.4.2, 11.3.2
- CIS-kontroller v8.1: 16.7, 16.8
- NIST CSF v2.0: DE.CM-4, PR.IP-12
- ISO 27001:2022: A.8.29, A.8.30
- SOC 2: CC7.1, CC7.3
DS-6: Skydda arbetsbelastningens livscykel
Azure Policy: Se Inbyggda principdefinitioner i Azure: DS-6.
Säkerhetsprincip
Implementera oföränderlig infrastruktur med omfattande bildsäkerhet via containerregister och säkerhetsgenomsökning för containerbelastningar, hantering av gyllene bilder och automatiserad skapande av virtuella maskinbelastningar (VM) samt kontinuerlig sårbarhetsskanning med automatiserad karantän. Verifiera kryptografiska signaturer, underhålla minimala grundavbildningar och upprätthålla säkerhetsbaslinjer genom hela arbetsflödets livscykel.
Risk att mildra
Med osäker arbetsbelastningslivscykelhantering kan sårbara eller komprometterade artefakter nå produktion, vilket skapar ihållande attackvektorer som angripare systematiskt utnyttjar. Utan omfattande arbetsbelastningssäkerhet:
- Sårbara produktionsavbildningar för VM: Opatchade operativsystembaslinjer eller felkonfigurerade standardavbildningar sprider svagheter över alla distribuerade VM.
- Opatcherade sårbara basbilder: Containrar som bygger på CVE-påverkade baser (Log4Shell, Heartbleed, OpenSSL) exponerar arbetsbelastningar för exploatering och flykt.
- Inaktuella sårbara artefakter: Bilder och paket som lämnats ogenomsökta samlar på sig CVE:er, och ökar attackytan.
- Otillräcklig bildverifiering: Brist på krypteringssignering och proveniensverifiering gör det möjligt för angripare att ersätta legitima bilder med komprometterade versioner som innehåller bakdörrar eller skadlig kod.
- Uppsvälld attackyta: Containeravbildningar som innehåller onödiga paket, utvecklingsverktyg eller felsökningsverktyg ökar sårbarhetsexponeringen och ger angripare ytterligare exploateringsverktyg.
- Säkerhetsbaslinjer saknas: Vm- och containeravbildningar som distribueras utan CIS-benchmark-efterlevnad, säkerhetshärdning eller minimal konfiguration av privilegier skapar sårbarhetsluckor i skydd på djupet.
Komprometterade artefakter blir beständiga attackvektorer, underlättar lateral rörelse och verkar legitima för försvarare.
MITRE ATT&CK
- Initial Åtkomst (TA0001): utnyttja offentligt exponerade applikationer (T1190) med hjälp av oskyddade sårbarheter i programcontainrar eller webbtjänster.
- Körning (TA0002): distribuera en container (T1610) som använder skadliga containrar som verkar legitima på grund av bristande verifiering av avbilder.
- Privilege Escalation (TA0004): flykt till värden (T1611) genom att utnyttja container-sårbarheter för att bryta ut ur containerisoleringen och kompromettera värdsystemet.
- Lateral rörelse (TA0008): utnyttjande av fjärrtjänster (T1210) för att flytta över sårbara virtuella maskiner eller containrar som har distribuerats från komprometterade bilder.
DS-6.1: Implementera containeravbildningssäkerhet
Container- och VM-avbildningar representerar kritiska attackytor som kräver omfattande säkerhetskontroller under hela livscykeln. Sårbara basavbildningar sprider svagheter till varje distribuerad instans, vilket förstärker påverkan i infrastrukturen. Genom att behandla arbetsbelastningsartefakter med samma säkerhetstrygghet som källkod, inklusive genomsökning, signering och säker lagring, distribuerar organisationer endast verifierade, tillförlitliga bilder samtidigt som angripare inte utnyttjar kända sårbarheter eller ersätter skadliga bilder.
Skydda arbetsbelastningsartefakter genom följande metoder:
Upprätta oföränderliga infrastrukturprinciper: Behandla containeravbildningar och VM-avbildningar som kritiska artefakter som kräver samma säkerhetstrygghet som källkodskänsliga basavbildningar sprider svagheter till varje distribuerad instans. Upprätta oföränderliga infrastrukturprinciper där arbetsbelastningsartefakter skapas en gång, genomsöks omfattande, kryptografiskt signerade och distribueras utan ändringar för att säkerställa konsekvens och spårbarhet under hela livscykeln.
Använd minimala basavbildningar med flerstegsversioner: För containerarbetsbelastningar implementerar du nivåbaserad avbildningssäkerhet som börjar med minimala basavbildningar som endast innehåller viktiga körningskomponenter, vilket avsevärt minskar attackytan jämfört med fullständiga operativsystemavbildningar. Använd flerstegsversioner för att separera byggtidsberoenden från körningsavbildningar-kompilera och skapa funktionsrika avbildningar. Kopiera sedan endast de sista artefakterna till minimala körningsavbildningar, eliminera utvecklingsverktyg, pakethanterare och skapa beroenden som ökar sårbarhetsexponeringen och ger angripare exploateringsverktyg.
Integrera automatisk genomsökning med karantänprinciper: Integrera automatiserad sårbarhetsgenomsökning i pipelinen för avbildningsgenerering som genomsöker varje avbildning före registerlagring, kontrollerar mot omfattande CVE-databaser och genomsöker kontinuerligt lagrade avbildningar när nya sårbarheter avslöjas. Implementera automatiserade karantänprinciper som förhindrar att bilder med kritiska eller allvarliga säkerhetsrisker distribueras, med undantagsarbetsflöden som kräver godkännande av säkerhetsteamet och dokumenterat godkännande av risker. Upprätta principer för basavbildningsuppdatering med automatiserade pipelineutlösare när säkerhetskorrigeringar släpps, vilket säkerställer att bilderna inte ackumulerar CVE:er över tid.
Tvinga fram kryptografisk signering och verifiering: Säkerställ bildintegritet genom kryptografisk signering och verifiering vid varje steg: signera bilder vid byggtid, verifiera signaturer före distribution och avvisa osignerade eller manipulerade bilder automatiskt. Detta förhindrar attacker med bildersättning där angripare byter ut legitima bilder mot komprometterade versioner som innehåller bakdörrar. Lagra avbildningar i skyddade containerregister med nätverksåtkomstkontroller (privata slutpunkter, integrering av virtuella nätverk), rollbaserade åtkomstprinciper som begränsar vem som kan skicka/hämta avbildningar och omfattande granskningsloggning av alla registeråtgärder.
Underhålla härdade gyllene avbildningar för virtuella datorer: För VM-arbetsbelastningar ska du underhålla centraliserade gyllene avbildningsdatabaser med CIS benchmark-kompatibla, härdade basavbildningar som genomgår regelbunden säkerhetskorrigering och efterlevnadsverifiering. Implementera automatiserade avbildningsskapandepipelines som innehåller säkerhetsuppdateringar, tar bort onödiga tjänster, framtvingar konfigurationer med lägsta behörighet och genererar nya avbildningar enligt definierade scheman i stället för att korrigera system som körs.
Utnyttja integrerade säkerhetsplattformar: Lösningar som Azure Container Registry med Microsoft Defender for Containers-integrering ger automatisk genomsökning, arbetsflöden i karantän, innehållsförtroende och replikering i flera regioner med konsekventa säkerhetsprinciper.
Exempel på implementering
En logistikorganisation implementerade containerprogramvara med en opatchad basavbildning som innehåller en kritisk fjärrkodexekveringssårbarhet. Angripare utnyttjade sårbarheten kort efter distributionen, vilket komprometterade leveransdata.
Utmaning: Många containeravbildningar utan sårbarhetsgenomsökning. Bilder som skapades för flera månader sedan samlade många CVE:er, inklusive kritiska sårbarheter. Ingen verifiering förhindrade ersättning av skadliga avbildningar.
Lösningsmetod:
- Säkerhet för containerregister: Implementerade Azure Container Registry med sårbarhetsskanning för att sätta karantän på bilder med CVE:er med hög allvarlighetsgrad före distributionen.
- Härdade VM-avbildningar: Implementerade Azure Shared Image Gallery med CIS benchmark-kompatibla VM-avbildningar för reglerade miljöer.
- Körningsskydd: Konfigurerade Microsoft Defender för containrar för kontinuerlig hotidentifiering och driftövervakning.
- Artefaktintegritet: Upprättad krypteringssignering och verifiering som garanterar bildautenticitet under hela livscykeln.
Utfall: Blockerade sårbara bilder från produktion. Dramatiskt minskade container-CVE:er per bild. Förhindrade bildersättningsattacker genom signaturverifiering.
Kritiskhetsnivå
Måste ha gjort det.
Kontrollmappning
- NIST SP 800-53 Rev.5: CM-2, CM-3, SI-2, SI-7, RA-5
- PCI-DSS v4: 6.2.4, 6.3.3, 11.3.1
- CIS-kontroller v8.1: 4.1, 7.3, 7.4
- NIST CSF v2.0: PR.IP-1, PR.IP-3, DE.CM-8
- ISO 27001:2022: A.8.9, A.8.31, A.8.32
- SOC 2: CC7.2, CC8.1
DS-7: Implementera DevOps-loggning och övervakning
Säkerhetsprincip
Implementera omfattande DevOps-aktivitetsloggning via granskningsströmning med integrering till centraliserade SIEM-plattformar (Security Information and Event Management) för säkerhetsanalys, identifiering av hot i realtid och automatiserat svar. Upprätta beteendeanalys, avvikelseidentifiering och säkerhetsmått för att möjliggöra snabba incidentåtgärder och upprätthålla spårningsloggar för efterlevnad.
Risk att mildra
Otillräcklig DevOps-loggning och övervakning skapar kritiska blinda fläckar som angripare utnyttjar för att fungera oidentifierad, upprätta beständighet och exfiltera känslig kod eller autentiseringsuppgifter. Utan omfattande synlighet:
- Oupptäckta pipelinekompromisser: Angripare ändrar CI/CD-pipelines för att mata in skadlig kod, exfiltrera hemligheter eller upprätta bakdörrar utan att utlösa aviseringar på grund av bristande eller otillräcklig granskningsloggning.
- Insiderhot som ändrar kod eller infrastruktur: Skadliga insiders eller komprometterade konton gör obehöriga ändringar i källkod, infrastrukturdefinitioner eller distributionskonfigurationer utan identifiering.
- Brist på omfattande granskningsspår: Avsaknad av detaljerade aktivitetsloggar förhindrar kriminalteknisk undersökning, konsekvensanalys och rotorsaksanalys när säkerhetsincidenter förlänger uppehållstiden och ökar påverkan på intrång.
- Fördröjd incidenthantering: Mean Time to Detect (MTTD) sträcker sig från timmar till veckor när säkerhetsteamen saknar realtidsaviseringar, avvikelseidentifiering och automatiserad korrelation av DevOps-säkerhetshändelser.
- Efterlevnadsgranskningsfel: Regelkrav (SOX, PCI-DSS, HIPAA, ISO 27001) som kräver omfattande granskningsspår, ändringsspårning och åtkomstloggning kan inte uppfyllas utan centraliserad DevOps-övervakning.
- Blindhet för eskalering av privilegier: Obehörig utökade behörigheter, skapande av backdoor-konton eller ändring av åtkomstkontroller fortsätter oidentifierat utan beteendeanalys och behörighetsövervakning.
Loggningsluckor döljer skadliga pipelineändringar, behörighetseskalering och beständiga åtkomstförsök i utvecklingsvägar med höga privilegier.
MITRE ATT&CK
- Defense Evasion (TA0005): försämra skydd (T1562) inaktivera granskningsloggning, säkerhetsgenomsökningssteg eller övervakningsagenter för att fungera i blinda fläckar och indikatorborttagning (T1070) rensa granskningsloggar eller pipelinekörningshistorik för att dölja skadliga aktiviteter.
- Beständighet (TA0003): kontomanipulering (T1098) som skapar ytterligare tjänsthuvudnamn, personliga åtkomsttoken eller SSH-nycklar utan identifiering.
- Samling (TA0009): data från informationslagringsplatser (T1213) exfiltrering av källkod, hemligheter eller immateriell egendom via pipelineåtkomst.
- Åtkomst till autentiseringsuppgifter (TA0006): Oskyddade autentiseringsuppgifter (T1552) som skördar exponerade hemligheter från pipelineloggar eller körningshistorik.
DS-7.1: Implementera granskningsloggning för DevOps-plattformar
DevOps-plattformar med privilegierad åtkomst till produktionsinfrastruktur och känslig källkod kräver omfattande säkerhetsövervakning för att identifiera skadlig aktivitet och insiderhot. Granskningsloggningsluckor gör det möjligt för skadliga aktörer att fungera oidentifierat under längre perioder, medan centraliserad loggaggregering möjliggör korrelation med bredare säkerhetstelemetri som avslöjar sofistikerade attackkedjor. Beteendeanalys i realtid identifierar misstänkta mönster som är osynliga i isolerade händelser och omvandlar rådata för granskning till användbar säkerhetsinformation.
Upprätta omfattande DevOps-säkerhetsövervakning med hjälp av följande funktioner:
Samla in omfattande säkerhetsreleventa aktiviteter: Upprätta omfattande granskningsloggning som samlar in alla säkerhetsreleventa DevOps-aktiviteter: användarautentiserings- och auktoriseringshändelser, incheckningar av källkod och grenåtgärder, skapande och ändring av pipeline, distributionskörningar, hemlig åtkomst, behörighetsändringar, skapande av tjänstens huvudnamn och administrativa åtgärder. DevOps-plattformar har privilegierad åtkomst till produktionsinfrastruktur och känsliga kodloggningsluckor gör det möjligt för angripare och skadliga insiders att fungera oupptäckta under längre perioder.
Vidarebefordra loggar till centraliserad SIEM i realtid: Vidarebefordra granskningsloggar i realtid till centraliserade SIEM-plattformar i stället för att förlita sig på intern kvarhållning av DevOps-plattformen (vanligtvis 90 dagar), vilket möjliggör långsiktig kriminalteknisk analys, efterlevnadsrapportering och korrelation med säkerhetshändelser från andra system. Strömma loggar till säkerhetsåtgärdscenter via standardiserade protokoll (/azure Event Hubs, syslog) i strukturerade format (JSON) som möjliggör automatisk parsning, analys och aviseringar utan manuell logggranskning.
Distribuera beteendeanalys och avvikelseidentifiering: Implementera beteendeanalys och avvikelseidentifiering på DevOps-granskningsdata för att identifiera misstänkta mönster som är osynliga i enskilda händelser: pipelineändringar efter arbetstid, ovanlig åtkomst till känsliga lagringsplatser, snabba behörighetseskaleringar, skapande av tjänstens huvudnamn följt av misstänkta distributioner, pipelinekörningar från oväntade platser eller onormala mönster för hemlig åtkomst. Upprätta baslinjebeteendeprofiler för användare och tjänster, aviseringar om statistiskt signifikanta avvikelser som kan tyda på komprometterande eller insiderhot.
Konfigurera automatisk avisering för högriskaktiviteter: Konfigurera automatiserad avisering för högriskaktiviteter med omedelbar avisering till säkerhetsteam: produktionsdistributionsfel, pipelineändringar i skyddade grenar, skapande av nytt huvudnamn för tjänsten, behörighetshöjningshändelser, inaktiverade säkerhetsgenomsökningssteg, vidarebefordran av granskningsloggkonfigurationsändringar eller försök att komma åt hemligheter från obehöriga pipelines. Implementera allvarlighetsgradsbaserad eskalering som säkerställer att kritiska aviseringar når säkerhetsoperationer omedelbart medan rutinmässiga händelser grupperats för analys.
Integrera med bredare säkerhetstelemetri: Integrera DevOps-granskningsloggar med bredare säkerhetstelemetri i SIEM-plattformar för korrelation med slutpunktsidentifiering, nätverkssäkerhet, identitetshändelser och hotinformationsflöden. Detta möjliggör identifiering av avancerade attackkedjor där DevOps-kompromettering är ett steg i flera faser, till exempel korrelera phished-autentiseringsuppgifter med efterföljande pipelineändringar och ovanlig molnresursetablering.
Utnyttja integrerade SIEM-plattformar: Plattformar som Azure DevOps Audit Streaming med Microsoft Sentinel-integrering tillhandahåller vidarebefordran av realtidsloggar, fördefinierade identifieringsregler för DevOps-hot, säkerhetsarbetsböcker för undersökning och automatiserad svarsorkestrering.
Exempel på implementering
En tillverkningsorganisation upptäckte insiderhot när den tidigare entreprenören ändrade CI/CD-pipelinen och injicerade bakdörrskod i produktionsprogrammet. Incidenten var oidentifierad i månader på grund av otillräcklig granskningsloggning.
Utmaning: Ingen centraliserad loggning av DevOps-aktiviteter. Ändringar av pipelines och ändringar av privilegierad åtkomst har gått obevakade. Kriminalteknisk undersökning hämmad av brist på spårningsspår. Efterlevnadsgranskningen misslyckades på grund av otillräcklig ändringsspårning.
Lösningsmetod:
- Centraliserad granskningsloggning: Aktiverade vidarebefordranshändelser för Azure DevOps Audit Streaming till Microsoft Sentinel för säkerhetsanalys och långsiktig kvarhållning.
- Beteendeanalys: Implementerad avvikelseidentifiering som identifierar ovanliga åtkomstmönster, pipelineändringar efter arbetstid och privilegiereskaleringar som indikerar insiderhot.
- Automatiserad avisering: Konfigurerade aviseringar för misstänkta aktiviteter, inklusive obehöriga produktionsdistributioner och routning av tjänsthuvudkonto till säkerhetsoperationer.
- Efterlevnadsrapportering: Skapad automatiserad generering av spårningsloggar som uppfyller regelkraven med omfattande ändringsspårning.
Utfall: Identifierade och förhindrade efterföljande obehöriga pipelineändringar snabbt. Dramatiskt minskad incidentundersökningstid med omfattande granskningsloggar. Uppnådd efterlevnad av dokumenterad ändringshantering.
Kritiskhetsnivå
Borde ha gjort det.
Kontrollmappning
- NIST SP 800-53 Rev.5: AU-2, AU-3, AU-6, AU-12, SI-4
- PCI-DSS v4: 10.2.1, 10.2.2, 10.3.4
- CIS-kontroller v8.1: 8.2, 8.5, 8.11
- NIST CSF v2.0: DE.CM-1, DE.CM-7, RS.AN-1
- ISO 27001:2022: A.8.15, A.8.16
- SOC 2: CC7.2, CC7.3