Symantec, la empresa de ciber seguridad líder en el mundo, realizó una nueva investigación, donde presentó que los archivos de medios de WhatsApp y Telegram podrían ser expuestos y manipulados por actores maliciosos.
La falla de seguridad, denominada «Media File Jacking», afecta a WhatsApp en Android de forma predeterminada, y a Telegram en Android si ciertas funciones están habilitadas. Se debe a que transcurre el tiempo entre el momento en que los archivos multimedia recibidos a través de las aplicaciones se escriben en el disco y cuando se cargan en la interfaz de usuario de chat (UI) de las aplicaciones para que los usuarios las consuman. Este lapso de tiempo crítico presenta una oportunidad para que los actores malintencionados intervengan y manipulen los archivos multimedia sin el conocimiento del usuario. Si se explota la falla de seguridad, un atacante malintencionado podría hacer un mal uso y manipular información confidencial, como fotos y videos personales, documentos corporativos, facturas y notas de voz.
La amenaza de Media File Jacking es especialmente preocupante a la luz de la percepción común de que la nueva generación de aplicaciones de mensajería instantánea es inmune a la manipulación del contenido y los riesgos de privacidad, gracias a la utilización de mecanismos de seguridad como el cifrado de punta a punta. Los usuarios generalmente confían en aplicaciones de mensajería instantánea como WhatsApp y Telegram para proteger la integridad tanto de la identidad del remitente como del contenido del mensaje en sí. Esto contrasta con aplicaciones/protocolos más antiguos, como SMS, que se sabe que son falsificados con facilidad.
Sin embargo, como hemos mencionado en el pasado, ningún código es inmune a las vulnerabilidades de seguridad. Si bien el cifrado de punta a punta es un mecanismo eficaz para garantizar la integridad de las comunicaciones, este no es suficiente si existen vulnerabilidades a nivel de aplicación en el código. Lo que descubrimos en la investigación de Media File Jacking es que los atacantes pueden manipular con éxito los archivos multimedia aprovechando las fallas lógicas de las aplicaciones, que se producen antes y/o después de que el contenido se haya cifrado en tránsito.
Symantec exploró la falla de seguridad, Media File Jacking, y su impacto. Los detalles a continuación:
Antecedentes técnicos
Las aplicaciones de Android pueden almacenar archivos y datos en dos ubicaciones de almacenamiento: almacenamiento interno y externo. Los archivos guardados en el almacenamiento interno son accesibles solo por la propia aplicación, lo que significa que otras aplicaciones no pueden acceder a ellos. Los archivos guardados en un directorio público de almacenamiento externo son legibles/grabables en todo el mundo, por lo que pueden ser modificados por otras aplicaciones o usuarios fuera del control de la aplicación. De acuerdo con la documentación para desarrolladores de Android, «el almacenamiento interno es mejor cuando desea asegurarse de que ni el usuario ni otras aplicaciones pueden acceder a sus archivos». Por el contrario, «el almacenamiento externo es el mejor lugar para los archivos que no requieren restricciones de acceso y para los archivos que desea compartir con otras aplicaciones o permitir que el usuario acceda con una computadora».
De forma predeterminada, WhatsApp almacena los archivos multimedia recibidos por un dispositivo en un almacenamiento externo, en la siguiente ruta: /storage/emulated/0/WhatsApp/Media/. En Telegram, si un usuario habilita la función «Guardar en galería», bajo el supuesto de que esto es seguro y sin comprender sus ramificaciones indirectas, Telegram almacenará archivos de manera similar en: /storage/emulated/0/Telegram/. Ambos son directorios públicos. Las aplicaciones cargan los archivos recibidos de los directorios públicos para que los usuarios los vean en la interfaz de chat, cuando ingresan al chat correspondiente.
El hecho de que los archivos se almacenan y se cargan desde el almacenamiento externo sin los mecanismos de seguridad adecuados, se pueden poner en riesgo otras aplicaciones con permisos de almacenamiento de escritura externo y comprometer la integridad de los archivos multimedia. El almacenamiento de escritura externo (WRITE_EXTERNAL_STORAGE) es un permiso común solicitado por las aplicaciones de Android, con más de un millón de aplicaciones en Google Play que tienen este acceso. De hecho, según nuestros datos de aplicaciones internas, encontramos que casi el 50% de las aplicaciones de un dispositivo tienen este permiso.
Cuando investigamos el flujo de cómo se manejan los archivos multimedia en WhatsApp y Telegram, encontramos que en el tiempo transcurrido entre la recepción de los archivos en un dispositivo y su escritura en el disco (PASO 1), y cuando se cargan para que los usuarios los consuman a través de las aplicaciones (PASO 3), surge la oportunidad ideal de explotación: el malware puede analizar y manipular instantáneamente los archivos (o simplemente reemplazarlos con los archivos elegidos por el atacante) para obtener beneficios maliciosos (PASO 2).
Piense en ello como una carrera entre el atacante y la aplicación que carga los archivos. Si el atacante accede primero a los archivos (esto puede suceder casi en tiempo real si el malware monitorea los directorios públicos para detectar cambios) los destinatarios verán los archivos manipulados sin poder ver los originales. Además, la miniatura que aparece en la notificación que ven los usuarios también mostrará la imagen o el archivo manipulados, por lo que los destinatarios no tendrán ninguna indicación de que se hayan cambiado los archivos. Además, los datos se pueden manipular en WhatsApp al enviar archivos, lo que significa que el ataque se lanza en el dispositivo del remitente, y cuando se reciben archivos, con el ataque en el dispositivo receptor.
Como se comentó, el permiso WRITE_EXTERNAL_STORAGE es muy común entre las aplicaciones de Android y los usuarios generalmente no dudan en otorgar el permiso como parte del proceso de incorporación. Por lo tanto, es posible que, sin saberlo, un usuario pueda instalar el malware antes mencionado en lugar de instalar otra aplicación que solicite permisos más agresivos (como sensores de dispositivos críticos o acceso a recursos). En este caso, un usuario puede ser más cauteloso antes de aceptar la instalación.
Además, la vulnerabilidad de Media File Jacking apunta a un problema mayor del uso no seguro de los recursos de almacenamiento por parte de los desarrolladores de aplicaciones. En 2018, los investigadores descubrieron una falla similar relacionada con cómo algunas aplicaciones de Android utilizan el almacenamiento externo, lo que abre la puerta a la manipulación de datos por parte de los atacantes. Un ataque llamado Hombre en el disco puede ocurrir cuando los desarrolladores no toman las precauciones de seguridad cuando almacenan archivos en un almacenamiento externo. Esto puede dar como resultado la instalación silenciosa de aplicaciones potencialmente maliciosas y la denegación de servicios para las aplicaciones.
Impacto
Veamos algunos escenarios donde los atacantes podrían explotar esta vulnerabilidad a víctimas de estafa:
- Manipulación de imagen. En este escenario, una aplicación aparentemente inocente, pero en realidad maliciosa, descargada por un usuario puede manipular fotos personales casi en tiempo real y sin que la víctima lo sepa. La aplicación se ejecuta en segundo plano y realiza un ataque de Media File Jacking mientras la víctima usa WhatsApp. Esta supervisa las fotos recibidas a través de la aplicación de mensajería instantánea, identifica caras en las fotos y las reemplaza con otra cosa, como otras caras u objetos. Un usuario de WhatsApp puede enviar una foto familiar a uno de sus contactos, pero lo que ve el destinatario es en realidad una foto modificada. Si bien este ataque puede parecer trivial y solo una molestia, muestra la viabilidad de manipular imágenes sobre la marcha. En un escenario similar con consecuencias de mayor alcance, los archivos de medios de un político que se postula para un cargo o un ejecutivo de la empresa podrían manipularse, lo que permitiría a los atacantes extorsionar a sus objetivos.
- Manipulación de pago. En uno de los ataques más dañinos de Media File Jacking, un actor malintencionado puede manipular una factura enviada por un proveedor a un cliente para engañar al cliente para que realice un pago a una cuenta ilegítima. Al igual que en el escenario anterior, una aplicación que parece ser legítima pero que en realidad es maliciosa, observa los archivos de facturas en PDF recibidos a través de WhatsApp y luego intercambia la información de la cuenta bancaria que se muestra en la factura con la del malintencionado. El cliente recibe la factura que esperaba pero no tiene conocimiento de que se haya modificado. En el momento en que se exponga el engaño, el dinero habrá desaparecido. Para empeorar las cosas, la piratería de la factura podría ser ampliamente distribuida de forma no dirigida, buscando cualquier factura que manipular, afectando a múltiples víctimas que usan aplicaciones de mensajería instantánea como WhatsApp para realizar negocios.
- Falsificación de mensajes de audio. En este escenario, un atacante explota las relaciones de confianza entre los empleados de una organización. Un CEO le envía a su CFO un mensaje de audio, a través de WhatsApp, solicitando diapositivas actualizadas para una reunión de directorio la próxima semana. El atacante, utilizando la reconstrucción de voz a través de la tecnología de aprendizaje profundo, algo que se está convirtiendo cada vez más factiblehoy, modifica el archivo de audio original para comunicarse con el CFO, en la propia voz del CEO, de que un pago debe transferirse de inmediato a una parte ficticia, que de hecho es el atacante. El malintencionado no solo manipula las comunicaciones del CEO, sino que va un paso más allá para reconstruir su voz, lo que resulta en una técnica de engaño muy efectiva. El mensaje original del CEO se reemplaza cuando llega al teléfono del CFO. Lo que el CFO escucha al final es un mensaje de audio creíble de su jefe para hacer un pago, algo que un empleado inconsciente puede percibir fácilmente como una solicitud legítima.
- Otro ejemplo interesante en el que podemos encontrar un ataque de Media File Jacking son las noticias falsas. En Telegram, los administradores utilizan el concepto de «canales» para transmitir mensajes a un número ilimitado de suscriptores que consumen el contenido publicado. Un atacante puede cambiar los archivos multimedia que aparecen en el canal de información en tiempo real. Consideremos, por ejemplo, una red de noticias de confianza que mantiene un canal de Telegram. Los suscriptores confían en el canal para obtener noticias creíbles. Un atacante puede comunicar falsedades en el canal manipulando los archivos multimedia recibidos allí. Curiosamente, esto puede suceder sin el conocimiento y consentimiento tanto del propietario del canal como de la víctima final. Este ejemplo ilustra cómo el atacante puede dañar al remitente y al destinatario: los receptores consumen noticias falsas y la reputación o credibilidad del propietario del canal se ve afectada.
Cómo los desarrolladores de aplicaciones pueden protegerse contra la amenaza
Como se mencionó anteriormente, WhatsApp guarda los archivos en el almacenamiento externo automáticamente, mientras que Telegram lo hace cuando la función «Guardar en Galería» está habilitada. En ambos casos, sin embargo, ninguna de las aplicaciones tiene medidas para proteger a sus usuarios de un ataque de Media File Jacking.
Para garantizar que los archivos multimedia se mantengan a salvo de actores maliciosos, recomendamos las siguientes medidas:
- Valide la integridad de los archivos: Almacene en un archivo de metadatos un valor hash para cada archivo multimedia recibido antes de escribirlo en el disco. Luego, confirme que el archivo no se haya cambiado (es decir, el hash es el mismo) antes de que la aplicación cargue el archivo multimedia en la parte correspondiente del chat para que los usuarios lo vean. Este paso puede ayudar a los desarrolladores a validar que los archivos no se manipularon antes de cargarlos. Este enfoque equilibra las necesidades de seguridad (protección contra ataques de Media File Jacking) y funcionalidad (por ejemplo, soporte de aplicaciones de respaldos de terceros) de las aplicaciones de mensajería instantánea.
- Almacenamiento interno: Si es posible, almacene los archivos multimedia en un directorio no público, como el almacenamiento interno. Esta es una medida que algunas aplicaciones de mensajería instantánea han elegido.
- Cifrado: Esfuércese por cifrar archivos confidenciales, como suele hacerse con los mensajes de texto en las soluciones de mensajería instantánea modernas. Esta medida, al igual que la anterior, protegerá mejor los archivos de la exposición y manipulación. El inconveniente es que otras aplicaciones, como las aplicaciones de respaldo de fotos, no podrán acceder fácilmente a estos archivos.
Con el lanzamiento de Android Q, Google planea implementar cambios en la forma en que las aplicaciones acceden a los archivos en el almacenamiento externo de un dispositivo. Android’s planned El almacenamiento de ámbito de Android es más restrictivo, lo que puede ayudar a mitigar amenazas como la falla de WhatsApp/Telegram que encontramos. Almacenamiento de ámbito significa que las aplicaciones tendrán su propia área de almacenamiento en un directorio específico de la aplicación, pero se les impedirá acceder a los archivos en toda la partición de almacenamiento, a menos que el usuario otorgue un permiso explícito. Si bien esto promete mejorar la protección de la privacidad del usuario, también incluye cambios importantes en la forma en que millones de aplicaciones utilizan el almacenamiento externo. En parte debido a estos desafíos, Google anunció recientemente que planea impulsar la aplicación de la API sólo en 2020, en el próximo lanzamiento importante de la plataforma. Incluso entonces, el impacto de la aplicación de la ley llevará tiempo debido a la fragmentación de la versión del sistema operativo Android.
Proceso de divulgación
Symantec notificó a Telegram y Facebook/WhatsApp sobre la vulnerabilidad de Media File Jacking.
Protección
Los motores de detección de malware de Symantec, que impulsan a Symantec Endpoint Protection Mobile (SEP Mobile) y Norton Mobile Security, detectan aplicaciones que aprovechan la vulnerabilidad descrita.
Como tal, las empresas y los consumidores que aprovechan SEP Mobile y Norton Mobile Security respectivamente, se benefician del análisis profundo de las aplicaciones y la detección de comportamientos maliciosos, sospechosos y no deseados, y ya están protegidos de la amenaza descrita.
Mitigación
Deshabilitando el almacenamiento de archivos multimedia en el almacenamiento externo
Los usuarios de la aplicación de mensajería instantánea pueden mitigar el riesgo de los archivos multimedia al deshabilitar la función que guarda los archivos en el almacenamiento externo. Mostramos cómo hacer esto en WhatsApp y Telegram a continuación.
WhatsApp: Configuraciones -> Chats -> Visibilidad multimedia
Telegram: Configuración -> Configuración de chat -> Guardar en galería