Toda Internet en peligro por culpa del DNS?

image El DNS siempre fue un gran olvidado por años en lo que respecta a la seguridad en IT, aunque últimamente muchos venían levantando voces sobre el peligro que representaba. Ahora, todos parecen haberse puesto de acuerdo en el problema gracias al especialista en seguridad Dan Kaminsky, y todos los grandes pilares de Internet y del Software, como Cisco, Microsoft, Debian, Red Hat, y un larguísimo etcétera, están liberando parches para solucionarlo.

El problema que existe con el servicio de DNS es tan viejo como su propia creación probablemente, y radica en la forma en que se realizan las transacciones entre los servidores DNS no autoritativos que realizan consultas a otros servidores y cacheo de las respuestas. DNS utiliza el protocolo UDP, que es liviano y a diferencia de TCP no tiene ningún control de sesión o secuencia de paquetes, por lo que la respuesta a cada petición DNS es autenticada únicamente mediante estas condiciones:

  • Debe existir una petición exclusiva para esa respuesta.
  • La dirección IP de origen debe ser la misma a cuyo servidor se le envió la petición.
  • Cada petición utiliza un número de ID único de 16 bits, el cual debe ser idéntico al de la respuesta.
  • La respuesta debe ser enviada al mismo puerto de donde se originó la petición.

Hasta acá parece que la seguridad estaría bastante cubierta, pero como siempre, del dicho al hecho hay largo trecho, y en la práctica las cosas no son tan lindas como en la teoría.

Empecemos porque bajo determinadas circunstancias se puede falsificar una dirección IP de origen, en este caso para que parezca que viene del servidor DNS al que se le hizo el request. Pero eso no es todo. El campo de ID, el verdadero número de autenticación de una petición/respuesta DNS, al ser de 16 bits sólo puede tener 65.536 combinaciones posibles; dicho número se supone que debe ser creado, para cada petición, por un generador de números pseudoaleatorios lo suficientemente fuerte como para evitar que pueda adivinarse fácilmente. El problema es que no todas las implementaciones de servidor DNS tienen generadores lo suficientemente "aleatorios" como para que alguien no pueda adivinar en qué rango estarán estos números, con lo que las posibilidades de acierto del ID aumentan mucho. Si a eso le sumamos que el puerto de origen también se vuelve fácil de adivinar por implementaciones como la de BIND (famoso servidor DNS del mundo *nix) donde el puerto de origen cambia aleatoriamente, pero una sola vez al reiniciar, saliendo luego todas las peticiones desde el mismo, la cosa toma más color y se vislumbra la posibilidad de un ataque, en varios paquetes de respuesta falsos que deben llegar antes que el del servidor original (sería una ventana de aproximadamente 1 segundo), o acallando a este mediante un ataque DDoS relámpago. Si uno de esos paquetes la pega, podemos decirle entonces, por ejemplo, que para el dominio banco-online.com, al que el usuario X quería ingresar para chequear su cuenta bancaria, la dirección IP no es la real de ese sitio, sino, claro, la de un sitio falso idéntico al anterior, que pretende mediante el phishing robar la clave del visitante en cuestión, y de todos los demás que deseen visitar dicho dominio en ese momento ya que la resolución con esa IP falsa quedará guardada por un buen tiempo el la caché del servidor DNS; de ahí que uno de los nombres de este ataque sea DNS cache poisoning.

Muchos argumentan que esta movida, esta respuesta conjunta y articulada de todos los involucrados en las entrañas de Internet tiene que ver no con la novedad de un conjunto de vulnerabilidades que ya se conocían de hace tiempo, sino con el surgimiento de algún nuevo exploit capaz de aprovecharlas de manera muy eficiente. No dudo que sea ese el motivo.

Qué podemos hacer nosotros? Si somos administradores y mantenemos algún servidor DNS, implementar las actualizaciones correspondientes a la plataforma utilizada, así como también para todas las estaciones de trabajo, ya que las vulnerabilidades en muchos casos afectan también al cliente DNS de cada host, pero tomando precauciones; hay reportes de que por ejemplo Zone Alarm detecta el nuevo comportamiento de las peticiones DNS como una especie de malware y las bloquea. En el caso de todos como usuarios, además de actualizar nuestro equipo con los últimos parches, podemos verificar si los servidores DNS de nuestro ISP son vulnerables mediante el chequeador de vulnerabilidad DNS que Kaminsky publicó en su sitio web. Y como este test de momento nos dará casi con seguridad que nuestro ISP tiene servidores vulnerables, la mejor opción es usar los de OpenDNS, que no están afectados.

Más información en:

Kriptópolis: Fallo crítico en DNS obliga a parchear toda Internet

US-CERT: Multiple DNS implementations vulnerable to cache poisoning

DShield: Multiple Vendors DNS Spoofing Vulnerability

Dark Reading: Vendors Issue Massive Simultaneous Patch for Common Internet Flaw

Actualización: Al parecer se filtró antes de tiempo parte de la información confidencial que Kaminsky venía guardando para evitar que los exploits estén disponibles antes que los parches, en el blog de Matasano Security expusieron detalles que borraron rápidamente, pero como siempre, Google recuerda todo.



Entradas Relacionadas

Top 100 de especies en extinción

Cómo evitar que se roben tu cuenta de GMail

OpenDNS, es tu amigo?

Fallo DNS: Ya parcheamos, realmente estamos seguros ahora?

Clickjacking, el nuevo cuco de la inseguridad en Internet

Por la guita baila el mono


Hacete amigo del dolor...


Hacelo vía feed o por email:

Geekotic en Twitter

Todos tenemos un pasado que nos condena...

Adoremos al egómetro

Ya mantenemos delincuentes pagando los impuestos

No Al Canon en Argentina

Si querés copiame pero mencioname (y no pienso hacerme cargo de tu mal gusto)

Guillermo

Usando Mozilla Firefox Mozilla Firefox 2.0.0.14 en Windows Windows XP

Excelente artículo, muy claro, muchas gracias Gabolonte.

Por lo que ví en el test de Poisoning, Arnet es vulnerable.

SpamLoco

Usando Mozilla Firefox Mozilla Firefox 3.0 en Windows Windows XP

Como dice Guillermo, muy bueno.

Con OpenDNS me encontré con una página que pasa lo siguiente: al escribir picjuice.com no me deja entrar, sin embargo escribiendo la url completa accedo sin problemas. No sé por qué pasa eso.

Gabriel UNITED STATES

Usando Opera Opera 9.51 en Windows Windows Vista

Yo tengo Arnet y hace dos o tres dias que tengo problemas para acceder a cualquier sitio. Tenía que hacer recargar la página hasta cuatro veces para que por fin entrara.
En eso estaba cuando aparece el master Gabolonte y recomienda OpenDNS.
Lo estoy probando y noto tres cosas, que no se hasta que punto tendran que ver con usar OpenDNS:
1.- todo va más rapido.
2.- no tuve más problemas para entrar a ninguna página, cargan de primera
3.- despues que configure OpenDNS en mi router wifi ya no pude entrar al sitio de OpenDNS y el updater de IP dinámica me dice que no estoy conectado a Internet :P

Por suerte los filtros, otra razón por la que configure OpenDNS, los configure antes de configurar los DNSs en el router…

Ahora espero que funciones porque sino mis hijos de 8 años van a ver cosas que no deberían antes de tiempo y lo peor es que me van a preguntar a mi que carajo están haciendo ese señor y esa señora :D

Gabolonte Blasfemus ARGENTINA

Usando Opera Opera 9.51 en Windows Windows XP

Gabriel: Es extraño lo que te pasó, tendrías que probar en primer lugar si todo vuelve a la normalidad revirtiendo la configuración de tu router. Yo los puse en el mio y no pasó nada, pero volví a sacar todo porque OpenDNS no me deja resolver dominios de servicios de DNS dinámico, al parecer los tiene escrachados como maliciosos porque seguro que muchos los usarán para esparcir mierda por ahí.

SpamLoco: Como vez, tiene esas cosas raras OpenDNS. Pero yo lo tengo configurado en una oficina de al menos 20 máquinas, a causa de lo vergonzosamente mal que andan los del mexicano que hace dieta con Slim :P, y no tuve un solo poblema. El único problema se me presentó a mi con lo de los dominios de DNS dinámicos.

SpamLoco

Usando Mozilla Firefox Mozilla Firefox 3.0 en Windows Windows XP

Lo de picjuice.com, ya entendí lo que pasaba gracias a un comentario que me dejaron. OpenDNS en vez de mostrarte errores como por ejemplo el 404 de página no encontrada, te muestra una página propia que es un buscador. Por lo que leí eso lo hacen para ganar algo de $$ y bancar el servicio.

Pero lo que te pasó a vos, lo que comentaste, es diferente. Seguro bloquean esos accesos por alguna razón de seguridad.

Gabriel UNITED STATES

Usando Opera Opera 9.52 en Windows Windows Vista

El problema de accceso a openDNS se resolvió solo, ellos estaban haciendo algo en el sitio pero se acrodaron un poco tarde de avisar y el cliente para refrescar la IP ahora está andando. Probe los filtros con varios sitios lujuriosos y anda joya así que las pequeñas bestias están relativamente a salvo… aunque a la tele todavia no le puedo bloquear las propagandas ;)

Por ahora voy a dejar OpenDNS, la verdad que no se porque pero va más rápido todo y no tuve mas problemas de tener que refrescar una página cuatro veces para que cargue.

Aviso: Esta entrada tiene al menos 3 meses. Si querés estar al tanto si yo o alguien más se digna a contestarte (cosa sobre la cual tengo mis dudas) te conviene suscribirte al feed de comentarios para este post o activar la opción de aviso por email.


Cerrar
Enviar por Correo