Sicurezza: perché i container danno più garanzie

Container Export

Le piattaforme basate su container e microservizi si sono affermate velocemente soprattutto per la loro flessibilità nel gestire carichi di lavoro variabili.

Uno dei loro elementi caratterizzanti e di interesse per gli IT manager è però un altro, ossia la possibilità che offrono di gestire in maniera preventiva la sicurezza.

Mentre nelle piattaforme tradizionali la logica che si segue è principalmente reattiva, nel mondo container e cloud si hanno più strumenti per ridurre preventivamente di molto il rischio di violazioni di vulnerabilità applicative.

Le statistiche ci dicono infatti che è questo il punto debole su cui gli attaccanti possono fare leva. Una volta che una vulnerabilità è nota, anche se spesso più agli hacker ostili che non alle aziende, c'è chi la sfrutta direttamente o usando le competenze di altri.

Così una stessa "falla" è alla portata di criminali esperti ma anche di semplici "appassionati" delle violazioni delle reti aziendali.

Di solito un attacco comprende tre fasi principali. L'attaccante esamina la rete bersaglio per capirne la struttura e i servizi che espone, identifica le vulnerabilità che può sfruttare, le usa per eseguire codice arbitrario e consolidare la sua posizione nell'ambiente colpito, possibilmente aumentando i suoi privilegi. In un ambiente a microservizi e container questi tre passi diventano intrinsecamente più difficili e si possono rendere ancora più ardui.

La fase di esplorazione dell'ambiente da attaccare è inevitabilmente più complessa quando si tratta di microservizi. Questi e i corrispondenti container vengono attivati e disattivati a seconda dei livelli di carico e non hanno una configurazione statica nel tempo. Si fa anche più semplice rilevare le scansioni dell'ambiente, dato che le piattaforme di orchestration possono identificare trend anomali nei tentativi di connessione ai microservizi.

Il tema delle vulnerabilità del software resta quello più delicato anche per le piattaforme a container. Un software che integra una vulnerabilità resta un punto debole anche quando è inglobato in un container, il vantaggio è che si ha un maggiore controllo su raggio d'azione di quel software in caso di sua violazione. In questo senso non c'è una sola funzione che "magicamente" risolve il problema, bisogna far agire sinergicamente diversi elementi del mondo container.

Nel caso di vulnerabilità note si può inibire l'esecuzione di container che le contengono. Piattaforme come Docker Hub hanno funzioni di scansione dei container che evidenziano la eventuale presenza delle principali vulnerabilità note e valutano l'affidabilità complessiva di un container. Stabilito che l'immagine di partenza è sicura, tutti i container che ne derivano lo saranno per definizione.

Questo non esclude a priori che un container possa essere violato. Nel caso in cui questo accada devono quindi essere già in atto sistemi che limitano al minimo possibile i danni derivanti da questa violazione. In pratica, che limitino quanto un attaccante può fare dopo essersi "impadronito" di un software "containerizzato".

A parte le funzioni di isolamento tipiche di questa tecnologia, la parola chiave qui è whitelisting.

Le applicazioni containerizzate devono avere il minimo livello di privilegi possibile e tutto quello che non è esplicitamente permesso deve essere vietato. In questo modo si può definire a priori che tipo di traffico può ricevere o generare un container, come anche quali azioni può compiere la sua applicazione. Qualsiasi cosa diversa da ciò che è predefinito viene bloccata, il che impedisce i passi tipici degli attacchi alle reti.

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche iscriviti alla newsletter gratuita.

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here