29 mar. 2021

Tapjacking y otros engaños en Android

Existen ataques que permiten esconder las actividades maliciosas para descargar amenazas o cambiar la configuración del sistema. Se conocen como Tapjacking.

Detectar la existencia de códigos maliciosos sobre el sistema operativo Android resulta un proceso complicado gracias a una combinación de diferentes factores. Los componentes y permisos definidos en las interfaces del sistema pueden ser igualitariamente utilizados con fines legítimos o maliciosos. Es decir, nos es imposible tomar una larga lista de permisos a aceptar como referente inexorable de comportamiento malintencionado.

A través de algo tan sencillo como la superposición de componentes de desarrollo y algún que otro permiso, los cibercriminales pueden robar datos privados o ganar el control remoto del sistema. Aún más, existe una variante de tipo de ataques que permite al cibercriminal esconder sus actividades para así descargar otras amenazas o cambiar la configuración del sistema, lo que conocemos como tapjacking.

Las superposiciones no son algo nuevo en seguridad. En realidad, el "Cloak & Dagger" que se basa en estas técnicas todavía se considera como uno de los ataques más populares que afectaron al sistema operativo Android. Pero esto es solo la punta del iceberg, ya que las superposiciones son utilizadas por varios tipos de malware, incluidos troyanos bancarios, software espía, escalamiento de privilegios, fraudes publicitarios o incluso ransomware.

Si bien la experiencia hasta ahora mostró lo contrario, la capacidad de una aplicación para dibujar sobre otras, todavía no se considera peligrosa. Después de todo, las vulnerabilidades que "jugaban" con la interfaz de usuario siempre se consideraron como frutas fáciles de alcanzar. Para el usuario promedio, esta habilidad parece ser totalmente inofensiva, por lo que permitir que una aplicación pueda superponerse con solo un clic de distancia.

Secuestrando los "toques" del usuario

El tapjacking consiste en la captura de los toques que el usuario da sobre la pantalla al mostrar dos actividades superpuestas. De esta manera, el usuario cree que realiza toques sobre la actividad que está viendo, mientras éstos están siendo verdaderamente desviados a la actividad subyacente, que permanece oculta a su vista.

Las consecuencias de estos ataques pueden generar verdaderos estragos. A través de este mecanismo, un atacante puede distribuir oficialmente una aplicación popular que peticione pocos permisos, como puede ser un juego de moda, y forzar por detrás la instalación de otras aplicaciones que de otra manera terminarían despertando la desconfianza del usuario debido a la larga lista de permisos requeridos. Todo esto, bajo el desconocimiento de quien está utilizando el terminal.

Este comportamiento es posible con la utilización de un tipo de actividad de alerta (TYPE_SYSTEM_ALERT) disponible en la API del sistema. Para poder desplegar estas actividades, la aplicación deberá peticionar permisos especiales en su manifiesto (SYSTEM_ALERT_WINDOW), los cuales deberán ser aceptados oportunamente por los usuarios.

El atacante puede configurar además otro tipo de parámetros para determinar los eventos que serán o no capturados por la actividad. En particular, el parámetro FLAG_NOT_TOUCH_MODAL determinará que todos los eventos sean transmitidos a la actividad subyacente.

Este tipo de debilidades en la interacción entre aplicaciones puede terminar con la realización de cambios en la configuración del sistema, de acciones en nombre del usuario en aplicaciones previamente instaladas, o con la descarga e instalación de otras amenazas informáticas desde diversas fuentes, ya sea desde internet o desde la misma Play Store.

En la siguiente imagen podemos observar una demostración, en la cual un hipotético juego distribuido a través del mercado oficial para aplicaciones en Android inicia imperceptiblemente la instalación de Twitter y acepta los permisos necesarios. En las figuras de la izquierda vemos lo que se presentaría al usuario por pantalla, mientras a la derecha observamos con un fondo transparente qué acciones van teniendo lugar de manera camuflada.

Incluso, este tipo de actividades de alerta del sistema que se mantienen siempre sobre otras puede terminar siendo utilizadas para la producción de ransomware.

La superposición de actividades ha sido y es una de las técnicas más utilizadas por los ciberdelincuentes para el robo de credenciales en Android. En este esquema, el malware monitorea constantemente el nombre del paquete de la actividad que actualmente está siendo desplegada al usuario, hasta que éste coincida con el nombre del paquete de la aplicación objetivo. Entonces, despliega un diálogo propio con la estética de la aplicación legítima, peticionando las credenciales al usuario.

Al desencadenar el comportamiento malicioso sólo cuando el usuario ha voluntariamente iniciado la app genuina, el atacante logra reducir las sospechas, consiguiendo que el usuario brinde voluntariamente sus credenciales crediticias.

Una muestra que ejemplifica esta conducta es Android/Jagonca.A. Este malware busca robar números de tarjetas de crédito simulando ser la Google Play Store, como así también credenciales de autenticación para dos entidades bancarias en particular. El código que continuamente evalúa la actividad que está siendo mostrada en pantalla. Como consecuencia, despliega las actividades fraudulentas correspondientes a los diálogos pertinentes según la aplicación que haya iniciado el usuario.

Cabe destacar que, en el caso anteriormente ejemplificado, el usuario interactúa directamente con el cuadro de diálogo mostrado, pudiendo percatarse de la estafa.

Fuente: WeLiveSecurity | +Ch0pin I | +Ch0pin II

Suscríbete a nuestro Boletín

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!