Seguro que en más de una ocasión has visitado una página en la que aparece un número de teléfono con un enlace. Si haces click, en iOS el teléfono te mostrará un cuadro de diálogo que te pregunta si deseas llamar o no. Hasta ahí todo normal. Sin embargo, dos investigadores especializados en seguridad informática han descubierto un bug que se aprovecha de esta funcionalidad para realizar llamadas sin avisar.
Pero empecemos por el principio. Apple explica en su documentación para desarrolladores lo que son los Phone Links, que tienen la siguiente forma:

Si os fijáis, tienen la misma sintaxis que un enlace normal, sólo que el destino es un teléfono en lugar de una web. Pero en esa misma página hacen una advertencia bastante relevante: "Cuando el usuario abre una URL con el parámetro tel en una aplicación nativa, iOS no muestra ninguna alerta y comienza la llamada sin avisar al usuario." Es decir, si abres el link en Safari, te preguntará si deseas llamar a ese teléfono, pero si es desde otra app nativa... no pedirá tu confirmación.
¿Qué significa esto? Lo más lógico sería que Apple lo bloquease de alguna forma u obligase a las apps de terceros a mostrar el mismo cuadro de diálogo que ellos muestran, pero la realidad es otra. En Algorithm.dk han probado este bug y, para su sorpresa (y la nuestra) si haces click en un enlace así desde apps como Facebook Messenger, Gmail, Google+, Twitter y un largo etcétera, la llamada comenzará automáticamente.
En la página del investigador podéis ver varios *.gif animados con el proceso en distintas aplicaciones.
Ojo, peligroso también sin hacer click
Sé lo que estáis pensando: vosotros nunca haríais click en una url tan extraña, ¿verdad? Pues tampoco estáis a salvo de este bug. Un simple código javascript puede hacer que con simplemente cargar una página se pueda generar también una de estas llamadas automáticas. El código malicioso se esconde dentro de la web y se ejecuta cuando el usuario entra desde su teléfono, sin más.
El código se puede insertar en una web para que se ejecute con tan sólo entrar a la misma
¿Qué pueden hacer con tu teléfono?
El hecho de que alguien pueda "jugar" así, de manera tan sencilla, con la capacidad de llamar de tu móvil puede ser un auténtico peligro. Sí, tú puedes darte cuenta y llegar a tiempo para colgar antes de que la otra persona descuelgue. Si andas rápido, esto evitará que se realicen posibles llamadas a números premium que a final de mes te den un susto con la factura.
Sin embargo, es una manera fácil de tener localizada a una persona. ¿Que quieres adivinar su número? Basta con enviarle un enlace a una web que parezca inocente pero que tenga el código malicioso. Basta con que el atacante ponga como destino su propio móvil. Aunque cuelgues rápido, puede que la llamada ya se haya establecido y tu número aparecerá en su lista de llamadas perdidas, sin necesidad siquiera de que te descuelguen.
Otras aplicaciones, también en riesgo
Pero las llamadas no son las únicas acciones automáticas que se pueden aprovechar de estos bugs en los enlaces de iOS. Sobre estas líneas os dejamos un vídeo en el que Guillaume Ross explicaba hace unos días cómo es sencillísimo hacer, por ejemplo, que un usuario comience a seguir a otro en Twitter con tan sólo cargar una página. De nuevo, se toma un enlace y mediante iframes se puede hacer que el usuario ejecute, sin quererlo, un comando en el cliente Tweetbot.
Con Facetime, más de lo mismo. Según explica Ross, las llamadas en Facetime de audio no piden confirmación, así que si alguien desea saber la dirección o el teléfono asociado a tu cuenta, sólo tiene que incluir un enlace y conseguir que el usuario objetivo lo pulse o insertarlo vía iframe para que lo cargue automáticamente. "Incluso aunque cuelgues muy rápido, tu información ya está en el teléfono del atacante", explica este investigador.
Con este bug te pueden obligar a seguir a alguien en Twitter, mandar "Yo" sin que tú te enteres y un montón de maldades más
En el caso de Ross, explica que contactó con Apple para explicarle el problema con Facetime y estos respondieron arreglando la vulnerabilidad... en Safari, pero no en Facetime, lo que significa que el problema sigue ahí si el usuario abre el enlace desde cualquier otro lugar. Safari te preguntará si de verdad quieres hacer la llamada (siempre puedes negarte), pero el resto de apps no. ¿Y los navegadores? Desde Chrome le dijeron que no era su problema, sino de Chromium.
Como decimos, Facetime no es la única afectada. Cualquier aplicación que utilice URL Schemes personalizado de iOS está en riesgo. Por ejemplo, Ross muestra cómo hacer un click en un enlace puede poner a cero una calculadora que utiliza estos enlaces. Inocente, sí, ¿qué va a pasar por poner a cero una calculadora o activar una linterna? Pero como ya hemos visto el problema es otro: se pueden hacer llamadas, manejar Twitter, utilizar Facetime...
¿Bug o feature?
Lo más curioso de todo esto, como decía al principio, es que Apple reconoce en sus páginas de ayuda que iOs no muestra alertas por defecto si se trata de enlaces y apps nativas de terceros. ¿Debería? ¿O deberían ser las propias aplicaciones las que se encargaran de solucionarlo? Yo optaría por lo primero: a fin de cuentas, y si bien estaría bien que las apps controlaran estos enlaces, siempre queda la posibilidad de que alguien aproveche esta libertad para usos maliciosos. Al final lo que importa es que el bug sigue ahí (aunque Apple no lo califica como tal) y de momento nadie está haciendo nada al respecto.
Más información | Algorithm.dk y Guillaume Ross
Imagen de cabecera | Gonzalo Baeza H (CC)
Ver 36 comentarios
36 comentarios
jellash
Bravo apple... bravo...
ciudadwifi
Lo cierto es que esas características no son propias de iOS, sino que es algo que se ha ido incorporando y hasta en Windows se puede hacer, por ejemplo metes tel://931451414 y dependiendo si tienes instalado Skype y como lo tengas, pues te empieza a llamar vía Skype... en Apps de la tienda más de lo mismo (y solo hay que declararlo y nada más), en Android también pasa (también solo hay que declararlo en la App)... Supuestamente los navegadores avisan (y no todos) por un motivo simple: estás fuera de zona de confianza (en cristiano, a saber en que web estás), pero en Apps descargadas, pues supuestamente tu lo permites.
Como comentan en el artículo, la propia documentación para desarrolladores lo dice muy claro, por tanto no es un bug, ni en iOS ni en otros sistemas y entornos de desarrollo que integran esta posibilidad. Como ya he dicho, en la mayoría de los casos, supuestamente el dueño del equipo, cuando instalo esa App, pues se le notificó esa posibilidad y pidió permiso... al decir que si, el permiso fue dado.
Ahora bien, si que hay parcialmente algo de fallo, ya que supuestamente no debería poder accederse a esa posibilidad desde una App que no ha declarado pedir ese permiso... Pero es imposible ponerle puertas al campo, por ejemplo hay un tuto muy conocido y famoso de como saltarse la necesidad de solicitar ciertos permisos para hacer algunas de las cosas más restringidas en Android desde 2010, bueno, pues casi la totalidad siguen siendo explotables a día de hoy, por ejemplo conectarte a internet sin haberlo declarado y solicitado permiso... es fácil y hay varias formas, por ejemplo hacerlo indirectamente recurriendo a otro que si tiene permiso como un navegador (que no tienes todas las posibilidades, pero casi todo y para enviar datos son 3 líneas). En iOS también se puede hacer, pero es más fácil que si te lo detecten (y suelen hacerlo), pues te tiren la App para atrás.
Salu2
miguelesneb
Esto en Android no pasa
xan_90
Esto no es un bug de iOS, los desarroyadores estan informados por Apple y es su responsabilidad gestionarla en las aplicaciones que sacamos a la venta.
Si facebook messenger permite que se realicen llamadas sin autorizacion, es la aplicacion la responsable y no iOS.
Si alguien tuvo algun problema de este tipo, y tiene una sorpresa en la factura, que reclame a la aplicación correspondiente, porque en Apple se lavarán las manos.
Aún así creo que debería ser la propia Apple la que controle esto como ya hace con otras prácticas deshonestas por parte de las aplicaciones/desarroyadores en la appstore.
Eso si, lo seguro es que si toma cartas en el asunto y lo soluciona desde arriba,los mismos usuarios que se ríen ahora por esto la tacharan una vez mas de ser cerrada y tener políticas restrictivas hacia los desarroyadores, aunque sea el sistema más limpio que hay ahora mismo en el mercado.
de_paso_por_aqui
Blasfemia!!! no vuelvo a entrar mas a esta pagina como se les ocurre decir esas cosas si IOS es el OS mas seguro, estable y maravilloso de universo espiral interestelar .....los odioooo!!!!
miguelangelnt
Fanatico de android: ha ha!
Fanatico de apple: Apple nos ha hecho la vida más sencilla al no tener que marcar más un número teléfonico! Gracias San Jobs
leburn
Coño, debí comprarme un iPhone, coño...
warhamer
Otro mito que se ha caido, la hiperseguridad de los sistemas Apple, está claro que si hasta ahora se han librado, es porque no eran un objetivo en serio de la gente que se gana la vida en asuntos oscuros del mundillo informático.
MAAADRE menudo gol les han metido, ahora entiendo porque a mi mujer sin saber porque le empezaron a cargar 4 euros al mes en el movil por servicios que nunca recuerda haber contratado, y solo pudimos solucionarlo dandose debaja de los servicios de compra por movil que incluyen estos servicios.
toyball
Mierda de android inseguro y lagoso
Oh wait!