Los nuevos ataques de canal lateral volverán a permitir ataques graves de envenenamiento de caché de DNS

Ataques de envenenamiento de caché de DNS

Los investigadores han mostrado otra variante del ataque de envenenamiento de caché de DNS SAD, que deja vulnerable a alrededor del 38 % de los traductores de nombres de dominio y permite a los atacantes redirigir el tráfico originalmente destinado a sitios web legítimos a un servidor bajo su control.

«El ataque permite que un atacante que está fuera del camino coloque un registro de DNS malicioso en el caché de DNS», dijeron los investigadores de la Universidad de California, Keyu Man, Xin’an Zhou y Zhiyun Qian. «Un ataque DNS SAD permite a un atacante redirigir cualquier tráfico (destinado originalmente a un dominio específico) a su propio servidor y luego convertirse en un atacante de intermediario (MITM), lo que permite espiar y manipular las comunicaciones».

El último error afecta a los núcleos de Linux, así como al popular software DNS, incluidos BIND, Unbound y dnsmasq que se ejecutan en Linux, pero no en otros sistemas operativos FreeBSD o Windows.

Del ataque Kaminsky al SAD DNS

El envenenamiento de caché de DNS, también llamado falsificación de DNS, es una técnica en la que un sistema de resolución de DNS almacena en caché los datos dañados para que las consultas de DNS devuelvan una respuesta incorrecta (es decir, una dirección IP) para un dominio de confianza (por ejemplo, www.example.com) y los usuarios son redirigido a sitios web maliciosos. El ataque, descubierto originalmente por el investigador Dan Kaminsky en 2008, se basó en el hecho de que los resolutores recursivos generalmente usaban un solo puerto abierto (generalmente 53) para enviar y recibir mensajes a servidores de nombres autorizados.

No solo ha hecho que adivinar el puerto de origen sea trivial, sino que un adversario puede generar una respuesta inundando el sistema de resolución de DNS con respuestas para algunas o todas las aproximadamente 65 000 ID de transacción posibles que se adjuntan a las solicitudes de búsqueda de DNS enviadas a los servidores de nombres.

Para lograr esto, el atacante podría adivinar el identificador de 16 bits, es decir, solo puede haber 65.536 valores de ID de transacción, que se utiliza para autenticar el servidor de nombres y demostrar que la dirección IP devuelta es legítima. Por lo tanto, si llega una respuesta maliciosa con el ID de transacción correcto antes de la respuesta del servidor autorizado, la caché de DNS se envenenaría y se devolvería la dirección elegida por el atacante en lugar de la dirección IP legítima.

Ataques de envenenamiento de caché de DNS

Pero debido a que el compilador recursivo almacena en caché la información recibida de los servidores de nombres autorizados, también significa que si el compilador recibe una solicitud de una dirección IP de nombre de dominio que otro cliente solicitó recientemente, solo responde a la entrada solicitada desde su caché sin tener que hacerlo. comunicarse con los servidores de nombres.

Desde entonces, los ataques no han sido factibles mediante el aumento de la entropía mediante el uso de ID de transacciones junto con un puerto UDP aleatorio como segundo identificador en lugar de utilizar el puerto predeterminado 53 para las consultas de búsqueda. Sin embargo, los canales laterales con fugas recientemente descubiertos han hecho posible eliminar el número de puerto transitorio y cancelar las protecciones de manera efectiva.

SAD DNS, también conocido como Side channel AttackeD DNS, publicado por el mismo grupo de investigadores en noviembre de 2020, se basa en el informe ICMP «puerto no disponible» como un medio para derivar qué puerto transitorio se utiliza. Si bien ICMP es necesario para enrutar diagnósticos y respuestas de error en una red IP, la función de protocolo de limitación de velocidad proporciona un mecanismo para limitar la cantidad de ancho de banda que se puede usar para el tráfico ICMP entrante en un puerto para evitar ataques de denegación de servicio (DoS). eso puede ocurrir cuando un atacante intenta sobrecargar la red con mensajes ICMP.

Un nuevo ataque de canal lateral involucra a un atacante que envía varias sondas UDP falsificadas que contienen la dirección de origen falsificada de la víctima a un objetivo que es lo suficientemente grande como para activar un límite de velocidad, utilizando esta técnica para restringir los puertos abiertos y adivinar las ID de transacciones, por ejemplo, en el caso de Kaminsky. ataque original.

Ataques de envenenamiento de caché de DNS

«Específicamente, si el número de puerto adivinado (en una sonda UDP falsa) coincide con el puerto transitorio correcto, el resolutor no generará un mensaje ICMP (de lo contrario, lo sería)», dijeron los investigadores. «Esto da como resultado un contador de límite estacionario o una disminución en el contador. Luego, un atacante puede verificar si el contador se ha agotado al intentar solicitar respuestas ICMP utilizando la sonda UDP desde su IP real / no compatible».

Área ofensiva previamente pasada por alto

Mientras que los métodos anteriores para calcular el DNS de SAD utilizan sondeos UDP para determinar si un puerto UDP está abierto o cerrado, un ataque de envenenamiento de caché de DNS recién descubierto examina directamente un canal secundario durante el proceso de procesamiento de mensajes de error ICMP, es decir, un fragmento ICMP o ICMP es requerido. reenvío de paquetes, que por su naturaleza no provoca una respuesta y la utiliza como criterio para lograr el mismo objetivo.

«El atacante no necesariamente tiene que depender de los comentarios explícitos de la ICMP», dijeron los investigadores. «En cambio, incluso si el procesamiento de las sondas ICMP es completamente silencioso, si hay un recurso compartido cuyo estado se ve afectado, podemos encontrar formas (otras sondas) de observar el cambio de estado del recurso compartido».

La idea central del ataque es usar un número limitado de ranuras totales en el caché de excepción global, la tabla hash de 2048 cubos, para distinguir si se ha producido una actualización después de un lote de sondeos ICMP. La barra lateral también se diferencia de SAD DNS en que surge cuando se procesan los mensajes ICMP entrantes (a diferencia de los paquetes salientes) y «utiliza el límite de espacio (es decir, el espacio para almacenar caché de excepción de omisión adicional es limitado), mientras que la barra lateral de SAD DNS utiliza el límite de fuente de tiempo (es decir, la tasa de generación de errores ICMP es limitada).

Los investigadores proponen una serie de mitigaciones para evitar el último ataque, como la aleatorización de la estructura de caché, el rechazo de mensajes de redirección ICMP y la configuración de la opción de socket IP_PMTUDISC_OMIT, que indica al sistema operativo base que no reciba los mensajes de fragmentos ICMP necesarios y, por lo tanto, elimina por completo el kernel. procesamiento de canal lateral.

«DNS es uno de los protocolos básicos y antiguos de Internet que admite muchas aplicaciones y servicios de red», dijeron los investigadores. «Desafortunadamente, el DNS se diseñó teniendo en cuenta la seguridad y está expuesto a una serie de ataques graves, uno de los cuales es el conocido ataque de envenenamiento de caché de DNS. A lo largo de las décadas de evolución, ha resultado extremadamente difícil equiparlo con una seguridad sólida. características.»

Continua leyendo