Le soluzioni e i servizi cloud basati su tecnologia container e utilizzati da migliaia di aziende in tutto il mondo sono a rischio attacco: due ricercatori di sicurezza, Adam Iwaniuk e Borys Popławski, hanno infatti scoperto una grave vulnerabilità identificata come CVE-2019-5736 in RunC e resa pubblica da Aleksa Sarai, ingegnere software senior presso SUSE Linux GmbH e manutentore dell’ambiente di sviluppo runtime runC.
Proprio le librerie runC, utilizzate per la realizzazione di moderne applicazioni in ambienti cloud ed Enterprise quali Docker, containerd, LXC e Kubernetes, sono all’origine di questa vulnerabilità riconducibile ad una errata gestione dei link simbolici.
Indice degli argomenti
Tecnologia container: analisi della vulnerabilità
Secondo gli stessi sviluppatori dell’ambiente runC, la vulnerabilità potrebbe consentire ad un programma malevolo in esecuzione in un container di violarne i limiti di contenimento e ottenere così i diritti di esecuzione con privilegi di root sull’intero host sottostante, compromettendo potenzialmente tutti i contenitori in esecuzione su di esso.
Sfruttando la vulnerabilità si potrebbero, quindi, presentare due possibili scenari di attacco:
- nel primo, l’attaccante crea un nuovo container malevolo usando un’immagine di backup appositamente predisposta;
- nel secondo scenario, grazie ai privilegi di amministratore e quindi di accesso in scrittura ottenuti sfruttando la vulnerabilità appena scoperta, l’attaccante inserisce codice malevolo in un container esistente.
In entrambi i casi, l’attaccante avrà gioco facile nel violare il perimetro di sicurezza implementato con la tecnologia container e ottenere libero accesso a tutta l’infrastruttura sottostante, con le evidenti conseguenze del caso.
I consigli per difendersi dalla vulnerabilità dei container
Secondo Alessio L.R. Pennasilico, Information & Cyber Security Advisor presso P4I – Partners4Innovation, “siamo di fronte all’ennesimo bug che ci deve far riflettere circa l’affidabilità dei servizi su piattaforme virtuali, soprattutto se condivise, come avviene in ambienti cloud”.
Lo scenario descritto da Pennasilico non è dei più tranquillizzanti: “in ambienti privati, vulnerabilità come questa permettono di accedere ad altri dati aziendali con maggior livello di sicurezza. In ambienti condivisi, la vulnerabilità dell’istanza di un’organizzazione mette a rischio tutte le altre organizzazioni. Per questo diventano cruciali, per ogni azienda, i processi di vulnerability e patch management”.
“La vulnerabilità è molto grave, ma per fortuna richiede un accesso al sistema per poter essere sfruttata”, sostiene invece Marco Rizzi, Information & Cyber Security Advisor: “vale a dire che un sistema vulnerabile esposto su Internet non è direttamente attaccabile se non è stato precedentemente compromesso. Questo non deve però farci abbassare la guardia: correggere questo bug ed impedire venga sfruttato deve restare una priorità”.
I ricercatori di sicurezza che hanno scoperto la vulnerabilità non hanno, al momento, fornito ulteriori dettagli tecnici proprio per consentire ai fornitori di servizi container di applicare al più presto la patch ufficiale già rilasciata dagli sviluppatori delle librerie runC e alle aziende di verificare lo stato di vulnerabilità delle tecnologie di containerizzazione in uso nelle proprie infrastrutture.
Quando l’exploit che consente di sfruttare la vulnerabilità verrà reso pubblico, i criminal hacker avranno gioco facile a scoprire il modo di sfruttarla a loro vantaggio.
Al momento, solo Docker (la piattaforma cloud per la quale la libreria runC era stata originariamente sviluppata) ha già rilasciato la versione v18.09.2 che integra la soluzione per la vulnerabilità della tecnologia container. Gli altri produttori sono al lavoro sugli aggiornamenti necessari.
Per ulteriori informazioni, possiamo invece leggere gli approfondimenti pubblicati da Amazon AWS, Red Hat e kubernetes.