Un cliente de correo electrónico es un programa de ordenador usado para leer y enviar mensajes de correo electrónico los cuales son almacenados en la misma máquina donde se ejecuta, lo que permite leerlos e incluso redactarlos fuera de línea.
Originalmente, los clientes de correo electrónico fueron pensados para ser programas simples para leer los mensajes del correo de usuario,[1] enviados por el agente de reparto de correo (MDA) conjuntamente con el agente de transferencia de correo (MTA) a un buzón local para los usuarios que compartían una misma máquina.[2] El correo electrónico, inventado en 1971 por Ray Tomlinson y tal como lo conocemos hoy,[3] hace el mismo trabajo pero mueve los mensajes entre distintas máquinas conectadas ya sea en una red de área local o por Internet.
Los formatos de buzón de correo más importantes son mbox y Maildir. Estos simplísimos protocolos para el almacenamiento local de los mensajes de correo electrónico realizan de una forma muy sencilla la importación, exportación y copia de seguridad de las carpetas de correo al equipo donde se estén ejecutando.
Además de los clientes de correo electrónico de "cliente grueso" y de los pequeños clientes de correo que cooperan con un MDA/MTA local, aquí presentados, existen también programas de correo electrónicos basados en la Web, denominados webmail o correo web, los cuales nunca almacenan los mensajes en el equipo local utilizado para consultarlos.
La mayoría de los sistemas operativos modernos viene configurados con una variable global donde se indica el programa por defecto para enviar y recibir correo electrónico e incluso ofrecerán el software en sí mismo al momento de su instalación pero es potestad de cada usuario elegir uno o algunos diferentes. Un cliente de correo electrónico debe soportar el protocolo libre POP3 para descargar los mensajes y una vez realizada exitosamente dicha acción el servidor de correo electrónico procederá a borrarlos del buzón correspondiente (se delega en otros programas las tareas de respaldo y auditoría). Debido a este mecanismo de trabajo, el cliente de correo electrónico no necesita de conexión constante con el servidor de correo electrónico. Esencialmente, el POP3 es lo más parecido a un buzón de correo real.[4]
Otro protocolo bien establecido y orientado a la conexión en línea es el Internet Message Access Protocol (IMAP) el cual está optimizado para almacenar correos electrónicos en el servidor, mientras que el protocolo POP3 se asegura que los mensajes de correo electrónico se descarguen al cliente. Así, si el usuario crea una carpeta en el servidor de correo electrónico (por medio del cliente de correo electrónico) a fin de clasificar los mensajes recibidos, el cliente de correo electrónico que utilice este protocolo IMAP deberá encargarse de crear una carpeta local y que será copia de la carpeta remota y luego mantener ambas carpetas sincronizadas.[5] Por ello, cuando un usuario borra un mensaje en su carpeta local, el cliente de correo electrónico se comunicará con el servidor de correo electrónico para tal solicitud y una vez satisfecha procederá con el borrado en la carpeta local (de nuevo se delega en otros programas las tareas de respaldo y auditoría).
La gran mayoría de clientes de correo electrónico emplean el Protocolo de Transferencia Simple de Correo (Simple Mail Transfer Protocol, SMTP) para enviar los mensajes de correo electrónico debido a las características que dificultan el proceso de recepción. Actualmente se ha adaptado para ser utilizado en el envío y reenvío de mensajes de correo electrónico entre servidores de correo. Se ha hecho tan común el uso de este protocolo entre servidores que indistintamente se utiliza la denominación de "SMPT server" al MDA que envía y "POP/IMAP server" al que lo recibe.[6]
Un importante estándar soportado por la mayoría de los clientes de correo electrónico es el Multipurpose Internet Mail Extensions (MIME), que se emplea para el envío de archivos binariosadjuntos al correo. Los adjuntos son ficheros que no forman parte del correo electrónico propiamente dicho, pero que se envían junto con este.
Los protocolos establecidos para comunicar a los clientes de correo electrónico con los servidores de correo electrónico no tuvieron una especificación para proteger la privacidad de los usuarios ante terceros. Más aún, un mensaje de correo electrónico puede que tenga que ser reenviado a través de varios servidores de correo distintos antes de alcanzar su destino final, ya que el SMTP permite que también actúen como "cliente" de otros servidores. En este escenario planteado, cada uno de los servidores de correo contiene una copia del mensaje el cual puede ser filtrado por y/o hacia terceros.
Secure MIME nace de la necesidad de cifrar el contenido de los mensajes durante su transporte entre servidores de correo para proteger la privacidad de los usuarios. Generalmente es utilizado por las empresas en sus servidores de correo que se encargan de cifrar y descifrar todos los mensajes salientes y entrantes de sus empleados.[7]
Otra funcionalidad agregada -y derivada del uso de MIME- es la de poder interpretar y mostrar el código en formato HyperText Markup Language (HTML) con que se haya escrito el mensaje de correo electrónico. Por defecto los clientes de correo electrónico traen activa esta característica y generalmente preguntarán al usuario si desea retribuir contenido externo y ajeno al mensaje de correo electrónico en el momento de su recepción. Aunque parezca lo contrario, todo programa de correo electrónico siempre mostrará los mensajes en texto plano pero no siempre ofrecerán la interpretación del código HTML.
El Extensible Markup Language (XML), también soportado por medio de MIME, ofrece a futuro una mayor funcionalidad debido a que está propuesto como estándar para el intercambio de información estructurada entre diferentes plataformas. Por ejemplo, el uso de XML en el lado del servidor en lenguaje Java está disponible desde 2003 para normalizar el envío de mensajes de correo electrónico.[8]
Así como en la vida real el correo es enviado por un usuario mediante sobres sellados de tal manera que en su exterior se pueda leer el destinatario y el remitente, en el correo electrónico se creó un protocolo de cifrado de documentos que se adaptó a los clientes de correo electrónico (y a muchos otros software, en realidad) el cual es llamado Pretty Good Privacy o PGP. Es utilizado principalmente por las personas en sus hogares o lugares de trabajo para que le puedan enviar información crítica o extremadamaente confidencial.[7]
Vulnerabilidades
Uso de HTML
Desde finales del siglo pasado cuando se masificó el uso de Internet y aumentó el poder de cómputo de los ordenadores con la consecuente capacidad de mostrar gráficos, audio y vídeo, los clientes de correo electrónico evolucionaron hacia esta área y facilitaron el manejo de archivos adjuntos, para bien o para mal.
Una vulnerabilidad bien conocida es la de enviar un mensaje codificado como HTML enlazado a una muy pequeña imagen con un nombre de fichero específico. De esta manera el cliente de correo electrónico que lo recibe e interprete se conecta a otro servidor para descargar dicha imagen permitiendo así al atacante saber que el mensaje fue leído, además de otras invasiones a la privacidad (dirección IP, por ejemplo). Este fallo, de una manera más sofisticada, ha podido ser implementado en los clientes web de correo electrónico como Gmail.[9]
Actualmente los clientes de correo electrónico no muestran imágenes o contenido externo a menos que el usuario lo acepte en los cuadros de diálogo emergentes al momento de mostrar el mensaje a petición del usuario, generalmente haciendo clic en el mismo.
Efail
El 14 de mayo de 2018 Sebastian Schinzel, de la Universidad de Münster en Ciencias Aplicadas (en inglés "Münster University of Applied Sciences") y Juraj Somorovsky del Instituto para la Seguridad de las Tecnologías de la Información "Horst Görtz" en la Universidad Ruhr de Bochum (en inglés "Horst Görtz Institute for IT security, Ruhr University Bochum") dieron a conocer dos fallos que pueden comprometer la privacidad de quienes utilizan OpenPGP y S/MIME si los clientes de correo electrónico hacen uso indebido de dicha tecnología.[10] El cliente de correo electrónico es el responsable, a la final, de la entrada o salida de datos (cifrados o no) de manera absoluta y en todos y cada uno de los casos;[11] mayor cuidado aún debe tener por velar la privacidad de los mensajes que le hayan suministrado a descifrar para los usuarios. Aunque en los sistemas operativos se ha implementado un rastreo y seguimiento de los ficheros descargados del Internet y que advierten al usuario antes de abrirlo, tal medida no se practica en los clientes de correo electrónico porque cada uno tiene su propio y único formato de almacenamiento de datos.
El conjunto de fallos fueron agrupados bajo el nombre "Efail" y la elección de ese nombre es por un juego de palabras en el idioma inglés: «email» que significa correo electrónico y "efail" que puede traducirse literalmente como «fallo electrónico (en el correo)».
Efail describe las vulnerabilidades de los clientes de correo electrónico que filtran, por medio del contenido activo HTML del mensaje, el texto sin formato de correos electrónicos previamente cifrados con las tecnologías de extremo a extremo como OpenPGP y S/MIME.[12]
A corto plazo los usuarios, para protegerse de los causantes de esta vulnerabilidad, deben deshabilitar la visualización de HTML en los mensajes de correo electrónico,[13][14][15] sin embargo todos y cada uno de los destinatarios así como el remitente deberán hacer lo mismo para evitar alguna fuga de información por parte del cliente de correo electrónico.[16] Enviar los mensajes cifrados sin utilizar HTML (o sea, utilizar únicamente texto plano) no evita que el atacante agregue código HTML infectado al mensaje cifrado interceptado y lo reenvíe a las víctimas (quienes sí pueden deshabilitar la visualización del HTML para protegerse).
Otra opción es no descifrar los mensajes con el cliente de correo electrónico sino exportar el fichero a un programa que se encargue única y exclusivamente de realizar dicha tarea,[17] y cortar así la comunicación con el atacante.[18]
A mediano plazo, evidentemente, los clientes de correo electrónico deberán "parchar" y liberar versiones que eliminen la fuga de información tanto cifrada como parcialmente cifradas.[19]
A largo plazo los entes encargados del desarrollo y mantenimiento de los protocolos OpenPGP y S/MIME deberán mejorar los algoritmos utilizados en el cifrado de bloques a fin de prevenir el uso de primitivas.[13][20]
Referencias
↑Alinto. «La petite Histoire de l’email»(html). demail le mail(en francés). Archivado desde el original el 7 de agosto de 2014. Consultado el 16 de julio de 2018. «On considère souvent que l’histoire de l’email (ou courrier électronique) débute en 1965, à une époque ou Internet n’existait pas encore. C’est en effet durant cette année que furent mis en place les premiers échanges de messages entre utilisateurs sur des réseaux privés.»
↑«The History of Email»(html). Email History Org.(en inglés). 18 de diciembre de 2012. Archivado desde el original el 18 de diciembre de 2012. Consultado el 15 de mayo de 2018. «Electronic mail has existed since the 1960s. It has been around as long as people could share the same computer at the same time. Email as we know it today moves a message between users who are on different machines. It goes across a network. This capablity dates to 1971.»
↑Izquierdo, Robin (16 de julio de 2018). «Historia de Internet; de ARPANET al futuro»(html). Pandora FMS. Archivado desde el original el 16 de julio de 2018. Consultado el 16 de julio de 2018. «Al poco tiempo, ARPANET estaría preparada para salir a la luz pública. Ello sucedería en 1972, en una demostración muy exitosa en la ICCC (International Computer Communication Conference), año en el que también se introduciría una aplicación que todos conocéis: el correo electrónico, obra de Ray Tomlinson.»
↑Basty, Brice (4 de agosto de 2017). «Comment fonctionne un mail (POP3, SMTP, IMAP) ?»(html). Hostinger tutoriels(en francés). Archivado desde el original el 16 de julio de 2018. Consultado el 16 de julio de 2018. «POP3 est utilisé pour communiquer avec un serveur de messagerie distant. Il envoie les emails à un client de messagerie local comme Outlook , Thunderbird, Windows Mail, Mac Mail , etc. Normalement, un client de messagerie aura une option Laisser une copie des e-mails sur le serveur. Si vous accédez au même compte email à partir de différents périphériques, il est recommandé de conserver des copies distantes, sinon votre second périphérique ne recevra pas les e-mails si le premier les a déjà supprimés. Il convient également de mentionner que POP3 est un protocole de communication unidirectionnel, ce qui signifie que les données sont extraites du serveur distant et envoyées au client local. Donc vous pouvez modifier votre mail comme vous voulez sur votre machine, sur le serveur il restera le même. Comme une boîte aux lettres.»
↑Basty, Brice (4 de agosto de 2017). «Comment fonctionne un mail (POP3, SMTP, IMAP) ?»(html). Hostinger tutoriels(en francés). Archivado desde el original el 16 de julio de 2018. Consultado el 16 de julio de 2018. «IMAP (protocole d’accès à Internet), comme POP3, est également utilisé pour récupérer des mails pour des clients de messagerie locaux, mais il a une différence majeure: seuls les sujets de mails sont téléchargés. Le contenu des messages est laissé sur le serveur. Il s’agit d’un protocole de communication bidirectionnel. Les modifications effectuées sur le client de messagerie sont transmises au serveur. Dernièrement, ce protocole a gagné en popularité. Les grands fournisseurs de messagerie, comme Gmail, recommandent d’utiliser IMAP au lieu de POP3.»
↑«What is an SMTP server»(html). Server SMTP(en inglés). 25 de febrero de 2013. Archivado desde el original el 4 de agosto de 2018. Consultado el 15 de mayo de 2018. «The process of email delivery is actually quite similar to classical mail: an organized system takes care of your envelope and through a series of steps it drops it off to your recipient. In this process, the SMTP server is simply a computer running SMTP, and which acts more or less like the postman. Once the messages have been picked up they are sent to this server, which takes care of concretely delivering emails to their recipients.»
↑ abSchinzel, Sebastian (14 de mayo de 2018). «Email encryption standards hacked»(html). Universidad Ruhr de Bochum(en inglés). Archivado desde el original el 15 de mayo de 2018. Consultado el 15 de mayo de 2018. «S/MIME is frequently deployed by enterprises that encrypt all outgoing and decrypt all incoming emails. OpenPGP is preferably used by individuals, for example, by journalists in conflict areas or by whistleblowers like Edward Snowden.»
↑Colburn, Rafe (9 de julio de 2003). «Creating Email Templates with XML»(html). O'Reilly's OnJava(en inglés). Archivado desde el original el 1 de agosto de 2003. Consultado el 15 de mayo de 2018. «One feature that seems to eventually creep into every web application is the ability to send email. Generally, it's a very specific kind of email, like a password reminder, welcome message, order confirmation, or receipt. Despite the fact that the content of these emails differs from application to application, the process of sending email rarely changes. You construct a message, give it to the mail server, and it gets delivered.»
↑Alonso, Chema (12 de mayo de 2015). «Gmail por defecto deja que sepan cuándo lees el correo»(html). Un informático en el lado del mal. Archivado desde el original el 15 de mayo de 2015. Consultado el 18 de mayo de 2018. «Sí, por defecto el cliente web de Gmail permite que te vigile cualquier persona y pueda saber si has abierto o no el correo electrónico, a qué hora y cuántas veces. La explicación es bastante sencilla. En pro de la usabilidad y la velocidad, desde hace tiempo Gmail montó un servidor proxy para cargar automáticamente todas las imágenes. Estas imágenes se cargan desde servidores de Google una vez que se abre el correo electrónico.»
↑Schinzel, Sebastian (14 de mayo de 2018). «Email encryption standards hacked»(html). Universidad Ruhr de Bochum(en inglés). Archivado desde el original el 15 de mayo de 2018. Consultado el 15 de mayo de 2018. «A research team from the University of Applied Sciences (FH) in Münster, Horst Görtz Institute for IT Security at Ruhr-Universität Bochum (RUB), and Katholieke Universiteit Leuven has demonstrated that the two most common email encryption standards are vulnerable to attacks.»
↑Sydney Li, Bennett Cyphers (9 de enero de 2019). «(Don't) Return to Sender: How to Protect Yourself From Email Tracking»(html). EFF(en inglés). Archivado desde el original el 10 de enero de 2019. Consultado el 14 de enero de 2019. «For even more security, you can turn off HTML email completely. This will remove formatting from your emails, but it will completely stop any form of remote content tracking.»
↑«Efail». Efail(en inglés). Archivado desde el original el 14 de mayo de 2018. Consultado el 21 de octubre de 2019. «In a nutshell, EFAIL abuses active content of HTML emails, for example externally loaded images or styles, to exfiltrate plaintext through requested URLs.»
↑ abAlonso, Chema (15 de mayo de 2018). «Efail: O cómo descifrar e-mails cifrados con S/MIME y OpenPGP usando técnicas de exfiltración»(html). Un informático del lado del mal. Archivado desde el original el 15 de mayo de 2018. Consultado el 15 de mayo de 2018. «La forma más sencilla es actualizar el software de S/MIME y de OpenPGP para evitar el uso de las primitivas para modificación y quitar el uso de HTML en la interpretación de mensajes de e-mail. HTML en el e-mail ha sido siempre un leak de privacidad debido a la existencia de Side-Channels para saber si un mensaje ha sido leído o no y desde qué equipo, así que si lo tienes deshabilitado, mejor que mejor.»
↑«Fallo ¿crítico? en PGP y S/MIME permite revelar mensajes cifrados»(html). ElevenPaths. 23 de mayo de 2018. Archivado desde el original el 26 de mayo de 2018. Consultado el 26 de mayo de 2018. «Menos mal que el líder de GnuPG, Wener Koch, ha sido quien ha puesto un poco de sensatez a este mensaje tan alarmista sobre este fallo de seguridad. Lo deja claro en este tweet, el problema está en los clientes de email y sus plugins, no en los protocolos. También deja claro cómo solucionar el problema: no utilizar HTML en los correos y usar cifrado autenticado.»
↑Werner, Koch (14 de mayo de 2018). «Efail or OpenPGP is safer than S/MIME»(html). Werner Koch wk at gnupg.org(en inglés). Archivado desde el original el 14 de mayo de 2018. Consultado el 26 de mayo de 2018. «The topic of that paper is that HTML is used as a back channel to create an oracle for modified encrypted mails. It is long known that HTML mails and in particular external links like <img href="tla.org/TAG"/> are evil if the MUA actually honors them (which many meanwhile seem to do again; see all these newsletters). Due to broken MIME parsers a bunch of MUAs seem to concatenate decrypted HTML mime parts which makes it easy to plant such HTML snippets. There are two ways to mitigate this attack - Don't use HTML mails. Or if you really need to read them use a proper MIME parser and disallow any access to external links. - Use authenticated encryption.»
↑Soraya Okuda, Starchy Grant, Bill Budington (14 de mayo de 2018). «PGP and EFAIL: Frequently Asked Questions»(html). EFF(en inglés). Archivado desde el original el 17 de mayo de 2018. Consultado el 17 de mayo de 2018. «For some published attacks, turning off viewing HTML email may protect your messages being leaked to an attacker by you.»
↑Gennie, Gebhart (14 de mayo de 2018). «Pretty Good Procedures for Protecting Your Email»(html). EFF(en inglés). Archivado desde el original el 17 de mayo de 2018. Consultado el 17 de mayo de 2018. «Our current recommendation is to disable PGP integration in email clients. This is the number one thing you can do to protect your past messages, and prevent future messages that you receive from being read by an attacker. You should also encourage your contacts to do the same.»
↑«'Serious' flaw found in secure email tech»(html). BBC(en inglés). 14 de mayo de 2018. Archivado desde el original el 14 de mayo de 2018. Consultado el 15 de mayo de 2018. «It is also possible to decrypt emails with PGP decryption tools separate from email programs.»
↑«Efail». Efail. Archivado desde el original el 14 de mayo de 2018. Consultado el 15 de mayo de 2018. «Medium term: Patching. Some vendors will publish patches that either fix the EFAIL vulnerabilities or make them much harder to exploit.»
↑Soraya Okuda, Starchy Grant, Bill Budington (14 de mayo de 2018). «PGP and EFAIL: Frequently Asked Questions»(html). EFF(en inglés). Archivado desde el original el 17 de mayo de 2018. Consultado el 17 de mayo de 2018. «OpenPGP also uses underlying cryptographic primitives such as SHA-1 which are no longer considered safe and lacks the benefits of Authenticated Encryption (AE), and signatures can be trivially stripped from messages. In time, newer standards will have to be developed which address these more fundamental problems in the specification.»