Siguen las revelaciones sobre la NSA. La última viene de Brasil, a raíz de una investigación de espionaje sobre la empresa Petrobras que ha desvelado algunos detalles interesantes. Según unos vídeos publicados en el programa Fantastico, la NSA habría estado ejecutando ataques MITM (Man-in-the-middle) contra Google y otros servicios de Internet para espiar el tráfico seguro (HTTPS) de ciertos objetivos.
El tema no es especialmente nuevo. Ya comentábamos hace unos días que la NSA podría tener un almacén enorme de claves privadas que les permitiría montar ataques MITM contra un buen número de servidores. Sin embargo, estas nuevas filtraciones revelan que los ataques se ejecutan contra servicios como Google, Yahoo o Hotmail con certificados "falsos", obtenidos de las entidades de certificación (CA).
Según parece, la NSA ejecutaría estos ataques infiltrándose en uno de los routers entre el objetivo y el servidor que quieren suplantar, ya sea usando una vulnerabilidad existente, una puerta trasera sólo conocida por ellos o directamente porque son routers que ellos controlan. Estos dispositivos se encargan de redirigir el tráfico para que llegue a su destino, y están en todos los niveles de Internet: desde el router de tu casa que dirige tu tráfico a tu proveedor de Internet hasta un router a nivel nacional que se encarga de redirigir los paquetes de datos al país extranjero al que tengan que llegar.
Alguna CA ha firmado certificados falsos para la NSA que les permiten realizar los ataques.
Una vez que tienen control de ese router, lo configuran de tal forma que desvíe ciertos paquetes de datos del usuario objetivo. Por ejemplo, si el usuario manda un paquete hacia Google, el router lo desviará hacia el ordenador de la NSA, el "hombre en el medio". Este ordenador deja pasar los datos a Google y envía las respuestas de vuelta al usuario. Mientras tanto, va guardando todo el tráfico para que después la NSA lo analize.
Hasta ahí, fácil. Sólo hay un problema: HTTPS. Como comentábamos hace unas semanas en Genbeta, los servidores HTTPS envían al navegador un certificado que está firmado por una entidad emisora de certificados (CA). Esa firma nos asegura que el servidor es quien dice ser y no es un impostor. Es decir, que HTTPS protege contra los posibles ataques MITM, ¿verdad?
El problema no es que la NSA haya roto SSL o HTTPS. Qué va. Es mucho más simple: ha conseguido que algunas CA (no sabemos cuáles) les firmen certificados falsos. Ellos crean un certificado para Google.com, se lo pasan a la CA para que lo firme y después lo ponen en el servidor que hará el ataque. En condiciones normales, ninguna entidad emisora te firmaría un certificado para un dominio que no tienes. Pero si eres un _hombre de negro_, es probable que lo consigas.
La NSA ha roto la base de las comunicaciones seguras por HTTP

La base de HTTPS consta de dos ideas. Por una parte, el algoritmo, y por otra, la confianza. Confiamos en que el servidor al que nos conectamos ha mantenido su clave privada oculta. Confiamos en que las CA sólo firman los certificados para un dominio si el que lo pide es el propietario real de ese dominio. Esta filtración destroza (aún más) esta segunda idea. Si ya no podemos confiar en las entidades de certificación, HTTPS no sirve. Obviamente, todavía debería asegurarnos contra el ciberdelincuente común, pero para la NSA saltárselo es trivial.
¿Qué alternativas nos quedan? Parece que la esperanza es el _certificate pinning_. En lugar de almacenar los certificados de las CA, almacenamos directamente los certificados del servidor al que vamos a conectarnos. TACK es una iniciativa para estandarizarlo en navegadores, de tal forma que no se dependa tanto de las entidades de certificación que ya no son tan confiables.
Google, por ejemplo, incluyó una lista blanca de CAs en Chrome en mayo de 2011. La idea es parecida al _certificate pinning_. En este caso, Chrome rechazará una conexión a un servicio de Google cuyo certificado no esté firmado por una entidad de certificación que esté en su lista blanca. Así evitan que entidades comprometidas puedan crear certificados falsos para sus dominios. Curiosamente, Chrome ha puesto en la lista negra un certificado en el que antes confiaba, de VeriSign, lo que podría indicar que esa es una de las empresas que estarían _colaborando_ con la NSA.
Mientras tanto, podemos usar herramientas para estar más seguros, pero tal y como están las cosas parece que los tentáculos de la NSA no tienen un resquicio seguro que se les resista.
Ver 15 comentarios
15 comentarios
Gonzalo
NSA, si lees esto... vete al carajo!
evercpp
Wow, si esto es así, no me lo imaginaba.
golbus
Lo que no entiendo es como nadie hace nada ...
cccccc
Vale falta que nos lea la mente
natlus
¡Que te jodan NSA!
supercoca
Creía que el certificate pinning se basaba en ofrecer algún sistema para poder comprobar toda la cadena de certificación y no, como pasa actualmente, verificar únicamente que el certificado del sitio esté firmado por una CA de confianza cualquiera.
Para el que quiera profundizar más en este tema recomiendo la lectura de estos artículos del blog Eleven Paths.
almarag
El problema es que es muy probable que todas las certificadoras pasen por el aro NSA. Todas las empresas de Internet, los registrars/registries, los proveedores de Internet y las certificadoras firman acuerdos de cooperación gubernamental cuendo quieren renovar sus vigencias como certificadores. Por lo que es muy probable que tengan que soltar copias de certificados o certificados falsos para espionaje sin que los clientes mismos lo sepan, así que finalmente mientras dependas de un tercero para asegurar tus comunicaciones es muy probable que ese tercero pueda ser usado para intervenirlas. La mayor virtud del HTTPS se va al garete.
Usuario desactivado
Madre del amor hermoso,Ni que iluminatis,ni reptilianos ni conspiracion judia.
Lo bueno que ahora en todo el mundo los gobiernos crearan y fomentar la industria tecnologia de sus paises y participaran para crear una red verdaderamente descentralizada.
Me pregunto en unas semanas cual sera la proxima noticia.
mkloco
Sin desmerecer el alarmismo que esto tiene, tampoco hay que desinformar y la siguiente afirmación es falsa: "Si ya no podemos confiar en las entidades de certificación, HTTPS no sirve".
Las entidades de certificación cubren el aspecto de autenticación (confirmar que alguien es quien dice ser) mientras que HTTPS es un protocolo de comunicaciones seguro que cubre el aspecto de confidencialidad (que la información navega cifrada y sólo la podrá procesar el destinatario). Si no te fías de las ACs actuales puedes generar tu propio certificado de sitio Web para negociar esa sesión HTTPS con el cliente Web y seguirá sirviendo, mientras que la gente confíe en tu certificado...