¿Qué significan Rootear y flashear un smartphone?
Rooting y Flashing
Android utiliza un kernel like Linux y por lo tanto la mayoría de los conceptos presentes en Linux son aplicables a Android también. Ambos son sistemas operativos multitarea y multiusuario. Esto significa que pueden ejecutarse varios procesos simultáneamente y además que distintos usuarios pueden compartir el sistema sin conflictos entre si. Cada proceso se trata de manera independiente con un identificador de proceso asociado UID. Las aplicaciones tienen acceso a recursos limitados y se aplica el concepto de aislamiento de aplicaciones. El usuario root o superusuario es quien administra el sistema y tiene el poder de iniciar o detener cualquier servicio del sistema, editar o eliminar cualquier archivo y cambiar los privilegios de otros usuarios. Sin embargo, cuando una persona compra un teléfono Android, no se le permite iniciar sesión como usuario root de forma predeterminada.
Rootear un teléfono Android es un anglicismo que se refiere a la obtención de permisos de acceso en el dispositivo para realizar acciones que normalmente no se permiten. Con el objetivo de minimizar las fallas es que los fabricantes de smartphones prefieren que sus dispositivos funcionen de una manera determinada para los usuarios normales. El rooteo de un dispositivo puede anular la garantía ya que root proporciona acceso abierto al dispositivo y abre el sistema a vulnerabilidades al proporcionar al usuario capacidades de superusuario. Esto puede resultar muy peligroso si se instala una aplicación maliciosa. A pesar de que los fabricantes tratan de poner suficientes restricciones para evitar el acceso al usuario root, siempre han existido vulnerabilidades que permiten acceder. Los detalles de proceso de rooteo varían dependiendo del fabricante del dispositivo móvil, pero en lineas generales implica utilizar un error de seguridad en el firmware del dispositivo para copiar el comando su a una ubicación en el path actual (/system/xbin/su) y conceder permiso de ejecución con el comando chmod. Un dispositivo Android tiene normalmente varias particiones. El bootloader o cargador de arranque es un software ubicado en la primera partición que se ejecuta cuando se enciende el teléfono y configura el dispositivo a un estado inicial conocido. El trabajo principal de este gestor de arranque es montar las demás particiones y cargar el sistema operativo comúnmente denominado ROM por defecto desde la partición Android. Los cargadores de arranque de Android son escritos por diferentes fabricantes y son específicos para el hardware sobre el cual se ejecutan. Para acceder al menú del cargador de arranque se requiere una particular combinación de teclas, como mantener pulsado el botón de encendido y pulsar el botón de subir volumen. Este menú ofrece diferentes opciones para arrancar desde otras particiones, y si se elige la partición de recuperación es posible, entre otras cosas, instalar actualizaciones del sistema operativo. Este es el modo estandar de instalar cualquier actualización oficial y autorizada del sistema operativo.
La instalación de un sistema operativo no autorizado por el fabricante se conoce como flashear el teléfono. Android es un software de código abierto que se distribuye bajo la licencia Apache V2, pero el bootloader casi nunca lo es. Como los fabricantes desean que sólo se instalen actualizaciones oficiales a través de la partición de recuperación, suministran un bootloader bloqueado, esto quiere decir que el dispositivo solo podrá ejecutar sistemas operativos aprobados por ellos. Esto quiere decir que la partición de arranque del sistema debe tener un firma digital conocida para ser considerada “booteable”. Para instalar una versión de Android diferente en un dispositivo se debe primero desbloquear el bootloader o incluso reemplazarlo. El proceso de desbloqueo varía dependiendo del dispositivo. Algunos fabricantes ponen a disposición de los usuarios en una sección para desarrolladores de su sitio web, instrucciones oficiales para desbloquear el bootloader de diferentes modelos de smartphones, por supuesto advirtiendo sobre la perdida de la garantía. El proceso de desbloquear el bootloader no debe ser confundido con el “rooteo”, ni tampoco con el desbloqueo de la SIM (que permite usar el smartphone con cualquier operadora de telefonía del mundo que no sea la que lo vendió). Los programas de recuperación modificados proporcionan varias opciones que no se ven en el modo de recuperación normal.
La instalación de un sistema operativo no autorizado por el fabricante se conoce como flashear el teléfono. Android es un software de código abierto que se distribuye bajo la licencia Apache V2, pero el bootloader casi nunca lo es. Como los fabricantes desean que sólo se instalen actualizaciones oficiales a través de la partición de recuperación, suministran un bootloader bloqueado, esto quiere decir que el dispositivo solo podrá ejecutar sistemas operativos aprobados por ellos. Esto quiere decir que la partición de arranque del sistema debe tener un firma digital conocida para ser considerada “booteable”. Para instalar una versión de Android diferente en un dispositivo se debe primero desbloquear el bootloader o incluso reemplazarlo. El proceso de desbloqueo varía dependiendo del dispositivo. Algunos fabricantes ponen a disposición de los usuarios en una sección para desarrolladores de su sitio web, instrucciones oficiales para desbloquear el bootloader de diferentes modelos de smartphones, por supuesto advirtiendo sobre la perdida de la garantía. El proceso de desbloquear el bootloader no debe ser confundido con el “rooteo”, ni tampoco con el desbloqueo de la SIM (que permite usar el smartphone con cualquier operadora de telefonía del mundo que no sea la que lo vendió). Los programas de recuperación modificados proporcionan varias opciones que no se ven en el modo de recuperación normal.
La figura 1 muestra la captura de pantalla de un programa de recuperación normal. Solo se tiene un conjunto muy limitado de operaciones como hacer un reset de fábrica, instalar un sistema operativo o actualización oficial, limpiar la caché, realizar un backup de los datos de usuario o reinstalar algunos de estos backups. Esto puede variar ligeramente en función del fabricante pero las opciones nunca van más allá.
figura 1 |
La mayoría de los métodos de rooteo empiezan instalando un programa de recuperación modificado en la partición de recuperación. La figura 2 muestra a Clockwork, un programa de recuperación muy usado. Es open source, gratis y distribuido bajo licencia Apache 2.0.
figura 2 |
Comentarios
Publicar un comentario