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

martes, 10 de diciembre de 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

No hay comentarios:

Publicar un comentario en la entrada