Man-in-the-Disk: un nuevo método para hackear Android

27 Ago 2018

Android es un buen sistema operativo, sus desarrolladores se preocupan por la seguridad, pero con tantas versiones del sistema operativo y aplicaciones, es complicado supervisarlas todas. Por tanto, surgen frecuentemente nuevos métodos para sortear los mecanismos de seguridad incorporados. El último método para hackear Android es Man-in-the-Disk y de eso vamos a hablar en este artículo.

Sandbox, la base de la seguridad de Android

Un principio clave de Android es que todas las aplicaciones deben estar separadas entre ellas y esto se consigue mediante sandbox. Cada aplicación, juntos con sus archivos privados, habita en un sandbox al cual no pueden acceder otras aplicaciones.

La idea es evitar que, aunque la aplicación maliciosa se infiltre en tu dispositivo Android, no robe datos de otras aplicaciones, como el nombre de usuario o contraseña de tu aplicación bancaria online o tu historial de mensajes. No hace falta decir que los hackers trabajan duro para encontrar nuevas formas de sortear los mecanismos de protección y conseguir el llamado “sandbox escape“, que permite que se ejecute código fuera de un sandbox, y de vez en cuando lo consiguen.

Por ejemplo, la charla de Slava Makkaveev en DEF CON 26 se centró en cómo una aplicación sin un peligro en particular o permisos sospechosos puede escapar del sandbox. Él fue el que le puso nombre al método Man-in-the-Disk, por el famoso ataque Man-in-the-Middle.

Cómo funciona el ataque Man-in-the-Disk

Aparte de los sandbox que albergan las aplicaciones, Android cuenta un almacenamiento externo compartido llamado “Almacenamiento externo”. Una aplicación debe solicitar permiso al usuario para acceder a este almacenamiento: “Acceso a fotos, contenido multimedia y archivos de tu dispositivo” (efectivamente, se trata de dos permisos: LEER_ALMACENAMIENTO_EXTERNO y ESCRIBIR_ALMACENAMIENTO_EXTERNO). Estos privilegios no se suelen considerar como peligrosos y casi cada aplicación los solicita, por lo que no resulta sospechoso.

Las aplicaciones utilizan el almacenamiento externo para muchas funciones útiles, como intercambiar o transferir archivos entre un smartphone y un ordenador. Sin embargo, el almacenamiento externo también se utiliza a menudo para almacenar temporalmente datos descargados de Internet. Primero, los datos se escriben a la parte compartida del disco y solo entonces se transfieren a un área apartada a la que solo tiene acceso la aplicación en particular.

Por ejemplo, una aplicación puede utilizar de forma temporal el área para almacenar módulos suplementarios que instala para amplificar su funcionalidad, para contenido adicional como diccionarios o para actualizaciones. El problema es que una aplicación con permisos para leer o escribir en el almacenamiento externo puede ganar acceso a los archivos y modificarlos añadiendo algo malicioso.

Imagina que una aplicación en apariencia inofensiva, como un juego, puede llegar a infectar tu smartphone.

Los creadores de Android se han percatado de que el almacenamiento externo puede ser peligroso y el sitio del desarrollador de Android incluye una serie de consejos útiles para los programadores de aplicaciones.

El problema es que no todos los desarrolladores de aplicaciones, ni siquiera los empleados de Google o algunos fabricantes de smartphones, siguen estos consejos. Los ejemplos presentados por Slava Makkaveed incluyen la explotación de la vulnerabilidad en Google Translate, Yandex.Translate, Google Voice Typing y Google Text-to-Speech, además de aplicaciones de sistema de LG y el navegador de Xiaomi.

Por cierto, los investigadores de Google descubrieron recientemente que el mismo ataque Man-in-the-Disk se puede aplicar a la versión Android de un juego muy popular, Fortnite. Para descargar el juego, los usuarios necesitan instalar una aplicación auxiliar primero que se supone que debe descargar los archivos del juego. Resulta que, con el ataque Man-in-the-Disk, alguien puede manipular la aplicación auxiliar para que instale una aplicación maliciosa. Los desarrolladores de Fortnite, Epic Games, son conscientes de esta vulnerabilidad y ya han expedido una nueva versión del instalador. Así que, si quieres obtener Fortnite, utiliza la versión 2.1.0 para mantenerte a salvo. Si ya tienes el juego instalado, desinstálalo y vuelve a instalarlo desde cero con la versión que acabamos de mencionar.

Cómo proteger tu Android de un ataque Man-in-the-Disk

Makkaveev solo mencionó algunas aplicaciones para demostrar lo mal que están las cosas, pero hay muchas más aplicaciones vulnerables.

¿Cómo puedes mantenerte a salvo? Tenemos unos cuantos consejos fáciles de seguir:

  • Instala aplicaciones solo desde tiendas oficiales como Google Play. A veces se infiltra malware, pero es mucho más raro.
  • Deshabilita la instalación de aplicaciones de fuentes de terceros en los ajustes de tu smartphone o tablet, pues son las fuentes más peligrosas. Para ello, selecciona Ajustes – Seguridad y desactiva Fuentes desconocidas.
  • Elige aplicaciones de desarrolladores verificados. Comprueba la puntuación de la aplicación y lee las opiniones. Evita instalar aplicaciones que no te den buena espina.
  • No instales nada que no necesites. Cuantas menos aplicaciones tengas en tu smartphone, mejor.
  • Recuerda eliminar las aplicaciones que no utilices.
  • Utiliza una aplicación antivirus para móviles de confianza que te notifique si una aplicación maliciosa intenta penetrar en tu dispositivo.