Las últimas versiones de iOS y iPadOS (16.3) y macOS (Ventura 13.) han solucionado las vulnerabilidades registradas como CVE-2023-23530 y CVE-2023-23531. Te explicamos la naturaleza de estos errores, por qué merecen tu atención, qué tiene que ver el spyware Pegasus con todo esto y por qué deberías tomarte en serio estas y otras actualizaciones de iOS, iPadOS y macOS.
NSPredicate, FORCEDENTRY, Pegasus, etc.
Para explicar la importancia de estas últimas actualizaciones, necesitamos un poco de contexto. La base (foundation en inglés) de software de las aplicaciones creadas para los sistemas operativos de Apple es, aunque no lo creas, ¡el framework Foundation! Aquí está la descripción de Apple:
Hace poco más de dos años, en enero del 2021, un investigador de seguridad de iOS conocido como CodeColorist publicó un informe que mostraba cómo se puede explotar la implementación de las clases NSPredicate y NSExpression (ambas parte del framework Foundation) para ejecutar código arbitrario.Y resulta que estas clases son responsables de ordenar y filtrar los datos. El problema es que actualmente, mientras redactamos esta publicación, estas herramientas permiten la ejecución de scripts en un dispositivo sin comprobar la firma digital del código.
El principal hallazgo de CodeColorist fue que estos scripts pueden ayudar a eludir los mecanismos de seguridad de Apple, incluido el aislamiento de aplicaciones. Esto permite escribir una aplicación maliciosa que robe datos (como la correspondencia del usuario o fotos aleatorias de la galería) de otras aplicaciones.
En marzo del 2022 se publicó un documento sobre la implementación práctica de una aplicación de este tipo, el exploit de clic cero FORCEDENTRY, que se utilizó para propagar el malware Pegasus. Las vulnerabilidades en NSPredicate y NSExpression permitían al malware ejecutar un sandbox escape y obtener acceso a datos y funciones fuera de los límites estrictamente definidos dentro de los cuales funcionan todas las aplicaciones de iOS.
A partir del trabajo teórico de CodeColorist y el estudio práctico del exploit FORCEDENTRY, Apple implementó una serie de medidas y restricciones de seguridad. Sin embargo, este nuevo estudio ha demostrado que siguen siendo fáciles de eludir.
Por qué las CVE-2023-23530 y CVE-2023-23531 son peligrosas
Las vulnerabilidades CVE-2023-23530 y CVE-2023-23531 se han convertido en nuevas formas de eludir estas restricciones. La primera, la CVE-2023-23530, surge a partir de cómo Apple abordó el problema exactamente. En concreto, elaboraron extensas listas de exclusión de clases y métodos que representan un riesgo de seguridad obvio dentro de NSPredicate. El problema es que, al usar métodos no incluidos en las listas de exclusión, permitieron borrar estas listas y luego usar el conjunto completo de métodos y clases.
La segunda vulnerabilidad, la CVE-2023-23531, está relacionada con la forma en que interactúan entre sí los procesos dentro de iOS y macOS y cómo filtra la información el proceso de recepción de datos entrante. Es decir, el proceso de envío de datos puede agregarle una etiqueta de “contenido verificado” y luego alimentar el proceso de recepción con un script malicioso que use NSPredicate, que en algunos casos se ejecutará sin verificación.
Según los investigadores, estas dos técnicas para eludir los controles de seguridad permiten la explotación de otras vulnerabilidades específicas. Los atacantes podrían usar estas vulnerabilidades para obtener acceso a los datos de los usuarios y a las funciones peligrosas del sistema operativo e, incluso, instalar aplicaciones (incluidas las del sistema). Es decir, las CVE-2023-23530 y CVE-2023-23531 pueden usarse para crear exploits de tipo FORCEDENTRY.
Para demostrar las habilidades de las CVE-2023-23530 y CVE-2023-23531, los investigadores grabaron un vídeo en el que muestran cómo hacer que una aplicación maliciosa ejecute código dentro de SpringBoard (la aplicación estándar que gestiona la pantalla de inicio en iOS) en un iPad. Por su parte, SpringBoard tiene privilegios elevados y múltiples derechos de acceso, incluidos la cámara, el micrófono, el historial de llamadas, las fotos y los datos de geolocalización; además, puede borrar completamente el dispositivo.
Cómo afecta esto a la seguridad de iOS y macOS
Debemos resaltar que los peligros planteados por las CVE-2023-23530 y CVE-2023-23531 son puramente teóricos: no se han detectado casos registrados de explotación en activo. Además, las actualizaciones de iOS 16.3 y macOS Ventura 13.2 ya se han parcheado, por lo que, si las instalas a tiempo, supuestamente estés a salvo.
Dicho esto, no sabemos qué tal ha parcheado Apple las vulnerabilidades esta vez; es probable que también se encuentren soluciones para estos parches. En cualquier caso, en una conversación con Wired, los propios investigadores se mostraron bastante convencidos de que seguirán apareciendo nuevas vulnerabilidades de esta clase.
Ten en cuenta que el simple hecho de poder ejecutar scripts en iOS usando NSPredicate no es suficiente para un ataque exitoso. El atacante aún sigue teniendo que acceder de alguna forma al dispositivo de la víctima para poder hacer algo con él. En el caso de FORCEDENTRY, esto supuso el uso de otras vulnerabilidades: un PDF infectado disfrazado de archivo GIF inocente que se coló en el dispositivo objetivo a través de iMessage.
Hay una alta probabilidad de que estas vulnerabilidades se utilicen en ataques de APT, por lo que vale la pena repetir las contramedidas que puedes tomar. Por tanto, aunque ya tenemos una publicación en la que Costin Raiu, director de nuestro equipo global de análisis e investigación (GReAT), explica detenidamente cómo protegerte contra el malware del tipo Pegasus y por qué funcionan estas medidas, te dejamos un resumen de sus consejos:
- Reinicia tu iPhone y iPad más a menudo: para los atacantes resulta complicado obtener un punto de apoyo permanente en iOS, y un reinicio frecuente elimina el malware.
- Deshabilita iMessage y FaceTime siempre que sea posible: estas aplicaciones brindan un punto de entrada para atacar dispositivos iOS.
- En lugar de Safari, utiliza un navegador alternativo como, por ejemplo, Firefox Focus.
- No pinches en los enlaces de los mensajes.
- Instala una protección de confianza en todos tus dispositivos.
- Y, por último y como seguiremos insistiendo hasta el infinito, mantén tus sistemas operativos actualizados. De hecho, de ahora en adelante, tal vez deberías estar más atento a las actualizaciones de iOS, iPadOS y macOS a medida que se publiquen.