sábado, octubre 31, 2020

Un pequeño Privacy Bug en iPhone que filtra tu número en llamadas ocultas y que Apple debería arreglar

Hoy os voy a contar un bug de privacidad con el que me topé en iPhone de forma casual, pero que viendo cómo funciona creo que Apple debería arreglarlo. Y lo curioso es que se encuentra en el mismo sitio donde hace unas semanas encontré otro fallo de privacidad en WhatsApp para iPhone, en la lista de llamadas del sistema operativo iOS.

Figura 1: Un pequeño Privacy Bug en iPhone que filtra tu número
en llamadas ocultas y que Apple debería arreglar

En el fallo anterior, el WhatsApp for iPhone ScreenLock FaceID Bypass se producía cuando se hacía una llamada por WhatsApp desde la lista de llamadas, lo que hacía que saliera la pantalla de WhatsApp Calling, pero con los globos de nuevos mensajes activados. Eso permitía acceder a los mensajes que iban entrando en tiempo real sin haber pasado el desafío de FaceID. Esto es algo que reporté a Facebook y lo repararon en unas versiones posteriores.


Figura 2: WhatsApp for iPhone Screen Lock FaceID ByPass PoC

Hoy el fallo es un poco distinto, y afecta única y exclusivamente a iPhone y podéis probarlo vosotros muy fácilmente. Se trata de cómo iPhone desvela vuestro número de teléfono cuando has decidido que para que una persona tu llamada siempre sea con número oculto. Y de nuevo el culpable se encuentra en la lista de llamadas de iOS. Lugar donde soy un gran usuario debido a que siempre estoy devolviendo llamadas que no he podido atender a tiempo, y como siempre, ando con el ojo vigilante al comportamiento de iOS que ya sabéis que los "hacks" y trucos los publicamos en el libro de Hacking de dispositivos iOS: iPhone & iPad (2ª Edición).

Figura 3: Libro de Hacking iOS:iPhone & iPad (2ª Edicón) en 0xWord de
Chema Alonso, Ioseba Palop, Pablo Gonzáleez y Alejandro Ramos entre otros.

El caso es muy sencillo. Supongamos que tu tienes un contacto que ha pedido que le llames. En mi caso son gente con la que voy a tener una llamada para una entrevista o una reunión, y no deseo que tengan mi número de teléfono. Si tienen mi número de teléfono tienen información muy personal mía que uso para las apps de mensajería con familia y amigos, que uso de segundo factor de autenticación en algunos servicios de Internet, y por el que me pueden rastrear en leaks de datos en la red. 

Figura 4: Contacto dado de alta con códigos de llamada oculta

Así que, igual que protejo mi dirección de e-mail y uso MyPublicInbox.com/ChemaAlonso para los mensajes remotos, cuando llamo desde mi teléfono a una persona que no quiero que tenga mi número, lo hago en oculto. Y para que no se me olvide que a esa persona no quiero darle mi número, la doy de alta en la agenda de contactos con #31# delante del número, lo que hace que la llamada sea en oculto.

Figura 5: Si llamas desde el contacto en la Agenda, es llamada oculta

Una vez que tienes configurado el número en la agenda de esa forma, puedes hacer una llamada y lo que la otra persona percibirá es que le ha llamado alguien con número oculto, tal y como vemos en la siguiente imagen. Esto está muy bien, porque así no andas dando tu número a unas personas, y sin embargo puedes llamar a tus amigos con tu número para que, si no te pueden atender, te puedan devolver la llamada.

Figura 6: Llamada hecha en oculto. Pero si marcas desde aquí...

Pues bien, el Privacy Bug en iPhone es que, una vez que has hecho la llamada a una persona usando el número con #31# delante para garantizar que la llamada sea en oculto, cuando iOS guarda el número de teléfono en la lista de llamadas, guarda el número de teléfono sin los códigos previos de #31#, y esto está mal.

Figura 7: Se puede ver el número - y si lo tenemos en agenda - el contacto.
(nota las horas no coinciden porque son capturas de distintas pruebas)

Está mal porque tú ves el nombre del contacto en la lista de llamadas, y si marcas desde la lista de llamadas, el establecimiento de la llamada se hace con tu número al descubierto, luego la otra persona sabrá quién le está llamando - qué contacto o qué número que no está en su agenda -, a pesar de que tú lo hubieras guardado en la agenda con los códigos de llamada con número oculto.


Figura 8: Demo del Privacy Bug que filtra tu número desde la lista de llamadas

Esto es muy fácil de probar, así que os hemos preparado este pequeño vídeo para que veáis cómo funciona con un contacto que tiene los códigos de llamada oculta en su número de teléfono, pero como el compottamiento es distinto cuando llamas desde la agenda a cuando llamas desde la lista de llamadas perdidas.

Uno más a la lista de Privacy Bugs a mejorar

Como en otras ocasiones, no es un gran bug, es solo un Privacy Bug molesto que hace que el usuario filtre su número de teléfono con personas cuando no quiere hacerlo, por lo que lo suyo es que Apple lo arregle en próximas versiones. 



Por supuesto, es solo una opinión, igual que creo que el No cifrado de la base de datos de WhatsApp en iPhone no está bien, tal y como se enseña en el vídeo de la Figura 9.


Figura 10: AirPodSpy o cómo varios pueden vigilar unos AirPods Pro

Y de la misma manera que sigo pensando que Apple debe arreglar el AirPodSpy que leakea tu posición BlueTooth a cualquiera que se haya pareado a tus AirPods Pro y sin embargo si están en uso por otra persona lejos de tu distancia Bluetooth no te avisan por Find My iPhone - ni te dicen cuánta gente tiene pareados tus AirPods Pro -.. A ver si consigo que me hagan caso y arreglan estos Privacy Bugs.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)

No hay comentarios:

Publicar un comentario