Blog

Death by Doki: una nueva vulnerabilidad de Docker con graves consecuencias (y qué puedes hacer al respecto)

August 25, 2020
Matias Madou, Ph.D.

En la onomatopeya japonesa, la frase «doki-doki» («"») representa el sonido de un corazón que late con fuerza... que es exactamente lo que podrían experimentar los miembros del equipo de seguridad si su servidor Docker se infecta con Doki, una nueva vulnerabilidad que proporciona una puerta trasera para la inyección de código malicioso y mucho más. Un nombre apropiado, por decir lo menos.

A medida que adoptamos una dependencia cada vez mayor de la infraestructura de nube, la necesidad de precisión y eficacia escalable de las mejores prácticas de seguridad es vital, y debe extenderse mucho más allá de lo mínimo indispensable para una implementación segura de las aplicaciones, con medidas personalizadas para la seguridad de los contenedores que se den a conocer e implementar en todo el SDLC.

Los ciberataques son cada vez más frecuentes y las amenazas que afectan a la infraestructura basada en Linux son cada vez más comunes, con el objetivo final de tener la oportunidad de abrir un cofre de botín de datos confidenciales almacenados en la nube. Ese es precisamente el objetivo de Doki, y su uso de múltiples tecnologías para no ser detectado, potente y eficaz no se parece a nada que se haya visto anteriormente en el ámbito de los problemas de seguridad basados en Docker.

¿Qué es Doki y cómo funciona?

Como es un tema común en muchas aplicaciones comprometidas, mala configuración de seguridad desempeña un papel inaceptablemente importante en la forma en que se violó el software. En el caso específico de Docker, la API de Docker Engine mal configurada ha demostrado ser beneficiosa para los atacantes. El Botnet Ngrok El robot de criptominería ha estado rastreando servidores Docker inseguros desde 2018, creando sus propios contenedores y ejecutando malware en la infraestructura de la víctima.

Doki es una versión más astuta y maliciosa de este malware, que tuvo éxito a través de la misma red de bots y expuso el mismo vector de ataque: la mala configuración de la API, que debería haberse solucionado mucho antes de cualquier implementación de código o visibilidad pública del servidor. Doki utiliza la cadena de bloques de la criptomoneda satírica favorita de todos, Dogecoin, para actuar como una puerta trasera prácticamente indetectable. Tal como está, se ha deslizado sin dejar rastro desde enero.

Básicamente, el malware abusa de una billetera blockchain para generar nombres de dominio de comando y control (C2), lo que no es nuevo en sí mismo, pero Doki proporciona una capacidad continua para la ejecución remota de código en un servidor infectado, lo que da paso a una serie de ataques dañinos basados en malware, como el ransomware y los DDoS. Es implacable, como un «dux con un hueso», por así decirlo. La buena gente de Intezer tiene un reseña completa sobre toda la amenaza y su enorme carga útil.

Detectando una ruta de Doki en el código.

El hecho de que Doki sea una puerta trasera que opera en una red blockchain descentralizada, que emplea técnicas rápidas y elusivas de escape de contenedores para cubrir las pistas, acceder a más áreas del host y seguir propagando la infección, lo convierte en una pesadilla tanto para los desarrolladores como para los equipos de seguridad.

Aun así, Doki no puede infectar un servidor Docker que tenga puertos API seguros. Configurarlos mal durante el proceso de producción es un error que puede tener consecuencias de gran alcance, pero si se trata de un malware tan complejo y contundente, se puede decir que es una solución un tanto «sencilla» para que los desarrolladores de la nube adquieran conocimientos eficaces sobre seguridad y habilidades prácticas de codificación segura.

Veamos este ejemplo de una API de Docker insegura, una en la que Doki podría encontrar una forma de entrar y empezar a difundirse:

acoplado -H tcp: //0.0.0. 0:2375

¿Puedes detectar los errores de configuración? La versión segura tiene este aspecto:

dockerd -H tcp: //0.0.0. 0:2376 --tlsverify --tlscacert=/etc/ssl/certs/ca.pem --tlscert=/etc/ssl/certs/server-cert.pem --tlskey=/etc/ssl/private/server-key.pem

En el ejemplo inseguro, la API de Docker Engine escucha en el puerto TCP 2375 y aceptará ninguna solicitud de conexión, por lo que está disponible para cualquiera que acceda al servidor Docker.

En el ejemplo seguro, la API de Docker Engine se configuró para usar la validación de certificados TLS y solo aceptará conexiones de clientes que proporcionen un certificado en el que confíe su CA.

Tenemos un conjunto completamente nuevo de desafíos gamificados para ayudar a los desarrolladores a identificar y corregir la causa principal de una infección de Doki, y tú puedes jugar a uno. aquí:

La infraestructura de nube segura es un deporte de equipo.

Configuraciones incorrectas en la nube costaron a las organizaciones la asombrosa suma de 5 billones de dólares en 2018 y 2019, lo que representa miles de millones de registros expuestos y un daño irreversible a la reputación. Para un vector de ataque que es en gran medida evitable, esta es una estadística bastante alarmante. Y pensar que medidas como supervisar y corregir los puertos expuestos (idealmente antes de la implementación), comprobar si hay contenedores desconocidos y controlar cualquier carga excesiva de los servidores podrían detener los daños que provoca algo como Doki, es un precio módico a pagar por su tranquilidad.

La conciencia de seguridad en toda la empresa es fundamental y, para cada persona involucrada en el SDLC, operar con las mejores prácticas de seguridad no es negociable. Las mejores organizaciones están comprometidas con un proceso de DevSecOps sólido, en el que la responsabilidad por la seguridad sea compartida, y tanto los desarrolladores como los profesionales de AppSec tienen los conocimientos y las herramientas necesarios para evitar que las vulnerabilidades más comunes lleguen al software y a la infraestructura vital.
¿Quiere empezar como un ingeniero de nube superpotente y consciente de la seguridad? Empieza a poner a prueba tus habilidades ahora.

Share on social
Lema

Govern AI-driven development before it ships

Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.

book a demo
book a demo
Lema

Explore more blogs

Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.

browse all
Case Study
Filter Label
This is some text inside of a div block.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Learn More
Case Study
Filter Label
This is some text inside of a div block.

One Culture of Security: How Sage built their security champions program with agile secure code learning

Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Post-Quantum Cryptography: Quantum Computers Will Break Today’s Encryption – Are You Ready?

Post-quantum cryptography (PQC) is critical for protecting data from quantum computing threats. Learn how “harvest now, decrypt later” exposes risk and how developers can prepare for quantum-safe security.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Enabler 2: Senior Leadership Sponsorship

Explore Enabler 2: Senior Leadership Sponsorship. Learn why active buy-in from the CIO, CTO, and CISO is vital to drive developer adoption and program credibility.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI

While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.

Learn More

Secure AI-driven development before it ships

See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

Book a demo