El extraño caso del gobierno francés que crea certificados falsos para Google

ElevenPaths  10 diciembre, 2013
Google ha reconocido que un tercero ha construido certificados válidos emitidos para sus dominios, pero obviamente
no autorizados.
Esto ha ocurrido otras veces en los últimos años. Lo
interesante es que esta vez ha sido el gobierno francés el responsable y
las consecuencias que se pueden “intuir” al respecto.

Qué ha ocurrido

El 3 de diciembre Google reconocía que había encontrado certificados emitidos para google.com y otros
dominios de Google. Esto lo puede hacer en teoría, cualquiera.
El problema es que estos certificados se vean certificados a su vez por una autoridad. Y lo estaban. En concreto, los certificados estaban firmados
por la Directorate General of the Treasury (DG Trésor), subordinada de la CA del
gobierno francés 
ANSSI (Agence nationale
de la sécurité des systèmes d’information). Esta CA está presente en las
autoridades certificadoras en las que confía Microsoft por defecto, y por tanto
Google Chrome.



Según Google, ANSSI ha dicho que el certificado falso emitido estaba siendo usado en red interna, para acceder al tráfico cifrado sin que los usuarios de esa red se percataran. Pero en la declaración oficial del gobierno francés no se menciona este aspecto directamente.

¿Consecuencias?

Tanto Google
como Microsoft han tomado medidas. Aunque Microsoft dice que “han eliminado
la confianza de los certificados que provocan este problema” a través de
sus listas CTL, parece que a través del actualizador automático de certificados han eliminado la confianza de toda la CA intermedia (que es lo que hay que hacer). El certificado de la autoridad intermedia en concreto es que tiene como huella
 5c e3 39 46 5f 41 a1 e4 23 14 9f 65 54 40 95 40 4d e6 eb e2.


Microsoft insinúa además que la nueva funcionalidad de EMET podría ayudar a mitigar esta situación, pero no parece cierto. En el caso de una autoridad certificadora intermedia, EMET no
alertaría si se ha “pineado” el dominio solo a la raíz de certificación. En este caso concreto de compromiso de CA intermedia, en la
cadena de certificación, la raíz sigue siendo válida… por tanto EMET no notaría
nada extraño.

Mozilla también ha revocado a
esta autoridad intermedia. 

El gobierno francés ha declarado que “ha sido a causa de un error humano. En un intento de fortalecer la
seguridad de todo el ministerio francés de finanzas, se han emitido certificados de terceros que no
pertenecen a la propia administración”. Añade que el error no tiene
consecuencias para la seguridad global,
y que en cualquier caso se ha revocado
preventivamente esa CA para que cualquier certificado emitido por ella no sea
aceptado.

Pero ¿qué ha podido pasar?

Ya hemos vivido situaciones parecidas. Varias veces. En enero de 2013 con a TurkTrust. Anteriormente con Diginotar (septiembre de 2011) y Comodo (marzo de 2011). No sabemos qué ha pasado exactamente, pero al menos
este incidente vuelve a levantar algunas sospechas y permite refrescar otras
reflexiones.
  • En aquellas situaciones ya
    citadas, se falsificaron también certificados de Google. Aunque en realidad se puede
    hacer para cualquier dominio, parece que cuando
     cuando se tiene la oportunidad de falsificar
    certificados de dominio, google.* es la opción mayoritaria.
  • En los últimos dos años, se
    han tenido que emitir bastantes más emergencias de este tipo (revocaciones
    masivas de certificados o entidades certificadoras) que en los diez previos. No
    es algo nuevo, pero se vuelve a demostrar lo débil de este sistema. Confiar en
    muchas CA lo “debilita” y confiar en pocas, lo hace menos práctico.
  • ¿Qué quiere decir el gobierno
    francés con “un fallo humano”? ¿Cómo se pueden emitir y validar certificados para
    dominio que no te pertenecen a causa de “un fallo humano”? ¿Oculta un compromiso de su autoridad? ¿Tiene al “enemigo en casa”?
  • Es posible que fuesen pruebas
    internas, como ha declarado, con el fin de mejorar la seguridad. En estas circunstancias,
    podemos entender “mejorar la seguridad”, como ensayos en los que se intenta
    comprobar cómo se defiende la seguridad de una red ante ciertos ataques de este
    tipo. Pero también se puede tomar esta técnica de “mejora de la seguridad” como una forma de acceder al tráfico cifrado y analizarlo. Como consecuencia inmediata, está la pérdida de privacidad para los usuarios. Si se habla de que estaba instalado en un dispositivo interno… esta última posibilidad es la más probable. Quizás el gobierno hacía de “hombre en el medio” para un ministerio en Francia, escudriñando el tráfico en busca de ataques. Pero para eso no es imprescindible crear certificados de este tipo.
  • Si no han sido víctimas de un ataque y se trata realmente se de un fallo humano, en abstracto, significa que “abusaron de su poder” para validar certificados de dominios conocidos y que los navegadores no se quejaran al respecto. O incluso, que no entendían las consecuencias de hacer lo que hicieron. Quizás a esto se refieren con el “fallo humano”.
  • Si se pretendía usar estos certificados en un entorno controlado, ¿cómo escaparon de su red para que Google
    finalmente lo descubriese?
  • Quizás el sistema de pineo de EMET no alerta sobre estos casos concretos… pero el de Chrome sí. ¿Durante cuánto tiempo se hicieron estas prácticas? ¿Nadie usó Chrome en esa red interna? ¿Sirvió de algo el sistema de protección integrado?

Un asunto extraño, en todo caso. Se podría intuir, finalmente, que lo que ha ocurrido es que el gobierno espiaba/protegía a ciertos usuarios de una red ministerial, con la excusa de detectar ataques. Eligieron un método extraño para conseguirlo. Google, de alguna manera (y quizás ahí es donde entra de nuevo el “error humano”) ha terminado enterándose y tomado cartas en el asunto, puesto que esos certificados firmados y validados para dominios tan “jugosos”, en manos de cualquiera, pueden suponer un grave problema.

Sergio de los Santos
ssantos@11paths.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *