Le empresa Check Point, especializada en ciberseguridad, revela una nueva deficiencia en el diseño del Sandbox de Android. El uso del almacenamiento externo por parte de aplicaciones puede abrir la puerta a un ciberataque con resultados indeseados, como la instalación silenciosa de aplicaciones no solicitadas y potencialmente maliciosas en el teléfono del usuario, la denegación de servicio para aplicaciones legítimas, e incluso provocar que las aplicaciones se bloqueen, abriendo la puerta a una posible inyección de código que podría ejecutarse en la aplicación atacada.
Estos ataques denominados Man-in-the-Disk son posibles cuando las aplicaciones no se preocupan del uso del almacenamiento externo, un recurso que se comparte entre todas la aplicaciones sin la protección de la filosofía Sandbox en Android, y no toman las precauciones de seguridad pertinentes de manera individual.
El ataque “Man-in-the-Disk”
Esta nueva forma de ataque descubierta por los investigadores de Check Point permite entrar y acceder a los datos guardados en el almacenamiento externo. Utilizando una aplicación, de aspecto inocente, descargada por el usuario, el atacante es capaz de monitorizar los datos transferidos entre cualquier otra aplicación y el Almacenamiento Externo, y sobrescribirlos con sus propios datos, lo que provoca un comportamiento no deseado de la aplicación atacada.
Al descargar la aplicación de ‘apariencia inocente’ del ciberdelincuente, se le pide al usuario que permita a la aplicación acceder al almacenamiento externo, algo normal, y poco probable que levante sospechas entre los usuarios. El código malicioso del atacante iniciaría entonces la monitorización del almacenamiento externo y de todos los datos que allí se encuentran. De esta manera, el ciberdelincuente tiene a su «Man-in-the-Disk» buscando formas de interceptar el tráfico y la información requerida por otras aplicaciones del usuario para manipularlas o hacer que fallen.
Esta nueva forma de ataque permite entrar y acceder a los datos del almacenamiento externo
Los resultados de los ataques pueden variar, dependiendo del deseo y la experiencia del atacante. La investigación demostró la capacidad de instalar una aplicación no deseada en segundo plano, sin el permiso del usuario. También se demostró la capacidad de bloquear la aplicación atacada, causándole una denegación de servicio. Incluso podría llevar a cabo una inyección de código para secuestrar los permisos concedidos a la aplicación atacada y escalar sus propios privilegios con el fin de acceder a otras partes del dispositivo del usuario, como la cámara, el micrófono, su lista de contactos…
¿Qué precauciones deben tomar los desarrolladores?
Cuando se utiliza el almacenamiento externo, es necesario tomar ciertas precauciones.
Según la documentación de Google sobre Android, se aconseja a los desarrolladores de aplicaciones cómo deben utilizar el almacenamiento externo.
Algunas de estas pautas incluyen:
1) «Realizar la validación de entrada cuando se manejan datos de almacenamiento externo».
2) «No almacenar ejecutables o archivos de clase en Almacenamiento Externo»
3) «Los archivos de almacenamiento externo deben ser firmados y criptográficamente verificados antes de la carga dinámica»
Causa y efecto
Como los detalles de este ataque pueden parecer complejos, Check Point ha recapitulado estas últimas deficiencias de Android:
1) El almacenamiento externo de un dispositivo Android es un área pública que puede ser observada o modificada por cualquier otra aplicación en el mismo dispositivo.
2) Android no proporciona protecciones incorporadas para los datos almacenados en el almacenamiento externo. Sólo ofrece a los desarrolladores directrices sobre el uso adecuado de este recurso.
3) Los desarrolladores no siempre velan por la necesidad de seguridad y los riesgos potenciales, ni siguen las directrices de seguridad.
4) Muchas de las aplicaciones preinstaladas y de uso popular ignoran las directrices de Android y guardan datos confidenciales en el almacenamiento externo desprotegido.
5) Esto puede conducir a un ataque Man-in-the-Disk que puede resultar en la manipulación y/o abuso de datos confidenciales desprotegidos.
6) La modificación de los datos puede dar lugar a resultados no deseados en el dispositivo del usuario.
Como protegernos contra Man-in-the-Disk
Aunque estas deficiencias de diseño hacen que los usuarios de Android sean potencialmente vulnerables a las ciberamenazas, lo que no está tan claro es quién tiene la culpa y dónde está la responsabilidad de solucionarlas. Por un lado, aunque los desarrolladores de Android han creado directrices para los desarrolladores de aplicaciones sobre cómo asegurarse de que sus aplicaciones sean seguras, también deben ser conscientes de que es muy difícil construir aplicaciones completamente seguras ante amenazas futuras.
Por tanto, desde la experiencia, parecería que las meras directrices no son suficientes para que los proveedores de sistemas operativos se exoneren de toda responsabilidad respecto a los diseños de los desarrolladores de aplicaciones. En cambio, asegurar el sistema operativo subyacente es la única solución a largo plazo para protegerse contra esta nueva forma de ataque descubierta por Check Point.