sábado, 27 de diciembre de 2008

Arreglar el DNS

En la charla de Dan Kaminsky no se habló del bug de DNS, que es ya historia pasada, sino más bién de sus consecuencias, tanto un poco por encima del despliegue y de que todavía se podría poner una solución más definitiva, porque es un problema de diseño.

Ponía el ejemplo de tres problemas importantes que se han podido ver este año y que se podrían haber solucionado con un DNS que diese autenticación, y de alguna manera pudiese usar la infraestructura más grande de internet y que está federada para almacenar además seguridad (los bugs eran las ssl vpns, cookie monster, evilgrades, intentaré poner URLs más tarde).

Dan propone utilizar DNSSEC para dar seguridad, con unas cuantas mejoras (y entre otras cosas, firmar la raíz de DNSSEC), aunque admite que sería un despliege tan complejo como el parche de "Source Port Randomization" (la solución al problema del DNS).

En parte la charla era una argumentación en favor de una solución basada en DNSSEC y en contra de DNS curve, una solución alternativa propuesta por Daniel J. Bernstein y basada en criptografía de curvas elípticas, que argumenta que no es escalable y requiere una mayor carga en los servidores que DNSSEC (ya que consiste si no lo he entendido mal en utilizar un algoritmo de cifrado muy rápido para firmar las respuestas de DNS sobre la marcha). Sin embargo, en un intento de ser conciliador, dice que tiene buenas ideas que se podrían añadir a DNSSEC.

Pero como todas las charlas de Dan (recomiendo verlas cuando salga el video aqui), estaba salpicada de temas laterales
  • Como un ataque a un servidor de drupal a base de registrarse con una dirección de correo en un dominio controlado por nosotros, que se utiliza para envenenar el dns del servidor, y redirigir el password de reset del administrador, y al final como golpe de gracia, para redirigir el sql del almacenamiento del servidor a otro servidor, también nuestro.
  • O el desarrollo del comprobador de DNS web que desarrolló para detectar servidores DNS vulnerables, que codifica en cinco peticiones CNAME consecutivas todos los datos recibidos de la consulta de DNS para luego comprobar si se están aleatorizando bien.

No hay comentarios:

Publicar un comentario