Se puede abusar de los mensajes Toast de Android para otorgar accesibilidad o privilegios de administrador del dispositivo

Los investigadores han demostrado un ataque mediante un mensaje Toast que puede diseñar socialmente a un usuario para que otorgue permisos peligrosos en Android.

Android es una plataforma bastante abierta con una fantástica comunidad de desarrolladores. Muchos de estos desarrolladores crearán aplicaciones, ROM personalizadas y más. Algunas organizaciones también participan en pruebas de seguridad, como la Unidad 42 de Palo Alto Networks. Este grupo ha descubierto una vulnerabilidad dentro del sistema Android Toast Message, que permite al atacante para crear una pseudo-superposición para engañar al usuario para que otorgue permisos peligrosos sin su conocimiento. Esto es ya arreglado en el Actualización de seguridad de septiembre y en android oreo, así que tenga la seguridad de que si su teléfono aún recibe parches de seguridad mensuales, o si tiene un dispositivo con Android Oreo, no es vulnerable a este ataque.

Todos los demás dispositivos Android son susceptibles a este ataque. La forma en que esto funciona es que explota las notificaciones del sistema dentro de Android para evitar el requisito de "dibujar en la parte superior", es decir. permiso de superposición, que es como "

Capa y espada" El exploit funcionó. Los investigadores utilizaron este exploit para diseñar socialmente a los usuarios para que otorgaran el servicio de accesibilidad a su aplicación atacante, permitiéndoles luego leer todos los contenidos de la pantalla, entradas clave, etc. en el dispositivo. Luego utilizaron el mismo método para atraer a los usuarios de la aplicación para que concedieran acceso de administrador, sin tener conocimiento alguno del acceso que acababan de conceder. Esto permite al atacante instalar aplicaciones, monitorear el dispositivo y también abre la posibilidad de ransomware.

Explicación del ataque de superposición de mensajes tostados de Android

Pero, ¿cómo funciona realmente? El desarrolladores detrás de la prueba de concepto compartió el código fuente real de su ataque que contiene una explicación más técnica detrás de la vulnerabilidad. Pero explicaremos brevemente cómo y por qué funciona este exploit.

Primero, debes considerar qué es un mensaje de brindis. Han existido en Android desde hace años y probablemente hayas visto muchos de ellos en tu dispositivo todos los días. Los brindis son pequeños mensajes en la parte inferior de la pantalla que suelen aparecer en una burbuja gris con un dato.

El exploit utiliza el mensaje brindis para crear una superposición en la pantalla sin solicitar ni necesitar el SISTEMA_ALERT_WINDOW permiso, que se supone que es un requisito para que cualquier aplicación se dibuje en su pantalla. En su lugar, empuja la superposición a través de una notificación de brindis, creando botones que parecen estar destinados a otorgar legítimamente una notificación benigna. permiso o aceptar un mensaje sin sentido, pero en realidad son para otorgar al administrador del dispositivo o acceso de accesibilidad al solicitud. Crea dos vistas dentro de una superposición de brindis.

Todo esto se puede hacer debido a una verificación de permiso fallida. El sistema Android (actualización de seguridad anterior a Oreo y anterior a septiembre) en realidad no verifica lo que se envía a través del sistema Android Toast Overlay, sino que otorga el permiso sin verificar. Probablemente esto se deba a que Google no previó la posibilidad de mostrar una vista a través de una superposición de brindis.

El intento de Android 7.1 de solucionar el ataque de superposición de Android Toast

En Android 7.1 parece que Google intentó bloquear este exploit. Se introdujo un tiempo de espera para los mensajes del sistema y se creó una limitación: solo 1 mensaje del sistema por UID, el ID del proceso de una aplicación. Esto se evitó fácilmente haciendo bucles repetidos y mostrando más superposiciones de brindis, por lo que se le da al usuario la ilusión de que es una interfaz de usuario consistente. Si no se creaba un bucle, después de 3,5 segundos la superposición desaparecería y el usuario vería lo que la aplicación realmente le solicita que haga: otorgar derechos de acceso o administrador del dispositivo.

Consecuencias de un ataque exitoso

Los permisos de administrador o de accesibilidad del dispositivo, cuando se conceden a una aplicación, pueden explotarse fácilmente para muchos tipos de ataques maliciosos. Con este exploit se pueden crear ransomware, registradores de pulsaciones de teclas y limpiadores de dispositivos.

Las aplicaciones no necesitan ningún permiso para mostrar un mensaje de brindis, aunque obviamente la aplicación maliciosa aún necesita BIND_ACCESSIBILITY_SERVICE así como BIND_DEVICE_ADMIN para poder hacer un uso efectivo de esta superposición de brindis ataque. Por lo tanto, su mejor línea de defensa contra este tipo de ataques si su dispositivo aún no está parcheado es examinar los permisos que una aplicación ha definido en su AndroidManifest al instalarla. Si instala una aplicación y no está seguro de por qué esa aplicación necesita un servicio de accesibilidad o privilegios de administrador del dispositivo, desinstálela de inmediato y comuníquese con el desarrollador.

Es preocupante que una parte tan simple de Android, el humilde mensaje de brindis, pueda explotarse para diseñar socialmente a un usuario para que otorgue permisos peligrosos. Esperamos que los fabricantes implementen los parches de seguridad de septiembre lo antes posible en los dispositivos para proteger a los millones de personas que fácilmente podrían caer en un exploit de este tipo.