Tipo de ataque informático
La revinculación de DNS es un método de manipulación de la resolución de nombres de dominio que se utiliza habitualmente como forma de ataque informático . En este ataque, una página web maliciosa hace que los visitantes ejecuten un script del lado del cliente que ataca a máquinas de otras partes de la red. En teoría, la política del mismo origen evita que esto suceda: los scripts del lado del cliente solo pueden acceder al contenido del mismo host que sirvió el script. La comparación de nombres de dominio es una parte esencial de la aplicación de esta política, por lo que la revinculación de DNS elude esta protección al abusar del Sistema de nombres de dominio (DNS).
Este ataque se puede utilizar para violar una red privada haciendo que el navegador web de la víctima acceda a computadoras en direcciones IP privadas y devuelva los resultados al atacante. También se puede emplear para utilizar la máquina víctima para enviar spam , ataques distribuidos de denegación de servicio u otras actividades maliciosas.
Cómo funciona la revinculación de DNS
El atacante registra un dominio (como attacker.com) y lo delega a un servidor DNS que está bajo el control del atacante. El servidor está configurado para responder con un registro de tiempo de vida (TTL) muy corto , lo que evita que la respuesta DNS se almacene en caché . Cuando la víctima navega hacia el dominio malicioso, el servidor DNS del atacante responde primero con la dirección IP de un servidor que aloja el código malicioso del lado del cliente. Por ejemplo, podrían apuntar el navegador de la víctima a un sitio web que contenga scripts maliciosos de JavaScript o Flash que están destinados a ejecutarse en la computadora de la víctima.
El código malicioso del lado del cliente realiza accesos adicionales al nombre de dominio original (como atacante.com). Estos están permitidos por la política de mismo origen. Sin embargo, cuando el navegador de la víctima ejecuta el script, realiza una nueva solicitud DNS para el dominio y el atacante responde con una nueva dirección IP. Por ejemplo, podría responder con una dirección IP interna o la dirección IP de un objetivo en algún otro lugar de Internet.
Protección
Las siguientes técnicas intentan prevenir ataques de revinculación de DNS: [1] [2] [3] [4]
- Los servidores DNS de la cadena pueden filtrar direcciones IP privadas y direcciones IP de bucle invertido :
- Los servidores DNS públicos externos (por ejemplo, OpenDNS ) pueden implementar el filtrado DNS. [5]
- Los administradores de sistemas locales pueden configurar los servidores de nombres locales de la organización para bloquear la resolución de nombres externos en direcciones IP internas. (Esto tiene la desventaja de permitir que un atacante asigne los rangos de direcciones internas en uso).
- Un firewall (por ejemplo dnswall), en el gateway o en el pc local, puede filtrar las respuestas DNS que pasan a través de él, descartando direcciones locales. [6] [7]
- Los navegadores web pueden resistirse a la revinculación de DNS:
- Los navegadores web pueden implementar la fijación de DNS: [8] la dirección IP se bloquea con el valor recibido en la primera respuesta de DNS. Esta técnica puede bloquear algunos usos legítimos de DNS dinámico y puede no funcionar contra todos los ataques. Sin embargo, es importante protegerse (detener la representación) si la dirección IP cambia, porque usar una dirección IP después de la expiración del TTL puede abrir la vulnerabilidad opuesta cuando la dirección IP ha cambiado legítimamente y la dirección IP expirada ahora puede estar controlada por un atacante.
- La extensión NoScript para Firefox incluye ABE , una función similar a un firewall dentro del navegador que en su configuración predeterminada previene ataques a la red local al impedir que páginas web externas accedan a direcciones IP locales.
- Los servidores web pueden rechazar solicitudes HTTP con un encabezado de Host no reconocido .
Véase también
Referencias
- ^ "Protección de navegadores contra ataques de revinculación de DNS" (PDF) . crypto.stanford.edu . Noviembre de 2007 . Consultado el 10 de diciembre de 2018 .
- ^ "Protección de navegadores contra ataques de revinculación de DNS" (PDF) . www.adambarth.com . Enero de 2009 . Consultado el 10 de diciembre de 2018 .
- ^ "DNS REBINDING" (PDF) . www.ptsecurity.com . 2012 . Consultado el 10 de diciembre de 2018 .
- ^ "Protección del enrutador contra posibles ataques de revinculación de DNS - Blog de inteligencia de seguridad de TrendLabs". blog.trendmicro.com . 2010-08-04 . Consultado el 2018-12-10 .
- ^ Ulevitch, David (14 de abril de 2008). "Finalmente, una solución real para los ataques de revinculación de DNS". Cisco . Consultado el 15 de julio de 2017 .
- ^ google-dnswall en GitHub
- ^ "Servicios — DNS — Protecciones de revinculación de DNS | Documentación de pfSense". www.netgate.com . Consultado el 10 de diciembre de 2018 .
- ^ "FireDrill: revinculación interactiva de DNS" (PDF) . www.usenix.org . Consultado el 10 de diciembre de 2018 .
Enlaces externos
- Protección de los navegadores contra ataques de revinculación de DNS (2007)
- Actualización de refuerzo de DNS para Adobe Flash Player (2008)
- Alerta de seguridad Sun 200041 para la JVM de Sun (4 de septiembre de 2008)
- Revinculación de DNS con Robert RSnake Hansen (2009)