Antivirus falsos en Google Play y algunos trucos curiosos

lunes, 9 de junio de 2014

Ya se sabe que desde hace algunas semanas, en Google Play se han colado un buen puñado de programas que dicen ser antivirus para ese sistema operativo. Aprovechando las noticias sobre malware y adware para Android, utilizan la imagen de antivirus para engañar o inducir al usuario a la compra de otros productos de diferentes maneras. Si hace tiempo ya se afirmó que los antivirus legítimos para Android "no servían para nada", vamos a ver en esta entrada las técnicas y los trucos más curiosos que utilizan supuestos antivirus que tampoco sirven para nada... pero ni siquiera lo intentan demasiado.


En realidad, las apps de pago de este mismo developer corresponden a tarifas anuales, perpetuas, etc.

A principios de 2013 un estudio afirmaba que los antivirus para Android no servían para nada. La afirmación se sustentaba en que, estudiado el funcionamiento de los antivirus legítimos para Android en ese momento, los resultados eran muy pobres. Lo cierto es que, lejos del sensacionalismo, los antivirus para Android no están en un momento maduro como en Windows, y sus sistemas de detección, en comparación son muy rudimentarios y básicos. Resulta muy sencillo eludirlos... pero es que también los antivirus para Windows pueden eludirse (con más trabajo, pero es práctica habitual).

Desde el punto de vista del atacante, utilizar la imagen de un antivirus como sistema de infección para Android presenta varias ventajas. Los usuarios quizás tienen más predisposición a pagar por este producto. Además, no verán raro que un antivirus requiera muchos permisos para el teléfono. Al fin y al cabo, los necesita para proteger mejor al dispositivo.

Las primeras muestras

Kaspersky falso encontrado en Google Play
En abril de 2014, se encontraba en Google Play una app llamada "Virus Shield". Decía ser un antivirus y, por cuatro dólares activaba en el sistema un sistema de protección. En realidad, solo cambiaba la forma de un icono. La estafa se encontraba en el pago de esos cuatro dólares. Llegó a encontrarse entre las cinco aplicaciones de pago más populares.

Más tarde, los atacantes también subieron otro antivirus falso por 4 dólares, esta vez imitando a Kasperksy.

A partir de ahí, el número de antivirus (o apps que dicen serlo) ha ido en aumento. Veamos los trucos más utilizados. La siguiente lista de técnicas no son más que curiosidades recopiladas de una muestra. Algunas técnicas son conocidas y otras nos han resultado interesantes. No pretende ser una recopilación exhaustiva, ni un análisis completo de cada app.

Apps que ofrecen información sobre antivirus

Estas apps parecen antivirus, pero no son más que punteros a páginas donde se habla de antivirus o enlaces a descargas. No son una estafa en sí, pero juegan con la potencial confusión del usuario. Su negocio consiste en la publicidad agresiva asociada a la app.


Supuesto antivirus que no ofrece más que enlaces a otros, pero instala publicidad

Apps gratis pero no

Son apps que se ofrecen como versión "lite" o gratuita de alguna otra. En realidad, estos antivirus no contienen nada en su interior, más que un "puntero" a otra app del mismo desarrollador pero de pago, que probablemente tampoco cumpla su función.

Otra modalidad es que el supuesto antivirus simplemente redirija a otra app cualquiera muy reconocida en el mundo del adware. A la derecha, toda la lógica del antivirus anunciado a la izquierda en la imagen. El enlace lleva a una supuesta app de limpieza, aunque puede variar.


A la derecha, toda la lógica del antivirus que se anuncia como lo último en protección para Android. En realidad,  solo abre una ventana y redirige

Comprobar permisos

¿Comprobar los permisos es ser un antivirus? Así lo hacen algunas aplicaciones, que asocian riesgo al uso de permisos de aplicaciones. Aunque se trate de una actividad completamente legítima, es cuando menos discutible el llamarse "antivirus" tal y como podría entenderse una herramienta con ese nombre. Por ejemplo, en la app analizada, en su código se observa que las apps con SEND_SMS se clasifican como de alto riesgo.

Comprueba los permisos de los paquetes instalados y emite alertas según su propia clasificación


Si el paquete contiene la palabra virus, es un virus

Este antivirus falso, lo que hace es recorrer los paquetes instalados y buscar la cadena "virus" en los metadatos. Como se puede observar en el extracto de código mostrado en la imagen, esto lo hace la función isPackageExisted, a través de getPackageInfo. El flag 128 indica GET_META_DATA del nombre del paquete.


Dos funciones diferentes. El "motor" arriba, y la lógica de detección abajo en isPackageExisted

Si el paquete contiene la palabra "virus", con una lógica un poco extraña, el programa alertará de que ha encontrado malware en el teléfono. Por supuesto, esto incluiría a cualquier otro "antivirus".

La detección aleatoria

Este código de otro antivirus en Google Play habla por sí mismo. Tanto la detección de malware como la elección de la firma se producen de forma totalmente aleatoria. Eso sí, cada firma está asociada más abajo a un color más o menos intenso dependiendo de la gravedad del malware encontrado.

La firma de lo que encuentra es elegida de forma aleatoria

Tienes un virus que solo mi versión PRO puede eliminar 

Esto es un clásico de los antivirus falsos para Windows. Se simula encontrar malware falso y se anima a comprar la versión pro. El nombre de la función habla por sí misma "addFakeVirus". Además, la condición es claramente "si la app no se ha pagado". En este caso se usa como reclamo Android.Lotoor.C, que es un exploit usado para "rotear" al teléfono y detectado con ese nombre por algunos motores.


Rutina que encuentra malware falso si no se ha pagado

 Robo de otros antivirus y otras técnicas

Otro supuesto antivirus realiza el registro de la app (que en realidad podría verse como un acceso ilegítimo a los datos) sin consentimiento explícito del usuario.

Envío de datos a un servidor remoto

Otras técnicas observadas durante este pequeño estudio han sido, por ejemplo el uso de librerías de apps legítimas para la inteligencia del motor. Este caso mostrado parece utilizar una librería de BitDefender.

En la librería aparecen referencias al antivirus BitDefender

Otras técnicas de antivirus que parecen legítimos son, cuando menos, curiosas. Esta app dispone de una base de datos colgada en un servidor (sin SSL) que no es más que un xml con unas 400 entradas.


Sistema de firmas de un antivirus

Luego utiliza esta lógica para detectar malware:

Y su motor de detección...

Es cierto que realiza otras acciones sobre el teléfono (bloquea llamadas, y vigila qué páginas se introducen en el historial), pero todo parece estar basado en una lista negra.

RogueAntivirus: De Windows a Android

Todas estas técnicas, y más, se detectan ya desde hace tiempo en escritorio. No son novedad en sí mismas. Quizás lo novedoso es observarlas en Google Play en tal cantidad y poder mostrar su código abiertamente, tal como lo han concebido los atacantes.

Como regla general y en resumen, recordar que conviven relativamente pocas casas antivirus en el mercado. Y menos aún que dispongan de versiones para Android. Todas son marcas reconocidas en el mundo de la protección de escritorio. Cualquier otra debería descartarse. 


Sergio de los Santos
ssantos@11paths.com

Miguel Ángel García
miguelangel.garcia@11paths.com

4 comentarios:

  1. Y yo me pregunto, la decompilacion de aplicaciones de terceros ¿es legal? No es la primera vez que lo haceis.
    Que esta muy bien que aviseis y tal, pero claramente estais decompilando codigo de terceros con tecnicas no muy legales y exponiendo secretos de apps que pueden ser, como ya comentais, legitimas

    ResponderEliminar
  2. Hola @anónimo. Las técnicas para decompilar no son ilegales.

    Por otro lado, ninguna ley o licencia impide legalmente el estudio de las apps mencionadas.

    Gracias.

    ResponderEliminar
  3. Ya va siendo hora que realicen una limpieza de aplicaciones en Google Play. No estaría nada mal.

    ResponderEliminar