A veces imaginamos el malware como ommipotente y omnipresente, pero la arquitectura del sistema operativo Android limita y dificulta mucho su funcionamiento
Tendemos a extrapolar a nuestros móviles el conocimiento clásico de informática de nuestros ordenadores, y no siempre funciona igual. Uno de estos casos es en el modo en el que Android gestiona y aisla los datos de las aplicaciones entre sí, para que una aplicación no pueda obtener a los datos de otras.
Los más viejos del lugar recordarán la época del Android del salvaje Oeste donde los datos de las apps se guardaban en ocasiones en lugares públicos, pero desde hace ya bastantes años, Android es muy receloso de los datos de las apps, para que sólo la misma app pueda acceder a ellos, salvo contadas excepciones.
Apps aisladas entre sí
Desgraciadamente el malware sigue acechando a Android a pesar de todos los esfuerzos de Google, y muchos seguimos pensando en estas apps maliciosas equiparándolas a los virus de Windows de hace una década: multiplicándose, expandiéndose mágicamente y espiando de todo, incluso otras apps como la del banco.
Lo cierto es que esto es bastante más complicado de lo que parece, pues Android hace uso del aislamiento de aplicaciones de Linux para que cada aplicación funcione en su propia "burbuja", sin acceso fuera de la misma salvo con los puntos de conexión establecidos por las API de Android. Es lo que se conoce como sandboxing.
Cada aplicación tiene un identificador único asociado a su proceso que aisla sus recursos, incluidos sus datos, para que otras apps no puedan interceptarlos, leerlos, modificarlos o borrarlos. El sandboxing de Android se ha ido reforzando con las distintas versiones de Android desde hace años, tal y como recoge Google en su documentación.
Desde Android 9, por ejemplo, las apps deben ejecutarse en sandboxes de SELinux independientes, evitando que dejen sus datos accesibles al resto, y desde Android 10 Google ha limitado versión tras versión el acceso a los archivos del sistema.
Todo esto se resume en lo siguiente: una aplicación no puede acceder a los datos de otra, maliciosa o no, sin que dichas apps se hayan configurado explícitamente para que así sea. Sí es posible compartir datos entre apps de un mismo desarrollador y que estén firmadas con la misma firma, como por ejemplo Messenger y Facebook o WhatsApp y WhatsApp Business.
Entonces, ¿cómo lo hace el malware?
El malware optar por el camino más sencillo a la hora de intentar burlar este tipo de protecciones. En lugar de lidiar con el sandboxing del kernel de Linux, la solución más popular por la que optan las apps maliciosas es, en vez de acceder físicamente a los datos, espiar lo que sale en la pantalla, con el permiso de accesibilidad.
El permiso de accesibilidad es muy potente pues permite a una app ver y controlar lo que pasa en el, convirtiéndose en la principal herramienta para el malware. En lugar de acceder a los datos del banco (y posiblemente tener que descifrar su base de datos, etc), es más fácil espiar lo que se muestra en la pantalla, esperar a que el usuario introduzca sus credenciales, capturarlas y enviarlas por Internet al dueño del malware. Si el banco envía algún código de verificación por SMS, el código puede también ser capturado con este permiso.
Otro modo más radical, aunque está un poco en desuso hoy en día, es que el malware aproveche un agujero de seguridad para obtener permiso root. Con permiso root, una aplicación tiene control total para acceder al almacenamiento del móvil, incluyendo los datos privados de otras aplicaciones. Con miles de modelos de móviles Android ahí fuera, cada uno con una versión ligeramente distinta de versión, este tipo de exploits hace ya años que dejaron de ser prácticos.
No obstante, mucho malware opta por el modo más fácil y que requiere menos esfuerzo: el phishing. Es más fácil para una app maliciosa hacerse pasar por otra y que el usuario introduzca sus credenciales en ella creyendo que es la app del banco, o redirigir a páginas webs falsas, que burlar las numerosas protecciones del sistema operativo para acceder a los datos en bruto.
Imagen | Con elementos de OpenClipart-Vectors en Pixabay
En Xataka Android | Google Home para pros: así puedes crear scripts para controlar tus dispositivos inteligentes
Ver todos los comentarios en https://www.xatakandroid.com
VER 1 Comentario