La seguridad es uno de los temas que más preocupan a los desarrolladores al programar apps. Pero del mismo también es muy importante para los clientes y usuarios de las aplicaciones móviles, especialmente cuándo al descargar una app te piden tantísimos permisos para acceder al contenido de tu teléfono: imágenes, contactos, datos, conexiones, etc.
El caso es que a diferencia de los ordenadores de sobremesa o portátiles, las aplicaciones móviles tienen un acceso mucho más limitado al contenido de nuestro dispositivo móvil. Solo accederá a aquello que nosotros hayamos configurado. Nuestro error a veces está en no prestar atención a lo que requiere la app.
Y aunque muchas veces los permisos están totalmente justificados al programar apps, hay otras veces en las que no. Por eso el usuario debe prestar atención a los permisos, pero el desarrollador también debe ser ético y solamente pedir acceso a lo que sea estrictamente necesario, como ya os contamos en nuestra guía para crear una app de éxito.
Los permisos siempre dependerán de la aplicación en cuestión. Por ejemplo, aplicaciones que gastronómicas que busquen el restaurante más cercano a ti, requerirán el uso del GPS. Sin él no funcionará la app, o al menos no correctamente. A continuación exponemos algunos de los permisos que se solicitan más regularmente:
- Contactos
- Llamadas
- Fotos, videos y audios
- ID del dispositivo y datos
- Mensajes SMS
- Wifi
- Cuentas
Puede que algunas aplicaciones accedan a otros permisos más. Por ejemplo en este artículo de Xataka nos exponen en que consiste exactamente permitir el acceso a determinadas partes de nuestro dispositivo Android. Los riesgos que entraña cada permiso y que incluye cada uno de ellos.
Por ejemplo, dar acceso a los mensajes de SMS no solamente significa dar permiso para su lectura, si no también para enviar mensajes. Eso significa que tu factura puede subir a fin de mes si la aplicación en cuestión empieza a enviar SMS sin que te enteres. Aunque en sus versiones más útiles se utiliza para confirmar tu ID y poder así programar apps más seguras.
Programar apps seguras: ¿Privacidad en peligro?
Considerar una aplicación como segura no depende solamente del proceso de programar apps, no sólo del código. Si no que también depende del propio usuario, que es el que acepta o rechaza las políticas de privacidad de las apps concretas.
Por ejemplo, según un reciente estudio de Quental, una empresa de servicios y soluciones tecnológicas, por lo menos el 61,3 % de las apps más descargadas para móviles cumplen con el marco legal aplicable y disponen una política de privacidad, que regula el uso y tratamiento de los datos personales del usuario final.
Como ocurre con redes sociales la solución en última instancia siempre dependerá de nosotros mismos. Cuando publicas en una red social, si no quieres que nadie vea algo, simplemente no lo publicas o revisas bien la privacidad de tu cuenta. En el caso de las apps es un poco más estricto, pero se reduce a lo mismo: Si no estas de acuerdo con dar esos permisos a una aplicación, simplemente no la descargues. No puedes dar unos permisos si y otros no, si limitas los permisos de la app ésta no funcionará correctamente, no hará lo que debe hacer.
En los casos en que damos total acceso a una app podemos encontrarnos en un apuro. Si tiene permisos para enviar y publicar contenido, y tiene acceso a nuestros datos e información personal, nuestra información más sensible (fotos, video, contraseñas, chats, datos bancarios, etc.) podrían verse expuestos.
¿Cómo me protejo?
Como ya hemos dicho, la solución más radical es no descargar la app si no quieres conceder esos permisos a terceros. Actualmente existen muchísimas apps en el mercado, seguro que encuentras alguna aplicación similar que no requiere tantos permisos.
Otra opción es limitar los accesos de las apps que tengas instaladas desde el panel de ajustes. No siempre se pueden revocar, porque afectan al funcionamiento de la app.
Y la última opción que te damos si hablamos de aplicaciones para Android es la aplicación App Ops. Ésta es una app especializada en revocar accesos y permisos. Es una herramienta clave para aquellos que den mucha importancia a la privacidad o que tengas mucha información sensible en sus dispositivos móviles.
Fuente: Pinterest
En el caso de iOS puede ocurrir casi al contrario. Cuando una aplicación necesita un permiso y no se lo has dado, te salta un pop-up recordándote que lo necesitas, o que ya lo estas usando. Como método barrera para proteger tu privacidad esta muy bien, aunque en ocasiones resulta hasta incómodo.
El objetivo de este sistema de peticiones de permisos y accesos tiene como objeto ceder el control de la privacidad al usuario en lugar de al desarrollador.
Entonces, ¿qué puede hacer el desarrollador de apps?
Según un estudio de la Universidad de Valladolid sobre seguridad y privacidad en apps móviles, “los desarrolladores, en su afán por publicar sus aplicaciones antes que el resto, descuidan ciertos aspectos que deben ser tenidos en cuenta, especialmente la privacidad y la seguridad de los datos tratados.”
Un buen ejemplo de las consecuencias que puede traer ese descuido son las apps de salud o m-health, que tratan con datos privados y confidenciales de cientos de pacientes. Desde la Universidad de Valladolid proponen algunas ‘best practices’ orientadas a los programadores. En su guía, pensada para desarrolladores sobretodo de apps de salud, Borja Martínez, investigador de Grupo de Telemedicina y eSalud de la Universidad de Valladolid, nos propone, las siguientes recomendaciones que pueden ser aplicadas a programar apps de cualquier tipo:
- Control de acceso: centrado en el usuario, dejándole siempre la posibilidad de acceder o prohibir el acceso a su información.
- Autenticación: realizada con una identidad única y una contraseña solo conocida por el usuario.
- Seguridad y confidencialidad: el uso del estándar de AES (Advanced Encryption Standard) con una clave cifrada de al menos 128 bits es muy recomendable para garantizar la seguridad.
- Integridad: se debe usar al menos un código de autenticación basado en clave simétrica, como AES.
- Información a los usuarios: antes de recolectar ninguna información, las apps deben presentar a los usuarios una política de privacidad clara que identifique la identidad que usará los datos, el propósito de los mismos, los métodos de privacidad usados, sus derechos y un método de contacto.
- Transferencia de datos: usar TLS (Transport Layer Security) con métodos de encriptación de 128 bits o redes privadas virtuales.
- Retención de datos: los datos sólo deben ser guardados el tiempo necesario para el propósito establecido, no más.
- Comunicaciones con wearables: en las comunicaciones con wearables se deben usar métodos criptográficos para la autenticación de los dispositivos y la distribución de la clave.
- Alerta de los fallos de seguridad: la empresa desarrolladora debe avisar a las autoridades competentes así como a los usuarios tan pronto como sea posible y debe ayudar al usuario a aliviar los posibles daños causados por dicha brecha.