sábado, 27 de diciembre de 2008

Reposeyendo los iPhones

Después de una merienda frugal, viene una charla de más nivel técnico. Dos representantes del equipo que se dedica a desbloquear iPhones, nos cuentan cómo lo hicieron.

En la primera mitad se cuenta cómo se accedió a desbloquear el software principal del iPhone, fundamentalmente por una debilidad en el primer paso del arranque seguro (hay una ROM que arranca un cargador que a su vez carga el kernel): en la primera generación la ROM no comprobaba el cargador y en la segunda generación, era vulnerable al clásico "stack overflow".

En esta parte, algunas debilidades por parte de Apple permitieron que se accediese a la primera generación, lo que a su vez facilitó el trabajo en la segunda generación, donde ahora se puede instalar el programa y ¡actualizarlo con el propio iTunes de Apple!

La parte de la radio ha sido mucho más difícil de romper (y es que está más protegida, pues un fallo ahí es más grave, ya que es la que controla el SIM-lock), y de hecho en la 2ª generación las roturas no son totalmente permantente.

El principal problema aquí es que un fallo en la depuración deja el teléfono permanentemente inutilizado, sin posibilidad de recuperación.

El proceso de arranque es parecido al del sistema operativo principal, con una rom que carga al cargador que a su vez carga el firmware. La principal diferencia es que el cargador bloquea el acceso ¡de lectura! a la rom, dificultando aún más la investigación.

La 1ª generación de banda base se atacó porque no comprobaba el código cargador, pero la segunda ese paso también está protegido por un conjunto de firmas de seguridad ("secpack").

De esa manera, en la 2ª generación sólo se puede atacar inyectando código en la RAM directamente, que es más cómodo (no es posible estropear el teléfono), pero cada vez que Apple corrija los problemas que permiten la inyección hay que econtrar un nuevo vector de inyección.
Pero por ahora, es posible desbloquear cualquier teléfono (por ahora).

No hay comentarios:

Publicar un comentario