Menú principal

jueves, 29 de junio de 2017

Jailbreak en iOS11: Qué es realmente

Hace unos días se hacían públicas las versiones beta del nuevo sistema operativo de Apple, iOS 11. Además de todas las nuevas características que incorpora, una de las cosas de las que más se ha hablado, es de la aparición de un nuevo Jailbreak, antes incluso, de que saliera la versión final del OS. Los Jailbreak llevan años siendo un tema recurrente en todas las versiones de iOS que se publican, pero ¿qué son técnicamente hablando? En el artículo de hoy vamos a ver los fundamentos de esta técnica, así como las consecuencias en relación con la seguridad que tiene aplicarla a nuestros dispositivos.

El proceso de investigación para “crear un Jailbreak” difiere muy poco del que se utilizada para encontrar una vulnerabilidad en un sistema operativo cualquiera y explotarla. En su esencia, un Jailbreak no es más que eso, un fallo en el sistema operativo que permite la ejecución arbitraria de código con máximos privilegios. Aprovechando esta capacidad, se modificarán ciertas variables que evitan la instalación de binarios de terceros, protegen la ejecución o la escritura en determinadas páginas de memoria o limitan las capacidades de los procesos que se ejecutan.

El proceso de investigación comienza por definir los fallos de seguridad que son interesantes para poder realizar las tareas que se requieren para llevar a cabo el Jailbreak, normalmente suelen ser fallos relacionados con corrupciones de memoria o ejecución de código en el kernel del sistema operativo. Para descubrir este tipo de fallos, se suelen emplear diferentes técnicas, como debuggear el kernel. Puesto que no estamos hablando de un pc común, la aplicación de estas técnicas no es trivial, y normalmente requieren hardware específico y customizado para poder acceder a los distintos componentes del terminal.

Figura 1: iOS Kernel Exploitation

Una vez se ha identificado un fallo, normalmente en el código del kernel, comienza el momento de la explotación. Esta fase varía mucho en función del fallo que se haya encontrado, pero el objetivo final es conseguir ejecutar código arbitrario en el sistema operativo. Puesto que nos encontramos en espacio de kernel, el código que se ejecute allí lo hará con privilegios elevados. Una vez conseguido todo lo anterior, se debe realizar la última parte, que es realmente donde el Jailbreak tiene lugar. En esta fase se modificarán ciertas propiedades del sistema operativo para que se comporte de una manera distinta a la que lo hace por defecto, normalmente consiste en desactivar algunas de las medidas de seguridad de las que dispone.

En conclusión, lo que realmente estamos haciendo cuando aplicamos un Jailbreak a nuestro terminal, es hacer uso de un exploit, que aprovecha una vulnerabilidad para ejecutar código con permisos elevados y desactivar muchas de las medidas de protección que el dispositivo tiene incorporadas por defecto. Aunque aplicar este tipo de técnicas permite al usuario tener mayor libertad para instalar aplicaciones de terceros, y otra serie de características, el terminal será mucho más inseguro ante amenazas externas, por lo tanto, si almacenas información importante en tu teléfono, el Jailbreak puede no ser recomendable.

2 comentarios:

Entrada destacada

Proteger tu cuenta de Google y de Gmail con Latch Cloud TOTP #Latch #Gmail #Google

La semana pasada se liberó la nueva versión de Latch y nuestro compañero Chema Alonso hizo un repaso de todo ello en su artículo Latch ...

Otras historias relacionadas

Entradas populares