Si usas un teléfono bajo el sistema operativo de Android eres susceptible de que alguien obtenga tus datos personales y cuentas mediante Phishing. Nadie tendrá que enviarte correos, simplemente usarán tus aplicaciones para atacarte mediante el bug que nombramos como ScreenTR. Aquí daremos una serie de medidas para intentar paliar este error de seguridad.
Antes de nada, decir que el propósito de esta noticia no es ser un tutorial para los malhechores ni mucho menos. Este error se trata de una vulnerabilidad grave a nuestra seguridad descubierta por el equipo de AndroidTR hace ya un par de años. No se puede decir que sea un error de seguridad ya que se trata de un error relacionado con los permisos de Android y cómo Google se los indica al usuario.
La razón de mostrar este error públicamente es simple: concienciar al usuario y prevenir que alguien se aproveche de este cúmulo de sucesos que permiten robar sus credenciales. Repetimos que no se trata de crear pánico puesto que no es algo tan relevante para nuestro teléfono como otro tipo de aplicaciones más complicadas. Precisamente la razón de que este error sea tan importante es su sencillez. Cosas tan comunes como contar con un sistema rooteado ponen en un riesgo mayor nuestra seguridad.
Omitiremos algunos detalles e interpretaciones. Como hemos dicho no se trata de un tutorial para llevarlo a cabo, sino de cómo mejorar la seguridad.
El principio.
Este error, ScreenTR, al que podríamos llamar virus o Phishing, no se basa en agujeros parcheables dentro del sistema operativo, sino que tiene lugar en la gran cantidad de opciones que ofrece el sistema de desarrollo. Tampoco podemos decir que se esté llevando a cabo. Si conocemos esta incidencia es porque yo mismo soy desarrollador y me he encontrado con esta opción. Que desconozcamos si alguien lo está usando para obtener datos de forma ilegal del usuario no quiere decir que no se haya hecho nunca.
Con la popularidad del sistema operativo Android de los últimos años, muchos hemos encontrado en crear aplicaciones un hobby, una afición que permite crear contenido y mostrárselo al público en general. Desde mi punto de vista es algo equiparable a redactar un poema. El autor busca las frases y el orden perfectos para conseguir algo en el usuario.
En una de mis aplicaciones quería incluir un sistema similar al que después implementaría Facebook en su chat. Estoy hablando de las ya populares burbujas. Se trata de un sistema que permite que en cualquier aplicación tengamos acceso a otra aplicación. Para las fechas en las que estamos tratando, era lo más parecido a tener abiertas dos aplicaciones de forma simultánea.
Para llevar esto a cabo es necesario solicitar un permiso que permite crear esta burbuja flotante. Es aquí donde empieza el problema ya que nadie dice los fines con los que esto se puede usar. De hecho, no en todos los casos se muestra con la relevancia suficiente la necesidad de este permiso. Podemos llegar a decir que incluso es necesario buscarlo dentro de la lista de permisos. Personalmente creo que Google no le concede la importancia que merece.
El problema.
Integrar este permiso posibilita al desarrollador mostrar cualquier contenido de forma flotante. No existen límites en cuanto a las posibilidades ni al espacio que necesite. Puede contener lo mismo que cualquier otra aplicación.
Hasta este punto todo lo que tenemos es un permiso que deja escribir sobre otras aplicaciones. ¿Qué pasaría si alguien decidiese poner un cuadro de texto? El sistema de desarrollo permite no sólo crear esta burbuja flotante sino que también deja interactuar al usuario con ella.
La forma en la que esto sucede es algo compleja pero la idea sigue siendo sencilla. Repetimos una vez más que ese mismo es el problema, la sencillez. Por lo general las campañas de Phishing suelen ser mediante correos masivos usando direcciones similares con una misma interfaz que el sitio original. Y así es como se consiguen copiar miles de contraseñas, ya que los esfuerzos de los servidores de correo por frenar estos fraudes no están siendo suficientes
Phishing a la carta.
Cualquier aplicación de cualquier fuente, ya sea internet o Google Play, puede contar con el código necesario para llevar a cabo este sistema de Phishing. Muchas aplicaciones piden este permiso para mostrar publicidad aunque la aplicación se encuentre cerrada o, como Facebook, para permitir interactuar con la aplicación sin tenerla abierta en pantalla completa.
Para el que piense que una aplicación no puede abrirse sola se equivoca. En Android, como en todos los sistemas operativos, existe la opción de realizar tareas en segundo plano. Este es el caso de aplicaciones como WhatsApp o Facebook donde, de fondo y sin mostrar nada en pantalla, se sincronizan a través de Internet para ver si tenemos nuevos mensajes.
Algo más a tener en cuenta es que una aplicación puede ver qué aplicaciones se encuentran en pantalla con los permisos suficientes. Esto es algo que usan los administradores de tareas para eliminar de las aplicaciones recientes aquellas que llevan más tiempo sin abrirse.
Si juntamos todo esto conseguimos un sistema que permite superponer cualquier contenido sabiendo lo que se muestra en pantalla. Si unimos la idea de que no es demasiado difícil conseguir la interfaz de una aplicación, obtenemos una nueva forma de Phishing donde cualquier aplicación inofensiva puede engañarnos para que le regalemos nuestros datos.
¿Cómo arreglarlo?
No se puede, es decir, no existe forma de parchear los sistemas operativos para que esto no se pueda realizar. Es una opción del sistema de desarrollo por lo que sería necesario modificar, no sólo el sistema de desarrollo sino todos los sistemas operativos Android hasta la fecha a excepción de uno. Esta vulnerabilidad en Android 7 no es tan relevante puesto que el propio sistema nos avisará cuando una aplicación quiera superponerse en pantalla.
Que el sistema nos avise de esta intención no quiere decir que no sea un problema. Un usuario confiado o despreocupado sigue estando en riesgo ya que siempre tiene la opción de no hacer caso. Aunque no se puede arreglar, queremos dar una serie de consejos para que no le pase nada malo a vuestros datos.
Lo primero es que no instales aplicaciones en las que no confíes que usen el permiso de “mostrar sobre otras aplicaciones” o pregúntate si ese permiso es necesario para la aplicación que quieres instalar. Por ejemplo, una aplicación con la función de lámpara no tiene demasiado sentido que necesite superponerse a otras aplicaciones.
En segundo lugar, si no estás seguro de contar o no con alguna de estas aplicaciones, cuando vayas a introducir tus datos en cualquier otra aplicación pulsa el botón de aplicaciones recientes para saber si realmente estas escribiendo en la aplicación que piensas. Esto no es sólo necesario en el caso de aplicaciones bancarias, es aconsejable realizarlo con cualquier aplicación ya que es muy común compartir contraseñas entre distintos servicios.
En tercer lugar, si un servicio te avisa de una actividad anómala en tu cuenta o se intenta entrar desde una ubicación de la que no tienes constancia no esperes ni un segundo para, como mínimo, cambiar tu contraseña. A ninguna de estas personas le interesa ver las imágenes que compartes en Facebook. Lo que está en juego es tu vida personal y tus datos.
En cuarto y último lugar, si alguna de las cosas que hemos descrito te ha pasado, realiza una restauración de tu dispositivo y borra todas las aplicaciones. Instalándolas manualmente y con algo de agudeza visual (Google Play parece esconder este permiso) averigua si alguna de tus aplicaciones ha podido hacerlo.
Un ejemplo.
Para finalizar hemos grabado un vídeo de ejemplo del potencial de este problema de seguridad. En este caso nuestra aplicación es visible mediante un logo y un cuadro de color azul. Esto lo hemos decidido desde la redacción. Cualquiera tiene la opción de copiar la parte gráfica de la aplicación en cuestión. Incluso de poner toda la interfaz transparente.
Se trata de una muestra más de lo peligroso que es este fallo. Alguien que quiera vuestros datos no usará una interfaz como esta para conseguirlos. Como dato curioso diremos que aplicaciones como Paypal no dan la opción de grabar vídeo ni de sacar capturas ya que se encargan de que aparezca la pantalla en negro. Aun así, el usuario verá de igual modo que con el resto de aplicaciones, la interfaz normal con la otra aplicación superpuesta.
Esperamos que sea de ayuda y que no llegue a convertirse en una amenaza grave para nuestra seguridad.