lunes, 5 de septiembre de 2011

Conversaciones sobre certificados, seguridad y pornografía

Transcribo una conversación (ficticia sólo en parte) con un usuario de Internet normal y corriente, preocupado por la seguridad y que se ha interesado por los últimos incidentes con certificados falsos. Quiere saber qué postura adoptar. Con actitud desenfadada, pretendo concienciar sobre la enorme distancia que separa SSL/TLS del usuario común, y cómo está "socialmente roto".

-Entonces, lo que ha ocurrido es que se han robado los certificados de Google, ¿no? Como si te roban el DNI. Es lo que he leído -mi amigo pregunta realmente convencido, pues es cierto que se documenta en prensa reputada.

-No se han robado exactamente. Alguien ha violado la seguridad de una empresa (DigiNotar) de certificación y ha generado sus propios certificados falsos que pasan por válidos para los programas que lo utilizan.

-Entonces es como si engañara a todo el mundo, y se pueden hacer pasar por Google. ¿no? Vaya, no puedo fiarme de esta empresa... cada vez tiene más problemas de seguridad...

-No es un problema de seguridad de Google. De hecho no tiene nada que ver ni es su responsabilidad. Es más, se ha descubierto que no sólo ha sido de Google... hay muchos certificados creados de otro dominios importantes.

-¿De quién es la responsabilidad entonces?

-De las entidades certificadoras que no validan bien los certificados o que por cualquier motivo, dejan sus sistemas expuestos para que los atacantes puedan acceder.

-¿Y por qué eso no lo controla una empresa más importante o un gobierno? DigiNotar no parece muy potente, no hay más que ver la página...

-Excelente pregunta. Solo te diré que con los certificados digitales se mueve mucho dinero... y cuantos más intermediarios, más volumen de negocio. En cualquier caso el problema para el usuario de a pie es que pueden engañarle y llevarle a una página falsa, sí, pero previamente tendrían que redirigir tu tráfico.

-¿Quién? ¿Un troyano?

-Un troyano o tu ISP (bajo órdenes de un gobierno, se supone)... y esto es lo más preocupante.

-Pero entonces, me estás diciendo que aunque me conecte a mi banco y aparezca como "web segura", la barra de direcciones en verde, y todo parezca correcto como me has enseñado, puede que realmente no esté en una "web segura".

-Exacto. Tendrías que mirar la cadena de validación del certificado, y comprobar que no solo la entidad final, sino que las entidades intermediarias son de confianza. Esto es complicado, lo mejor sería comprobar en un sistema no contaminado cuál es la ruta de certificación adecuada y comprobar en cada conexión que no varía. Además ver si realmente resuelve a la IP que debería...

-¿¿Cómo?? ¿Acaso necesito estudiar una carrera para saber simplemente si me he conectado o no a mi banco?

-Es igual que si alguien pega en tu puerta y quiere revisar la instalación del gas... deberías pedirle acreditación cada vez... pero bueno, no importa. El caso es que sí, con este tipo de problemas, estar o no en una "web segura" por el hecho de que lo indique el navegador, no es relevante ni concluyente.

-¡Pero si estoy harto de leer en todas las recomendaciones que si la barra de direcciones está en verde la web es de confianza! ¿Me estás diciendo que esta regla no es válida siempre?

-Bueno, no es del todo cierto. No es lo "único" que hay que hacer... Además de este problema con certificados "duplicados", hay fallos más "sencillos" de reproducir, sin necesidad de que redirijan tu tráfico ni nada de eso. Hay páginas de phishing que utilizan certificados baratos y se mostrarán como webs de "confianza" y "seguras" en el navegador por el simple hecho de que coinciden con el domino.

-¡¿Cómo?! ¿Aunque mi ordenador esté "limpio" no puedo confiar en el SSL?

-Bueno, no tienes por qué... pero creo que el problema más grave es que puedes estar troyanizado y que tu navegador te muestre información que irá a parar a los atacantes. Y realmente seguirás visitando la "web segura" de tu banco... e incluso nadie habrá atacado a ese banco... solo que desde tu ordenador tus datos serán robados.

-¡¡¿Cómo?!! ¿Conectado a una web segura sin problemas de seguridad, puede que los datos no vayan a parar a mi banco?

-Bueno... sí... da igual. Lo importante es que no te fíes de nada.

-Pero si eso ya lo hago... el problema es que tanta desconfianza me paraliza. Al menos intentaré no conectarme a ningún sitio que dé un error SSL... ¿no? Porque eso sí que no es seguro. Además ahora los navegadores te lo ponen complicado para entrar en webs sin certificados válidos.

-Pues... la verdad es que no. Las páginas seguras y legítimas pueden dar errores SSL. Por ejemplo si se les caduca el certificado, o si el certificado está autofirmado.

-Auto... ¿firmado?

-Sí, porque no se utiliza o no se confía en ninguna CA. En ese caso tendrías que ir a la página en cuestión e importar a mano el certificado.

-Creo que me he perdido hace un rato.

-Pues las páginas legítimas que, aun así, aparecen bloqueadas por fallos en sus certificados son más comunes de lo que parece. Por ejemplo hay bancos que han asociado el certificado al dominio con las "www", y si visitas el dominio sin "www", dará un error de certificado. Sin embargo no hay problema, estarás en la página legítima. Por ejemplo, https://lacaixa.es



-¡¡¡¿Cómo?!!! ¿Las páginas legítimas pueden dar un error de SSL? ¿A qué me atengo entonces?

-No es el peor ejemplo... Si te vas a https://www.download.windowsupdate.com/ verás también un error de certificado. Sin embargo, es uno de los sitios oficiales de descarga de Microsoft, solo que pasa por Akamai por el volumen de tráfico, supongo... y el certificado está emitido a su nombre...

-¡¡¡¡¿Cómo?!!!! ¡¿Para qué demonios sirve entonces el SSL, los candaditos, las barras verdes y toda esta historia entonces?!

-Pues no es lo más grave. Si tenemos en cuenta los navegadores... En 2002 se descubrió que Internet Explorer no validaba que el emisor de certificados intermedios tuviese en realidad el poder de emitir certificados... y hace bien poco a iOS de Apple se le detectó la misma vulnerabilidad. En estos casos no hacía falta hacerse con ningún certificado (como lo que ha ocurrido con DigiNotar)... cualquiera con un certificado válido podía realizar este ataque y ni el navegador (ni el usuario) se daría cuenta. Y si quieres te cuento el problema de los certificados con hash MD5 con sus colisiones...

Mi amigo se queda callado durante unos segundos. Parece reflexionar.

-Creo que voy a dejar de usar Internet para asuntos importantes...

-Bueno, es una decisión respetable... Si te quedas más tranquilo, no hace mucho se publicó un estudio que afirmaba que de 269.000 sitios pornográficos estudiados, el 96% estaba limpio de malware.

Más información:

30/06/2010 El divorcio entre el malware y la pornografía

Fallo de validación de certificados en iOS

03/06/2008 Mitos y leyendas: "Compruebe el candadito del navegador
para estar seguro" I (Phishing)

31/12/2008 Investigadores consiguen hacer que cualquier certificado
SSL parezca válido

Sergio de los Santos
Twitter: @ssantosv

1 comentario:

  1. También es cuestión de probabilidades, ¿que probabilidades hay de que te pase algo si tomas las precauciones básicas (y que en general son suficientes)? Pocas, seguramente sea más fácil que te "ataquen" por la calle que en Internet.

    ResponderEliminar