Estás navegando por Internet con tu iPhone o jugando a un juego y de repente, como tantas otras veces, te aparece una ventana emergente pidiéndote la contraseña de iTunes Store. Casi por instinto automático, insertas la contraseña y sigues a la tuyo. ¿Para qué te ha pedido la contraseña iOS esta vez? Quién sabe, alguna app que requiera el código para instalarse o algún inicio de sesión del sistema. Lo que nunca pensarías es que acabas de sufrir un ataque phishing.
La manía de Apple de pedir a sus usuarios iOS verificación por casi cualquier acción que requiera cierto nivel de seguridad no es algo que siempre juegue a su favor, puede llegar a ser contraproducente. Los usuarios de iOS se han acostumbrado tanto a la ventana emergente que requiere la contraseña, que ya la ponen sin siquiera pensar por qué lo hacen. Y esto, es increíblemente fácil de replicar por parte de un tercero.

Tal y como indica el desarrollador Felix Krause, para imitar el sistema de verificación de Apple tan sólo hacen falta 30 líneas de código. Es más, la propia Apple te las ofrece en su framework ya que UIAlertController es el método para mostrar las alertas en iOS mediante ventanas emergentes. El desarrollador tan sólo debe cambiar el mensaje que aparece en la ventana para que sea el mismo que pone Apple para pedir la contraseña. Como se puede ver en la imagen, no hay prácticamente diferencia alguna entre la ventana real y el phishing.
¿Quién es el culpable en todo esto y cuál es la solución?
Si escribes la contraseña en una de estas ventanas emergentes automáticamente el atacante recibirá tus datos. Obtener el correo no es nada difícil pues la app puede acceder a él sin tu permiso. A partir de aquí, dependerá de ti si tienes o no autenticación en dos factores u otros métodos de verificación. El problema es que la mayoría de usuarios tienen esa misma contraseña para más servicios que no tienen por qué ser de Apple.
Sea como sea, en este problema hay tres implicados: los desarrolladores, los usuarios y Apple. Y es responsabilidad de todos evitar este tipo de ataques:

- Los usuarios: Diferenciar este tipo de mensajes no es nada fácil, pero antes de poner una contraseña, deberíamos pensar por qué nos la puede estar pidiendo el sistema. Así mismo, si salimos de la app y la ventana ha desaparecido, es que no forma parte del sistema.
- Los desarrolladores: Tan simple como no jugar con fuego, del mismo modo que es sencillo insertar este tipo de ataques, también es sencillo que el sistema de revisión de Apple lo detecte.
- Apple: Seguramente el que mayor culpa tiene en todo esto es Apple, por ofrecer una misma interfaz y método tanto para las contraseñas como para cualquier otro mensaje que requiera la acción del usuario. Crear un pop-up diferente para los formularios de contraseña o simplemente pedir las contraseñas sólo en los ajustes del sistema, sería una buena solución.
¿Y los usuarios de Android?
En los dispositivos Android, al no disponer de una interfaz universal, es más difícil para los atacantes crear un ataque phishing por el estilo. Pero esto no significa que sea imposible, sobre todo en aplicaciones de terceros. Usando el sentido común y pensando dos veces antes de poner la contraseña debería valernos para evitar cualquier ataque. Por otra parte, siempre es conveniente tener un sistema de autenticación en dos pasos o en dos factores, para que cualquier inicio de sesión requiera una segunda validación.
Más información | Felix Krause
En Xataka | WhatsApp puede ser un buen chivato de nuestros hábitos gracias a una vulnerabilidad y a una extensión de Chrome
Ver 17 comentarios
17 comentarios
r080
Se agradece la información.
ciudadwifi
En el propio artículo tiran a la mierda esta teoría cuando mencionan la salvaguarda: el sistema de revisión de app, que en Apple lo llevan a cabo personas (no sistemas automatizados) y también de forma automatizada (las 2 formas con lo que es jodido de cojones poder colar algo así y que no se pille)... y ante algo así, esa App y todas las del desarrollador quedan fuera de la AppStore. Incluso ante la mera sospechas estás fuera de forma inmediata. Solo si recurres a un móvil jailbrekeado y fuentes dudosas de apps pues te podría pasar esto y actualmente, prácticamente casi ningún usuario de iPhones/iPad tiene su equipo jailbrekeado.
Yo he participado en el desarrollo de Apps para iOS y una putada, porque a la mínima tontería minúscula, pues la app es rechazada una y otra vez. Cada vez que hay una actualización, por muy pequeña que sea, pues se vuelve a comprobar, etc... No digo que alguien pueda colar algo así, pero es jodido.
La única forma de escaparse un poco de AppStore en un iPhone/iPad no jailbrekeado es desarrollando con FileMaker, pero claro eso implica muchas limitaciones de programación... lo se, porque he desarrollado a lo largo de los últimos 20 años una quincena de bases de datos para negocios de forma profesional y decenas con fines didácticos, para uso propio, etc... y se hasta que punto limita FileMaker, que siempre ha sido su punto débil frente a Access, en donde VBA le da un extra tremendo, aunque los guiones de FileMaker cubren hasta temas como CURL, JSON, etc en las últimas versiones.
En cuanto a Android, si bien hay técnicas para sacar esos datos, pero hay una forma fácil propia del phishing y fácil de llevar a cabo: simular que necesitas autenticación de Google/Facebook/etc para crear una cuenta de la App... usando AOuth.. No diré que no de trabajo, pero la gente cae como chinos. Por ejemplo coges la App de 4Shared y ves que tienes esas formas de conectarte, aunque en ese caso son legítimas. Pero claro, no es esto mismo, sino algo distinto a lo comentado, aunque la finalidad final sea la misma.
hasta luego
kl0x
En Android cantaría mucho más, no la pide salvo que así se lo pidas tú en play store.
danielmendez1
Nunca pude entender por que diablos Apple pide tantas veces la contraseña, al final resulto contraproducente, nada mejor que los siempre confiables Windows 7 y Android.
awsomo
Y cómo sabe el desarrollador tu email? Creo que Apple no lo proporciona, así que para que esto funcione deberías haber proporcionado tu email a la app (por ejemplo para registrarte) y que dicho email coincida con el de la cuenta iCloud.
Por cierto, decir que es responsabilidad de los desarrolladores no hacer phishing es como decir que es responsabilidad de los clientes de los supermercados no mandar en ellos. El que hace estas cosas ya sabe que lo que está haciendo es ilegal y a lo que se expone.
rfb
Pero ha habido alguna aplicación en la tienda que lo haga? Porque es posible, pero puede que Apple directamente rechace la aplicación por ello.
Usuario desactivado
¿Lo mismo ocurre con TouchID? Es decir, ¿el desarrollador puede invocar la petición de TouchID también y quedarse la contraseña?