El proceso de jailbreaking comunitario
En el proceso de encontrar vulnerabilidades y lanzar herramientas de jailbreak, hay otras cosas que retrasarán el trabajo del equipo de jailbreak. Por ejemplo, encuentre las diferencias de código entre diferentes dispositivos, pruebe el proceso de jailbreak, etc. Una vez que comienzas a hacer jailbreak, otra tarea que es bastante desafiante es encontrar evaluadores con habilidades técnicas lo suficientemente altas y bocas estrictas. David Wang dijo: "A veces se necesitan semanas para lograr un jailbreak exitoso y, a veces, solo unos pocos días".
En el pasado, el jailbreak no tenía por qué ser tan difícil. Los jailbreakers pueden encontrar una vulnerabilidad en el bootrom (el primer código importante del iPhone) y luego romperlo uno por uno. Mientras no se reemplacen los iPhone, los usuarios tienen control total independientemente de la versión de iOS que estén ejecutando. Pero hoy en día, los jailbreakers ni siquiera pueden acceder al bootrom.
David Wang dijo: "Estas bootroms son cada vez más pequeñas y ni siquiera podemos extraer los archivos de volcado de ellas. Incluso si desciframos el código y controlamos completamente el iPhone, todavía no podemos vea la ROM de arranque. Si no podemos obtener el archivo de volcado, no podremos encontrar fácilmente el código y encontrar el error."
La razón es que la ROM de arranque se ocultará automáticamente cuando el iPhone 5 se inicie por completo. . Esto comienza con la herramienta de jailbreak perfecta "Limera1n" para iPhone 4. Esta herramienta aprovechó una vulnerabilidad de bootrom no descubierta en el iPhone 4 para lograr un jailbreak perfecto, pero Apple luego solucionó la vulnerabilidad de bootrom.
¿Está Apple arreglando la vulnerabilidad de la ROM de arranque sólo para evitar jailbreaks? David Wang respondió: "Ese debería ser el caso, porque si no es para hacer jailbreak, ¿quién prestará atención al bootrom? Los usuarios realmente no infectarán el teléfono con virus leyendo el bootrom".
Porque No hay vulnerabilidades de bootrom disponibles y los piratas informáticos necesitan encontrar más vulnerabilidades antes de poder ofrecer a los usuarios una solución completa de jailbreak. Los piratas informáticos necesitan errores de implantación de código (inyectar código en el sistema operativo) y errores que aumentan la prioridad del código para realizar cambios en la configuración del sistema operativo móvil. Estos dos errores a veces son incluso iguales.
A continuación, necesitaban un error implantable en el kernel que les diera acceso ilimitado al sistema operativo y ordenara al kernel que dejara de verificar las firmas de código. Debido a la seguridad mejorada de iOS 6, los piratas informáticos también necesitan encontrar otra vulnerabilidad para evitar las restricciones ASLR (aleatorización del diseño del espacio de direcciones) del kernel. ASLR dispersará el kernel en la memoria.
David Wang dijo que Apple no permite que los jailbreakers vean la ubicación del kernel en la memoria precisamente para evitar que modifiquen el código. Por lo tanto, también necesitan encontrar un error que pueda romper las barreras establecidas por el kernel ASLR, y este error puede ser el mismo que el nivel de prioridad del código o el error de implantación del kernel.
Finalmente, los piratas informáticos también necesitan un error de jailbreak perfecto para que el iPhone pueda liberarse sin importar cuándo y dónde se inicie. Hacer jailbreak requiere encontrar muchos errores.