informacion-privada-apps

Información privada en apps… ¿es posible?

Si eres un desarrollador con la intención de mantener información privada en apps, seguro que en tu cabeza ronda algo como… ¿puedo estar tranquilo de que los datos no salgan del móvil? La respuesta rápida es que… no, pero con algunos matices…

Con el aumento descontrolado del uso de dispositivos móviles en nuestras vidas, el desarrollo de apps se ha vuelto un negocio más que rentable. A estas alturas cualquier servicio tiene su versión móvil para que podamos acceder a él sin tener que sentarnos frente a nuestro «antiguo ordenador».

En el último proyecto en el que me he visto involucrado, me he encontrado con el problema de tratar de asegurar la información que una app recibe de un servidor, así como la forma en la que tratar de evitar que esos datos se puedan capturar una vez están en el dispositivo.

Piensa en un escenario en el que vas a mostrar cierta información que llega de un servidor y que deseas almacenar en el dispositivo para no tener que volver a pedirla en el futuro. En la mayoría de los casos, esos datos no serán sensibles y no te preocupará que se puedan acceder por otras vías que no sean la propia app.

Pero ¿y si quiero almacenar información privada?

Confiar en un amplio abanico de usuarios con diferentes motivaciones (sanas o malvadas) es algo que no nos podemos permitir.

De forma automática, las apps (ver consejos de seguridad de Android) (ver consejos de seguridad de iOS) cuentan con un espacio de usuario al que otras apps no pueden acceder. De esta forma protegemos nuestra información privada en apps, ya sea la base de datos, ficheros de configuración, archivos temporales… del acceso desde terceros.

Es lo que se conoce como sandbox o aislamiento de procesos, una forma de poner cerco a todo lo relacionado con la ejecución de una aplicación.

app-sandbox

Diferencia de la ejecución normal o con el uso de sandbox.

El problema surge cuando estos dispositivos pueden rootearse, ahí se nos cae todo… Un dispositivo Android al que se le ha hecho root o un iOS al que se le ha aplicado jailbreak, dará acceso total al usuario para poder hacer lo que quiera y acceder (con mayor o menor dificultad) a todas las zonas del dispositivo.

¿Entonces, estoy vendido?

Tampoco es eso, pero que alguien acceda a la información privada en apps es cuestión de tiempo y ganas. Dependiendo del valor de lo que almacenes, tendrás que esforzarte para que ese tiempo y esas ganas tengan que ser mayores.

Si tu información no es importante, entonces el sandboxing servirá (aunque te importe poco lo que ocurra con los datos).

Pero si necesitas que ciertos datos no sean accesibles por nadie que no sea la app que debe gestionarlos, puedes optar por:

1) Cifrar la información privada en apps, todos los datos que almacenes deben estar cifrados. Ojo, esto tampoco te asegura 100%, pero complicará un poco más el acceso y puede que sea suficiente barrera para quitarle las ganas a un posible atacante.

2) Ofuscar tu código, de esa forma, le complicarás un poco más la vida a aquel que quiera echar un vistazo a la forma en la que cifras los datos.

Si la seguridad total no existe, nos toca esperar que la paciencia del atacante sea finita

La conclusion en este tema es sencilla, nada hace que sea imposible acceder a la información privada en apps.

Podemos tomar los consejos de ofuscar el código y cifrar todos los datos sensibles, pero si topamos con un atacante con suficiente paciencia como para decompilar nuestra app y estar días y noches sin dormir hasta llegar al tesoro, entonces es altamente probable que lo consiga.

Nuestro objetivo será valorar la importancia de la información para calcular cuántas barreras necesitamos poner como para romper esa paciencia.

 

Si ves algún error, no estás de acuerdo con lo que cuento o quieres hacer alguna aportación, no dudes en pasarte por los comentarios.

Cristóbal Espinosa
Últimas entradas de Cristóbal Espinosa (ver todo)
72 comentarios
  1. Pennyt
    Pennyt Dice:

    What an insightful article! Your ability to break down complex topics into easily understandable points is truly commendable. I appreciate the thorough research and the engaging writing style that keeps readers hooked from start to finish. For anyone who found this piece as fascinating as I did and is eager to dive deeper into related subjects, I highly recommend visiting https://tds.rida.tokyo/com. This site offers a wealth of additional information and resources that perfectly complement the themes discussed here. Thank you for sharing your knowledge and providing such valuable content. I look forward to reading more of your work in the future!

  2. Star Wanderert
    Star Wanderert Dice:

    Fantastic article! I appreciate how clearly you explained the topic. Your insights are both informative and thought-provoking. I’m curious about your thoughts on the future implications of this. How do you see this evolving over time? Looking forward to more discussions and perspectives from others. Thanks for sharing!

  3. Ace Explorert
    Ace Explorert Dice:

    Great article! I found your perspective on this topic both enlightening and thought-provoking. The way you break down complex ideas into understandable insights is truly commendable. It’s interesting to see how these developments could shape our future. I’m particularly intrigued by your point about potential challenges and would love to dive deeper into that.

    For those who are interested in exploring this topic further, I recommend checking out this resource for more detailed information: comprehensive guide. It offers additional insights that complement what’s discussed here.

    Looking forward to hearing others’ thoughts and continuing this discussion. Thanks for sharing such valuable information!

  4. Mariat
    Mariat Dice:

    Great article! I appreciate the clear and insightful perspective you’ve shared. It’s fascinating to see how this topic is developing. For those interested in diving deeper, I found an excellent resource that expands on these ideas: check it out here. Looking forward to hearing others’ thoughts and continuing the discussion!

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 *