Condividi tramite


Panoramica della fase acquisizione

L'acquisizione di immagini di contenitori esterne da usare come immagini di base o di utilità è la prima fase della supply chain per i contenitori. Le aziende potrebbero non disporre delle competenze o delle risorse necessarie per creare ogni componente software dall'origine e dover basarsi su origini esterne per le immagini del contenitore. Esempi di tali immagini sono immagini del sistema operativo o del framework, proxy di servizio come NGINX e Envoy o immagini di registrazione e metriche come Fluentd e Kafka. È importante stabilire determinati controlli di qualità prima dell'uso e assicurarsi che tali immagini siano conformi ai criteri aziendali.

Il framework CSSC (Containers Secure Supply Chain) di Microsoft identifica la necessità di acquisizione di immagini esterne. Il framework CSSC consiglia un set di procedure e strumenti standard che consentono di acquisire in modo sicuro le immagini dei contenitori esterne per l'uso interno. In questo articolo verranno illustrati gli obiettivi, le procedure standard e gli strumenti che è possibile usare nella fase Acquisizione del framework CSSC.

Background

Attualmente, le aziende non hanno un processo stabilito per l'acquisizione di immagini di contenitori esterne. Gli approcci variano notevolmente a seconda delle dimensioni e delle competenze dell'azienda.

Le aziende incentrate sulla sicurezza portano immagini pre-approvate da origini esterne, ad esempio l'hub Docker, in un registro di quarantena interno. Queste immagini vengono esaminate per individuare vulnerabilità e malware prima che vengano rilasciate per uso interno. Tuttavia, questo processo non è uniforme o completamente automatizzato. Le aziende non dispongono inoltre di un metodo per garantire l'autenticità e l'integrità di queste immagini in tutta la catena di approvvigionamento. Infine, non hanno un modo coerente per arricchire le immagini con metadati aggiuntivi per le fasi successive della supply chain.

Le aziende che iniziano il percorso di sicurezza usano immagini contenitore da registri esterni direttamente negli script di compilazione e distribuzione. Questo approccio può introdurre vulnerabilità, malware e software non conforme compromettendo la disponibilità di compilazioni di immagini e servizi in contenitori.

La fase Acquisizione del framework CSSC consiglia un set di passaggi e controlli di sicurezza che devono essere implementati per garantire che le immagini esterne vengano convalidate e conformi ai criteri aziendali prima che vengano usate internamente.

Microsoft consiglia di creare software dall'origine quando possibile. Nel caso in cui le aziende non siano in grado di farlo, è consigliabile seguire le procedure seguenti per l'acquisizione di immagini di contenitori esterni e artefatti nativi del cloud.

  • Importare immagini esterne in un registro interno sotto il controllo dell'organizzazione per rimuovere la dipendenza da terze parti e ridurre l'impatto sulla disponibilità. È consigliabile importare immagini solo da origini affidabili.
  • Quando disponibile, verificare le firme delle immagini esterne per garantire l'autenticità e l'integrità dell'immagine dell'autore durante il processo di importazione.
  • Prima di consentire l'uso interno, analizzare le immagini del contenitore per individuare vulnerabilità e malware per ridurre il rischio di introdurre errori di sicurezza.
  • Arricchire le immagini del contenitore con metadati aggiuntivi come SBOM, provenienza e ciclo di vita per abilitare i criteri nelle fasi successive della supply chain del software.
  • Firmare immagini del contenitore e metadati pertinenti con chiavi aziendali per garantire l'integrità e fornire un timbro attendibile di approvazione per l'uso interno.

Le linee guida del framework CSSC di Microsoft corrispondono anche alle linee guida per proteggere i materiali nelle procedure consigliate per la supply chain software CSSF.

Flusso di lavoro per l'acquisizione di immagini esterne

Nonostante l'attendibilità delle aziende inserite in fornitori o progetti open source, devono sempre convalidare il software acquisito da origini esterne. Le immagini del contenitore e gli artefatti nativi del cloud non fanno eccezione. Il framework CSSC consiglia il flusso di lavoro seguente per l'acquisizione di immagini esterne.

  1. Importare immagini del contenitore e artefatti nativi del cloud in un registro interno sotto il controllo aziendale.
  2. Mettere in quarantena le immagini nel Registro di sistema interno per impedirne l'uso internamente fino a quando non vengono convalidate.
  3. Convalidare le firme associate all'immagine per garantire l'autenticità e l'integrità dell'immagine, se le firme sono presenti nel Registro di sistema esterno.
  4. Convalidare tutti gli altri metadati associati all'immagine, inclusi SBOMs e la provenienza, per evitare violazioni dei criteri aziendali come licenze non conformi, se nel Registro di sistema esterno sono presenti metadati aggiuntivi.
  5. Analizzare le immagini per individuare vulnerabilità note e malware per impedire l'introduzione di difetti di sicurezza.
  6. Allegare i report di vulnerabilità e malware come attestazioni di immagine da usare nelle fasi successive della supply chain.
  7. Se non è disponibile, generare SBOM e provenienza per l'immagine e allegarli come attestazioni di immagine da usare nelle fasi successive della catena di approvvigionamento.
  8. Arricchire le immagini con metadati aggiuntivi, ad esempio i metadati del ciclo di vita da usare nelle fasi successive della supply chain.
  9. Firmare l'immagine e i metadati pertinenti con le chiavi aziendali per garantire l'integrità e fornire un timbro attendibile di approvazione per l'uso interno.
  10. Se l'immagine soddisfa i criteri interni, pubblicare l'immagine nel Registro di sistema golden per l'uso interno.

Obiettivi di sicurezza nella fase di acquisizione

Avere un flusso di lavoro ben definito per l'acquisizione di immagini esterne consente alle aziende di aumentare la sicurezza e ridurre la superficie di attacco nella catena di fornitura per i contenitori. La fase Acquire del framework CSSC è progettata per soddisfare gli obiettivi di sicurezza seguenti.

Ridurre la superficie di attacco a causa di dipendenze esterne

I registri pubblici sono soggetti a vari tipi di attacchi a causa della loro natura aperta e della mancanza di misure di sicurezza rigorose. Consentire agli utenti all'interno dell'organizzazione di eseguire direttamente il pull delle immagini dai registri esterni li espone ad attacchi come confusione delle dipendenze e errori di digitazione.

La fase Acquire nel framework CSSC risolve questo rischio centralizzando l'acquisizione e la gestione di artefatti esterni e offrendo agli utenti interni una singola fonte di verità per tutte le immagini e gli artefatti nativi del cloud.

Ridurre al minimo il rischio di introdurre difetti di sicurezza

La mancanza di processi di verifica e approvazione rigorosi per le immagini nei registri pubblici significa che chiunque può eseguire il push delle immagini senza un rigoroso esame. Ciò aumenta il rischio di inavvertitamente l'uso di immagini compromesse che possono introdurre vulnerabilità di sicurezza nelle applicazioni aziendali.

La fase Acquisizione risolve questo rischio aggiungendo un passaggio obbligatorio per la vulnerabilità e l'analisi malware delle immagini prima che vengano approvate per l'uso interno. Un altro vantaggio aggiunto dell'importazione delle immagini in un registro interno, queste immagini possono ora essere analizzate e sottoposte a patch a intervalli regolari.

Aumentare la disponibilità di compilazioni e distribuzioni di contenitori

A causa della necessità di distribuire immagini del contenitore su scala globale, i registri pubblici sono soggetti a limitazioni. I registri pubblici sono anche bersagli di attacchi DDoS che possono influire sulla distribuzione delle immagini. Infine, i registri pubblici sono ospitati nell'infrastruttura che non è sotto il controllo aziendale e possono essere interessati da interruzioni. Tutto questo può causare ritardi o errori nelle compilazioni e distribuzioni aziendali.

Importando immagini da registri esterni in un registro interno, la fase Acquire risolve questo rischio rimuovendo la dipendenza da registri esterni e consentendo alle aziende di controllare la frequenza con cui estraggono le immagini dai registri interni. I registri privati possono anche essere protetti meglio da attacchi esterni e conformi ai requisiti di disponibilità dell'organizzazione.

Controllare il ciclo di vita delle immagini esterne

Gli editori software possono aggiornare le immagini in registri esterni senza preavviso. Ciò può causare modifiche impreviste nelle compilazioni e nelle distribuzioni aziendali. Inoltre, le immagini possono essere rimosse da registri esterni senza preavviso, causando l'esito negativo delle compilazioni e delle distribuzioni aziendali.

Introducendo un registro intermedio per ospitare le immagini esterne, la fase Acquire risolve questo rischio offrendo versioni memorizzate nella cache delle immagini necessarie per l'uso interno. In questo modo le aziende possono controllare il ciclo di vita delle immagini e assicurarsi che vengano ritirati in base ai criteri aziendali.

Garantire una qualità minima dell'immagine

Anche se alcuni editori di immagini esterne iniziano a includere attestazioni come SBOMs e provenienza, nonché firmare immagini del contenitore, molte immagini nei registri pubblici non dispongono di tali attestazioni. Ciò è dovuto anche al fatto che alcuni registri pubblici non supportano tali funzionalità. Ciò rende difficile per le aziende garantire che le immagini acquisite siano conformi ai criteri.

Nella fase Acquire del framework CSSC le aziende possono arricchire le immagini con metadati aggiuntivi, tra cui SBOMs, provenance, lifecycle e altri metadati interni che soddisfano i criteri. Possono anche firmare gli artefatti con chiavi aziendali per garantire l'integrità e fornire un timbro attendibile di approvazione per l'uso interno.

Microsoft offre un set di strumenti e servizi che consentono alle aziende di implementare i passaggi consigliati nel flusso di lavoro Di acquisizione della fase e di soddisfare gli obiettivi di sicurezza elencati in precedenza.

Strumenti e servizi per l'importazione di immagini esterne

Registro Azure Container (ACR) è un registro conforme a OCI gestito che supporta la distribuzione di immagini del contenitore e altri artefatti nativi del cloud. ACR è conforme alle specifiche OCI più recenti e può essere usato per archiviare gli artefatti della supply chain.

La funzionalità di importazione del Registro Azure Container può essere usata per importare immagini da registri esterni in Registro Azure Container. L'importazione mantiene il digest e i tag dell'immagine e consente di importare immagini da qualsiasi registro pubblico e privato che supporta l'API Docker Registry V2.

ORAS è un progetto CNF supportato da Microsoft che offre un'interfaccia della riga di comando e librerie open source per interagire con i registri OCI. ORAS può essere usato anche per copiare immagini e altri artefatti OCI da registri esterni in Registro Azure Container.

Strumenti e servizi per la convalida di immagini esterne

Attività del Registro Azure Container è una suite di funzionalità in Registro Azure Container che consente alle aziende di automatizzare attività diverse, ad esempio l'analisi delle vulnerabilità o sbom o la convalida della firma. Le attività del Registro Azure Container possono essere usate per convalidare le immagini esterne dopo l'importazione in Registro Azure Container. Le attività del Registro Azure Container possono essere usate anche per automatizzare l'importazione di immagini da registri esterni in Registro Azure Container.

Microsoft Defender per il cloud è la soluzione nativa del cloud per migliorare, monitorare e gestire la sicurezza dei carichi di lavoro in contenitori. Microsoft Defender per il cloud offre strumenti di valutazione e gestione delle vulnerabilità per le immagini archiviate in Registro Azure Container.

Strumenti per arricchire immagini esterne con metadati aziendali

Come strumento versatile per interagire con i registri OCI, ORAS può essere usato anche per aggiungere annotazioni e allegare metadati a un'immagine del contenitore. ORAS può essere usato per aggiungere SBOM, provenienza, ciclo di vita e altri metadati per arricchire le immagini per le fasi successive della catena di approvvigionamento.

Lo strumento SBOM di Microsoft è uno strumento open source, altamente scalabile e pronto per l'azienda per creare SBOM compatibili con SPDX 2.2 per qualsiasi varietà di artefatti. Lo strumento SBOM può essere usato per generare SBOM dettagliati per le immagini del contenitore.

Notary Project è un progetto CNF supportato da Microsoft che sviluppa specifiche e strumenti per la firma e la verifica degli artefatti software. Lo strumento Notary Project può essere usato per firmare immagini del contenitore e altri artefatti nativi del notation cloud con chiavi aziendali.

Passaggi successivi

Per l'hosting sicuro delle immagini dei contenitori per l'uso interno, vedere la panoramica della fase catalogo.