Permisos y confinamiento de aplicaciones en Ubuntu Touch

En Ubuntu Touch podemos usar varios tipos de aplicaciones. Tenemos por una parte las aplicaciones Web, que actúan como una pestaña aislada del navegador. Permiten tener un icono en el lanzador de aplicaciones para acceder rápidamente a páginas Web concretas. Por ejemplo, podemos tener una aplicación Web para acceder a InnerZaurus. Las aplicaciones Web tienen, por definición, los permisos más limitados. El segundo tipo lo forman las aplicaciones nativas. Aquí tenemos más libertad para interactuar con el el dispositivo. La aplicación define los permisos que necesita y, si los acepta el usuario, se instala en el dispositivo. Es en este punto donde aparecen las diferencias respecto a otros sistemas operativos para móviles. En Ubuntu Touch además de los permisos, tenemos el confinamiento. Una aplicación confinada sólo puede acceder a los datos de su carpeta de configuración. No puede acceder a otras carpetas ni a elementos externos como la tarjeta SD. Esta aproximación de seguridad permite aumentar la seguridad del usuario incluso con aplicaciones malignas.

Introducción

En una aplicación de escritorio los permisos son más sencillos. El usuario puede acceder a muchas carpetas del equipo. Si instala una aplicación, ésta aplicación tiene los mismos permisos de acceso que el usuario. Podría darse el caso que una aplicación maligna accediera a datos delicados del usuario, por ejemplo el listado de contactos, y mandara esa información al creador. Si entendemos este comportamiento a Ubuntu Touch tendríamos un problema. Una aplicación externa podría acceder al listado de llamadas o a los contactos. Para evitar este problema tenemos dos niveles de seguridad. El primero es el confinamiento de las aplicaciones y el segundo los permisos.

https://pixnio.com/es/objetos/juguetes/juguete-nina-guerrero-espada-escudo

Ambos elementos se complementan para mejorar la seguridad del usuario. Como usuario puedes usar siempre aplicaciones sin confinamiento y con todos los permisos aunque sería un poco problemático. Si tienes cualquier problema de seguridad serías el único responsable.

Aplicaciones confinadas

Una aplicación confinada, no confundir con aplicación confitada, sólo puede acceder a su carpeta de configuración. De esta forma, no importa que tengamos una aplicación maligna porque no podría ocasionar problemas al usuario. Las aplicaciones confinadas se publican directamente en la OpenStore. Dentro de este grupo tenemos tanto las aplicaciones nativas como las aplicaciones Web.

Supongamos que tenemos una aplicación de navegación de mapas como uNav (del maestro Marcos Costales). Si accedemos a la ficha de la aplicación de la OpenStore podemos ver los permisos que puede usar. El primer punto importante es ver el color del candado. Si es de color verde, quiere decir que la aplicación está confinada. Sólo puede acceder a su carpeta de configuración y a los elementos que tiene definidos en el listado de permisos.

Permisos de uNav

Permisos de uNav

uNav puede acceder al sonido, mantener la pantalla encendida o usar la ubicación (GPS) del teléfono. Son permisos normales para una aplicación de navegación de mapas. La información de los mapas puede descargarse en tiempo real en la memoria interna. No podría, con la configuración de seguridad que tiene, guardar los mapas en la tarjeta SD. ¿Esta limitación es un fallo de la aplicación? No lo es. Como hemos visto antes, las aplicaciones confinadas tienen limitados los recursos a los que pueden acceder. En la OpenStore hay aplicaciones que si pueden acceder a la tarjeta SD. ¿Cómo lo hacen?

Aplicaciones no confinadas

Como ejemplo de aplicación no confinada tenemos la aplicación de cámara. Si repetimos lo mismo que hemos hecho para uNav tenemos la siguiente imagen. El candado verde es ahora una llave de color rojo. ¿Quiere decir que estamos ante una aplicación maligna que debemos evitar? Lógicamente no. Una aplicación que no está confinada puede tener permisos normales, que aparecerán de color negro, y permisos “peligrosos” que estarán en color rojo. En GNU/Linux tenemos los usuarios normales y los administradores. Cuando usamos un usuario administrador podemos acceder a todos los elementos. En Ubuntu Touch ocurre algo parecido de forma más granular.

Permisos de la aplicación de cámara

Permisos de la aplicación de cámara

Cuando una aplicación no está confinada quiere decir que tiene al menos un permiso “de administrador”. Los permisos que aparecen en rojo son los que usan esos permisos “de administrador”. La aplicación de cámara puede acceder a las unidades del dispositivo, a las imágenes del usuario y a los vídeos. No podría por ejemplo acceder a los contactos o al calendario del usuario. En algunas ocasiones es necesario este relajamiento de los permisos. Por cuestiones de seguridad, todas las aplicaciones que no están confinadas se revisan de forma manual. No se publican directamente en la OpenStore.

Permisos de una aplicación no confinada

Permisos de una aplicación no confinada

Curiosamente tenemos una aplicación que si que tiene acceso total al sistema. Esa aplicación es la OpenStore. Como en el caso anterior veremos la llave de color rojo indicando que es una aplicación que no está confinada. Los permisos son más directo: Redes y Acceso completo al sistema.

Aplicación de la OpenStore

Aplicación de la OpenStore

Permisos

Los permisos se aplican como segunda capa de seguridad. Una aplicación debe tener los mínimos permisos necesarios para funcionar. No se puede dar el mismo caso de Android, en el que encontramos aplicaciones de linterna (que encienden el LED de la cámara) y piden permisos para acceder a todos los elementos del sistema. Una aplicación sólo puede usar los permisos que tiene definidos. No puede acceder por ejemplo a la conexión de datos si le falta ese permiso. Antes de instalar una aplicación conviene ver lo que puede hacer. Como la OpenStore es una tienda pequeña, no debería haber muchos problemas con aplicaciones extrañas en estos momentos.

El programador de la aplicación define los permisos que puede usar. La única forma de modificar esos permisos sería teniendo el código fuente de la aplicación. No es posible modificar los permisos de una aplicación que ya se distribuye como paquete click. Como norma, sólo hay que instalar aplicaciones de la OpenStore. Ésto se aplica tanto en Ubuntu Touch como en otros sistemas operativos móviles.

OpenStore en Ubuntu Touch

OpenStore en Ubuntu Touch

Conclusiones

Las aplicaciones tienen dos capas de seguridad en Ubuntu Touch. Por una parte tenemos el confinamiento, que evita que la aplicación acceda a otros recursos como la información del usuario o la tarjeta de memoria. Por otra parte tenemos los permisos. Los permisos definen lo que la aplicación puede hacer: consultar el GPS, modificar el sonido, etc. Si una aplicación quiere acceder a la cámara y no tiene definido ese permiso, no podrá hacerlo.

En algunas ocasiones necesitamos que las aplicaciones no estén confinadas. Es importante tener cuidado con esas aplicaciones y descargarlas únicamente de la OpenStore. Si no lo hacemos, podemos meter una aplicación peligrosa en el dispositivo y tener problemas. Con tener un poco de sentido común suele ser suficiente. Si tenemos alguna duda, siempre podemos preguntar en el canal en castellano de UBports.

1 comentario

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.