Uno de los motivos por lo que muchos nos volvimos adictos a Android por encima de otros sistemas operativos móviles fue la naturaleza abierta de este frente a sus competidores. Poder personalizar tu móvil al extremo es un factor clave para los que consideramos la tecnología como algo más que una herramienta, y eso solo lo podemos conseguir en sistetmas que permitan cierto margen de libertad.
Conseguir una libertad así sin comprometer a la seguridad es un tema que siempre ha estado muy controlado en Linux (el núcleo que da vida a Android) mediante el sistema de permisos. Una aplicación nunca podrá acceder a un recurso del sistema al que no le hayamos dado permiso, impidiendo que aplicaciones maliciosas se pasen de listas con nosotros.
Android, permisos y seguridad
Para la creación de Android, los chicos de Google definieron una serie de permisos a los que los desarrolladores podrían acceder a la hora de crear aplicaciones. Estos permisos dan a los desarrolladores una gran libertad a la hora de acceder a los recursos de nuestro equipo, pero nunca sin llegar a obtener un acceso total.
Pero Android es Linux, y como todo sistema basado en este núcleo, podemos acceder a los permisos root. Mediante la adquisición de estos permisos, nos convertimos en súper-usuarios, con acceso a muchos más recursos del sistema de lo que Google considera correcto y necesario para un usuario.
Estos permisos han permitido que podamos disfrutar de aplicaciones que han hecho nuestra vida en Android mucho más cómoda. Algunos ejemplos de grandes aplicaciones son:
- Titanium Backup: Probablemente la mejor aplicación para hacer copias de seguridad, tanto de aplicaciones como de los datos de las mismas.
- Xposed-Framework: Un marco de servicios que permite instalar módulos para personalizar al máximo nuestro teléfono.
- Root Uninstaller: Aplicación que permite desinstalar cualquier aplicación del sistema, ideal para eliminar aplicaciones preinstaladas que no son de nuestro gusto.
Pero como todo en esta vida, el rooteo también tiene sus lados negativos. Hoy nos vamos a centrar en uno en concreto, se trata de la seguridad, quizás el aspecto que más nos influye a la hora de decidir si rootear o no.
Tradicionalmente, siempre hemos considerado que rootear un terminal deja una brecha de seguridad que no podemos menospreciar. Si cualquier aplicación puede acceder a cualquier recurso ¡Cualquier Malware puede infectar mi equipo!
¿Nos exponemos al mal al convertirnos en súper-usuarios? No todo es lo que parece, y por tanto, vamos a desvelar algunos de los puntos clave por lo que rootear no es tan inseguro como parece.
La comunidad no engaña
Los permisos de súper-usuario no fueron creados para el malware, sino para que los administradores tuviesen un control total sobre sus ordenadores. Con la llegada de los dispositivos móviles, vemos como un sector entre los desarrolladores llega con entusiasmo, un sector que siempre ha permanecido en los foros de Internet y que en estos momentos, se encuentran en un apogeo de popularidad, los hackers.
Lejos de lo que las películas nos intenten vender, los hackers son personas que se mueven por motivaciones que van más allá del mal de las personas, a este tipo de personas les encanta conocer las tripas de los dispositivos a fondo, y hacer con ellas cosas increíbles, en la mayoría de ocasiones para sentirse realizados consigo mismos.
Entre hackers, desarrolladores y usuarios avanzados se han ido creando comunidades famosas como XDA-Developers, un punto de encuentro donde cualquiera puede aportar, y donde casi todo el que contribuye lo hace desinteresadamente (ya sea por ser un profesional del sector en ratos libres, o alguien que aspire a tener un currículum atractivo)
Es en este tipo de foros donde la gente enseña a rootear, es en este tipo de foros donde nacen la mayoría de aplicaciones que aprovechan los permisos root. Un lugar donde cada usuario tiene una reputación, y esta es conseguida siendo un usuario ejemplar.
Ningún usuario que pretenda ser alguien en la comunidad va a crear una aplicación con fines malévolos, y si lo hace verá como su cuenta es baneada y su reputación destruida. Un desarrollador y miles de usuarios de una comunidad prestigiosa no van a conspirar para aprovechar que instalaste root para infectar tu móvil.
Secure Enhanced Linux: La protección a los peores males
En las últimas versiones de Android, Google ha ido implementando todas las mejoras de seguridad que los sistemas basados en Linux han ido recibiendo a lo largo del tiempo. Una de ellas es SELinux, un sistema de seguridad que fue añadido a Linux en el año 2000.
SELinux fue concebido para impedir que cualquier aplicación pudiese modificar el núcleo del sistema. Consiste en una serie de normas y políticas de seguridad, donde a cada aplicación le asigna un nombre, un rol y un dominio, impidiendo que cualquier aplicación pueda modificar el kernel, creando una nueva puerta de seguridad .
La llegada de SELinux a Android tuvo una serie de implicaciones en lo que respecta al root y sus aplicaciones, las cuales dejaron de funcionar. Con el tiempo, los desarrolladores han sabido adaptar sus aplicaciones para seguir las políticas de SELinux, garantizando que no tocarán el Kernel, pero manteniendo toda la libertad que amamos.
El sentido común, la última barrera
A estas alturas solo tenemos compromisos, en los que podemos confiar o desconfiar. Que la mayoría de desarrolladores sean honrados y Linux implemente políticas de seguridad estrictas, no significa que vayamos a estar a salvo.
Existen permisos que mal usados, pueden causarnos muchos males, y quizás el punto más interesante de esto, es que gran parte de ellos no necesitan de root para violar nuestra seguridad. Como hemos mencionado anteriormente, somos nosotros como usuarios los que permitimos que las aplicaciones puedan acceder a cualquier permiso, e incluso las aplicaciones root necesitan permiso de super-su, el administrador desde el cual podemos permitir que una aplicación tenga acceso root o no.
El propósito por el que las aplicaciones maliciosas son creadas es el de conseguir un beneficio del perjuicio de sus usuarios, de cualquier modo. Para hacer que el software malicioso resulte rentable, el objetivo es infectar a la mayor cantidad de personas posibles, por lo que las estrategias suelen ser bastante previsibles, y las víctimas serán casi siempre usuarios mal informados.
Siendo el sistema de permisos un arma de doble filo, la mayoría de ataques son realizados hacia aquellas personas que aceptan todo permiso solicitado sin pensar, mientras que otro truco para colocar malware es el de ofrecer de forma gratuita aplicaciones de pago sin sentido aparente.
Dados los conocimientos necesarios para rootear, este conocimiento suele ser la mejor defensa a la hora de evitar que nos ataquen. Tenemos super-su para restringir el acceso root, tenemos Secure Enhanced Linux para proteger el Kernel, y en Android M podremos restringir permisos individuales a las aplicaciones de forma oficial (que por cierto, los usuarios con root pueden hacer esto último desde hace mucho), por lo que desmontamos el mito.
Los usuarios root estamos tan protegidos como el resto de usuarios, siendo nuestros conocimientos y preocupación por la seguridad el factor más determinante para la propia seguridad.
Imágenes |XDA Developers |It’s a Trap!