lunes, 28 de octubre de 2002

Preguntas y respuestas sobre los ataques a los servidores raíz del DNS

Tal como recogieron numerosos medios de comunicación, el pasado lunes
día 21 se realizó un ataque distribuido de denegación de servicio contra
los servidores raíz del servicio de nombres de dominio.

¿Qué es el DNS?

El DNS (servicio de nombres de dominio) es el servicio responsable de
realizar la conversión entre los nombres de dominio y sus
correspondientes direcciones IP. Esta conversión puede realizarse en
ambos sentidos: a partir de un nombre de dominio se puede obtener la
dirección IP asociada y viceversa.

El DNS se utiliza para facilitar la identificación de los sistemas
conectados a la red por parte de los seres humanos. A todos nosotros nos
resulta mucho más fácil recordar un nombre de máquina que no su
dirección IP.

La importancia del DNS viene a que, en su ausencia, no es posible
realizar la conversión de direcciones. Como los ordenadores no utilizan
los nombres de dominio en las conexiones, sino que utilizan directamente
las direcciones IP, la ausencia del servicio de conversión hace que,
desde el punto de vista del usuario, "la red no funciona".


¿Qué son los servidores raíz?

Cada vez que se escribe un nombre, éste debe ser traducido a una
dirección IP numérica. Cada ordenador tiene la dirección del servidor de
nombres local, habitualmente configurado por el ISP. Si este servidor de
nombres local no conoce la conversión a realizar, pasa la solicitud de
conversión al servidor responsable del dominio .COM (dominio de primer
nivel). En el caso de que no sepa cuál es el servidor responsable del
dominio de primer nivel, realiza la consulta a uno de los servidores
raíz.

Estos servidores raíz disponen de punteros a todos los servidores
responsables de los dominios de primer nivel: .com, .net, .org, .es,
.uk, .info...

Por ejemplo, cuando intentamos acceder a http://www.hispasec.com un
servidor de DNS realiza los siguientes pasos:

* Consulta a un servidor raíz para conocer que servidor dispone de
información acerca del dominio .COM (dominio de primer nivel).

* Con la información obtenida, conecta al servidor con información del
dominio .COM y solicita que servidor dispone de información del dominio
HISPASEC.COM (dominio de segundo nivel). ?

* Una vez determinado el servidor del dominio HISPASEC.COM, conecta
directamente con él y solicita la dirección IP asociada al nombre de
máquina WWW.HISPASEC.COM

Evidentemente para optimizar todo este proceso, los servidores de
nombres disponen de memorias caché para reducir, siempre que sea
posible, las consultas a los servidores raíz y los servidores
responsables de los dominios de segundo nivel. Cada servidor raíz
atiende, aproximadamente, 270 millones de consultas cada día.

Existen 13 servidores raíz en todo el mundo: diez de ellos están
situados en Estados Unidos, dos en Europa (Londres y Estocolmo) y el
último en Japón. Esta distribución deja un poco que desear, ya que hay
una elevada concentración de servidores en áreas geográficas muy
reducidas. Así hay cuatro servidores en la costa oeste de los Estados
Unidos (todos ellos en California) y seis en la costa este (cuatro en
Virginia y dos en Maryland). Los interesados en conocer la ubicación de
cada uno de los servidores y las organizaciones responsables de los
mismos, pueden ver un mapa en http://www.quands.info/misc/websf1.gif.


¿Qué impacto tiene si los servidores raíz dejan de funcionar?

Como ya hemos indicado antes, para los usuarios el DNS es un servicio
fundamental ya que, en su ausencia, nos vemos obligados a utilizar las
direcciones IP para poder acceder a los sistemas existentes en la red.
Cualquier intento de utilizar los nombres, si estos no están en las
memorias caché de nuestro servidor de nombres, generará un error al no
poder realizar la conversión.

Según diversos expertos, el servicio de resolución de nombres puede
funcionar sin problemas para el usuario final siempre que exista un
mínimo de cinco servidores operativos.


¿Qué sucedió el pasado lunes 21 de octubre?

Durante aproximadamente una hora, entre las 22:45 y las 23:45 (hora
central europea), se detectó un ataque distribuido de denegación de
servicio contra todos los servidores raíz. A pesar que no se conocen
muchos detalles sobre el ataque, ya que está siendo investigado por el
FBI, se sabe que durante el apogeo del ataque un máximo de siete
servidores raíz tuvieron problemas.

No obstante, el alcance del ataque parece que fue relativamente
reducido, ya que se calcula que únicamente un 6% de las peticiones de
resolución no fueron atendidas.

Lo más significativo de este ataque fue que tenía como objetivo todos
los servidores raíz, de forma simultánea.


¿Tuvo algún efecto el ataque en los usuarios finales?

No. Debido a que el ataque únicamente duró una hora, antes de que
pudiera ser atajado, evitó problemas a los usuarios finales. La
existencia de memorias caché en todos los puntos y el hecho que, una
servidor de nombres bien configurado, raramente realiza peticiones
directamente a los servidores raíz, evitó que los usuarios finales
notaran ningún efecto.


He leído que este ataque fue el "más sofisticado jamás realizado" ¿Es
cierto?

Sin conocer los detalles específicos del ataque, es difícil valorar.
Posiblemente la principal novedad es que el ataque se lanzó
simultáneamente contra todos los servidores raíz.

La descripción realizada parece, visto desde fuera, más como una forma
de llamar la atención de los medios de comunicación que no como una
descripción realista de lo sucedido.

Con anterioridad han existido algunos problemas con la resolución de
nombres con un impacto más grande. Así, por ejemplo, en abrid de 1997,
el sistema de resolución de nombres no funcionó durante varías horas
debido a que un router, por error en su configuración, se anunció el
mismo en Internet como el camino más rápido para acceder a otras
direcciones. Esto causó que todas las peticiones intentaran utilizar
este servidor, provocando el colapso de la red.


Xavier Caballé
xavi@hispasec.com