Una falla de Apple Touch permite secuestrar cuentas de iCloud

Comparte en ...

A principios de este año, Apple solucionó una vulnerabilidad de seguridad en iOS y macOS que podría haber permitido que un atacante obtuviera acceso no autorizado a la cuenta de iCloud de un usuario.

Descubierto en febrero por Thijs Alkemade, especialista en seguridad de la empresa de seguridad informática Computest, la falla residía en la implementación de Apple de la función biométrica TouchID (o FaceID) que autenticaba a los usuarios para iniciar sesión en sitios web en Safari, específicamente aquellos que usan inicios de sesión de Apple ID.

Después de que Apple informara el problema a través de su programa de divulgación responsable, el fabricante del iPhone abordó la vulnerabilidad en una actualización del lado del servidor.

Una falla de autenticación de Apple

La premisa central de la falla es la siguiente. Cuando los usuarios intentan iniciar sesión en un sitio web que requiere una ID de Apple, se muestra un mensaje para autenticar el inicio de sesión con Touch ID. Al hacerlo, se omite el paso de autenticación de dos factores, ya que aprovecha una combinación de factores para la identificación, como el dispositivo (algo que tiene) y la información biométrica (algo que es).

Compare esto durante los inicios de sesión en dominios de Apple (por ejemplo, «icloud.com») de la manera habitual con un ID y contraseña, en donde el sitio web incrusta un iframe que apunta al servidor de validación de inicio de sesión de Apple («https://idmsa.apple.com»), que maneja el proceso de autenticación.

Como se muestra en el  video de demostración, la URL del iframe también contiene otros dos parámetros: un «client_id» que identifica el servicio (por ejemplo, iCloud) y un «redirect_uri» que tiene la URL a la que se debe redirigir después de una verificación exitosa.

Pero en el caso de que un usuario se valide con TouchID, el iframe se maneja de manera diferente, ya que se comunica con el demonio AuthKit (akd) para manejar la autenticación biométrica y, posteriormente, recuperar un token («grant_code») que utiliza icloud.com página para continuar el proceso de inicio de sesión.

Para hacer esto, el demonio se comunica con una API en «gsa.apple.com», a la que envía los detalles de la solicitud y desde la cual recibe el token.

La falla de seguridad descubierta por Computest reside en la API gsa.apple.com mencionada anteriormente, lo que hizo posible teóricamente abusar de esos dominios para verificar una identificación de cliente sin autenticación.

«A pesar de que client_id y redirect_uri se incluyeron en los datos que le envió akd, no verificó que el URI de redireccionamiento coincida con el ID del cliente», señaló Alkemade. «En cambio, AKAppSSOExtension solo aplicaba una lista blanca en los dominios. Todos los dominios que terminaban en apple.com, icloud.com e icloud.com.cn estaban permitidos».

Esto significa que un atacante podría explotar una vulnerabilidad de secuencias de comandos en sitios cruzados en cualquiera de los subdominios de Apple para ejecutar un fragmento malicioso de código JavaScript que puede desencadenar una solicitud de inicio de sesión con el ID de cliente de iCloud y usar el token de concesión para obtener una sesión en icloud .com.

Configuración de puntos de acceso falsos para hacerse cargo de las cuentas de iCloud

En un escenario separado, el ataque podría ejecutarse incrustando JavaScript en la página web que se muestra al conectarse a una red Wi-Fi por primera vez (a través de «captive.apple.com»), lo que permite que un atacante acceda a un usuario cuenta simplemente aceptando un aviso de TouchID de esa página.

«Una red Wi-Fi maliciosa podría responder con una página con JavaScript que inicia OAuth como iCloud», dijo Alkemade. «El usuario recibe un aviso de TouchID, pero no está muy claro lo que implica. Si el usuario se autentica en ese aviso, su token de sesión se enviará al sitio malicioso, dando al atacante una sesión para su cuenta en iCloud».

«Al configurar un punto de acceso falso en una ubicación donde los usuarios esperan recibir un portal cautivo (por ejemplo, en un aeropuerto, hotel o estación de tren), habría sido posible acceder a un número significativo de cuentas de iCloud, lo que habría permitió el acceso a copias de seguridad de imágenes, ubicación del teléfono, archivos y mucho más «, agregó.

Esta no es la primera vez que se encuentran problemas de seguridad en la infraestructura de autenticación de Apple. En mayo, Apple corrigió una falla que afectaba su sistema «Iniciar sesión con Apple» que podría haber hecho posible que los atacantes remotos omitieran la autenticación y se hicieran cargo de las cuentas de los usuarios seleccionados en servicios y aplicaciones de terceros que se hayan registrado utilizando el inicio de sesión de Apple. en opción.

Comparte en ...