La comunità della cybersicurezza è stata recentemente allertata di una vulnerabilità critica all'interno di NVIDIA Container Toolkit, un componente essenziale per le applicazioni accelerate dalle GPU in ambito AI e ML (machine learning). Identificata come CVE-2024-0132, questa falla ha un impatto significativo su un'ampia gamma di applicazioni di IA che si affidano alle risorse delle GPU sia in ambiente cloud che on-premise. Dopo la sua scoperta nel settembre 2024, NVIDIA ha riconosciuto il problema e ha rilasciato una patch poco dopo.
Dettagli della vulnerabilità
La vulnerabilità all'interno di NVIDIA Container Toolkit, in particolare nelle versioni fino alla 1.16.1 inclusa, deriva da una falla nel Time-of-check Time-of-Use (TOCTOU). Questa debolezza può essere sfruttata per elevare i privilegi, sfuggire ai container e manipolare i carichi di lavoro delle GPU, portando potenzialmente a risultati errati dell'intelligenza artificiale o a interruzioni complete del servizio.
Le vulnerabilità specifiche relative a questo incidente includono:
- CVE-2024-0132: questa falla critica, classificata come 9.0 sulla scala di gravità, può consentire alle immagini di container appositamente realizzate di accedere al file system dell'host, il che può portare all'esecuzione di codice, alla negazione del servizio e all'escalation dei privilegi.
- CVE-2024-0133: questa vulnerabilità di media gravità, con una valutazione di 4,1, consente alle immagini di container appositamente create di creare file vuoti sul file system dell'host, con conseguente manomissione dei dati.
NVIDIA ha prontamente affrontato la vulnerabilità rilasciando un bollettino di sicurezza e versioni aggiornate del software interessato.
Chi è interessato?
La ricerca indica che oltre un terzo (35%) degli ambienti cloud che utilizzano GPU NVIDIA sono a rischio, come scoperto da Wiz.
Le organizzazioni che utilizzano le versioni di NVIDIA Container Toolkit fino alla 1.16.1 inclusa, nonché NVIDIA GPU Operator fino alla 24.6.1 inclusa, devono valutare i propri ambienti e adottare le misure necessarie per mitigare gli effetti a cascata di questa vulnerabilità.
Comprendere il toolkit NVIDIA Container
NVIDIA Container Toolkit è stato progettato per facilitare la creazione e l'esecuzione di container Docker accelerati dalle GPU. Per impostazione predefinita, i container non hanno accesso alle GPU e questo toolkit consente agli utenti di esporre le proprie GPU NVIDIA ai propri container. Il toolkit consiste in librerie di runtime e utilità che automatizzano la configurazione dei container, in cui gli utenti possono sfruttare le GPU NVIDIA per elaborare carichi di lavoro AI ad alte prestazioni. In breve, NVIDIA Container Toolkit permette ai container di accedere alle GPU NVIDIA in modo che le applicazioni che necessitano di accelerazione GPU possano essere eseguite in modo più rapido ed efficiente.
Insieme a NVIDIA GPU Operator - che orchestra le risorse GPU negli ambienti Kubernetes - il toolkit svolge un ruolo fondamentale nelle moderne applicazioni di AI e ML. In sostanza, migliora le prestazioni e l'efficienza delle applicazioni che richiedono HPC (high-performance computing) per le attività ad alta intensità di dati come l'addestramento dell'intelligenza artificiale.
Tuttavia, una vulnerabilità può introdurre rischi in vari modi:
- Accesso non autorizzato alla GPU: Gli aggressori potrebbero accedere alla GPU e causare il furto di dati o il dirottamento delle risorse.
- Escalation dei privilegi: Gli aggressori possono uscire dai container ed eseguire codice sul sistema host per compromettere l'infrastruttura sottostante.
- Attacchi Container : Un container compromesso potrebbe aprire un accesso illegittimo alle risorse GPU di altri container. Ciò può provocare fughe di dati o denial of service su più applicazioni in esecuzione sullo stesso sistema.
- Esposizione di dati sensibili: Piuttosto che estrarre direttamente i dati sensibili, gli aggressori a volte cercano vulnerabilità in vari componenti del sistema per navigare nell'ambiente e aumentare i privilegi. La tecnologia dei Container aggiunge complessità a questi exploit.
Potenziale scenario di attacco
Un potenziale flusso di attacco che sfrutta l'NVIDIA Container Toolkit può essere generalizzato in tre fasi:
- Creare un'immagine dannosa: Un utente malintenzionato può progettare un'immagine del contenitore dannosa per sfruttare la CVE-2024-0132.
- Accedere al file system dell'host: L'aggressore esegue quindi l'immagine dannosa su una piattaforma vulnerabile, sia direttamente attraverso i servizi di GPU condivisi, sia indirettamente attraverso uno schema di attacco della catena di fornitura o tramite social engineering. Ciò consente di montare il file system host e di ottenere un accesso non autorizzato all'infrastruttura sottostante e potenzialmente ai dati riservati di altri utenti.
- Controllo completo: Con l'accesso ai socket Unix critici (docker.sock/containerd.sock), l'aggressore può impartire comandi arbitrari sul sistema host con privilegi di root, per poi prendere il controllo della macchina.
Raccomandazioni per la protezione dalle vulnerabilità Container
Questo incidente serve a ricordare tempestivamente che anche le immagini di container affidabili provenienti da fonti rispettabili possono ospitare gravi vulnerabilità. Le organizzazioni che utilizzano NVIDIA Container Toolkit devono:
Aggiornamento alla versione più recente
Gli utenti sono caldamente invitati ad aggiornare alla versione 1.16.2 di NVIDIA Container Toolkit e alla versione 24.6.2 di NVIDIA GPU Operator il prima possibile, soprattutto per gli host container che possono utilizzare immagini non attendibili.
Eseguire regolarmente scansioni di sicurezza
Implementate procedure di scansione regolari per le immagini di container dannosi e qualsiasi altro componente che viene inserito nelle applicazioni in ambienti cloud. Le scansioni regolari aiutano a valutare i rischi e a identificare i punti ciechi della sicurezza associati a queste immagini. Gli strumenti di scansione automatica possono aiutare a monitorare costantemente le vulnerabilità e le configurazioni errate conosciute.
Inoltre, l'integrazione delle scansioni di sicurezza nelle pipeline CI/CD assicura che le vulnerabilità vengano rilevate prima della distribuzione, mentre i report completi forniscono informazioni sui rischi identificati e sulle fasi di rimedio consigliate.
Secure immaginiContainer con laSupply ChainSoftware MetaDefender
Per mitigare vulnerabilità come quelle riscontrate in NVIDIA Container Toolkit, OPSWAT MetaDefender Software Supply Chain offre solide capacità di scansione delle minacce per i registri dei container e i repository del codice sorgente.
I team di sviluppo Software e DevSecOps saranno informati delle immagini container potenzialmente dannose o vulnerabili all'interno dei loro stack applicativi. Sfruttando più livelli di rilevamento e prevenzione delle minacce, MetaDefender Software Supply Chain fornisce anche approfondimenti e raccomandazioni per la correzione, compresi gli aggiornamenti delle versioni sicure delle immagini dei container interessate.
MetaDefender Software Supply Chain
È possibile valutare lo stato di minaccia dei pacchetti nelle immagini dei container sia a livello generale che dettagliato.
La sicurezza Container fa parte della sicurezza dell'intelligenza artificiale
Le vulnerabilità Container hanno evidenziato la necessità di una sicurezza vigile e proattiva per le organizzazioni che dipendono sempre più dalle tecnologie AI e ML. Per saperne di più sulla sicurezza dei container e sulla sicurezza della catena di fornitura del software, consultate le nostre risorse:
MetaDefender Software Supply Chain
Immagine Docker: un vettore di minacce in crescita?
SicurezzaSupply Chain Software
Secure La vostra costruzione dal codice sorgente agli artefatti