Protección contra el malware bancario Android BankBot usando RASP

A principios de este mes, la compañía holandesa Securify se encontró con un nueva muestra del malware de banca móvil Android BankBot . Mientras que las muestras más antiguas de BankBot apuntaban principalmente a las instituciones financieras rusas, la última muestra muestra que BankBot ahora también apunta a bancos europeos y estadounidenses. Más específicamente, BankBot ahora apunta a más de 420 bancos líderes en países como Alemania, Francia, Austria, Países Bajos, Turquía y Estados Unidos.
Los analistas de Threat Research de VASCO, Ludovic Joly y Ernesto Corral, se propusieron comprender cómo BankBot ataca las aplicaciones de banca móvil y verificar si la tecnología RASP (Runtime Application Self-Protection) de VASCO protege las aplicaciones de banca móvil contra BankBot.
¿Cómo le roba BankBot sus credenciales?
BankBot es un troyano bancario que se hace pasar por una aplicación aparentemente benigna, como WhatsApp o Runtastic. Cuando la aplicación se instala y ejecuta, solicita privilegios administrativos. Una vez que se otorgan estos privilegios, el icono desaparece de la pantalla de inicio. A partir de ese momento, el dispositivo se ve comprometido.
Posteriormente, BankBot intenta robar sus credenciales bancarias (por ejemplo, nombre de usuario y PIN) e información de tarjeta de crédito utilizando una técnica conocida llamada cubrir . Esto significa que el malware crea una ventana que imita el aspecto de la aplicación de banca móvil dirigida, y que tiene como objetivo engañar a los usuarios para que ingresen sus credenciales. Esta ventana de superposición se coloca en la parte superior de la aplicación de destino cuando el usuario la inicia. Como la ventana de superposición se crea para parecerse exactamente a la aplicación de destino, los usuarios generalmente creen que están interactuando con la aplicación de banca móvil genuina.
Figura 1: Ejemplos de superposiciones utilizadas por BankBot (fuente: Securify)
El proceso de BankBot para crear y mostrar una superposición es el siguiente. Primero, BankBot obtiene la lista de procesos que se ejecutan en el dispositivo. Los comentarios en el código han sido agregados por nuestro analista de amenazas Ernesto Corral para simplificar la lectura.
A continuación, BankBot obtiene los nombres reales de los procesos en ejecución utilizando el siguiente comando:
Posteriormente, BankBot compara estos nombres con una lista de nombres de aplicaciones de banca móvil a las que apunta. Algunos ejemplos de aplicaciones actualmente dirigidas por BankBot son:
Si el nombre de un proceso en ejecución coincide con un nombre en la lista de objetivos, BankBot finalmente crea una superposición y lo coloca en la parte superior de la aplicación de destino.
La superposición en sí consiste en un WebView personalizado, que es un componente de Android que se puede usar para mostrar una página web dentro de una aplicación:
El troyano BankBot descarga el contenido para WebView sobre la marcha desde el servidor C2 y lo muestra dentro de un componente WebView de su aplicación.
Protección contra los ataques de superposición de BankBot
Para defender las aplicaciones de banca móvil contra ataques de superposición, recomendamos que estén protegidas mediante dos técnicas, a saber, la tecnología de autoprotección de aplicaciones en tiempo de ejecución (RASP) y la funcionalidad de autenticación de dos factores.
RASP, que es un término acuñado por Gartner, protege las aplicaciones móviles contra intrusiones a nivel de aplicación, como los ataques de superposición. Las soluciones RASP interfieren con el proceso del troyano bancario para crear y mostrar superposiciones. Es importante que las instituciones financieras elijan una solución RASP que proporcione genérico Protección de superposición. Esto significa que la solución RASP no debe proporcionar protección contra muestras de malware específicas (por ejemplo, la última muestra de BankBot), sino contra múltiples familias de malware, como BankBot, svpeng y Marchista . Marcher es una de las familias de malware bancario más activas de 2016 según el informe de Kaspersky Ciberamenazas financieras en 2016 . Las buenas soluciones RASP pueden ser genéricas porque nuestro análisis ha demostrado que muchas familias de malware utilizan técnicas similares para crear superposiciones.
La tecnología de autenticación de dos factores, por otro lado, asegura que las credenciales bancarias robadas mediante un ataque de superposición son de poco valor para un estafador. Las aplicaciones protegidas de esta manera usan dos elementos de autenticación diferentes: algo que el usuario sabe (por ejemplo, el PIN), pero también algo que el usuario tiene (es decir, una clave criptográfica almacenada en el dispositivo móvil, que se utiliza para generar contraseñas de un solo uso). Si bien los ataques de superposición se pueden usar para atacar el factor de conocimiento, no pueden atacar el factor de posesión para robar la clave criptográfica.
Conclusiones
Nuestros laboratorios de investigación de amenazas han analizado el funcionamiento interno de malware como BankBot y Marcher. De esto hemos aprendido que muchas familias de malware de banca móvil de Android usan un enfoque similar para crear ventanas superpuestas. Después de probar en nuestro laboratorio, podemos decir que nuestro RASPAR La tecnología ofrece protección contra múltiples familias de malware que utilizan este enfoque. Además, la funcionalidad de autenticación de dos factores de DIGIPASS para aplicaciones asegura que incluso los ataques de superposición exitosos puedan defenderse.
