Seria vulnerabilidad de DNS corregida en Silencio

CERT ha anunciado un parche para múltiples implementaciones de DNS hoy, de manera masiva para muchas implementaciones diferentes. A principios de este año, el investigador Dan Kaminsky descubrió una vulnerabilidad básica en el protocolo DNS que ayudaría a los atacantes a comprometer cualquier servidor de nombres, incluyendo también a los clientes. Kaminsky ha venido trabajando en secreto con un grupo largo de vendedores en un parche coordinado. 81 vendedores han sido listados en la advisory de la CERT.

Esta disponible un podcast entrevistando a Dan Kaminsky y su sitio web contiene una herramienta de verificacion de DNS.

Se dice que esta es la más grande actualización sincronizada referente a seguridad en la historia de la Internet. La mayoría de personas se actualizaran automáticamente y hay parches para las diferentes implementaciones de DNS. El problema esta en el diseño de DNS y no esta limitado a ningún producto en particular y como DNS es usado en toda computadora conectada a Internet para localizar otras computadoras. Aprovechándose de esta vulnerabilidad, un atacante podría fácilmente tomar control de porciones de la Internet y redirigir a los usuarios a sitios arbitrarios y/o maliciosos. Se podría inclusive reemplazar sitios web completos con otros falsos, operar sobre los falsos con contenido malicioso, capturar dominios completos de e-mail, redirigir el trafico a otros sitios, etc.

Segun el advisory, los sistemas vulnerables son aquellos donde el ID de transacción de 16-bits en el DNS y el numero de puerto para la transacción (tambien 16-bits) no son escogidos de manera aleatoria. El reporte tambien nos dice que el atacante debe ser capaz de falsificar su direccion IP y no deben estar detraz de algun IPS que filtre trafico de salida. El resultado de dicha vulnerabilidad: ataque de envenenamiento al DNS. Este ataque ya habia sido documentado de cierta forma en el 2003 (Cache Poisoning using DNS Transaction ID Prediction), sin embargo se necesitaban de un gran numero de paquetes para hacer funcionar el ataque, y no era confiable. Podemos ahora decir que tenemos una estrategia más efectiva ya que podemos saber como el servidor DNS asigna los números de transacción y el puerto.

El problema radica en que las direcciones IP de origen pueden ser manufacturadas y que el ID de transacción de DNS es de 16 bits, lo cual es un poco corto para ser considerado una llave randomica usable. Ese ID, como cualquier llave que tenga implicaciones den la seguridad, debería ser de por lo menos 64 bits y ser generada por un generador de números aleatorios de grado criptografico. Otra solución elegante podría ser reemplazar la infraestructura actual de DNS por DNSSEC, solo que actualmente DNSSEC es muy complicado para popularizarlo.

Los detalles tecnicos de esta vulnerabilidad seran presentados por Dan en Black Hat, sin embargo los parches de randomizacion del puerto hacen de este ataque impractico (más no imposible ni menos divertido)

Subir