DNSSEC

Hace 20 años entraron en servicio los DNS (Domain Name Servers) como sistema para nombrar computadoras remotamente en redes, y desde que nació Internet es el encargado de enrutar los pedidos de dominios o direcciones.

Este sistema, pese a ser uno de los fundamentos de Internet no es muy recordado al momento de recordar fechas de “hitos” de la historia de Internet; y tampoco es muy tenido en cuenta al momento de pensar en una evolución de la infraestructura que la sostiene.

Esto es un error; porque un ataque como el de Noviembre del 2002, pero mejor coordinado puede tirar abajo toda la red de una manera más o menos simple; y encima el domain-spoofing o hijacking tendrían que tender a aumentar con el crecimiento del tráfico en la red.

El sistema
Muy resumidamente el sistema funciona así: Cuando abrís el browser e ingresás en la barra de direcciones una direccion X (ej.: www.uberbin.net) el browser “pide” al DNS correspondiente a tu ISP para que busque la dirección IP del weblog. la respuesta es una dirección donde ir para encontrar el site (ej.: 64.222.14.256), es en ese momento que el Browser sabe donde buscar el site que vos estás tratando de acceder.

Si el DNS de tu ISP no encuentra esas direcciones, ahi le reenvia el pedido a uno de los Root Domain Name Servers, que son 13 servidores distribuidos alrededor del mundo y que son los “DNS Oficiales” que propagan cambios y direcciones oficiales al resto de los DNS locales.

Como esto genera una carga monumental de datos (no se olviden que cada vez que un browser busca una página se hace un query; cuando se manda un mail el sistema hace un query y etc.) por cada uno de los usuarios de internet; y a medida que el número de gente que descubre Internet aumenta la cantidad de “querys” aumenta proporcionalmente; el sistema tiene su base en esos 13 servidores distribuidos alrededor del mundo que manejar toda esta carga de datos.

Esto es un resumen muy básico, muchos más detalles acá

Vulnerabilidades
La principal vulnerabilidad es la falta de encriptación y verificación en la dirección de los dominios; y de los datos/pedidos que circulan en Internet.

Otra vulnerabilidad es la concurrencia de los pedidos; cuando un servidor DNS no conoce/no encuentra la dirección que se le pidió, automáticamente busca los datos en uno de esos 13 servidores distribuidos (Root Domain NameSever), que son los repositorios oficiales de Informacion de direcciones en Internet… exacto, a medida que los DNS locales no encuentran la información, empiezan a saturar de pedidos a los 13 Roots y el ataque DOS comienza.

Concentrar todos los ataques en esas máquinas es lo que “vulnerable” a Internet; a no paranoiquearse que esos servers tienen protecciones contra esos ataques, de hecho el ataque del 2002 sólo tiro 4 de esos servidores (jodiendo el tráfico de internet por un par de horas), pero el problema es que las protecciones son agregados, o sea, no están incluidas en la lógica del sistema de los DNS (ni en el BIND que es el Sistema que los maneja)

Links a papers sobre vulnerabilidades.

DNSSEC
La iniciativa DNSSEC, tiene 8 años de antiguedad (si, todo lo que debe estandarizarse es de largo trecho), apoyada por la gente del IETF; la ICANN y (mis admirados) Ciber.Law.Harvard.

Básicamente lo que esto busca es lograr una técnica para asegurar el Domain Name System; agregando extensiones para frenar lo que para mi es la principal vulnerabilidad “Autenticidad” e “Integridad” de los datos.

Lo interesante de esto, es que se lograra aprobar (entre los organismos que regulan los estándares de Internet), apoyar (por los desarrolladores de soft, ej.: mails y Browsers) e implementar (por los vendors de Hard); al mismo tiempo que se comience a aplicar de una vez por todas el IP v.6.

Si tomamos en cuenta la cantidad de nuevos dispositivos que van ser “internet-ready” y los nuevos usuarios que se suman día a día; vamos a necesitar realmente una internet exponencialmente escalable y sobre todo, segura.