En la última reunión de la ICANN en Egipto, Kim Davies explicó a una audiencia no técnica porqué el Sistema DNS es vulnerable a los ataques (DNS Spoofing).
¿Cómo funciona el DNS (Domain Name System)?
El DNS es como un sistema de respuestas y preguntas. Cuando escribes una dirección en el navegador, por ejemplo www.domisfera.com, este preguntará a los servidores DNS cuál es la dirección IP. Obtendrá 82.194.79.198 como respuesta y entonces lanzará una petición HTTP esa dirección IP para obtener la página web correspondiente.
¿Cómo puedes atacar el DNS?
Un ataque consiste en suministrar una dirección IP distinta. Cuando un ordenador al que quiero atacar pregunta por una dirección, el objetivo es proporcionarle una respuesta falsificada que reciba antes que la respuesta legítima. Si es lo suficientemente rápida, procesará antes mi respuesta que la del servidor oficial.
Este tipo de direcciones falsificadas se suele utilizar, por ejemplo, para enviar peticiones hacia una web réplica de un banco con la que obtener información sensible del usuario.
El DNS es mucho más eficiente cuando se utilizan servidores caché DNS. Estos servidores pueden estar ubicados en el ISP o en redes corporativas y resolver las peticiones realizadas por los clientes. Almacenan las respuestas, de modo que futuras peticiones se resuelven mucho más rápido.
Si se ejecuta un ataque contra este tipo de servidores, la respuesta falsificada permanecerá en la caché y su impacto será mayor. Y mucho más aún si la respuesta cacheada falsificada es redistribuida a otros servidores caché DNS. Por ese motivo este tipo de ataques se llaman "envenenamiento caché" (DNS Poisoning).
¿Es algo tan sencillo como enviar una respuesta más rápido?
En principio sí, pero es un poco más refinado. La respuesta debe tener una serie de parámetros que encajen con la petición DNS. Este tipo de parámetros son fácilmente deducibles, ya que el ordenador víctima del ataque es conocido y el dominio que está tratando de impersonar también.
Sin embargo hay dos parámetros que hay que adivinar. Uno es el servidor del cual procede la pregunta. Cada dominio tiene una media de dos o tres posibles servidores, con lo que la probabilidad de acertar es de 1/3.
El segundo parámetro es un número de referencia único ("transaction ID"). Este número puede variar entre 1 y 65.000.
A comienzos de año, el investigador en seguridad Dan Kaminsky averiguó que es tremendamente sencillo probar todas las posibilidades en un tiempo relativamente pequeño ejecutando el ataque de una cierta manera. Las pruebas del investigador británico John Dickinson demostraron que podía atacar un servidor en una media de sólo 1.3 segundos.
¿Esto se puede arreglar?
Lo triste es que no hay una solución real. No es un problema de seguridad de sofware que se pueda arreglar con un parche o una actualización. Es un error de la arquitectura del protocolo DNS. Si bien es cierto que hay parches para el software DNS, no solucionan el problema, lo único que hacen es dificultar la ejecución de los ataques.
Algunas de las aproximaciones que hacen los ataques más difíciles son:
Hacer que el puerto fuente sea aleatorio: Uno de los atributos que un hacker necesita conocer es el puerto. Por razones arquitectónicas debe ser el 53. Así es cómo el servidor identifica que es una petición DNS, diferenciándola del resto de peticiones. Sin embargo el puerto al que se envía la respuesta no debe ser necesariamente el 53. Haciendo que sea aleatorio se dificulta el ataque. Muchas actualizaciones de sofware DNS de 2008 son relativas a este punto.
Bloquear el uso de los servidores caché DNS: Si estos servidores pueden ser usados por cualquiera en Internet, es fácil que cualquiera ejecute un ataque desde Internet. La idea es limitar el acceso de manera que se reduzca el riesgo (por ejemplo, sólo accesible a los clientes del ISP o los usuarios de la red local).
Experimentación con las mayúsculas/minúsculas de un dominio: En la práctica no se tiene en cuenta si un dominio está escrito en mayúsculas o minusculas. En un navegador es lo mismo DOMISFERA.COM que domisfera.com. Sin embargo, dentro del protocolo DNS, es posible diferenciarlos, porque las transmisiones codificadas entre ordenadores diferencian entre mayúsculas y minúsculas. Esta propiedad puede ser usada de manera aleatoria, de modo que si la pregunta sobre el dominio dOmIsfERA.cOM recibe una respuesta sobre el dominio domisfera.com, puede descartarla. Esta aproximación aún está en fase de discusión.
Todas estas soluciones se basan en reducir el riesgo aumentando en el número de bits aleatorios que el atacante debe averiguar. Lo hacen más difícil, pero aún sigue siendo viable. El continuo aumento de la velocidad de las redes y los ordenadores harán que los ataques sean más fáciles en un futuro.
¿Cuál es la solución a largo plazo?
Mientras el DNS no pueda ser corregido para evitar estos problemas de seguridad, existe un nuevos protocolo llamado DNSSEC que los corrige y que se basa en certificados que aseguran que la respuesta no ha sido modificada. DNSSEC es dificil de instalar. Requiere actualizaciones en los servidores DNS y cambia la manera en que los propietarios de los dominios gestionan sus DNS.
Han dejado 4 comentarios...
¿Qué es DNS Spoofing? | SinapsysMx.Net
3 de diciembre de 2010 at 23:03
[…] Fuente: Domisfera http://www.segu-info.com.ar […]
Domisfera » Articulo » Situación de los dominios .eu de la Unión Europea
14 de marzo de 2011 at 12:58
[…] 3) Se introdujo DNSSEC en Septiembre, un nuevo protocolo que corrige las vulnerabilidades del Sistema DNS. […]
Herramientas y patentes de VeriSign
9 de octubre de 2012 at 7:02
[…] otra patente para facilitar el cambio de proveedores de hosting en dominios que utilicen DNSSEC y que fue publicada el 3 de Octubre de […]
Se reduce un 20% el precio de los dominios .ee de Estonia
7 de enero de 2014 at 12:13
[…] a partir de Enero han implementado DNSSEC en este […]