Como se prometió en su Demostración de Yellowsnow, [Pytey], [Musclenerd], [Musclenerd], y [Planetbeing] del equipo de iPhone-Dev presentó a 25ºC3 en su trabajo hackeando el iPhone. El equipo originalmente formado en 2007 y esta es la presentación más detallada sobre cómo se comprometió el iPhone hasta la fecha. Puedes encontrar la conversación completa incrustada anteriormente.
Se abrieron con algunas estadísticas sobre lo populares que es su software. Nuestro favorito por mucho es que al menos 180 personas con Apple Corporate IPs actualizan sus teléfonos utilizando el software del equipo de desarrollo regularmente. Desde allí, la conversación se dividió en dos secciones: Jailbreaking el procesador de aplicaciones S5L y desbloqueando el procesador de banda base S-Gold.
El teléfono cuenta con una cadena de depende de garantizar que solo se está ejecutando el código de Apple. Todas las tierras de usuario se registran por el kernel. El kernel está revisado cuando está cargado por iBoot. La imagen de iBoot está marcada cuando se carga por LLB. LLB está cargado de la pieza de código no más baja, el Bootrom. Ahí es donde las cosas se desmoronan; El Bootrom no revisa la firma del LLB. Para aprovechar esto, el equipo encontró lo que describen como un desbordamiento de tampón de pila clásica en modo DFU. DFU es el modo de actualización del firmware del dispositivo, un estado en el que el teléfono puede forzarse después de las cargas de BootROM. Su explotación obliga al certificado que verifica para devolver “verdadero”. Luego, son capaces de parchear todas las verificaciones de firmas posteriores del sistema del teléfono.
El procesador de banda base verificó ser mucho más difícil simplemente porque no tiene ningún tipo de modo de recuperación; Licking Un teléfono siempre fue una posibilidad. El S-Gold es un sistema completo en chip y tiene una identificación especial en cada teléfono. El tampoco tiene una identificación especial en cada teléfono. Estas dos ID se utilizan para firmar el Packack, lo que a su vez hace cumplir el bloqueo del soporte SIM. Estas identificaciones especiales son las por las cuales no puede simplemente tomar un teléfono desbloqueado oficialmente y copie el SECPACK OFF para desbloquear otro teléfono. Todo lo demás es idéntico: el firmware, la banda base, el salón de arranques es igual. En la segunda generación iPhone, el Bootrom comprueba el cargador de arranque. Luego, el cargador de arranque verifica el BootROM antes de revisar y luego cargar el firmware. El firmware hace cumplir el bloqueo del transportista. El equipo tomó una decisión de que no valía la pena intentar romper la cadena de confianza. El código de desbloqueo SIM que desarrollaron se divide en dos secciones. La primera parte es el desbloqueo real del software. Pislan el firmware mientras se ejecuta en RAM. Su parche modifica el árbol de decisión del firmware sobre si desea hacer cumplir la cerradura del transportista. La segunda mitad es la explotación que les permite inyectar el código. El equipo sabe que la manzana puede y probablemente parche el agujero de explotación, pero su código de parches RAM siempre funcionará, por lo que es solo una cuestión de encontrar otro agujero para aplicarlo. En la compra para hacer una opción de desbloqueo permanente (como en el iPhone de primera generación), tendrían que examinar el código de inicio real.
El equipo señaló varias cosas que Apple hizo eso en realidad les ayudó en sus esfuerzos. La seguridad se lanzó gradualmente, por lo que pudieron mirar las cosas que eventualmente se ocultarían. El firmware fue inicialmente sin cifrado. Las versiones anteriores confiaban en iTunes, algo que podrían modificar fácilmente. Todas las aplicaciones de Userland originalmente corrieron como raíz que indica cualquier explotación de la aplicación dio acceso a nivel de raíz.
El equipo de iPhone-Dev ha puesto realmente en una increíble cantidad de esfuerzo y esperamos el lanzamiento de Yellowsn0w en la víspera de Año Nuevo.