Skydda programvaruförsörjningskedjan (Secure Future Initiative)

Grundpelarnamn: Skydda tekniska system
Mönsternamn: Skydda programvaruförsörjningskedjan

Microsoft har stärkt sin leverantörskedja för programvara genom att implementera automatiserad sårbarhetsgenomsökning, ett centraliserat flöde för blockering av skadlig kod och standardiserade pipelinemallar för att tillämpa säkerhetsprinciper. Dessa åtgärder säkerställer snabba, konsekventa uppdateringar och skyddar mot skadliga komponenter som kommer in i produktion.

Kontext och problem

Modern programvaruutveckling är beroende av komplexa leveranskedjor som omfattar programvara med öppen källkod (OSS), interna paket, byggpipelines och versionsautomatisering. Även om dessa påskyndar innovationen expanderar de också attackytan. Angripare kan rikta in sig på sårbara OSS-beroenden, mata in skadlig kod via offentliga feeds eller utnyttja luckor i bygg- och versionspipelines.

Microsofts skala förstärker den här utmaningen: mer än 78 000 Azure DevOps-pipelines (AzDO) körs varje månad och tusentals lagringsplatser är beroende av OSS-komponenter. Tidigare hade teamen stor flexibilitet i hur pipelines konfigurerades. Detta skapade fragmentering, fördröjde införandet av nya säkerhetsprinciper och introducerade potentiella sårbarheter.

För att minska den här risken gjorde Microsoft skyddet av programvaruförsörjningskedjan till en kärnprioritet under Secure Future Initiative (SFI).

Lösning

Microsoft har distribuerat en djupgående metod för att skydda sin programvaruförsörjningskedja genom att kombinera styrning, automatisering och Zero Trust-arkitektur :

  • Komponentstyrning (CG): SCA (Software Composition Analysis) aktiveras automatiskt i olika tekniska system för att identifiera sårbarheter i OSS-beroenden.
  • Centraliserad feedtjänst (CFS): Ett internt flöde som blockerar skräppost, skannar efter virus, identifierar typosquatting och sätter nya paketversioner i karantän innan inmatning tillåts i produktionslagringsplatser.
  • Reglerade pipelinemallar: Standardiserade YAML-mallar framtvingar säker beräkning, matar in nödvändiga statiska analysverktyg, aktiverar SBOM-generering och tillämpar efterlevnadsgrindar som signering av pull-begäranden med två personer och kodsignering.
  • Centraliserade uppdateringar: Centraliserade mekanismer skickar efterlevnads- och säkerhetsuppdateringar till alla pipelines, vilket säkerställer ett snabbt och konsekvent införande av nya krav.

Tillsammans skyddar dessa åtgärder Microsofts tekniksystem mot OSS-leveranskedjeattacker, möjliggör företagsomfattande SBOM-efterlevnad och minskar risken för att skadliga eller sårbara komponenter kommer in i produktion.

Vägledning

Organisationer kan använda ett liknande mönster med hjälp av följande användbara metoder:

Användningsfall Rekommenderad åtgärd Resource
OSS-inmatningskontroll – Använd centraliserade flöden för att hantera all paketförbrukning och blockera offentliga flöden i produktion. Skydda mot skadliga offentliga paket – Azure Artifacts
Sårbarhetsidentifiering – Aktivera analys av programvarusammansättning (SCA) för att spåra beroenden och automatiskt flagga sårbarheter med hög allvarlighetsgrad. Utforska analys av programvarusammansättning (SCA) – Microsoft Learn
Efterlevnad av pipelinesäkerhet – Anta reglerade pipelinemallar som matar in statisk analys, efterlevnadskontroller och SBOM-generering.
– Konfigurera Microsoft Security DevOps Azure DevOps-tillägget.
– Installera Microsofts SBOM-generationsverktyg med öppen källkod.
YAML-pipelinemallar
Azure Artifacts
Konfigurera Microsoft Security DevOps Azure DevOps-tillägget – Microsoft Defender för molnet
GitHub SBOM-verktyg
Policyutrullning i stor skala – Använd centralt hanterade mallar (utökar modellen) för att framtvinga nya krav på säkerhet och efterlevnad i tusentals pipelines. Pipelinestyrning med mallar
Granskning och övervakning – Kontinuerligt övervaka pipelines för att säkerställa korrekt användning av mallar och granska efterlevnaden varje kvartal. Azure DevOps-granskning

Fördelar

  • Minskad OSS-risk: Förhindrar inmatning av skadliga eller sårbara paket med öppen källkod.
  • Standardiserad efterlevnad: Ger konsekvent tillämpning av SBOM:er, statisk analys och kodsigneringskrav.
  • Skalbar principimplementering: Central styrning möjliggör snabb distribution av nya säkerhetsstandarder i över 75 000 pipelines.
  • Förbättrad produktivitet: Mallar påskyndar konfigurationen för nya team, vilket minskar dupliceringen och felen.
  • Granskningsberedskap: Centraliserad loggning och SBOM-bevis förenklar rapportering av regelefterlevnad och kundefterlevnad.

Kompromisser

  • Utvecklarfriktion: Team kan drabbas av förseningar när karantänsatta OSS-paket eller policykontroller blockerar byggen.
  • Driftkostnader: Centrala feeds och mallar kräver kontinuerligt underhåll, justering och support.
  • Versionsfördröjning: Säkerhetsvalidering kan fördröja användningen av de senaste OSS-versionerna i produktion.
  • Anpassningsgränser: Team måste balansera lokala behov med centralt framtvingade krav, vilket kräver kompromisser.

Viktiga framgångsfaktorer

Mät följande för att spåra framgång:

  • Pipelineimplementeringsgrad: Procentandel CI/CD-pipelines med hjälp av reglerade mallar.
  • OSS-styrningstäckning: Procentandel av produktionslagringsplatser som använder OSS endast via centraliserad distributionsservice (CFS).
  • SBOM-efterlevnad: Andel versioner som genererar SBOM:er automatiskt.
  • Sårbarhetsminskning: Minskning av olösta hög-/kritiska OSS-sårbarheter i produktion.
  • Granskningskonsekvens: Frekvens och noggrannhet för efterlevnadsgranskningar i aktiva pipelines.

Sammanfattning

För att skydda programvaruförsörjningskedjan krävs både teknisk tillämpning och driftsdisciplin. Microsoft hanterar detta genom att kombinera komponentstyrning, en centraliserad feedtjänst och styrda pipelinemallar för att skydda alla steg i programvarans livscykel. Dessa åtgärder hjälper till att skydda mot OSS-sårbarheter, framtvinga efterlevnad av SBOM-krav och ge skalbart, automatiserat skydd över tiotusentals pipelines.

Organisationer kan använda liknande metoder: centralisera paketinmatning, framtvinga SBOM- och efterlevnadskontroller via reglerade pipelinemallar och kontinuerligt övervaka användningen för att anpassa sig till nya säkerhetshot.

Öka säkerheten från kod till produktion för att bättre skydda din programvaruförsörjningskedja med centraliserade feeds, automatiserad analys och reglerade pipelines.