jueves, 24 de mayo de 2018

EFAIL y cómo la prensa {como siempre} se precipitó al crear hype con esta vulnerabilidad

Lunes. 14 de mayo de 2018. Por la tarde se conoce la noticia de que PGP y S/MIME ha podido morir tras un fallo de seguridad que han encontrado investigadores de seguridad. El paper no sale hasta el día 15 a las 8 de la mañana {hora peninsular}. Los medios se hacen eco de la noticia y empiezan a meter hype con este notición ¿tendrán contactos y habrán podido hablar con los investigadores? Menudo hype, qué ganas de que llegue el día 15.



Antes de nada, vamos a explicar las cosas de una forma que sea entendible por todxs. Imaginemos que Lucía se quiere comunicar con Rafa mediante correo electrónico. Lucía le envía el mensaje "Hola Mundo" a Rafa mediante un correo que utiliza TLS/SSL ¿Es esto seguro?

En parte, ya que basta con tirar del Delorean de José Selvi para capturar tráfico SSL o incluso aprovechar la resolución de nombres DNS y sus fuertes debilidades. Así podrías hacer que el tráfico no vaya cifrado con SSL, por lo que si capturas el tráfico de red, lo verías sin problema alguna.

No obstante, esta capa de cifrado en tránsito mediante SSL no es suficiente, por lo que se tira de una capa extra. Lucía decide cifrar el correo con su clave pública, por lo que solamente será descifrada con la clave privada del mensaje. Esto, se va a estar realizando con OpenPGP o S/MIME, ya que es el caso que nos ocupa.


La prense buscó los clicks fáciles. Un ejemplo es este artículo del elPais-del cual hablaré otro día-. Para la prensa no existe el "voy a esperarme unas horas a que salga el paper oficial y sino entiendo algo llamaré a un experto que me asesore". No, es más fácil leerse 4 mierdas en Wikipedia y aporrear teclas.

Vamos a ver si nos aclaramos. Os dejo antes de nada información sobre la vulnerabilidad en el sitio oficial desde el que se han publicado las explicaciones de este ataque.

Yo puedo entender que el día en el que se anunció sin la publicación del paper, haya confusión, eso es normal. Yo también estaba preocupado por ver lo que salía y porque se estaba creando mucho hype.

Si a eso lo unes con que la misma EFF reconmendaba deshabilitar los plugins que cifraban los correos con S/MIME o PGP-lo que es,por muchos motivos, una indecencia- ya apaga y vámonos.

Pero vayamos por partes. EFAIL NO ES UN FALLO EN PGP. EFAIL es un fallo en las implementaciones de PGP, que es algo bien distinto.

OpenPGP es abierto para que todo el mundo lo use, por lo que, evidentemente, habrá gente que lo implemente mejor y gente que lo implemente peor.


Pero es que vamos a ver, no hace falta ser muy inteligente; si fuese un fallo de PGP, se verían afectados todos los que usan PGP, y no unos sí y otros no. Los mismos autores del artículo realizaron una lista con distintos servicios de correo que utilizan PGP y/o S/MIME,  como se aprecia, hay algunos que han sido afectados y otros no, por lo que no es fallo de PGP ni S/MIME, no, es un fallo en cómo lo implementan algunos usuarios y/o servicios.

Es más, muchas de las vulnerabilidades reportadas al caso de EFAIL, ya eran conocidas por la comunidad de PGP desde 1999-cuando yo tenía un año-.



Evidentemente tú serás vulnerable a EFAIL si utilizas una versión de PGP desactualizada, ya que-reitero- al ser abierto, cualquiera lo puede implantar, y claro, no todos lo implantan debidamente. Pero PGP sigue siendo la forma más segura de cifrar correo.

A ver, recomendar que se dejen de utilizar los plugins que cifran mediante PGP el correo es un fallo garrafal, ya que solamente se estaría utilizando el cifrado SSL, el cual es un cifrado en tránsito solamente, lo que utilizar este cifrado únicamente te puede dejar más expuesto que utilizando PGP. Ahora bien, utiliza PGP pero con implementaciones correctas. Es que es como si se encuentra un fallo de seguridad en tu sistema, un fallo que es tan sencillo de solucionar como actualizando el software afectado ¿Tú tirarías por la ventana el ordenador? No, tú actualizas y punto. Pues aquí ocurre lo mismo, actualiza las librerías de PGP y listo.

¿Cómo se realizan este ataque a estas implementaciones inseguras de PGP?hv

Se hace de 2 formas distintas, aunque hay una tercera también:

  • Direct Exfiltration. La idea es muy sencilla. En primer lugar deberás de hacerte con un correo cifrado con PGP. Esto no tiene por qué ser fácil pero podrías capturar tráfico de red y dar con los correos cifrados. Una vez hecho esto, IMPORTANTE, tienes que conocer el correo de la víctima {recuerdo que todo el contenido del correo va cifrado}. UNa vez que conozcas el correo de la víctima y hayas capturado, al menos 1 correo cifrado, le enviarás un correo a la víctima, insertando un campo HTML con una etiqueta IMG sin cerrar y en cuyo campo "src" pongas una dirección que tengas tú controlada y, a continuación, escribes -por ejemplo- el contenido del Application Data cifrado que corresponde al mensaje del correo.


Os tenéis que fijar en que la etiqueta IMG no está cerrada, y las letras en negrita, es el  correo cifrado que se ha capturado. Nosotros no sabemos lo que es, pero cuando le llegue a la víctima, el campo src "hará magia".


Claro, lo que estamos enviando es el mensaje cifrado con la clave pública de la víctima, y la víctima tiene su propia clave privada, por lo que en el momento en el que recibe el correo, se descifra ese campo que era el que estaba cifrado y pasa a un texto plano. Pero ojo, que aquí viene lo importante, ese mensaje "Secret meeting Tomorrow 9pm" pasa al campo "src", ya que si os fijáis, las comillas se abren antes del http, pero se cierran después del mensaje, por lo que lo juntará todo, reconociendo los espacios con %20 por ejemplo.


Cuando esto pasa, el cliente solicita una imagen con esa URL, y aquí ahora es como si analizases el tráfico de red y recibes un GET en lugar de un POST, lo que te permitiría ver el enlace, un enlace en el cual ya va el texto en plano del correo. Hacked.

  • Malleability Gadget Exfiltration Channel Attack. Este ataque es debido a la maleabilidad del Cipher FeedBack Channel {CFC}, que podría permitir a un atacante inyectar contenido malicioso para descifrarlo

Este es el método que utiliza tanto S/MIME como PGP, por lo que un atacante, si conoce el texto plano, podría modificar determinados bloques. Y es que se sabe que cuando cifras con S/MIME, normalmente se comienza con "Content Type: multipart/signed", por lo que el atacante ya sabría, al menos un bloque del texto plano. Se podría formar un bloque formado por 0 como se ve en {b}. Pasaríamos a llamar a un bloque X y C sub 0. En {c} lo que vamos a hacer es insertar un texto plano random detrás del IMG y del SRC de la imagen.

Entonces ¿Qué se puede hacer para evitar los ataques?

Pues como ya he dicho, se deben de actualizar las librerías PGP en caso de no tenerlas actualizadas y desactivar el HTML rending. Estas son algunas de las recomendaciones que realizan los autores del artículo, es decir, los mismos autores recomiendan ACTUALIZAR OpenPGP, no dejar de usarlo. A ver si leemos un poco.


De todas formas, si no queréis actualizar, de acuerdo, os podéis ir a la lista de los servicios que no han sido afectados por EFAIL y utilizar esos servicios de correo. Por ejemplo, ProtonMail, que es el que yo uso, no ha sido afectado. No voy a decir por qué no han sido afectados, solamente mirad la lista que han pasado los autores y revisad este artículo de recomendada lectura en la web de ProtonMail.


Tienen una sección donde dan información técnica de por qué ellos no han sido afectados por ninguno de los 3 ataques que se mencionan en el paper.

Además de esto, yo lo he probado y he sido incapaz de realizar este ataque sobre mi ProtonMail. Así que ya sabéis, si no queréis actualizar vuestras librerías, os podéis pasar por ProtonMail que ya lo hacen ellos por ti.


Este tweet de Sergio de los Santos resume muy bien esas horas de tensión y angustia por el futuro de OpenPGP. Por culpa del Hype creado por la prensa, se ha hecho de esto un mundo. Es una vulnerabilidad interesante cuanto menos, pero no es lo que decían-una vez más-. Y todo por no esperar unas horas a publicar un artículo, todo por no detenerse unas horitas a leer el paper cuando salió, meditarlo, pensar bien y si aún así no lo entendían, se podrían haber ido a la sección de Mitigaciones, al blog de ProtonMail y un largo etc. No creo que sea muy difícil pensar que no era fallo de protocolo, ya que los autores sacaron una lista de gente que lo estaba implantando mal, y si es de protocolo afectaría a todos, no a unos sí y otros no. Creo que no hace falta ser un genio para llegar a esa conclusión, pero no, era mejor crear tensión y morbo sin informarse debidamente. La historia de siempre, nunca cambiarán, pero bueno, yo tenía el deber de tratar de aclarar esto, aunque haya llegado tarde, pero me he estado leyendo el paper, pensándo en los ataques, dándoles vueltas, probando, informándome, leyendo de otras fuentes...vamos, lo que se llama formarse de una opinión firme basada en hechos.

¿Hackeamos el Mundo?

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...