I container per lo sviluppo e la distribuzione delle applicazioni sono stati ampiamente documentati negli ambienti cloud e le aziende moderne stanno passando ad architetture cloud-centriche. Il Container Scanning è una sotto-categoria della sicurezza dei container ed è una misura di sicurezza fondamentale per proteggere i flussi di lavoro DevOps containerizzati.
Non tutti i container sono uguali e molte immagini possono essere estratte da fonti non attendibili e repository pubblici. Queste possono introdurre nuovi vettori di minaccia, contenere componenti dannosi e presentare rischi sconosciuti.

Questo blog illustrerà le basi del container scanning e perché è fondamentale per la sicurezza dei container. Verranno inoltre trattate le vulnerabilità comuni dei container, i diversi metodi di scansione e una guida su come implementarli. Approfondiamo l’argomento.
Cos’è il Container Scanning (Container Image Scanning)?
Il Container Scanning utilizza strumenti di sicurezza avanzati per analizzare i vari componenti delle immagini container, strato per strato, al fine di rilevare potenziali minacce.
Le soluzioni di Container Scanning identificano vulnerabilità e verificano la presenza di rischi sfruttando database globali. Individuano exploit nelle applicazioni cloud-native e consentono ai team di sviluppo di trovare e correggere le vulnerabilità in anticipo, prima che vengano sfruttate. Queste soluzioni abilitano misure di sicurezza shift-left fin dall’inizio, eseguono analisi e forniscono raccomandazioni per la remediation delle vulnerabilità.
Perché eseguire il Container Scanning?
I container contengono più immagini che ereditano vulnerabilità dalle immagini di base, incluse tutte le possibili configurazioni errate, malware e altre criticità di sicurezza. L’implementazione della sicurezza shift-left inizia analizzando dipendenze e pacchetti all’interno delle immagini container per eliminare le minacce e impedirne la distribuzione nella pipeline di produzione.
È essenziale utilizzare uno scanner per container per identificare e correggere le vulnerabilità nelle immagini prima che si aggravino e causino problemi gravi. Non eseguire scansioni adeguate può portare alla perdita di credenziali sensibili, violazioni dei dati e altri compromessi di sicurezza.
Quali sono le vulnerabilità comuni dei container?
I container stanno cambiando il modo in cui le aziende sviluppano, distribuiscono e utilizzano le applicazioni. Aumentano l’efficienza e la portabilità e permettono di eseguire software senza preoccuparsi del sistema operativo, delle impostazioni o degli ambienti di produzione. I container sono sicuri per impostazione predefinita, ma sono comunque esposti a determinati rischi come qualsiasi altra vulnerabilità di sicurezza.
Le vulnerabilità di sicurezza più comuni nei container sono:
- Container non attendibili – I container non attendibili sono principalmente quelli che eseguono software proveniente da fonti non verificate o non affidabili. Questi container possono contenere codice dannoso e caricarlo su repository pubblici, consentendo agli attaccanti di ottenere accesso non autorizzato alle reti.
- Configurazioni non sicure – Le macchine che eseguono container possono essere vulnerabili ad attacchi a livello di sistema operativo, quindi è essenziale aggiornare e configurare correttamente l’OS host. La progettazione non sicura include anche attacchi di escalation dei privilegi e livelli di containerizzazione mal configurati.
- Gestione dei segreti – I container che non proteggono i segreti sono soggetti a intrusioni a ogni livello. API key e token non sicuri sono le principali cause di problemi nella gestione dei segreti. Non ruotare regolarmente le chiavi private può portare gli attaccanti a individuare le credenziali e ottenere accesso a risorse non autorizzate.
Tipi di Container Security Scanning
Le immagini container possono provenire da diverse fonti, motivo per cui è fondamentale mantenere l’affidabilità delle immagini. Per garantire la sicurezza totale durante tutto il ciclo di vita dell’applicazione, prima della distribuzione e della produzione, è essenziale implementare il container scanning nelle seguenti tre aree:
1. Container Registry Scanning-I registry delle applicazioni container memorizzano migliaia di immagini create da fonti diverse. Il registry include posizioni di terze parti; una singola minaccia può compromettere l’intera applicazione. La scansione continua del registry per rilevare modifiche e vulnerabilità è fondamentale per mantenere la sicurezza dei container. Questo processo deve essere automatizzato e ogni immagine deve essere controllata per identificare potenziali minacce.
2. Runtime Scanning-La scansione dei container in fase di esecuzione identifica nuove CVE, rileva nuove vulnerabilità e le segnala immediatamente ai team di sicurezza. La scansione automatizzata in runtime può dare priorità ai rischi negli ambienti container e migliorare la protezione complessiva in esecuzione. Mantiene i container in uno stato sicuro e mitiga le anomalie stabilendo baseline.
3. Vulnerability Scanning-La scansione delle vulnerabilità analizza tutti i componenti dei container durante l’intero ciclo di vita delle applicazioni. È una buona pratica DevSecOps e i team di sicurezza devono integrare la scansione delle immagini container nelle pipeline CI/CD per un rilevamento e una remediation efficaci delle minacce. La scansione delle vulnerabilità individua le criticità nel codice prima che entri nei container e le blocca per massimizzare la protezione.
Come implementare il Container Scanning?
La scansione di sicurezza dei container sta diventando un flusso di lavoro standardizzato per monitorare e proteggere ambienti e applicazioni cloud-native. La maggior parte degli sviluppatori preferisce separare l’ambiente di esecuzione quando esegue le scansioni dei container utilizzando strumenti interni.
Ci sono tre passaggi principali per il Container Scanning, che sono i seguenti:
- Fase 1 – Mettere in sicurezza il codice applicativo
- Fase 2 – Scansionare l’immagine container
- Fase 3 – Scansionare i livelli di connettività
Fase 1 – Mettere in sicurezza il codice applicativo
Il codice applicativo dei container e lo sviluppo aiutano a scansionare e tracciare le vulnerabilità e le dipendenze del codice container. Permette di individuare errori nelle prime fasi del ciclo di sviluppo, prima della containerizzazione, integrazione e distribuzione. La scansione iniziale del codice applicativo può essere eseguita dopo l’inserimento del codice nel container.
Fase 2 – Scansionare l’immagine container
Sono disponibili molti strumenti di scansione delle immagini container, che analizzano le firme digitali per valutare la qualità dell’immagine e le varie vulnerabilità. La scansione delle immagini container verifica le fonti e i publisher, garantendo così l’integrità e l’autenticità delle immagini.
Fase 3 – Scansionare i livelli di connettività
I livelli intermedi dei container contengono la maggior parte delle vulnerabilità di sicurezza. Le immagini container possono essere personalizzate riducendo il numero di livelli.
Best practice per il Container Security Scanning
Di seguito sono riportate le best practice per il Container Security Scanning:
- CLI Local Scanning
- Scansione automatizzata integrata nella pipeline CI/CD
- Adottare l’Inline Image Scanning
- Pinning delle versioni delle immagini
- Scansione dei segreti
- Rilevamento dei drift
1. CLI Local Scanning
La scansione locale tramite CLI include la scansione Docker, facilitando la scansione immediata delle immagini container locali subito dopo la loro creazione. È possibile eseguire una scansione CLI utilizzando il comando docker scan, uno dei primi passi per implementare le migliori pratiche di sicurezza dei container.
2. Scansione automatizzata integrata nella pipeline CI/CD
Il passo successivo consiste nell’integrare la scansione automatizzata nella pipeline CI/CD e analizzare continuamente le immagini container man mano che vengono create. Questo aiuta a evitare incidenti di sicurezza critici, segnalare build fallite e identificare vulnerabilità.
3. Adottare l’Inline Image Scanning
L’inline image scanning aiuta a monitorare la privacy dei dati e a proteggere le credenziali delle immagini. Non è necessario mettere in staging repository pubblici; è sufficiente lo strumento di scan dei metadati. L’inline scanning può essere implementato su GitLab, AWS Codepipeline, Jenkins, Tekton e molti altri strumenti CI/CD.
4. Pinning delle versioni delle immagini
A volte è possibile scansionare l’immagine sbagliata poiché i container hanno versioni diverse che possono essere distribuite dalla stessa immagine. Questo può causare problemi di debug e, se si utilizzano tag mutabili, c’è il rischio che i risultati della scansione diventino non validi poiché questi tag sono soggetti a continui aggiornamenti e nuove versioni.
È fondamentale applicare tag immutabili e fissare le versioni delle immagini in modo che le modifiche regolari non le influenzino. Una combinazione di scansione delle immagini container, motore OPA e Kubernetes admission controller può aiutare in questo processo.
5. Scansione dei segreti
La scansione dei segreti può proteggere password, nomi utente e chiavi private. Scansionare i segreti prima di distribuire le immagini è una buona pratica e consente agli utenti di verificare le fonti delle immagini. La scansione dei segreti previene le fughe di dati e rende le informazioni accessibili solo a carichi di lavoro sicuri e containerizzati. Facilita anche la manutenzione dei container e molti flussi di lavoro sono progettati per monitorare i cluster Kubernetes tramite strumenti interni. Alcuni utenti preferiscono utilizzare ambienti di esecuzione separati per analizzare diverse configurazioni.
6. Rilevamento dei drift
Rendi i tuoi deployment container immutabili per progettazione. È importante applicare le ultime patch di sicurezza, aggiornamenti di configurazione e distribuire nuove immagini container in modo da ridurre al minimo la probabilità di drift di configurazione. Utilizza la Binary Drift Detection per identificare l’introduzione di eseguibili non autorizzati o modifiche indesiderate. Puoi integrare il rilevamento dei drift nelle pipeline CI/CD ed è consigliato monitorare il comportamento in runtime utilizzando strumenti di sicurezza runtime. Utilizza piattaforme di sicurezza container che offrono rilevamento integrato dei drift, scansione delle immagini, enforcement delle policy e protezione runtime dei container.
Perché SentinelOne per il Container Security Scanning?
SentinelOne offre una sicurezza dei container leader di settore combinando visibilità completa, rilevamento automatico delle minacce e gestione della postura per Kubernetes, container e carichi di lavoro cloud-native. SentinelOne Singularity™ Cloud Native Security (CNS) offre container scanning agentless, consentendo ai team di sicurezza di rilevare vulnerabilità, configurazioni errate e segreti esposti nelle immagini container prima della distribuzione. Con il supporto alla scansione di oltre 750 tipi di segreti, SentinelOne aiuta le organizzazioni a prevenire la perdita di credenziali e a mantenere un’igiene del codice robusta su GitHub, GitLab, BitBucket e altri repository CI/CD.
La piattaforma include Kubernetes Security Posture Management (KSPM), che consente alle organizzazioni di monitorare e applicare continuamente le best practice di sicurezza all’interno dei cluster Kubernetes. SentinelOne rileva i drift di configurazione e offre oltre 2.000 regole predefinite per i principali standard di conformità come NIST, CIS e MITRE, permettendo ai team di affrontare in tempo reale configurazioni errate e gap di compliance. CNS si integra perfettamente nelle pipeline DevOps per automatizzare l’enforcement delle policy e fornire insight azionabili con un impatto minimo sui flussi di lavoro esistenti.
Singularity™ Cloud Workload Security (CWS) di SentinelOne estende la protezione ai carichi di lavoro containerizzati in runtime, utilizzando il rilevamento basato su AI per bloccare attacchi—including ransomware, cryptojacking e zero-day—a velocità macchina. Combinando analisi statica, rilevamento dinamico delle minacce e risposta automatizzata, SentinelOne consente alle organizzazioni di difendere ogni superficie—VM, container e Kubernetes—su ambienti multi-cloud da una dashboard unificata.
Con la sua architettura agentless CNAPP, SentinelOne consente ai team di sicurezza di concentrarsi su alert ad alto impatto e percorsi di exploit verificati, riducendo i falsi positivi e l’overhead operativo. L’onboarding automatico, la copertura istantanea e la gestione unificata delle policy rendono SentinelOne una soluzione ideale per proteggere i container durante l’intero ciclo di vita dello sviluppo—dal build al runtime.
Protezione dei carichi di lavoro cloud (CWPP) basata su AI per server, VM e container, che rileva e blocca le minacce in tempo reale durante l'esecuzione.
Conclusione
Le best practice di container image scanning come la scansione della pipeline CI/CD e delle vulnerabilità dell’OS possono mantenere le immagini sicure e prevenire che vengano sfruttate. L’applicazione della migliore sicurezza dei container è un processo continuo e segue un approccio iterativo dall’inizio del build fino alla fine.
È essenziale monitorare le minacce in tutte le fasi del ciclo di vita dello sviluppo delle applicazioni container e prepararsi ai rischi di sicurezza emergenti. La scansione dei container consente di scoprire exploit nascosti, eliminare vulnerabilità e garantire la massima sicurezza monitorando le applicazioni containerizzate per cambiamenti di comportamento o eventi dannosi. SentinelOne offre funzionalità pronte all’uso come audit logging, gestione dei permessi, supporto ai template IaC e altro ancora, rendendo il Container Scanning un’esperienza senza soluzione di continuità.
Vedere SentinelOne in azione
Scoprite come la sicurezza del cloud basata sull'intelligenza artificiale può proteggere la vostra organizzazione con una demo individuale con un esperto dei prodotti SentinelOne.
Richiedi una demoDomande frequenti sulla scansione dei container
La scansione dei container è il processo di analisi delle immagini dei container e dei container in esecuzione per identificare vulnerabilità di sicurezza, configurazioni errate e problemi di conformità. È un controllo di sicurezza per le applicazioni containerizzate.
Viene esaminato tutto, dal sistema operativo di base alle dipendenze applicative, confrontando i risultati con database di vulnerabilità come il National Vulnerability Database. Questo consente di individuare i problemi di sicurezza prima che arrivino in produzione.
La scansione dei container rileva vulnerabilità del sistema operativo nelle immagini di base, dipendenze applicative vulnerabili e errori di configurazione come utenti eccessivamente permissivi o porte esposte. Individua anche segreti hardcoded come chiavi API e password, malware e violazioni di conformità rispetto a standard come i benchmark CIS.
I tool di scansione verificano la presenza di librerie obsolete, configurazioni errate nei Dockerfile e privilegi eccessivi che potrebbero essere sfruttati da un attaccante.
È consigliabile integrare la scansione nelle pipeline CI/CD per rilevare le vulnerabilità prima del deployment. Utilizzare immagini di base minimali provenienti da fonti affidabili e effettuare la scansione sia in fase di build che di runtime per una copertura completa.
Configurare la scansione automatica con soglie di allerta adeguate e aggiornare regolarmente i database delle vulnerabilità. Implementare inoltre policy che blocchino i deployment in presenza di vulnerabilità critiche.
I tool di scansione dei container recuperano e scompongono le immagini nei relativi layer costitutivi, analizzando separatamente ciascun componente. Utilizzano la scansione basata su firme per confrontare i componenti con database di vulnerabilità noti come CVE e la scansione comportamentale per rilevare attività anomale durante il runtime.
Il tool esamina immagini di base, codice applicativo, dipendenze e configurazioni, segnalando eventuali problemi di sicurezza da correggere.


