La empresa de investigación de seguridad Paradigm Shift anunció recientemente los detalles de una nueva vulnerabilidad BootROM (también conocida como SecureROM) que afecta a los chips A12 y A13 de Apple, y lanzó un código de ataque de prueba de concepto llamado "usbliter8". BootROM es la primera pieza de código subyacente que se ejecuta cuando se enciende el iPhone. Dado que se solidifica directamente en el chip, no se puede parchear mediante actualizaciones de software posteriores. Esto significa que una vez que se descubre una falla de seguridad, el dispositivo afectado seguirá estando en riesgo durante todo su ciclo de vida.

La última vulnerabilidad BootROM de este tipo revelada anteriormente fue "checkm8" expuesta en 2019, que afectó a varias generaciones de dispositivos, desde iPhone 4S hasta iPhone X. Esta vez, usbliter8 ha avanzado esta historia una generación, afectando a productos que utilizan chips A12 y A13, incluidos dispositivos desde la serie iPhone XS hasta la serie iPhone 11.
La vulnerabilidad usbliter8 explota una falla en el controlador USB integrado en el silicio de Apple. Cuando un iPhone recibe datos a través de USB durante el inicio, el controlador utiliza un búfer de memoria para almacenar los paquetes entrantes. Los investigadores de Paradigm Shift descubrieron que al enviar una secuencia específica de paquetes inusualmente pequeños al dispositivo durante la fase de arranque, podían manipular los punteros de hardware dentro del controlador para "caminar hacia atrás" en la memoria, escribiendo datos en ubicaciones a las que no se debería acceder en primer lugar. El equipo de investigación señaló que esto se parece más a un defecto de diseño en el hardware del controlador USB en sí, que a una vulnerabilidad a nivel del software de Apple.
A juzgar por la generación específica del chip, el A11 no se ve afectado. El controlador USB que utiliza restablecerá manualmente el puntero después de procesar cada paquete de datos, bloqueando esta ruta. A partir de A14, Apple ha configurado correctamente el mecanismo de protección de memoria relevante en el nivel BootROM, por lo que también puede evitar este tipo de ataques. A12 y A13 se encuentran en la "zona gris" entre los dos y no cuentan con la protección anterior, por lo que quedan expuestos a vulnerabilidades.
En los dispositivos A12, la ejecución del código es relativamente sencilla una vez que un atacante domina el exploit. Pero en los dispositivos A13, la situación es obviamente más complicada: esta generación de chips introduce una característica de seguridad llamada Códigos de autenticación de puntero (PAC, código de autenticación de puntero) para detectar y bloquear algunas manipulaciones de la memoria. Paradigm Shift dijo que evitar PAC en el A13 requiere una cadena de ataque larga y de varias etapas que pasa por múltiples pasos para finalmente tomar el control del procesador.
Después de obtener el control con éxito, usbliter8 instala un controlador personalizado en el dispositivo que sobrevive a los reinicios. Este controlador reduce temporalmente el nivel de política de seguridad de un dispositivo y permite que se inicie software no firmado, evitando el riguroso proceso de verificación. Como señal de una infracción exitosa, el exploit también inyecta una cadena tradicional "PWND" en el número de serie USB del iPhone, continuando la tradición de checkm8 y vulnerabilidades de jailbreak anteriores.
Paradigm Shift señaló que usbliter8 en sí no ataca directamente a Secure Enclave (Secure Enclave), pero una vez que se viola la capa BootROM, teóricamente abre un espacio más amplio para futuros ataques avanzados contra Secure Enclave. La compañía informó hallazgos relevantes al equipo de seguridad de productos de Apple antes de hacerlos públicos y completó el proceso de divulgación en colaboración con Apple. El análisis técnico completo y el código de prueba de concepto se publicaron junto con el informe en el sitio web oficial de Paradigm Shift ps.tc para que la comunidad de investigación de seguridad lo estudie más a fondo.