Envenenamiento de caché DNS
¿Qué es Envenenamiento de caché DNS?
Envenenamiento de caché DNSAtaque que inserta registros falsos en la caché de un resolutor DNS para que las consultas posteriores devuelvan direcciones elegidas por el atacante hasta que expire el TTL.
El envenenamiento de caché DNS apunta a los resolutores recursivos, engañándolos para que acepten una respuesta falsificada que luego almacenan y sirven. Para resultar creíble, una respuesta suplantada debe coincidir con el nombre de la consulta, llegar por el puerto UDP correcto y llevar el identificador de transacción (TXID) de 16 bits adecuado; por eso los ataques clásicos se reducen a adivinar o ganar la carrera por esos campos antes de que llegue la respuesta autoritativa legítima.
La divulgación de Dan Kaminsky en 2008 (CVE-2008-1447) lo hizo practicable: al forzar consultas de subdominios aleatorios e inundar el resolutor con conjeturas del TXID de 16 bits, un atacante podía seguir reintentando sin esperar a que se cachease una respuesta negativa, envenenando así el registro NS del dominio padre. La solución de emergencia fue la aleatorización del puerto de origen, que amplió el espacio de conjeturas de 16 a unos 32 bits. En 2020, investigadores de UC Riverside y Tsinghua presentaron SAD DNS (CVE-2020-25705): un canal lateral en el contador global de límite de tasa de ICMP de Linux que permite a un atacante fuera de la ruta inferir el puerto de origen efímero abierto, anulando esa ventaja. Linux lo corrigió aleatorizando el contador del límite de tasa de ICMP (kernel 5.10+).
flowchart TD
A[El atacante provoca una consulta de random.bank.com] --> R[Resolutor recursivo]
R -->|"consulta UDP, TXID + puerto de origen aleatorios"| NS[NS autoritativo real]
A -.->|"inunda respuestas falsas: adivina TXID + puerto"| R
R --> M{¿La respuesta falsa coincide<br/>en nombre + puerto + TXID<br/>antes que la real?}
M -->|Sí| P[Registro envenenado cacheado durante todo el TTL]
M -->|No| L[Respuesta legítima cacheada]
P --> V[Todos los clientes del resolutor redirigidos a la IP del atacante]Defensas: DNSSEC (RFC 4033–4035) firma criptográficamente los registros, de modo que las respuestas falsificadas no superan la validación; la aleatorización de mayúsculas 0x20 y la minimización del nombre de consulta añaden entropía; y los transportes cifrados (DoH/DoT) eliminan por completo la superficie de UDP en texto plano. Los TTL cortos y conservadores limitan el radio de impacto cuando el envenenamiento llega a producirse.
● Ejemplos
- 01
El ataque Kaminsky de 2008 (CVE-2008-1447), que explotaba fallos de predicción de puertos en los principales resolutores.
- 02
SAD DNS (CVE-2020-25705), que resucitó el envenenamiento mediante un canal lateral en el límite de tasa de ICMP.
● Preguntas frecuentes
¿Qué es Envenenamiento de caché DNS?
Ataque que inserta registros falsos en la caché de un resolutor DNS para que las consultas posteriores devuelvan direcciones elegidas por el atacante hasta que expire el TTL. Pertenece a la categoría de Ataques y amenazas en ciberseguridad.
¿Qué significa Envenenamiento de caché DNS?
Ataque que inserta registros falsos en la caché de un resolutor DNS para que las consultas posteriores devuelvan direcciones elegidas por el atacante hasta que expire el TTL.
¿Cómo defenderse de Envenenamiento de caché DNS?
Las defensas contra Envenenamiento de caché DNS combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Envenenamiento de caché DNS?
Nombres alternativos comunes: Envenenamiento de caché, Suplantación de DNS (caché).