A buen seguro habrás oído estas dos palabras, constantemente presentes en los blogs dedicados a Android y iPhone. Hoy descubriremos juntos de qué se trata y qué riesgos y beneficios pueden acarrear estas dos prácticas para el usuario del teléfono móvil.
Empezamos por el rooting de los dispositivos Android.
Para entender de qué se trata, conviene sentar una premisa: Android es un sistema operativo basado en kernel Linux. En los entornos Linux, el administrador de sistema es un usuario denominado «root».
El sistema operativo Android, por motivos de seguridad, no permite al usuario realizar determinadas operaciones. En la práctica el usuario no tiene los privilegios de administrador.
El rooting es la operación que permite al usuario obtener los privilegios de administrador de sistema (convertirse en «root» precisamente) y así poder realizar operaciones en el teléfono móvil, normalmente imposibles.
Entre las diferentes actividades que se pueden acometer, una vez obtenidos los privilegios de administrador, encontramos:
En efecto, cualquier fabricante preinstala en los teléfonos móviles una serie de programas propios (el navegador, la galería, el widget del tiempo o de las noticias, etc.), denominados también bloatware porque se les acusa (con frecuencia con razón) de consumir batería y valiosos recursos de nuestro teléfono móvil, sin poder desactivarlos.
Otra posibilidad es la de poder actualizar el propio sistema a una versión más reciente.
Sin embargo, el auténtico objetivo de los usuarios más maliciosos es poder cambiar la ROM; cargar una versión modificada del sistema operativo (que sigue siendo Android).
Una ROM diferente permite personalizar el propio teléfono móvil por ejemplo utilizando una interfaz espartana, para aumentar la duración de la batería, o disponer de características específicas no presentes en la versión Android original.
En realidad, con el pleno control del sistema operativo, puede hacerse prácticamente todo. De modificar el IMEI del dispositivo a seguir y bloquear las conexiones de red, hasta modificar algunos parámetros de la CPU y de la GPU del dispositivo.
Ahora pasamos al jailbreaking, una práctica reservada a los propietarios del iPhone. Apple se basó para crear iOS (así se llama el sistema que incorporan los iPhone) en BSD, un sistema operativo de tipo UNIX. Aquí la filosofía es otra, se ha decidido blindar el iPhone permitiendo instalar solo aplicaciones oficiales mediante la App Store. Esta gran diferencia respecto a Android lo hace sin duda menos vulnerable, puesto que las app en la tienda de Apple se verifican y se aprueban antes de que los usuarios puedan descargarlas.
También el jailbreaking, como el rooting, realiza una «privilege escalation» pero las diferencias son varias, tanto desde el punto de vista técnico como teórico.
De hecho el iPhone nace con múltiples restricciones «by design». Por ejemplo no es posible utilizar un navegador o un cliente de correo diferentes de los predeterminados.
En la práctica, lo que el usuario de Apple desea conseguir normalmente con el jailbreaking (instalar aplicaciones al margen de la App Store) el usuario puede hacerlo de inmediato, sin restricciones. Mientras el rooting de Android permite en definitiva tener el control completo del sistema operativo, el jailbreaking es solo la eliminación de algunas restricciones presentes en el software.
Sin embargo, existe una característica que asemeja estas dos técnicas: los riesgos asociados a la seguridad que introducen en los dispositivos.
En el caso del rooting, el problema nace del hecho de que, como dice Spider man «de un gran poder se deriva una gran responsabilidad». Tener el control total sin conocer a fondo el sistema operativo, puede hacer que el usuario lo dañe de forma irreparable. Además, cualquier aplicación maliciosa podrá salir de su entorno protegido y acceder a los archivos de sistema, a todos los datos presentes en el teléfono y las consecuencias pueden ser graves.
De hecho, una de las primeras acciones que diferentes malware para Android acometen es intentar conseguir los privilegios de root.
Si se ha efectuado el rooting en el teléfono móvil, el malware será capaz de robar contraseñas, borrar archivos de sistema e incluso modificar el firmware de modo que, también al restablecer los ajustes de fábrica, el teléfono ya estará infectado en la primera ejecución.
En lo referente al Jailbreaking, el principal problema es que esta modificación desactiva la sandbox (el entorno protegido en el cual se mueven las aplicaciones) de iOS, de manera que el sistema operativo y los datos de los usuarios resultan sumamente vulnerables a ataques de malware y troyanos.
En efecto, la sandbox es la principal defensa de iOS que bloquea el acceso a algunos datos y a los archivos de sistema (además al funcionar las app en un ambiente protegido, es más difícil que se produzcan crash).
Lo que sucede es que iOS no tiene en cuenta que las app pueden funcionar con los privilegios de administrador y por eso, una vez que el dispositivo es «jailbroken», las medidas de seguridad prácticamente no existen.
La mayor seguridad que Apple garantiza a sus usuarios (limitando la posibilidad de instalar una app maliciosa), desaparece de inmediato una vez efectuado el jailbreaking, y el dispositivo iOS se convierte en un blanco fácil para cualquier troyano y malware que desee aprovecharlo.
Para concluir, un consejo que nos gustaría daros es que no efectuéis el rooting ni el jailbreaking de vuestros dispositivos, a menos que seáis plenamente conscientes de lo que hacéis, y conozcáis a fondo el sistema operativo de vuestro teléfono móvil.