Project Zero, el equipo de investigación en ciberseguridad de Google, ha analizado el 'exploit' ForcedEntry que aprovechaba una vulnerabilidad en iMessage para infectar el iPhone con Pegasus, el programa espía desarrollado por la empresa israelí NSO Group, cuyas capacidades consideran que rivalizan con las de los Estados.
La muestra de ForcedEntry que han analizado procede de un iPhone infectado, facilitada por CitizenLab. Según indican en una publicación, la vía de entrada era a través de iMessage, y se aprovechaba del sistema de reproducción de Gif en bucle.
El ataque envía un archivo que simula ser un Gif, pero que esconde más de 20 códecs de imagen para el ataque de tipo 'zero clic', es decir, que no necesita que el usuario lo toque. Con este truco, NSO Group se dirige a una vulnerabilidad presente en el analizador PDF de CoreGraphics, que contiene el códec JBIG2, que actualmente no es de uso común.
"JBIG2 no tiene capacidades de 'scripting', pero cuando se combina con una vulnerabilidad, tiene la capacidad de emular circuitos de puertas lógicas arbitrarias que operan en memoria arbitraria", señalan desde Project Zero. Este 'exploit' lo que hace es usar esta capacidad para construir su propia arquitectura de computadora y escribir las operaciones.
Según han expuesto, "las operaciones de arranque para el 'exploit' de escape 'sandbox' están escritas para ejecutarse en este circuito lógico y todo se ejecuta en este extraño entorno emulado creado a partir de una única pasada de descompresión a través de un flujo JBIG2".
Desde el equipo de Google indican que "es bastante increíble y, al mismo tiempo, bastante aterrador", e incluso consideran que "es uno de los 'exploits' técnicamente más sofisticados" que jamás habían visto, que "demuestra que las capacidades que ofrece NSO rivalizan con las que antes se pensaba que eran accesibles solo para un puñado de Estados nacionales".
La vulnerabilidad que han analizado, identificada como (CVE-2021-30860), se corrigió el 13 de septiembre de 2021 en iOS 14.8. Asimismo, Apple distribuyó nuevos parches en septiembre y octubre para mitigar este exploit en iMessage.