Sempre più aziende utilizzano soluzioni per la containerizzazione del software. Docker, ad esempio, è uno strumento che automatizza la distribuzione di applicazioni all’interno di contenitori software fornendo un’astrazione aggiuntiva grazie alla virtualizzazione a livello di sistema operativo: Docker, cos’è e come funziona la containerizzazione delle applicazioni.
Kubernetes è invece un sistema per l’orchestrazione e la gestione di container compatibile con molteplici sistemi di containerizzazione (quindi non soltanto con Docker): ne parliamo nell’articolo I vantaggi dell’utilizzo di container Docker e cluster Kubernetes sul cloud. Il vantaggio di Kubernetes deriva dal fatto che è possibile combinare tra loro più container avvantaggiandosi di un livello di astrazione ancora più elevato e superando molti dei processi manuali coinvolti nel deployment e nello scaling di applicazioni containerizzate.
Per questo motivo negli anni Kubernetes è diventato sempre più diffuso a tutti i livelli.
Secondo un sondaggio della Cloud Native Computing Foundation (CNCF), più dell’84% delle organizzazioni utilizza i container in produzione e oltre il 78% si affida a Kubernetes per la loro orchestrazione.
Come spiega Eviatar Gerzi, ricercatore presso CyberArk Labs, l’elevata popolarità di questa tecnologia sta portando gli aggressori ad affinare notevolmente le loro abilità in questo campo. Il rischio è oggi quello di non proteggere adeguatamente asset cruciali delle moderne infrastrutture informatiche.
“La maggior parte degli strumenti oggi disponibili sono finalizzati alla scansione passiva delle vulnerabilità nel cluster ma manca una copertura dei vettori di attacco più complessi“, osserva Gerzi. “Questi strumenti potrebbero permettere di vedere il problema, ma non di sfruttarlo. È importante eseguire l’exploit per simulare un attacco nel mondo reale che sarà utilizzato per determinare la resilienza aziendale. Quando si esegue un exploit, si mette alla prova la gestione degli eventi informatici dell’organizzazione, cosa che non accade quando ci si limita ad eseguire la scansione dei problemi del cluster“.
CyberArk ha realizzato Kubesploit, uno strumento che usa un approccio “offensivo”, come farebbe un aggressore interessato a rubare i dati aziendali dai container, modificarli o danneggiarli. Il software è disponibile su GitHub in modo che tutti gli interessati possano provarlo e che la comunità possa contribuire alla crescita del progetto.
L’obiettivo è aumentare la consapevolezza sulle corrette misure di sicurezza da implementare negli ambienti containerizzati e semplificare il lavoro dei team PenTest e dei Red Teamers.
Kubesploit si basa su tre strati di protezione che ne garantiscono anche un utilizzo legittimo: il primo è incentrato su da tecniche di mitigazione e suggerimenti per proteggere da ogni singolo vettore di attacco; il secondo è costituito da regole YARA per catturare i binari collegati e aiutare a scovare qualsiasi uso di binari Kubesploit in un attacco reale e non come parte di test di penetrazione legittimi; il terzo consiste nell’integrazione degli IoC (Indicatori di Compromissione) all’interno del codice che registra le attività.
Kubesploit è un framework scritto in Golang e si basa sul progetto Merlin (di Russel Van Tuyl), un server e agent di comando e controllo HTTP/2 post-exploitation multipiattaforma.
CyberArk ha sviluppato alcuni moduli capaci di tentare il “breakout” dal container all’host, di effettuare la scansione delle vulnerabilità note nel cluster e la scansione dei servizi e delle porte. L’azienda ha in programma di aggiungere altri moduli in futuro sia per Kubernertes che per gli ambienti containerizzati in generale.