Análisis de un malware que explota los servicios de accesibilidad de Android

En Android e iOS, las funciones de accesibilidad están disponibles para ayudar a las personas a usar sus teléfonos inteligentes: comentarios de audio, subtítulos, visualización personalizada… Algunas aplicaciones móviles diseñadas con un enfoque inclusivo son compatibles con los servicios de accesibilidad.

Para habilitar estos servicios en una aplicación, se requiere el permiso de accesibilidad. Pero este permiso otorga a las aplicaciones acceso completo al dispositivo del usuario. Hoy en día, cada vez más ciberdelincuentes lo aprovechan para tomar el control de teléfonos inteligentes y tabletas. Cuando esto sucede, los usuarios se encuentran en un aprieto, sin poder desinstalar la aplicación o incluso restablecer su dispositivo.

Recientemente, el Pradeo La solución de seguridad neutralizó una aplicación que usaba los servicios de accesibilidad de Android con fines maliciosos en un dispositivo protegido. El malware identificado se instaló a través de un enlace de phishing. Pretende ser una aplicación de escaneo de códigos QR pero en realidad explota el permiso de accesibilidad para realizar transacciones bancarias fraudulentas.

Los riesgos de los servicios de accesibilidad móvil

Una aplicación puede utilizar el android.permiso.BIND_ACCESSIBILITY_SERVICE permiso para beneficiarse de funciones avanzadas que facilitan la accesibilidad a usuarios con discapacidades. Con este permiso, una aplicación puede controlar toda la pantalla (clics, movimientos…) así como el teclado, leer lo que se muestra y cerrar o abrir aplicaciones.

Estas funciones son sensibles porque permiten el control de casi todas las capas de un dispositivo. Cuando a una aplicación maliciosa se le otorga el permiso de accesibilidad, puede enviar toda la información que se muestra en la pantalla y se escribe en el teclado a un servidor remoto, evitar su propia eliminación o el reinicio del sistema, e incluso iniciarse automáticamente cuando se reinicia el dispositivo. Desafortunadamente, los canales de distribución utilizados por los piratas informáticos, como las tiendas de aplicaciones no oficiales y los servicios de mensajería (SMS), no brindan ninguna protección contra esta amenaza.

Caso de estudio: Escáner de código QR

Nombre de la aplicación analizada: QR-Code Scanner

Nombre del paquete: com.square.boss

Sistema operativo: Android

La aplicación «Escáner de código QR» aparece como una aplicación de escaneo de código QR. Su icono y nombre no son sospechosos. Sin embargo, cuando se lanza, no se ofrece ninguna funcionalidad de escaneo de códigos QR.

Inmediatamente, la aplicación envía una notificación que insta a otorgar la opción de accesibilidad, la cual es necesaria para la ejecución de su ataque. Mientras el usuario no lo permita, envía continuamente la misma solicitud de permiso.

imagen-png-27-oct-2022-07-57-41-2518-AM imagen-png-27-oct-2022-07-58-03-5173-AMimagen-png-27-oct-2022-07-58-21-2187-AM

Una vez autorizado, el malware puede aprobar silenciosamente sus propias solicitudes de permiso en lugar del usuario. Así, se otorga todos los permisos que le permitirán realizar su ataque.

En este caso, nuestro análisis del malware sugiere que el objetivo del hacker detrás de la aplicación es cometer fraude, recopilando datos que el usuario escribe o muestra en su pantalla (nombre de usuario, contraseña, números de tarjeta de crédito…) e interceptando el código de autenticación temporal enviado.

Primero, la aplicación QR-Code Scanner accede a la lista de aplicaciones instaladas en el dispositivo de la víctima para medir el interés. Cuando bancario o se utilizan aplicaciones de comercio electrónico, existe una mayor probabilidad de que los datos bancarios sean manipulados por el usuario. Cuando sucede, el hacker los recopila.

Para ingresar a la cuenta de la víctima o realizar un pago con su tarjeta de crédito, el hacker intercepta la contraseña de un solo uso contenida en un SMS o una notificación. Por lo tanto, elude todas las medidas de seguridad que autentican los pagos y las conexiones mediante un código. Solo los protocolos de verificación que usan datos biométricos son seguros en este punto.

Finalmente, la aplicación utiliza el teléfono de la víctima para propagarse a otros dispositivos. Para ello, envía un SMS con un enlace de phishing a toda la lista de contactos. De esta forma, el mensaje proviene de un número conocido y tiene más posibilidades de convencer a los destinatarios para que instalen el malware.

A lo largo del ataque, el malware explota los servicios de accesibilidad para:

  • Espiar la actividad de los usuarios
  • Conceder y prevenir la rechazo de la permisos que necesita
  • Impedir la eliminación de la aplicación, ya sea desde la página de inicio o desde la configuración
  • Prevenir restablecimiento de fábrica, incluso desde un dispositivo de terceros
  • Evitar el sueño o el cierre de su proceso.
  • Lanzamiento al inicio

Los permisos utilizados por el malware son los siguientes:

android.permission.QUERY_ALL_PACKAGES

android.permiso.QUICKBOOT_POWERON

android.permiso.RECEIVE_LAUNCH_BROADCASTS

android.permiso.GET_TASKS

android.permiso.SYSTEM_ALERT_WINDOW

android.permiso.RECEIVE_SMS

android.permiso.READ_SMS

android.permiso.WRITE_SMS

android.permiso.SEND_SMS

android.permiso.REQUEST_IGNORE_BATTERY_OPTIMIZACIONES

android.intent.action.BOOT_COMPLETED

com.htc.intent.action.QUICKBOOT_POWERON

android.intent.action.QUICKBOOT_POWERON

android.permiso.RECEIVE_BOOT_COMPLETED

android.permiso.QUICKBOOT_POWERON

Medidas de protección

A pesar de la innegable necesidad de los servicios de accesibilidad, los derechos avanzados que ofrecen sobre el sistema implican que deben ser utilizados (por parte del desarrollador) y autorizados (por parte del usuario) con la debida consideración.

Hoy en día, solo unas pocas herramientas y acciones de remediación son efectivas para neutralizar el malware analizado:

  • Bloqueo de la aplicación antes de ejecutarla con Pradeo Security
  • Forzar la desinstalación de la aplicación con Pradeo Security para Samsung
  • Desinstalación a través de una solución de administración de dispositivos (UEM, MDM)
  • Desinstalación a través del comando ADB

Fuente del artículo

Deja un comentario