2 puntos por GN⁺ 2024-10-08 | 1 comentarios | Compartir por WhatsApp

Virtualizar iOS en Apple Silicon

Parte 0: ¿Territorio desconocido?

  • Proyecto vma2pwn: un proyecto para crear una cadena de arranque vma2 de macOS modificable para máquinas virtuales invitadas de macOS, como trabajo previo para la virtualización de iOS.
  • Posibilidad de virtualizar iOS: con la transición a Apple Silicon y la introducción de Mac Catalyst, los sistemas operativos iOS y macOS se han acercado más, lo que plantea la pregunta de si iOS puede virtualizarse.
  • Investigación previa: se mencionan como trabajos relacionados el producto de nube de iPhone virtual de Corellium, qemu-t8030 y el blog de Zhuowei Zhang.

Parte I: Empezar + nuevos hallazgos

  • Funciones del stack de Virtualization de Apple: se descubrió una función para firmar datos arbitrarios para máquinas virtuales.
  • Menor necesidad de vma2pwn: mediante la llamada _setProductionModeEnabled(false), es posible configurar el dispositivo virtual en modo "seguro" y "no de producción".
  • Estrategia para ejecutar iOS: se reutiliza la cadena de arranque de macOS 12.0.1 y se reemplaza con una imagen del sistema iOS 15.0.2 para minimizar las modificaciones del proceso de inicialización.

Parte II: Infierno de parches

  • Parcheo del kernel: se requieren parches para omitir la verificación de firmas, y se modifica para saltarse la comprobación PLATFORM_IOS con el fin de ejecutar binarios de iOS.
  • Problema con system keybag: debido a la incompatibilidad del system keybag, en PreBoard.app aparece el mensaje "desliza hacia arriba para actualizar".
  • Desajuste en el tamaño de estructuras IOMFB: se resolvió un problema de kernel panic causado por diferencias de tamaño entre los frameworks del sistema de iOS y el kernel de macOS.
  • Parches del sistema: se necesitan parches para el ramdisk de restauración y los archivos del sistema de iOS, ya que el sistema termina si se ejecuta sin firma.

Parte III: Futuro

  • Resolver el problema del system keybag: se necesitan más parches y una comprensión más profunda del sistema iOS y del kernel.
  • Función táctil: no se ha confirmado si la función táctil funciona, y es posible enviar eventos táctiles usando APIs privadas de Virtualization.framework.

Resumen de GN⁺

  • Este artículo ofrece una exploración técnica profunda sobre cómo virtualizar iOS en Apple Silicon.
  • A medida que se acelera la integración entre iOS y macOS, este proyecto cumple un papel importante en la exploración de la interoperabilidad entre ambos sistemas operativos.
  • Este proyecto requiere mucho tiempo y esfuerzo, y necesita más investigación y desarrollo.
  • Un proyecto con funciones similares es el producto de nube de iPhone virtual de Corellium.

1 comentarios

 
GN⁺ 2024-10-08
Opiniones de Hacker News
  • Corellium ganó la batalla legal y ahora puede alquilar iOS Cloud VM con fines de investigación de seguridad

    • Si iOS puede virtualizarse en MacBooks con Apple Silicon, podría reducirse la demanda de servicios comerciales de virtualización de iOS
    • El costo es de $400 al mes para usuarios individuales y $60,000 al año para empresas
  • Ojalá el próximo reto sea encontrar la forma de instalar macOS en un iPad

  • Da la impresión de que Apple no convierte el Simulator en un Emulator porque no quiere que la gente escarbe en los fundamentos de iOS

  • Según el perfil de GitHub del autor, ha realizado un trabajo muy impresionante para ser un recién graduado de ciencias de la computación

  • La persona que creó qemu-t8030 logró ejecutar springboard, pero no publicó el código. Sería excelente si ese avance pudiera combinarse con el proyecto actual

  • Es un tema algo distinto, pero me pregunto si alguien ha virtualizado macOS ARM en x86-64

  • Apple ya ofrece un simulador de iOS en Xcode. Me pregunto qué ventajas tiene este proyecto frente a lo que ofrece Apple

  • La discusión sobre este tema se está llevando a cabo en el servidor de Discord de nick's funny device emporium