Las imágenes de Docker son paquetes que incluyen aplicaciones y bibliotecas pre-configuradas para ejecutarse de manera aislada encima del sistema operativo actual (ver ¿Qué diferencia hay entre Docker (Contenedores) y Máquinas virtuales?). Docker mantiene un repositorio público de imágenes, Docker Hub, con miles de imágenes de contenedores listas para ser utilizadas, ahorrándonos mucho trabajo a la hora de definir las nuestras propias. Cualquiera puede subir sus propias imágenes a Docker Hub, lo cual hace que sea tan rico y útil, pero al mismo tiempo se debe ser cauteloso a la hora de usar algo que alguien haya subido. Pasa un poco como con npm, el repositorio de paquetes de Node.js: es muy útil pero hay que tener cuidado.
Durante los pasados meses de julio y agosto de 2017 alguien (o más de una persona) con el identificador docker123321
subió 3 imágenes a Docker Hub con algunas utilidades interesantes. Y mucha gente las descargó más de 5 millones de veces. El problema es que, junto a las utilidades, estas imágenes contenían también algunas puertas traseras y software para minado de criptomonedas. Cuando las ejecutabas en tu sistema o en uno de tus servidores, se ponían en marcha aprovechándose de tu infraestructura para generar dinero para estos malhechores.
Por supuesto, no deberías descargarte imágenes subidas por organizaciones o personas que no conozcas. Peor lo cierto es mucha gente lo hace y la prueba es que estas se descargaron varios millones de veces. El verdadero problema se dio porque, a pesar de que alguien avisó a Docker ya en Agosto a través de una incidencia en Github, la empresa tardó más de 8 meses en hacer caso y retirar las imágenes comprometidas. Y esto sí que es grave. Tampoco eliminaron la cuenta maliciosa por lo que llegaron a subir con ella otras 14 imágenes contaminadas más, que también fueron denunciadas (en esta ocasión por empresas de seguridad, no por usuarios individuales), sin que Docker hiciera nada al respecto.
Un análisis del contenido de las imágenes comprometidas, reveló que se usaba la dirección de una cartera para recibir las criptomonedas que se habían minado. Gracias a ello se ha averiguado que fueron capaces de mirar 545 Moneros, lo que equivale a unos 90.000 dólares nada menos.
La empresa de seguridad Kromtech tiene un artículo muy detallado sobre todo el incidente. Además incluye una lista de las 17 imágenes infectadas para que lo revises, no vaya a ser que lo estés usando. Seguramente quedan todavía equipos y servidores con ellas en funcionamiento sin que el responsable lo sepa si no ha leído sobre este problema.
Lo que debemos tener claro como desarrolladores y usuarios de Docker es que si descargamos una imagen desde Docker Hub es como si descargásemos un ejecutable a nuestro equipo: no podemos fiarnos salvo que se trate de alguno obtenido de una fuente conocida y fiable o si lo examinamos con detenimiento para ver qué hace.