DockerHub: trovati i primi container contaminati

Docker è sulla cresta dell’onda da tanto tempo, troppo tempo perchè passasse inosservato.

E, prima o poi, doveva succedere: sono state rilevate le prime immagini di container contaminate, da software di crypto-mining, direttamente sul Docker Hub, il registry ufficiale e pubblico di Docker.

Il registry è un componente fondamentale in un’infrastruttura a container; è il componente da cui Docker (o sistemi che utilizzano Docker come base, ad esempio Kubernetes) scarica delle immagini di container che poi esegue sull’host; una volta fatta la build dell’immagine più o meno specializzata è possibile caricarla su un registry, che può essere privato o pubblico (come nel caso di Docker Hub) così che uno o più altri host possano utilizzare quell’immagine senza doverla rigenerare ex-novo.

Due società che si occupano di sicurezza, Fortinet e Kromtech, in questi giorni hanno pubblicato due articoli in cui rivelano che ben 17 immagini di container Docker avevano al loro interno dei miner di cryptovalute che, all’insaputa degli utenti, utilizzano le risorse delle macchine su cui questi container venivano lanciati per generare una BotNet sufficientemente ampia da trovare qualche cryptovaluta.

Queste immagini, considerate sicure, sono state scaricate ben 5 milioni di volte prima che venissero identificate e rimosse, e sfruttavano installazioni di Docker e Kubernetes configurate male per scaricare ed eseguire uno script di mining, oltre al servizio fornito ufficialmente. Il tutto, cosa ancora più preoccupante, in maniera del tutto automatica.

Of course, we can safely assume that these had not been deployed manually. In fact, the attack seems to be fully automated. Attackers have most probably developed a script to find misconfigured Docker and Kubernetes installations. Docker works as a client/server architecture, meaning the service can be fully managed remotely via the REST API

Ovviamente possiamo assumere con sicurezza che queste non siano state rilasciate manualmente. Di fatto, l’attacco sembra essere totalmente automatizzato. Gli attaccanti hanno probabilmente sviluppato uno script per trovare installazioni Docker e Kubernetes configurate male. Docker funziona in un’architettura client/server, quindi il servizio può essere completamente gestito da remoto tramite API REST

I due articoli mostrano anche gli aspetti tecnici su cui si basano questi attacchi, e spiegano che gli attaccanti sono riusciti a ricavare circa $90,000 in cryptovalute (544.74 Monero per l’esattezza) prima di essere scoperti e che le immagini venissero definitivamente rimosse dall’hub e dai sistemi.

As with public repositories like GitHub, Docker Hub is there for the service of the community. When dealing with open public repositories and open source code, we recommend that you follow a few best practices including: know the content author, scan images before running and use curated official images in Docker Hub and certified content in Docker Store whenever possible

Come per i repository pubblici come GitHub, Docker Hub è li a servizio della comunità. Quando si ha a che fare con repository pubblici aperti e codice open source, raccomandiamo di seguire alcune regole come: conoscere l’autore del contenuto, scansionare le immagini prima di usarle ed utilizzare immagini ufficiali presenti in Docker Hub e contenuti certificati nel Docker Store dove possibile.

Regole di puro buon senso, quindi, noi aggiungiamo che forse partire da immagini base ufficiali, costruirsi le proprie immagini specializzate ed utilizzare un registry privato (lo stesso Docker fornisce una semplice procedura per farlo) è la soluzione più sicura.

Utente Linux/Unix da più di 20 anni, cerco sempre di condividere il mio know-how; occasionalmente, litigo con lo sviluppatore di Postfix e risolvo piccoli bug in GNOME. Adoro tutto ciò che può essere automatizzato e reso dinamico, l'HA e l'universo container. Autore dal 2011, provo a condividere quei piccoli tips&tricks che migliorano il lavoro e la giornata.

Tags: ,