Durante la pasada edición de ekoparty en Buenos Aires, Argentina, pudimos atestiguar increíbles exposiciones de la mano de grandes oradores internacionales que presentaron sus hallazgos en materia de ciberseguridad. Ciertamente, uno de los speakers que dejó una muy buena impresión entre el público fue Martin Vigo, ingeniero en seguridad oriundo de Galicia, España.
Por qué Apple no siguió sus propios consejos de seguridad, tal vez nunca lo sabremos
Tras un pequeño curso introductorio que bien podría haberse titulado “Cómo identificar a un gallego 101” más algunos desopilantes chistes y acompañado de un aire distendido, muy similar a otro investigador español que ya todos conocemos, Martin se puso manos a la obra para probar cómo es posible convertir un iPhone y una Mac en un verdadero equipo de ciberespionaje, comenzando su charla Do-it-Yourself Spy Program: Abusing Apple's Call Relay Protocol.
¿Qué es el protocolo Call Relay?
Con iOS 8 y OS X Yosemite, Apple presentó su protocolo de gestión de llamadas multidispositivo llamado Call Relay. Este protocolo P2P propietario basado en UDP permite a los usuarios tomar llamadas recibidas por su iPhone desde otros equipos Apple conectados en la misma red LAN, como Macs y iPads. La funcionalidad fue presentada al público durante la Apple WWDC 2014.
Lo curioso de este protocolo es que –como explicó el conferencista– utiliza entradas no confiables para tomar decisiones de seguridad, en este caso referidas al manejo de llamadas y la privacidad de los usuarios. Este error está enumerado dentro de las diez peores malas prácticas de seguridad según OWASP.
Aún más, el protocolo utiliza el servicio APNS (Apple Push Notification Service) cuando, paradójicamente, es Apple quien en sus recomendaciones de seguridad estipula que este tipo de notificaciones nunca debiesen ser utilizadas para acciones sensibles.
Por qué Apple no siguió sus propios consejos de seguridad, tal vez nunca lo sabremos. Pero sí sabemos que este fue el puntapié inicial para que Vigo lograse explotar exitosamente este protocolo.
Explotación del protocolo
Luego de realizar la ingeniería reversa del protocolo de comunicación con Netzob, Martín descubrió que era posible espiar una llamada telefónica a través de algunas vulnerabilidades bastante sencillas.
El atacante puede simplemente generar un ataque de ARP spoofing para comprometer a la víctima en un escenario de Man-In-The-Middle (MITM). Acto seguido, debe llamar al teléfono de la víctima y, una vez iniciada la comunicación, debe enviar un paquete especialmente diseñado para bloquear el tráfico. Esto será interpretado por la GUI (Graphical User Interface o Interfaz gráfica de usuario) como el final de la llamada y el sistema mostrará al usuario la opción de colgar; no obstante, la conexión continúa activa en segundo plano y el teléfono sigue transmitiendo datos al atacante.
El orador demostró cómo este ataque es factible incluso cuando se tienen llamadas simultáneas: cuando el usuario asume erróneamente que la llamada con el atacante ha concluido, la interfaz de usuario le muestra que ahora está hablando con el otro interlocutor, cuando realmente sigue en comunicación con el atacante. Esto permitiría al atacante suplantar la identidad de un tercer individuo para robar información de la víctima.
Al explotar el protocolo, un atacante podría no solo realizar ataques DoS, sino también espiar conversaciones mantenidas por la víctima y, en general, todos los sonidos a los que el dispositivo se vea expuesto.
Pero ¿por qué no ir un paso más allá? Fue entonces cuando Martín recordó el programa Nosey Smurf mencionado por Edward Snowden y su capacidad de tener acceso a la cámara y al micrófono de cientos de smartphones.
Explotación a gran escala
Un escenario mucho más macabro que se desprende de esta falla es la posibilidad de escalar el ataque a través de cientos de dispositivos comprometiendo los routers encargados de realizar la conexión con el APNS. Como estos dispositivos de red poseen dos interfaces, una para el tráfico interno y otra para la red WAN, es posible fingir el fin de la llamada simplemente dando de baja la interfaz externa, bloqueando así el tráfico hacia el Apple Push Notification Service.
Como indicó el orador, la pregunta se vuelve entonces cómo sería posible comprometer estos dispositivos masivamente. Una de las alternativas posibles es nada más ni nada menos que el war dialing, una vieja estrategia donde se realizan llamadas a una gran cantidad de números telefónicos para identificar routers vulnerables.
Para aumentar la efectividad del ataque, sería posible filtrar los números telefónicos según el código de área y las características del equipo realizando fingerprinting de este y analizando el número correspondiente al fabricante en la dirección MAC.
La inclusión de técnicas de Ingeniería Social para dar comienzo a la llamada maliciosa completa el escenario de compromiso. Por ejemplo, los cibercriminales podrían fingir la realización de una encuesta para así explotar la vulnerabilidad y activar la escucha por el micrófono del terminal; esto podría pasar aún más desapercibido en épocas de elecciones políticas. Del mismo modo, podría fingirse una llamada a un número equivocado.
¿Qué tan indefensos estamos?
Por suerte, un parche de seguridad ha sido incluido a partir de iOS 10.1, solucionando esta vulnerabilidad que se encontraba presente desde iOS 8. Por esto, todos aquellos que posean la nueva actualización del sistema ya pueden contestar sus llamadas desde sus computadores Mac sin miedo a perder su privacidad.