Internet es tal y como la conocemos gracias a una serie de tecnologías clave, como la que nos ocupa en este artículo, DNS. El DNS o Domain Name System es un sistema de nomenclatura que se encarga de traducir las direcciones IP conectadas a Internet a nombres legibles para las personas y de mantener de manera distribuida una base de datos que asocia nombres a información de dominios. Pues, para abrir la sección de ataques informáticos, vamos a ocuparnos de un agujero en la seguridad DNS descubierto por varios investigadores de la Universidad de Tsinghua, la Universidad de Oregon, la Universidad Carlos III de Madrid y la Universidad de Georgia, que permite tal y como ellos mismos llamaron los Ghost Domains.

Primero de todo vamos a explicar brevemente el funcionamiento del cache en los servidores DNS. Cada vez que realizamos una consulta sobre un dominio a un servidor DNS que no la conoce este se comunica con otros DNS,de manera jerárquica hasta llegar al TLD (top-level domain), para resolver el nombre y ser capaz de devolverlo correctamente a su cliente. Al mismo tiempo se guarda en cache la información del dominio con un determinado TTL (time-to-live). Una vez expirado este tiempo de cache esta entrada se borrará del cache del servidor DNS y si recibe una nueva búsqueda se volvería a crear de nuevo.

Actualmente, uno de los principales esfuerzos para la lucha contra el crimen online es la identificación y eliminación de dominios responsables de la propagación de malware, dominios usados como C&C, dominios usados para phishing.. Para cortar la comunicación con estos servidores, una de las técnicas más eficaces es obviamente eliminar el dominio de sus correspondientes servidores TLD. De esta manera el dominio en cuestión dejará de ser accesible a través su nombre de dominio una vez que los TTL de los caches de los diferentes DNS expiren. Pero seguirá pudiendo ser resuelto en estos DNS concretos hasta que se agote el TTL. El problema,que habilita la aparición de estos dominios fantasma es que según han descubierto estos investigadores existe una técnica a través de la cual el cache de ciertos servidores DNS podría ser sobreescrito recurrentemente de manera que el TTL no expire. De esta manera aunque se ejecute el borrado del dominio en el TLD, otros servidores DNS podrían seguir resolviendo el dominio con lo que operadores de botnets podrían seguir utilizando nombres de dominio para sus C&C que en teoría ya habían sido borrados o incluso seleccionar en que DNS mantener este dominio activo de manera oculta al resto del mundo, lo cual dificultaría en gran medida su detección y eliminación. De este peligro el nombre de Dominios Fantasmas o Ghost Domains.

Procedimiento (a grandes rasgos)

-El primer paso es la creación de un subdominio y un servidor de nombres (NS)
-Una vez que diferentes servidores DNS contengan nuestra dirección (lo que podemos conseguir a través de peticiones a los mismos), borramos el subdominio. Este aún seguirá pudiendo ser resuelto gracias al TTL en cache de los DNS que ya va disminuyendo.
-Tras esto cambiamos el nombre del NS y hacemos una nueva petición al nuevo nombre de NS al mismo DNS vulnerable. Este como contiene la información del anterior NS devolverá una IP pero de la misma manera detectará un cambio en el nombre y reescribirá el cache con la nueva entrada con un TTL renovado. Es el subdominio eliminado seguirá estando presente con el mismo TTL que al principio en este DNS.

Repitiendo este procedimiento es teóricamente posible mantener el TTL sin llegar a 0 (es decir sin expirar, ni desaparecer completamente), aunque como han comprobado los investigadores esto no es un proceso tan trivial como pueda parecer a medio/largo plazo. En todo caso un atacante debería comprometer con esta técnica un gran número de servidores DNS para que el nombre de dominio pudiera seguir siendo resuelto por el mayor número de usuarios posible.

Protección

Hay que dejar claro que no todos los servidores DNS son vulnerables a este ataque, pero si la mayoría de ellos por lo que conviene saber que contramedidas se pueden establecer contra los dominios fantasmas. Realizar un DNS lookup del dominio y luego una consulta a un DNS particular, si del primero no recibimos IP pero si del segundo es posible que este sea un dominio fantasma, aunque cabe la posibilidad de que simplemente no haya expirado su TTL, para ello podemos volver a consultar pasado un cierto tiempo y comprobar si sigue existiendo.

Conclusión

Esta técnica de ataque como hemos visto basa principalmente su utilidad en mantener operativos de manera reducida o oculta dominios teóricamente eliminados. Aunque esta técnica no ha sido descubierta siendo usada a gran escala, la investigación y descripción del problema ofrece una oportunidad para aumentar la seguridad de los servidores DNS de la misma manera que se ha aumentado respecto al ataque de cache poisoning.

Fuente
Ghost Domain Names: Revoked Yet Still Resolvable
Jian Jiang, Jinjin Liang-Network Research Center-Tsinghua University
Kang Li-Department of Computer Science-University of Georgia
Jun Li-University of Oregon-Carlos III University of Madrid-Institute IMDEA Networks