Crítico: Vulnerabilidad en protocolo DNS

Hace apenas algunas horas acaba de publicarse (http://www.kb.cert.org/vuls/id/800113) una vulnerabilidad en el diseño del protocolo DNS y en la implementación que de ella hacen muchos fabricantes que podría permitir a un atacante realizar envenenamiento de Cache DNS.

Según se puede leer en el reporte de la vulnerabilidad, el problema radica (entre otros no especificados) en el campo ID que sirve para identificar que la respuesta recibida es efectivamente una contestación a la petición DNS realizada. Dicho campo, según el protocolo, tiene 16 bits de longitud, lo cual se estima insuficiente para poder garantizar la seguridad. Además, la implementación que realizan la gran mayoría de desarrolladores no realiza una correcta “randomización” del puerto de origen de la petición, por lo que dado la facilidad de realizar ataques de Spoofing de tráfico UDP, la predictibilidad del puerto origen y el corto espacio de posibles IDs hace posible que un atacante remoto pudiera generar multiples paquetes para todos los posibles IDs con tan solo ser capaces de predecir el puerto de origen de la petición y de esta manera realizar un envenenamiento de la Caché del servidor DNS atacado.

Imagínense el impacto de algo así, bajo este ataque, no tenemos ninguna certeza de que ninguna de las webs que visitamos es la que dice ser, ni siquiera otros servicios tan críticos como actualizaciones de seguridad.

Por suerte todos utilizamos protocolos cifrados para nuestras comunicaciones y comprobamos los certificados SSL/fingerprint cuidadosamente para verificar que el sitio donde queremos acceder es realmente donde estamos accediendo, ¿verdad? :P

Según comenta el propio descubridor de la vulnerabilidad, Dan Kaminsky (http://www.doxpara.com/), que ha incorporado una herramienta en su web para que podamos verificar si somos vulnerables o no, el descubrimiento de la vulnerabilidad se ha mentenido en secreto por algún tiempo y ha sido coordinada con los principales desarrolladores de software de servicios DNS para que tuvieran preparadas las pertinentes actualizaciones de seguridad antes de dar a conocer al mundo la vulnerabilidad. Consecuencia de ello es que los principales fabricantes ya han publicado, casi simultáneamente con la publicación de la vulnerabilidad, los parches pertinentes. Entre ellos, podemos destacar el advisory de BIND (el servidor DNS más usado en Internet) y el de Microsoft (no por ser el segundo más usado, sino por relevancia de la marca).

Se recomienda a todos los lectores que verifiquen si su servidor DNS es vulnerable a este tipo de ataques (casi con toda seguridad lo será) y que apliquen los parches de seguridad a la mayor brevedad posible, ya que aunque se ha comentado que la ingeniería inversa de los parches publicados es realmente complicada, no es imposible, por lo que se espera la aparición en breve de herramientas automáticas que aprovechen estas vulnerabilidades, incluidas aquellas no documentadas en el advisory
oficial.

Se espera también que Dan Kaminsky de más detalles sobre las vulnerabilidades encontradas y los vectores de ataque en la próxima Black Hack USA que tendrá lugar este mes de agosto.

Saludos y a parchear.