La maggior parte dei team di sicurezza deve affrontare una sfida comune e continua: garantire la sicurezza delle applicazioni containerizzate durante il runtime. In questa fase, i container sono più vulnerabili ad attacchi quali l'escalation dei privilegi e gli exploit zero-day. Infatti, uno studio recente ha rilevato che l'85% delle organizzazioni che utilizzano container ha subito incidenti di sicurezza informatica nel 2023, con il 32% di questi incidenti verificatisi durante il runtime.
Cosa succede quindi se c'è una sola svista? Si subiscono violazioni significative, interruzioni operative e tempi di inattività – un risultato che sicuramente non desideri per la tua organizzazione. In questo post forniamo approfondimenti pratici, informazioni sulle minacce e strategie comprovate per migliorare la sicurezza del runtime dei container.
Che cos'è la sicurezza runtime dei container?
 La sicurezza runtime dei container è la pratica di proteggere i container mentre sono attivamente in esecuzione in un ambiente di produzione. Comprende il monitoraggio in tempo reale e il rilevamento delle minacce per identificare e mitigare le vulnerabilità che possono insorgere durante l'esecuzione. Funziona per prevenire attività dannose, accessi non autorizzati e configurazioni errate dei sistemi monitorando continuamente il comportamento dei container e applicando politiche di sicurezza appropriate.
Importanza della sicurezza runtime dei container
I container sono più vulnerabili quando sono in esecuzione. A differenza dell'analisi statica o dei controlli pre-implementazione, la sicurezza runtime affronta le minacce in tempo reale che possono sfruttare le debolezze durante l'esecuzione dei container. La protezione runtime dei container garantisce l'integrità delle applicazioni, supporta e mantiene la conformità e protegge i dati sensibili.
I costi nascosti della mancata protezione del runtime dei container
La sicurezza runtime dei container non è un'opzione, è sine qua non – indispensabile per la vostra organizzazione. Non comprenderne l'importanza può comportare costi elevati. Ne abbiamo elencati alcuni per voi:
- Violazioni dei dati: la maggior parte dei container contiene informazioni sensibili e riservate, solitamente provenienti dai vostri clienti. Qualsiasi negligenza nel preservare l'integrità di questi dati può essere vista come una violazione della fiducia e influire drasticamente sulla vostra reputazione. Quindi, perdete i dati e la vostra credibilità e potreste dover affrontare diverse cause legali costose.
 - Interruzioni operative: il successo della vostra organizzazione dipende dal suo funzionamento come una macchina ben oliata. Una violazione della sicurezza è come un ostacolo ai vostri piani, che costringe l'intera attività a una pausa indesiderata e costosa. Un singolo incidente di sicurezza può compromettere la vostra produttività e redditività.
 - Perdita di proprietà intellettuale: I vostri container contengono anche dati interni preziosi come algoritmi proprietari, segreti commerciali e codici unici. Se gli aggressori ottengono l'accesso a questi dati, potreste dover interrompere completamente la fornitura di determinati prodotti e servizi. Nel peggiore dei casi, i vostri concorrenti potrebbero mettere le mani sulla vostra proprietà intellettuale e voi potreste perdere il vostro vantaggio competitivo sul mercato e la vostra clientela.
 - Aumento dei premi assicurativi: Sapevate che le aziende assicurano la loro sicurezza informatica? Lo fanno principalmente per due motivi: come investimento e per pagare le spese causate da violazioni della sicurezza. Tuttavia, in caso di incidente di sicurezza, dovrete affrontare un aumento del premio. A seconda della gravità della violazione e di come gestite la riparazione, potreste vedervi negata completamente la copertura.
 - Elevati costi di riparazione: Riparare il contenitore dopo la violazione è un altro buco nero (finanziario) e dovrete anche destinare una buona parte delle vostre risorse per rimettere tutto in funzione. Per riparare il danno, dovrete correggere le vulnerabilità, aggiornare le configurazioni e ripristinare i sistemi compromessi. Ma non è tutto. È anche necessario lavorare con diligenza per ricostruire la fiducia dei clienti. Ciò è possibile riesaminando i protocolli di sicurezza e migliorandoli. E tutti questi rimedi non sono economici.
 - Problemi di conformità: i servizi finanziari e sanitari devono sostenere una spesa aggiuntiva, ovvero le multe inflitte loro per aver compromesso le informazioni sensibili dei clienti e per la mancata conformità. Inoltre, sono sottoposti a un maggiore controllo da parte degli organismi di regolamentazione.
 
Come funziona la sicurezza del runtime dei container?
La sicurezza del runtime dei container funziona in un ciclo perpetuo, supervisionando e analizzando il comportamento dei container durante l'intera esecuzione. Ha diversi componenti chiave:
- Rilevamento delle minacce in tempo reale: una delle funzionalità fondamentali, ma estremamente significative, della sicurezza runtime è il rilevamento delle minacce nel momento in cui si verificano. Utilizza strumenti di sicurezza avanzati per monitorare da vicino le attività dei container. Cerca anche comportamenti sospetti come chiamate di sistema non autorizzate, connessioni di rete insolite o tentativi di escalation dei privilegi. Se un container cerca di ottenere un file al di là del suo accesso o cerca di connettersi con un indirizzo IP esterno, il sistema lo segnala immediatamente. Allertare tempestivamente i team di sicurezza consente un migliore controllo dei danni.
 - Applicazione delle politiche: La sicurezza runtime dei container non si limita al monitoraggio di un container, ma aiuta anche a definire ciò che un container può fare attraverso una serie di regole e politiche. Questi limiti predefiniti regolano l'accesso di un container a risorse, reti, database e altro ancora. Inoltre, supervisionano le comunicazioni tra i container e impediscono loro di deviare dalle regole stabilite.
 - Risposta agli incidenti: una volta che la sicurezza runtime rileva una minaccia nel container, adotta immediatamente misure quali l'isolamento del container interessato e l'avviso ai team di sicurezza. Inoltre, registra le informazioni relative all'incidente per l'analisi forense e i miglioramenti futuri. È importante notare che in questo caso è necessario l'intervento umano per mitigare la minaccia.
 - Monitoraggio continuo: poiché la sicurezza runtime monitora continuamente i container, contribuisce a mantenere l'igiene nel processo e fornisce informazioni in tempo reale sullo stato di salute del container.
 
Guida al mercato CNAPP
La guida di mercato Gartner per le piattaforme di protezione delle applicazioni cloud-native fornisce informazioni chiave sullo stato del mercato delle CNAPP.
Leggi la guida5 minacce critiche alla sicurezza dei container runtime che ogni azienda dovrebbe conoscere
Ecco cinque minacce critiche alla sicurezza dei container runtime che ogni azienda deve conoscere:
#1 Deriva di configurazione
Sapevate che la violazione della console Kubernetes di Tesla nel 2018 è stata causata da una deriva di configurazione? La console Kubernetes era rimasta esposta senza protezione tramite password, consentendo agli aggressori di minare criptovalute. Queste derive di configurazione si verificano quando c'è una disparità nello stato previsto a causa di modifiche non autorizzate o non rilevate. A lungo termine, ciò porta a nuovi rischi, compromissione della sicurezza e lacune che possono essere sfruttate dagli hacker.
#2 Esecuzione di codice dannoso
I container sono più vulnerabili durante il runtime e gli aggressori aspettano questa opportunità per iniettare furtivamente script o applicazioni dannosi. Hilton Hotels ha sperimentato in prima persona questa minaccia nel 2020, quando alcuni hacker hanno sfruttato il loro container Docker per accedere ai dati degli ospiti. A peggiorare le cose, in seguito hanno lanciato un attacco ransomware.
#3 Malware nelle immagini dei container
Le immagini dei container sono i mattoni fondamentali su cui è costruito un container. Tuttavia, se queste immagini provengono da fonti non verificate, c'è una buona probabilità che siano piene di malware. Conoscete l'incidente relativo al malware su Docker Hub del 2019? Centinaia di immagini dannose con crypto miner erano ospitate su Docker. Da quando è stato scoperto, Docker ha rafforzato la sua sicurezza per evitare tali violazioni.
#4 Attacchi di escalation dei privilegi
In un container, agli utenti viene concessa l'autorità appropriata per accedere alle informazioni. Ma immaginate se un aggressore o un hacker ottenesse questi privilegi. Potrebbe potenzialmente utilizzare le risorse di un'organizzazione, installare malware e interrompere le operazioni aziendali. Nessuno nel mondo della sicurezza informatica può dimenticare la vulnerabilità CVE-2019-5736 attraverso la quale gli aggressori hanno ottenuto l'accesso root all'host. Hanno sfruttato la falla per sovrascrivere il binario dell'host.
#5 Exploit del kernel
Le macchine host e i container spesso condividono il kernel, il che li rende inevitabilmente entrambi suscettibili agli exploit del kernel. Di recente, è stata scoperta una vulnerabilità critica del kernel Linux. Gli aggressori hanno ottenuto l'accesso per sovrascrivere i file su container montati in sola lettura. Per prevenire tali incidenti, è necessario aggiornare e applicare regolarmente le patch al kernel, oltre a implementare strumenti di sicurezza runtime Docker.
Come rilevare e correggere i rischi di runtime nel proprio ambiente?
Il modo migliore per mantenere la sicurezza delle applicazioni è rilevare e correggere i rischi di runtime in un ambiente containerizzato. Tuttavia, è necessario un approccio sistematico. Ecco quindi una guida passo passo per aiutarti a rilevare e risolvere efficacemente questi rischi.
Rilevamento dei rischi di runtime
- Monitoraggio continuo in tempo reale: il primo passo per ottenere una sicurezza ottimale del runtime dei container è dotarsi di strumenti in grado di monitorare le attività di runtime in tempo reale. Questi strumenti possono monitorare i flussi di eventi, tenere traccia delle modifiche nell'utilizzo delle risorse e identificare anomalie nelle operazioni dei container.
 
Suggerimento: Ricordate di configurare gli strumenti in modo che vi inviino un avviso non appena rilevano un'escalation dei privilegi o chiamate di sistema non autorizzate. Questi allarmi consentono di accelerare la mitigazione delle minacce.
- Analisi comportamentale: il passo successivo consiste nel definire una linea di base per ciò che si considera un'attività normale dei container. Una volta che il sistema ha appreso il modello abituale di comportamento dei container, come il consumo di risorse, rete, attività e così via – è in grado di individuare le deviazioni. L'analisi comportamentale è probabilmente lo strumento più utile quando si tratta di minacce sofisticate (attacchi interni).
 
Suggerimento: I metodi standard basati sulle firme non sempre sono efficaci nell'identificare minacce avanzate e sottili.
- Scansione snapshot: la scansione snapshot consiste nell'acquisire un'istantanea delle varie fasi del runtime del container. Consente di rilevare punti deboli quali configurazioni errate o componenti software obsoleti, non identificati durante la distribuzione iniziale.
 
Suggerimento: Se i tuoi container vengono costantemente aggiornati con nuove librerie o dipendenze, la scansione snapshot è un passaggio indispensabile nella routine di sicurezza del runtime dei container.
- Monitoraggio delle chiamate di sistema: I processi dei container spesso inviano richieste al kernel del sistema host. Queste "chiamate di sistema" aiutano il container a interagire con il sistema operativo per accedere ai file o gestire la memoria. Il passo successivo consiste nell'implementare un sistema in grado di monitorare regolarmente tali chiamate e filtrare quelle sospette.
 
Suggerimento: Assicurati di impostare filtri per le chiamate setuid o setgid che potrebbero potenzialmente modificare l'ID utente o gruppo.
- Sistemi di rilevamento delle intrusioni (IDS): L'ultimo passo nel rilevamento dei rischi di runtime consiste nell'implementare soluzioni IDS specifiche per i container per monitorare il traffico di rete, l'integrità dei file e le attività di processo all'interno dei container al fine di rilevare potenziali intrusioni.
 
Suggerimento: È possibile configurare gli IDS per rilevare accessi non autorizzati, tentativi di esfiltrazione dei dati o comunicazioni sospette tra i container.
Rimedio ai rischi di runtime
Una volta rilevati i rischi di runtime, è il momento di rispondere a queste minacce e minimizzarne l'impatto sulle operazioni. Diamo un'occhiata ad alcuni dei modi in cui è possibile gestire il rimedio:
- Risposta automatizzata agli incidenti: una volta rilevata una minaccia, automatizzare la risposta per ridurre al minimo i danni. Ciò comporta l'isolamento o la chiusura dei container compromessi o il ripristino delle versioni precedenti. Pertanto, se il container è compromesso, il sistema può ripristinare automaticamente un'immagine di backup o avviare un aggiornamento di una versione sicura del container.
 - Gestione della configurazione: sappiamo che una configurazione non gestita può causare derive. È possibile evitare questo problema rivedendo e aggiornando regolarmente le configurazioni. Ciò garantisce che i container non funzionino con privilegi eccessivi, accessi di rete non necessari o volumi di archiviazione configurati in modo errato.
 - Controlli di accesso: implementare controlli di accesso rigorosi utilizzando il controllo degli accessi basato sui ruoli (RBAC). È possibile definire ruoli chiari per utenti e processi, con autorizzazioni precise che limitano ciò che possono fare all'interno dell'ambiente containerizzato. Limitando l'accesso ai componenti critici, si riduce il rischio che un aggressore ottenga il controllo delle risorse sensibili se un container viene compromesso.
 - Integrazione con soluzioni di sicurezza: Assicurarsi che gli strumenti di sicurezza runtime si integrino perfettamente con altre soluzioni di sicurezza all'interno del proprio stack tecnologico. Collegare gli strumenti di sicurezza dei container con SIEM (Security Information and Event Management) o alla propria piattaforma di sicurezza cloud per correlare gli avvisi, identificare modelli di attacco più ampi e mantenere una visibilità end-to-end della propria infrastruttura.
 - Scansione continua delle vulnerabilità: eseguite regolarmente la scansione del runtime dei container alla ricerca di vulnerabilità note e malware durante il runtime. Utilizzate strumenti che eseguono automaticamente la scansione dei container alla ricerca di CVE (Common Vulnerabilities and Exposures) noti, segnalando i componenti obsoleti o vulnerabili.
 
Best practice per la sicurezza del runtime dei container
La sicurezza del runtime dei container è essenziale per mantenere l'integrità e la riservatezza delle applicazioni containerizzate. È possibile rafforzare la sicurezza applicando le seguenti best practice:
#1 Utilizzare immagini di base minime
Immagini più piccole significano superfici di attacco più piccole; gli autori delle minacce di solito non si preoccupano di queste. Le loro dimensioni ridotte significano anche che hanno solo i componenti essenziali, rendendole più facili da gestire e riducendo così anche i potenziali punti di ingresso per gli aggressori.
#2 Aggiornamenti e patch regolari
Come qualsiasi altro software, anche i container devono essere aggiornati regolarmente con patch più recenti per risolvere le vulnerabilità. L'articolo attacco Heartbleed si è verificato perché un'immagine Docker aveva una versione obsoleta di OpenSSL. Integra una scansione regolare delle vulnerabilità nella tua pipeline CI/CD per identificare e risolvere tempestivamente i problemi.
#3 Implementa il principio del privilegio minimo
Gli aggressori sono sempre alla ricerca di punti di accesso attraverso i privilegi disponibili. Se invece di consentire ai tuoi container di funzionare con privilegi di root, li configuri con autorizzazioni di livello inferiore, puoi facilmente evitare un rischio per la sicurezza.
#4 Sfruttare i moduli di sicurezza
Per aggiungere ulteriori livelli di sicurezza, scegliete moduli di sicurezza come Seccomp e AppArmor in grado di limitare le chiamate di sistema che i container sono autorizzati a effettuare. Questi moduli bloccano sostanzialmente le interazioni del kernel e impediscono le chiamate di sistema non autorizzate, impedendo la fuga dei container. Possono anche applicare politiche di sicurezza più rigorose, garantendo che i container operino entro parametri definiti e non possano eseguire azioni non autorizzate.
#5 Abilitare SELinux
Security-enhanced Linux (SELinux) è un meccanismo di sicurezza affidabile che applica controlli di accesso obbligatori (MAC) sui processi dei container. Con SELinux è possibile controllare e limitare l'accesso di un container compromesso alle risorse sensibili (file di configurazione, librerie di sistema) sull'host.
#6 Isolare i container
Utilizzare politiche di rete, firewall e altre tecniche di isolamento per separare i container l'uno dall'altro. Questo isolamento limita il potenziale di movimento laterale all'interno dell'ambiente e riduce il rischio di diffusione di compromissioni tra i container.
#7 Monitorare e registrare l'attività
Implementare strumenti che forniscono visibilità sulle attività di runtime dei container, come l'esecuzione dei processi, le comunicazioni di rete e le chiamate di sistema. Registrando e analizzando questi dati, è possibile identificare comportamenti sospetti e rispondere alle minacce prima che si aggravino.
#8 Utilizzare registri affidabili
L'utilizzo di immagini provenienti da fonti affidabili riduce il rischio di introdurre codice dannoso nel proprio ambiente. Inoltre, assicurarsi che le immagini siano firmate e che la loro integrità sia verificata prima della distribuzione per prevenire manomissioni.
#9 Limitare l'utilizzo delle risorse
L'impostazione di limiti di risorse sui container è una strategia fondamentale per prevenire attacchi denial-of-service (DoS) e garantire un'allocazione equa delle risorse. Limitando l'utilizzo di CPU, memoria e spazio di archiviazione, è possibile impedire che un singolo container sovraccarichi il sistema host e interrompa il funzionamento di altre applicazioni.
#10 Condurre regolari audit di sicurezza
Gli audit di sicurezza e i test di penetrazione regolari dovrebbero coprire tutti gli aspetti della sicurezza dei container, dalla creazione delle immagini e la gestione della configurazione alla protezione del runtime dei container.
SentinelOne: sicurezza completa del runtime dei container
Singularity Cloud Workload Security (CWS) di SentinelOne offre una protezione completa per i carichi di lavoro containerizzati, concentrandosi sulla sicurezza in tempo reale durante la fase di runtime. La piattaforma garantisce la protezione dei container da diverse minacce attraverso le seguenti funzionalità:
- Rilevamento delle minacce in tempo reale basato sull'intelligenza artificiale: CWS di SentinelOne offre una piattaforma di protezione dei carichi di lavoro cloud in tempo reale (CWPP) che proteggono gli ambienti containerizzati da minacce avanzate come ransomware ed exploit zero-day.
 - Risposta e ripristino autonomi: Le funzionalità di risposta rapida di SentinelOne garantiscono che, quando vengono rilevate minacce, queste vengano automaticamente neutralizzate per ridurre al minimo i tempi di inattività e garantire la disponibilità continua. La sua visualizzazione automatizzata degli attacchi Storyline™ si mappa al MITRE ATT&CK TTP e semplifica anche la raccolta di artefatti forensi su larga scala.
 - Visibilità completa e analisi forense: Grazie all'integrazione con il data lake Singularity, SentinelOne offre una cronologia forense dettagliata e la telemetria del carico di lavoro, consentendo ai team di sicurezza di indagare a fondo sugli incidenti. Il Workload Flight Data Recorder™ acquisisce e registra tutti i dati rilevanti per una visibilità completa.
 - Ampio supporto della piattaforma e scalabilità: SentinelOne supporta 14 principali distribuzioni Linux, più runtime container (Docker, container, cri-o) e servizi Kubernetes gestiti e autogestiti dei principali provider cloud come Amazon Web Services (AWS), Microsoft Azure e Google Cloud. Si integra anche con Snyk e combina un CNAPP con un motore offensivo unico.
 - Architettura eBPF per stabilità e prestazioni: l'uso dell'architettura extended Berkeley packet filter (eBPF) migliora la stabilità e le prestazioni della piattaforma. Questo design evita le dipendenze dal kernel, con conseguente riduzione del carico sulla CPU e sulla memoria.
 - Integrazione con gli strumenti DevSecOps: SentinelOne si integra con gli strumenti DeSecOps per un'esperienza senza soluzione di continuità e un monitoraggio continuo della sicurezza durante tutto il ciclo di vita dello sviluppo.
 
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 demoFAQs
La sicurezza dei container in fase di esecuzione consiste nella protezione dei container mentre sono attivi. Si concentra sul rilevamento e sulla mitigazione di minacce quali accessi non autorizzati, malware e vulnerabilità durante la fase di esecuzione del container.
La sicurezza dei container runtime è in genere responsabilità dei team DevOps e di sicurezza all'interno di un'organizzazione. Questi team garantiscono l'attuazione di politiche di sicurezza, monitoraggio e misure di risposta per proteggere i container in esecuzione.
Uno dei migliori strumenti disponibili per la sicurezza dei container è SentinelOne. È dotato di funzionalità quali rilevamento delle minacce in tempo reale, applicazione delle politiche e risposta automatizzata agli incidenti, offrendo una sicurezza completa.
Il runtime dei container è il software che gestisce il ciclo di vita dei container, dalla creazione, all'avvio e all'arresto, fino alla cancellazione.
Esistono diverse pratiche che aiutano a gestire la sicurezza dei container, come la scansione regolare delle vulnerabilità, l'implementazione del principio del privilegio minimo e il monitoraggio delle attività di runtime. È inoltre necessario utilizzare altri strumenti di sicurezza per una protezione continua.

