El acceso root es uno de esos elementos que Android recibió por su herencia de Linux, y que ha resultado ser una de las mejores herramientas para los usuarios mas entusiastas. En cierta manera, representa muy bien el espíritu libre de Android, ya que permite hacer lo que queramos con nuestro dispositivo, incluso dejarlo inútil. Sin embargo, precísamente por esto último, los fabricantes normalmente prefieren dejarlo inhabilitado, y dejar que los entusiastas se busquen la vida con complejos pasos para activarlo. Ahora, la llegada de Android 4.3 puede significar el fin de root tal y como lo conocemos.
Y es que Android 4.3 incluye muchas novedades en lo que respecta a seguridad, siendo la principal de ellas el uso activo de SELinux. Este sistema se encarga de decidir si las aplicaciones y usuarios pueden acceder o modificar ciertas partes del sistema. Es una gran diferencia respecto a root, aunque son dos elementos que no se contraponen y ambos son perfectamente posibles de usar en el mismo sistema (como hacen las distribuciones Linux). La duda está en si merece la pena seguir usando root teniendo esta nueva característica.
El problema de root es que, una vez que lo iniciamos, podemos hacer cualquier cosa. Tenemos poder absoluto sobre el dispositivo, y por tanto las apps que iniciemos con root podrán leer y cambiar cualquier parte del sistema que crean conveniente. No hace falta decir la gran cantidad de problemas de seguridad que esto conlleva, y por eso cuando usamos root debemos ser especialmente cuidadosos con las apps que iniciamos. Porque root es un interruptor de encendido o apagado. O somos un usuario normal, o somos un dios, y no hay término medio.
Ahí es donde radica la mejora de SELinux, que permite reducir los permisos necesarios por un usuario o una app a la mínima expresión, manteniendo su funcionalidad. Porque, ¿para qué necesitamos root hoy en día? Es cierto que hay apps para realizar copias de seguridad que lo utilizan para poder copiar todo el contenido de nuestro sistema. También se puede usar para eliminar todo el software adicional que añaden los fabricantes, o para tocar archivos del sistema como los relativos a las conexiones a Internet.
Sin embargo, ¿realmente necesitamos root para eso? Steve Kondik afirma que no, ya que, por la manera que en la que está dispuesto Android, las aplicaciones deberían poder acceder a las partes que necesitan sin necesidad de tomar el control del sistema. Kondik pone como ejemplo el de un cortafuegos. Normalmente, la app pediría acceso root para modificar los archivos necesarios por su cuenta. Pero la verdad es que no lo necesita, ya que ya existe un servicio en el sistema que se encarga de eso. La app solo necesitaría permisos para acceder a ese servicio, y entonces a través de el podría definir sus propias reglas.
Esto se puede enmarcar en un nuevo movimiento dentro de los desarrolladores y usuarios mas entusiastas de dejar de usar root para todo, una práctica muy insegura y que poco a poco deja de tener sentido. Es cierto que muchos usuarios siguen queriendo acceso root, y de hecho proyectos como CyanogenMod están trabajando para ofrecerlo en Android 4.3, pero todo apunta a que mas pronto que tarde lo veremos como un anacronismo sustituido por otras alternativas mas sensatas.
Fuentes | Steve Kondik 1 y 2