Noticias, Gadgets, Android, Móviles, Descargas de Aplicaciones

Microsoft advierte sobre el sofisticado ransomware de Android que secuestra el botón de inicio


No hay nada peor que saber que acaba de perder todo por el ransomware. Cuando sucede en nuestros teléfonos, donde vive gran parte de nuestra identidad y nuestras vidas, la situación puede parecer desesperada. Es una batalla sin fin para propietarios de plataformas como Google, Microsoft y Apple. Cada vez que una empresa crea nuevas medidas de seguridad, los atacantes intentan encontrar una forma de eludirlas. Eso es lo que Microsoft advierte a los usuarios de Android en una nueva publicación de blog de seguridad del equipo de investigación de Microsoft 365 Defender.

A diferencia del ransomware que llega a las máquinas con Windows, los dispositivos Android rara vez cifran sus datos. En cambio, una aplicación maliciosa se presentará cuando el teléfono se bloquee, bloqueando el acceso a aplicaciones y datos. Uno de los primeros métodos fue usar un permiso especial de Android, que los usuarios otorgaron sin saberlo cuando instalaron la aplicación desde una tienda de aplicaciones. En los días anteriores a Lollipop (Android 5), las aplicaciones siempre tenían todos sus permisos en el momento de la instalación. Funciona de manera diferente hoy en día, en parte para frustrar este tipo de vector de ataque.

malware android 2

El permiso SYSTEM_ALERT_WINDOW otorga a una aplicación la capacidad de poner una alerta a nivel del sistema encima de cualquier otra aplicación que se muestre. Google solucionó este agujero de seguridad al romper primero los permisos en tiempo de ejecución, lo que incitó a los usuarios a permitir ciertas acciones la primera vez que se invocan. Posteriormente, la empresa marcó este permiso especial como peligroso, por lo que requiere múltiples confirmaciones. En Anrdoid 11, este tipo de alerta se eliminó del sistema operativo y Google agregó tipos de ventanas adicionales para reemplazarla. Finalmente, este tipo de vulnerabilidad se ha eliminado.

¿Qué están haciendo los atacantes ahora? Todavía están haciendo un mal uso de la funcionalidad a nivel del sistema, pero de formas nuevas e interesantes. Primero, se registra a sí mismo como manejador de un montón de actividades del sistema. Todo, desde un evento de Inicio completado cuando el usuario inicia el teléfono por primera vez hasta un cambio de modo de timbre o el desbloqueo del dispositivo, notificará al ransomware lo que está sucediendo con el sistema para que pueda presentarse. Todo lo que tiene que hacer es lograr que el usuario interactúe con él una vez para que pueda ejecutarse. Intentará hacerlo a través de alertas, ventanas del sistema, funciones de accesibilidad u otras formas en que los usuarios interactúan con sus teléfonos. Sin embargo, examinaremos lo que parece ser el vector de ataque más común: las notificaciones.

snippet1El fragmento de código que crea una alerta para que el usuario ejecute la carga útil del malware.

Varios tipos de alerta en Android interrumpen toda la actividad y requieren la interacción inmediata del usuario. Por ejemplo, cuando recibe una llamada telefónica, esa notificación se muestra en pantalla completa y requiere una acción inmediata. Los autores de malware se dieron cuenta de que podían crear una notificación que requiriera una interacción inmediata. El malware crea una notificación a pantalla completa utilizando la API de Notification Builder y se la muestra al usuario. Una vez que el usuario interactúa con esa notificación, la parte difícil de llamar su atención termina. Sin embargo, esa es solo la notificación; a continuación, tenemos que hacer que el usuario interactúe con ella. Una forma en que el usuario siempre va a interactuar con su teléfono es el botón Inicio, por lo que el atacante solo tiene que convencer al usuario de que deje la notificación.

Sin adentrarse demasiado en el desarrollo de aplicaciones de Android, las aplicaciones de Android viven en Actividades. Cada pantalla en una aplicación de Android es su propia Actividad, que se deriva de una clase base. Esa clase base tiene métodos (funciones) que se llaman cuando ocurren ciertos eventos. Uno de esos eventos es detectar cuándo la aplicación está a punto de ponerse en segundo plano, llamado onUserLeaveHint (), que se activa cuando el usuario intenta dejar una actividad o enviarla a segundo plano. Por ejemplo, al presionar el botón Inicio. Debido a que está definido en la clase Activity base, los desarrolladores pueden anularlo con su propia funcionalidad. En este caso, esa funcionalidad es el mensaje de rescate. Ahora tu teléfono está bloqueado.

Microsoft utilizó una combinación de aprendizaje automático y análisis forense práctico para rastrear el comportamiento. Los atacantes intentan ocultar sus intenciones y cubrir sus huellas de muchas formas. El primero y más obvio es excluir partes clave del manifiesto de Android. Los atacantes también hacen que sus aplicaciones de malware descifren los datos basura para intentar engañar a los investigadores haciéndoles pensar que son parte integral del ataque. También hay un archivo dex cifrado (ejecutable de Dalvik VM) que oculta la carga útil del malware. Al encriptar tanto el código basura como el código real de la aplicación, a los investigadores les resulta más difícil determinar qué está sucediendo. Estos tipos son astutos, seguro.

Microsoft dice que su software empresarial Defender for Endpoint puede detectar este tipo de comportamiento y evitar que los malos bloqueen un dispositivo. Todos deberíamos tener cuidado al instalar aplicaciones desconocidas también. Parece que no pasa un día sin que Google no prohíba nuevas aplicaciones de Google Play, y se requerirá una mayor vigilancia por parte de la empresa para encontrar estos nuevos vectores de ataque y aplastarlos.