Cómo de crítico era el fallo en los servidores DNS (I)

Ocurría la semana pasada: Fallo crítico en DNS obliga a parchear toda Internet. No es que el fallo sucediera la semana pasada, ya que es un error tan viejo como Internet, pues proviene de la implementación del protocolo DNS. De hecho, mucho antes ya habían sido descubiertos por distintas personas pequeños errores en dicho protocolo. Sin embargo, fue la semana pasada cuando Dan Kaminsky descubrió que la unión de todos estos pequeños errores daba como resultado un enorme agujero de seguridad que afecta a toda Internet. Pero, ¿por qué? ¿Tan grave es? Pues sí, mucho. Y para entenderlo, pasaré a explicar por encima el funcionamiento del protocolo DNS.

Cada computador conectado a Internet tiene asociado a él idealmente una dirección IP única (técnicamente no es así, pero eso ya es otra historia) del tipo A.B.C.D, donde A, B, C y D son un número entre 0 y 255 (ej. 192.168.1.1). Esta IP es, digamos, como la dirección de nuestra casa para Correos. Entonces, cuando queremos acceder a Google en español, por ejemplo, tendremos que llamar a la dirección 66.102.9.99 (pinchad, y comprobad que os lleva a www.google.es). Pero, ¿cómo vamos a recordar las direcciones de todas las páginas que visitamos? Es mucho más fácil acordarse de «www.google.es», ¿verdad? Pues es ahí donde entra en juego el protocolo DNS de resolución de nombres de dominio.

Nunca introducimos una IP directamente en el navegador: en lugar de eso, introducimos un nombre de dominio como el de «www.google.es». Ante esta situación, es nuestro ordenador el encargado de buscar la IP correcta (66.102.9.99) para «llamar» a Google. Para eso se inventaron los servidores DNS, que son unas bases de datos repartidas a lo largo y ancho de Internet que albergan la traducción entre nombres de dominio y direcciones IP. Así que nuestro ordenador solicitará a uno de estos servidores de nombres (uno cercano que viene pre-configurado) que nos devuelva la dirección IP de «www.google.es». Como hay millones y millones de máquinas conectadas a Internet, tener una traducción de todas ellas en un mismo lugar sería muy ineficiente por el volumen de datos a almacenar, por el coste que tendría cada búsqueda y porque cada máquina de Internet realiza miles de solicitudes DNS al día. Por ello, la escalabilidad es el gran triunfo del protocolo DNS.

Jerarquización de los nombres de dominio

Esta inmensa base de datos de la que hablamos está partida en trozos y dividida entre montones de servidores DNS de manera jerárquica. En la cima del árbol, existen más de 1301 servidores DNS raíz (root servers) repartidos por todo el mundo que albergan las direcciones IP de los servidores DNS encargados de los pocos cientos de dominios de primer nivel existentes, como por ejemplo los ‘.es’, ‘.com’, ‘.net’, etc. Éstos, a su vez, tienen recogidas las direcciones de los subdominios, como por ejemplo ‘rediris.es’, ‘google.es’, etc. Los últimos, a su vez, engloban más subdominios, como por ejemplo ‘www.rediris.es’, ‘ftp.rediris.es’, etc. Lo podemos ver mejor en el siguiente gráfico:

Como veo que esto va a quedar un poco largo, mejor lo divido en entregas. En esta primera anotación ya hay suficiente información por hoy. En futuras entregas repasaremos cómo funciona el protocolo DNS para llegar al meollo de la cuestión: la caché de los servidores DNS, en qué consiste el famoso agujero de seguridad y qué han podido hacer para paliarlo.

1 Habitualmente se dice que hay 13 root servers identificados de la A a la M, y esto da lugar a confusiones. En realidad, hay más de 130 localizaciones de estos root servers, más de 130 máquinas físicas que albergan root servers. Esto sería como decir que Google sólo tiene un servidor web. Evidentemente, para el volumen de tráfico que tiene que soportar, tiene réplicas de la misma web en máquinas diferentes por todo el mundo. Para comprobarlo, haremos lo siguiente: (desde Windows) vamos a Inicio, y le damos a Ejecutar… Tecleamos «nslookup» (sin las comillas) y presionamos Enter. En la nueva ventana, tecleamos «www.google.es» y volvemos a presionar Enter. Lo que hace este programa es solicitar al servidor DNS la IP de «www.google.es» y mostrarla por pantalla. En el campo «Addresses:» nos muestra las IP de la página solicitada. Como comprobaréis, hay más de una:

[code highlight=»7″]www.google.es
Servidor: ——————-
Address: ——————-

Respuesta no autoritativa:
Nombre: www.l.google.com
Addresses: 216.239.59.147, 216.239.59.99, 216.239.59.104, 216.239.59.103
Aliases: www.google.es, www.google.com[/code]

Esclavas de la imagen

Llevo tiempo sin escribir. No es que quiera excusarme, más bien regodearme en vuestra envidia: desde que comenzaron mis merecidas vacaciones no he parado de dar brincos a lo largo y ancho de la geografía española y sólo ahora, a mediados de Julio, me ha parecido oportuno sentarme frente al ordenador.

El caso es que hace un par de semanas, uno de estos brincos dio con mi toalla en una playa de Salobreña, provincia de Granada. Biquini, sol y a revolcarse por la arena. La próxima vez que nazca prometo ser un pez feliz. Una amiga del Conservatorio patrocinaba mis vacaciones en el mar y todos los días acudíamos hasta la orilla con algunos amigos más. Pero un miércoles cualquiera se me ocurrió sacar la cámara de fotos. Veréis, se da la extraña casualidad de que todas mis amigas son, sin excepción, bellísimas, por lo que rara vez dejo pasar la ocasión de robarles alguna imagen. Cual fue mi sorpresa al descubrir que Anita se negaba en redondo a salir en las fotos «hasta no llevar puesto maquillaje». Pelirroja, ojos claros, esbelta, con una piel impecable. Se sentía tan avergonzada de su imagen que tenía que esconderse detrás de ochocientos potingues, antes de ser retratada. La anécdota y mi tristeza se deshicieron en intentos por subirle la autoestima, pero al poco se revelaron infructuosos así que, con mi música a otra parte, volví rauda a revolcarme por la arena. La próxima vez que nazca prometo ser un pez feliz.

La imagen verdaderamente deprimente de la tarde, sin embargo, no la protagonizaron Anita y su supersticiosa fe en la cosmética, sino su hermana Teresa de 16 años: otra bellísima mujer, quizás no tanto como la propia Anita, que a pesar de ello debe pasar más tiempo en la peluquería que en su propia casa. Me dio un cursillo acelerado sobre todos los tipos de tintes habidos y por haber, puesto que, para su sorpresa, yo los desconocía. El caso es que al recoger nuestras cosas y meternos en el coche, lo primero que hizo Teresa, no sin cierta ansiedad, fue pringarse el pelo con espuma. Lo segundo, sacar un bote de maquillaje y una esponja, y cubrirse toda la cara con una plasta marrón. Su piel apenas había respirado unas horas, todavía llevaba el biquini mojado… y lo primero que hacía en cuanto tenía ocasión era volver a disfrazarse, a ocultarse, a desvirtuar lo antes posible su auténtica apariencia.

Todo esto me lo ha recordado una noticia que leo en No Puedo Creer: «Una niña de 11 años gasta 400 euros al mes en maquillaje». Supongo que a esa edad se puede ser tan frívolo como uno quiera, lo verdaderamente dramático es el cociente intelectual de la madre de la criatura: su mayor ilusión es que la niña sea famosa. “La gente dice que se parece a Barbie”, comenta orgullosa. Lo cual demuestra que nadie educa en el machismo mejor que una madre.

En fin, lo llamo machismo… No, puede que ya ni eso. Tiendo a identificarlo así porque sin duda es a las mujeres a quienes más afecta la esclavitud de la imagen. Porque a muchas se las sigue juzgando exclusivamente por esa imagen. Porque el mejor piropo que le puedes soltar a una mujer sigue siendo «guapa», como si en ello radicara su mayor valor. Así estamos, que el subnormal que gobierna Italia flirtea con otras diputadas y nombra a una ministra cuyo único (dudoso) mérito es haber sido Miss y cocinar bien sushi. Allí las mujeres no son profesionales, son parte de la decoración del Parlamento, se trata por tanto de una cuestión machista. Pero en el resto del mundo, en un momento en que prolifera la anorexia también entre los hombres, en que no hay foto en una revista que se salve de la censura del PhotoShop, cabe preguntarse cuándo el ideal estético ha dejado de corresponderse con la realidad. Cuándo las mujeres de la calle (cada vez más los hombres de la calle), dejamos de ser atractivos, cuándo nos enamoramos todos del mismo anuncio publicitario.

Sin embargo, creo y defiendo que el ideal, que el irreal, no aguantará. Construido con trozos de realidad, volverá a recaer sin duda sobre sus orígenes y el hombre de cada día será de nuevo su referente. Este siglo de cosmética, este cosmos que se maquilla, acabará por derrumbarse cuando el hombre se asquee de comer pintalabios y añore la textura blanda y germinal de la saliva.

Encriptar toda Internet

No se han hecho esperar las reacciones contra los numerosos intentos que se están llevando a cabo para vulnerar la neutralidad de la red, el secreto de las comunicaciones, la presunción de inocencia, etc. Y todo para seguir alimentando un modelo de negocio obsoleto: el de los derechos de autor. Las propuestas están sobre la mesa y las hay para todos los gustos. La que más está dando que hablar estos días, ha sido sugerida desde The Pirate Bay, el sitio de intercambio de contenidos mas grande del mundo: encriptar toda Internet.

Dicho así suena un poco fuerte, pero la idea en sí es sencilla: se trataría de trasladar el cifrado del nivel de aplicación al nivel de red. Para los de la LOGSE: lo anterior significa que cada paquete de información sería cifrado de extremo a extremo independientemente del tipo de conexión o el tipo de tráfico. Para ello, habría que desarrollar un programita que corriera de fondo en cada ordenador como servicio del sistema operativo, de manera que éste fuera el encargado de intercambiar las claves de cifrado cuando se iniciase una conexión, de encriptar el tráfico saliente y de desencriptar el tráfico entrante, todo ello de forma transparente para el usuario y para la red. De esta forma, los nodos intermedios serían teóricamente incapaces de ver el contenido de los paquetes. La propuesta, Transparent end-to-end encryption for the internets (abreviada IPETEE), ya tiene un desarrollo preliminar en este wiki.

Como todo, tiene sus inconvenientes. Entre ellos está el hecho de que esta técnica sigue sin proteger ante el análisis del tráfico, entre otras cosas porque los puertos siguen siendo visibles (una petición web es fácilmente identificable porque va dirigida al puerto 80, por ejemplo). Otra complicación serían los tiempos de respuesta: las conexiones se verían ralentizadas por el hecho de añadir un intercambio de claves de cifrado al inicio de cada conexión (con las complicaciones que eso conlleva) y porque la encriptación y la desencriptación supone una sobrecarga para el ordenador. Sin embargo, con la potencia de los ordenadores actuales y la velocidad de conexión creciente, éste último bien podría ser un obstáculo salvable. En cualquier caso, en protocolos P2P sería una ventaja, ya que el volumen de transferencia justifica la pérdida de tiempo en el intercambio de claves; en cambio, en otros protocolos que realizan múltiples conexiones con poca transferencia de datos supondría un perjuicio.

A grandes males, grandes remedios; y los grandes remedios siempre suscitan opiniones de todo tipo: pueden levantar pasiones, pero también llevarnos al escepticismo. En el segundo caso, desde Kriptópolis, se aboga por soluciones «menos ambiciosas» pero «bastante más realistas», como añadir SSL a las transferencias de ficheros.

En mi opinión, la solución definitiva no existe. Bueno, en realidad sí: pasaría por que los dirigentes entrasen en razón y/o las gestoras de derechos dejasen de dar por el culo. Mas como no va a ser así (o al menos no lo parece), no nos queda otra que aplicar «parches» de este tipo a la red de redes. Cuando hablamos de Internet, todo es posible, y el que intenta poner puertas al campo, acaba vallándose a sí mismo.