
Artefactos para la publicación de USENIX.
Artefactos para la publicación USENIX | Artículo completo aquí

OpenPGP y S/MIME son los dos estándares principales para cifrar y firmar digitalmente correos electrónicos. Se supone que las firmas digitales garantizan la autenticidad e integridad de los mensajes. En este trabajo mostramos ataques prácticos de falsificación contra varias implementaciones de verificación de firmas de correo electrónico OpenPGP y S/MIME en cinco clases de ataque: (1) Analizamos casos límite en el formato contenedor de S/MIME. (2) Explotamos la señalización en banda en la API de GnuPG, la implementación de OpenPGP más utilizada. (3) Aplicamos ataques de envoltura MIME que abusan del manejo por parte de los clientes de correo de mensajes parcialmente firmados. (4) Analizamos debilidades en la vinculación de los mensajes firmados con la identidad del remitente. (5) Probamos sistemáticamente los clientes de correo electrónico para ataques de redressing de la interfaz de usuario.
Nuestros ataques permiten la suplantación de firmas digitales para mensajes arbitrarios en 14 de los 20 clientes de correo electrónico con capacidad OpenPGP probados y en 15 de los 22 clientes de correo electrónico que admiten firmas S/MIME. Si bien los ataques no apuntan a los primitivos criptográficos subyacentes de las firmas digitales, plantean dudas sobre la seguridad real de las aplicaciones de correo electrónico OpenPGP y S/MIME. Finalmente, proponemos estrategias de mitigación para contrarrestar estos ataques.
Ataques CMS. La Sintaxis de Mensajes Criptográficos (CMS) es un estándar versátil para mensajes firmados y cifrados dentro de la infraestructura de clave pública X.509. Encontramos fallos en el manejo de correos electrónicos con estructuras de datos contradictorias o inusuales.
Ataques a la API de GPG. GnuPG es la implementación de OpenPGP más utilizada, pero solo ofrece una interfaz de línea de comandos muy restringida para validar firmas. Esta interfaz era vulnerable a ataques de inyección.
Ataques MIME. El cuerpo de un correo electrónico es conceptualmente un árbol MIME, pero normalmente el árbol tiene solo una hoja que está firmada. Construimos árboles MIME no estándar que engañan a los clientes para que muestren un texto sin firmar mientras verifican una firma no relacionada en otra parte.
Ataques de identidad. El objetivo de esta clase de ataque es mostrar una firma válida de la identidad (ID) de un interlocutor de confianza ubicada en la cabecera del correo, aunque el correo manipulado está realmente firmado por el atacante.
Ataques de interfaz de usuario. Los clientes de correo electrónico indican una firma válida mostrando algunos indicadores de seguridad en la interfaz de usuario (UI), por ejemplo, una carta con un sello. Sin embargo, varios clientes permiten imitar elementos importantes de la interfaz de usuario mediante HTML, CSS y otro contenido incrustado.

