Jailbreak, Cydia, AppCake, Alpine… todos estos conceptos han estado causando dolores de cabeza a Apple durante más de 10 años, y han hecho que la compañía lleve a cabo una batalla constante por adelantarse a los crackers que, a través de cualquier vulnerabilidad podían conseguir permisos de superusuario dentro del cerrado ecosistema de iOS, permisos que, finalmente, terminaban dando forma al Jailbreak. Tras una larga batalla, parece que finalmente Apple ha acabado, de una vez por todas, con este problema.
Hace 10 años, encontrar vulnerabilidades en iOS, aunque requería de cierto nivel y cierta habilidad, era factible y bastante sencillo. Sin embargo, con el paso de los años, especialmente con la llegada de las últimas versiones de iOS, esto se ha ido complicado enormemente hasta el punto de que algunas plataformas, como Zerodium, ofrecían hasta un millón de euros por un fallo que permitiera Jailbreak remoto.
Como hemos dicho, a medida que ha ido evolucionando iOS, las cosas se han vuelto más difíciles para conseguir Jailbreak, a pesar de que iOS 10 sí tuvo una especie de chapucero e inestable JB. Sin embargo, con la llegada de iOS 11, Apple está segura de que, tras estos 10 años de lucha, finalmente ha puesto solución a esto.
Antes de analizar las nuevas medidas de seguridad que aseguran esto, debemos indicar que, hasta ahora, para poder hacer Jailbreak a un dispositivo con iOS era necesario encontrar, al menos, 4 vulnerabilidades separadas:
- Una vulnerabilidad en la app del dispositivo.
- Un primer fallo en el Kernel de iOS.
- Una vulnerabilidad en la secuencia de arranque.
- Un segundo fallo (diferente al primero) en el kernel de iOS.
Así es como Apple ha dificultado el Jailbreak de iOS hasta hacerlo imposible y ganar la batalla
Como hemos dicho, el primero de los requisitos para poder empezar a realizar esta configuración avanzada era encontrar una aplicación fiable con una vulnerabilidad a través de la cual empezar con las configuraciones adicionales. Apple controla de forma muy exhaustiva las aplicaciones que se publican a la tienda (bloqueando todas aquellas vulnerables), por lo que, al final, lo único que suele quedar a los desarrolladores es Safari como app vulnerable, app que, cada vez, se va haciendo más robusta, por lo que cada vez es más complicado encontrar y explotar vulnerabilidades.
En segundo lugar, había que buscar una vulnerabilidad en el Kernel que permitiera desactivar la rutina de verificación de firmas, kernel cada vez más seguro y con nuevos controles que dificultan, incluso aunque exista una vulnerabilidad, desactivar esta función básica del Kernel.
Llegados a este punto, sí podríamos tener un Jailbreak, pero no sería completo (sería como el de iOS 10) ya que tendríamos que realizarlo cada vez que reiniciemos el dispositivo ya que, al reiniciarlo, la verificación de firmas volvería a activarse. Por ello, habría que encontrar en tercer lugar un fallo en el proceso de boot de iOS que nos permite desactivar la verificación de firmas automáticamente durante el arranque. Esto cada vez es más complicado ya que las secuencias de arranque son muy pequeñas (pocos cientos de líneas de código), por lo que encontrar un fallo en ellas que no haya sido solucionado es una tarea muy complicada.
Por último, suponiendo que hayamos llegado hasta este punto, sería necesaria una segunda vulnerabilidad en el Kernel que nos permitiera ejecutar un exploit para desactivar la verificación de firma y otras medidas de seguridad del sistema operativo para poder tener un jailbreak definitivo.
Esto no garantiza que no puedan conseguir un semi-jailbreak, incluso que no encuentren 4 nuevas vulnerabilidades, desconocidas hasta la fecha, que permita un Jailbreak Untethered para iOS 11, aunque, tal como asegura Apple, esto es prácticamente imposible debido al estado actual de su sistema operativo y a las nuevas rutinas y medidas de seguridad implementadas y, aunque terminada por ser posible, duraría muy poco tiempo hasta que la compañía lo solucionada con una actualización, haciendo que un nuevo Jailbreak fuera aún más complicado. Puedes especializarte en desarrollar aplicaciones para iPhone.
¿Crees que Apple ha ganado la batalla al Jailbreak definitivamente?