No estoy seguro si el término "envenenamiento de caché" significa lo que crees que significa; No es una forma de DoS, sino una violación de seguridad.
Con respecto a los ataques UDP y DoS, dado que los ISP no siempre filtran el campo IP de origen de los paquetes UDP, a veces es posible enviar paquetes de manera fraudulenta en nombre de otros servidores. Esto hace posible todo tipo de ataques DoS amplificados y reflejados , cuyo tema creo que se trata.
Uno de los ataques DoS más peligrosos hoy en día es el clásico ataque de amplificación de DNS, donde, al igual que una inundación SYN clásica, los paquetes se falsifican en una computadora con el campo source IP maliciosamente manipulado. En este ataque, se informa que el origen del paquete es el objetivo final, por lo que la respuesta del servidor, generalmente diseñada para ser muchas veces más grande que la solicitud enviada por el atacante, se enviará al objetivo. Esto hace que los servidores de nombres multipliquen el tamaño de la inundación, por lo tanto el ancho de banda consumido y también hace que la fuente del ataque sea increíblemente difícil de rastrear.
Por supuesto, esto puede extenderse a un ataque DRDoS (denegación de servicio, distribuida y reflejada), donde múltiples conexiones maliciosas están falsificando solicitudes en varios servidores de nombres en nombre del objetivo del ataque, para multiplicar el ancho de banda de los servidores de nombres. y apunta al objetivo final.
Para ser claros, UDP no es necesario para envenenar un caché de DNS, ¡aunque la falta de fiabilidad de los paquetes ciertamente introduce muchos ataques, especialmente cuando las extensiones DNSSEC no están instaladas!
Es completamente posible que un empleado malintencionado en un ISP (o cualquier persona que tenga acceso administrativo a un servidor de nombres en cuestión) pueda corromper una pieza de memoria usando alguna vulnerabilidad local, por ejemplo, y esto constituiría un caché de DNS. envenenamiento ataque que no se basa en UDP en absoluto.
Incluso cuando se usa TCP en lugar de UDP, es completamente posible que pueda haber un error en algún lugar de un chip de RAM entre el origen y el destino, lo que causa que un bit se invierta. Un pequeño cambio de stac k
overflow.com a stac i
overflow.com en el lado del cliente provocará que la solicitud se reenvíe a un servidor de nombres potencialmente malicioso. por ejemplo, que podría responder como si fuera el propietario de ese dominio. Esto se llama bitsquatting , y no se basa específicamente en UDP; DNS admite (al menos parcialmente) TCP, después de todo.
Además, en cada paquete hay un campo TTL (time-to-live), que cada enrutador actualiza a medida que el paquete se envía desde el enrutador al enrutador hacia el destino. La razón de esto es para que se pueda notificar a la fuente si no existe una ruta, por ejemplo. Desafortunadamente, esto significa que la suma de comprobación debe actualizarse en cada salto, lo que significa que los errores en la memoria en cada salto pueden no ser identificados por el mecanismo de suma de comprobación de UDP. Gran ceño fruncido: :(
Si bien podemos ver que los ataques de envenenamiento de la memoria caché del DNS son sin duda una preocupación importante, creo que ahora debería poder ver cómo no son realmente relevantes para la mayor parte de su pregunta.