Check Point 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.
Índice de temas
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
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.
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