La base de datos de Whatsapp, con sus mensajes, puede ser leída y enviada a un servidor remoto sin que el usuario se entere… en smartphones Android. Hace unos días el consultor Bas Bosschert publicó los resultados de un estudio en el que demuestra que esto es posible. Los usuarios de Whatsapp en el iPhone, al menos por ahora, no se tienen que preocupar por este problema de seguridad, básicamente porque la estructura del sistema operativo está diseñada para cortar precisamente este tipo de problemas desde su raiz; otras Apps no pueden acceder al espacio de ficheros ajenos, los que utilizan otras aplicaciones, en un sistema que se llama sandboxing. Sobre el sandboxing vamos a hablar en este artículo… es importante conocer cómo funcionan las Apps en nuestro iPhone, iPod touch o iPad.
Una de las muchas características positivas que muchos fans de Android le atribuyen a su sistema operativo es que es más abierto. Esto, es cierto desde un punto de vista técnico; es posible, por ejemplo, utilizar tarjetas de memoria microSD y acceder a sus contenidos desde cualquier App que hayamos instalado. Podemos instalar Apps desde muchas tiendas online, y por supuesto, este sistema tan abierto permite que cualquiera consiga juegos o Apps sin pasar por caja. Es sin duda una de las razones por las que Android como sistema es más popular, y a muchos usuarios les parece inconcebible ceder en un punto así, porque al igual que hacen con su ordenador, quieren tener la posibilidad de hacer lo que les parezca bien con su Smartphone. Es un punto muy válido y respetable, pero también tiene su lado malo, lado que muchas veces es obviado y que permite hacer cosas como acceder a la base de datos de mensajes de Whatsapp y enviarla a donde uno quiera. Si Whatsapp en un smartphone Android está configurado para guardar el historial de mensajes en el sistema, se guardan en la tarjeta de memoria microSD si ésta existe. Si no hay tarjeta disponible, lo hace en el espacio de almacenamiento libre del terminal. Por la manera en la que Android está diseñado, y gracias a esa libertad, cualquier otra App puede acceder a cualquier fichero en la tarjeta de memoria y por lo tanto el historial de mensajes de Whatsapp está disponible para esa aplicación. Estos mensajes, guardados en un fichero de base de datos, están cifrados… así que incluso si se puede acceder al fichero, no se pueden leer los mensajes. Pero con es sencillo script en Python, es posible descrifrar ese fichero y leer los mensajes. Boom.
En iOS, todo está pensado de manera que cada App sólo tiene acceso a su espacio de ficheros. Este espacio de ficheros de una App, llamado Sandbox en inglés, no es accesible por ninguna otra App. Este espacio, es flexible – es decir, podemos utilizarlo y guardar tantos ficheros como queramos en él, hasta que el sistema se queda sin espacio de almacenamiento disponible. Esta es la razón por la que todo lo que uno hace en una App, no aparece en las otras hasta que lo compartimos, bien guardando el resultado en el carrete de fotos (por ejemplo si estamos editando una imagen), bien enviando ese fichero a otra App con la opción de compartir, si bien lo único que hace es una copia del fichero, algo no muy inteligente porque poco a poco los mismos ficheros duplicados en el espacio de almacenamiento de varias Apps ocupan demasiado espacio. Mejorar este sistema es algo que muchos esperamos ver mejorado y potenciado en iOS 8, pero ese, es otro tema. El lado bueno de este sandboxing es que es muy seguro, y ninguna otra App puede acceder a esa base de datos de mensajes de Whatsapp en un dispositivo iOS. Sí, en iOS tenemos quizás menos libertad… es un hecho. Pero también tenemos más seguridad, podemos estar mucho más tranquilos con cómo se trata nuestra información privada… nuestras fotos, mensajes, podemos seguir utilizando todo, pero de manera más segura. A cambio, cedemos a Apple la vigilancia de las Apps que bajamos de la única (y muy buena) tienda online de aplicaciones que hay en iOS. ¿Qué prefieres tú?
Google, consciente de este problema, ha cambiado la arquitectura de Android 4.4 KitKat ligeramente para que cada App sólo pueda escribir carpetas que ellas mismas hayan creado en la tarjeta microSD o espacio de almacenamiento del sistema. Lo mismo para los ficheros, sólo se pueden modificar los que hayan creado ellas mismas, pero el permiso para leer cualquier fichero en la tarjeta (READ_EXTERNAL_STORAGE) sigue estando disponible. En cualquier caso, el 97,5% de los usuarios de Android utilizan la versión 4.3 del sistema operativo o inferior a esa versión (en su mayoría) así que, sí, se podría decir que a día de hoy cualquier App que tenga permiso para acceder a la tarjeta de memoria tiene permiso también para leer cualquier fichero que cualquier otra App guarde ahí.
Los ordenadores con Windows, y también los Macs, han permitido el acceso a todo el sistema de ficheros a todas las Apps durante décadas. Hoy en día, las aplicaciones de Mac OS X que se descargan desde la Mac App Store están también sandboxeadas, tomando una página del sistema de seguridad de iOS… pero sigue siendo posible descargar cualquier aplicación desde cualquier web libremente y ejecutarla sin más, teniendo acceso a todo el sistema de ficheros como antes. Lo único que hay que hacer para permitir de nuevo este comportamiento es cambiar un ajuste de seguridad en las preferencias del sistema tras introducir la contraseña del administrador. Android sigue la misma filosofía que hemos venido utilizando en ordenadores durante décadas, y a algunos usuarios les parece muy bien, incluso muy deseable, mientras que a otros nos parece mejor tener, por encima de todo, más seguridad. No hay sistema infalible pero el hecho de que la inmensa mayoría de malware y virus para smartphone están diseñados para Android deja claro el precio que hay que pagar por esa libertad.
Whatsapp ya ha contestado en TechCrunch sobre este asunto diciendo que en circunstancias normales los datos guardados en una tarjeta microSD no están expuestos, y que el smartphone Android de un usuario sólo está en peligro si se descarga malware o un virus. Al mismo tiempo han actualizado su App de Whastapp para Android en Google Play para incrementar la seguridad… probablemente mejorar el cifrado de la base de datos de mensajes para que un simple script Phyton no permita leerla. Si utilizas Whatsapp en un terminal Android es recomendable actualizar a la mayor brevedad posible.
Muy interesante, y mad viniendo de un lenguaje como python, gracias por la información. De igual manera uso iOS.
Mira que interesante detalles de los que uno aveces no les presta mucha atención pero que son muy interesantes gracias por la info es bueno saberlo
Pues yo ya no confio en whatsapp PARA NADA.
Les platico mi amarga experiencia:
Yo compre la app cuando tenia costo y supuestamente tenia el servicio de por vida, pero por desgracia me robaron el iPhone y tuve que cancelar mi numero telefonico y cambiarlo. Obviamente nunca pude volver a verificar el mismo numero en la aplicación ni mucho menos hacer el cambio de numero en la aplicacion ya que no era el mismo iPhone.
Desafortunadamente, todo esto me ocurrio cuando la app se volvio gratis y cuando la descargue de nuevo con el mismo ID y verifique el numero nuevo ¡SORPRESA! me ensartaron la tarifa de 99 centavos al año. Me comunique a whatsapp, les mande infinidad de correos y NADA, nunca me dieron una solución ni pude recuperar los mensajes que se quedaron en el servidor. EN FIN, un servicio de atención al cliente del c*rajo. Saludos.
Esta claro que la seguridad de iOS es más fuerte que la de android, ya que con un bidi y metasploit podemos descargar cualquier fichero sin ninguna aplicación instalada (en android ) Pero hay que destacar que ciertos programas de «control parental» tipo Bosspy o Android lost nos dan acceso a las conversaciones y sistema de archivos, y en este caso, si tenemos un iOS con jailbreak, tampoco se libra, sí nuestro preciado iPhone cae unos minutos en las manos inapropiadas y tiene el jailbreak realizado, podríamos perder esa intimidad no sólo en whatsap, sino en iMessage, contactos, llamadas y localización.
El peor virus para cualquier sistema es el usuario, así que no está de menos leer lo que nos instalamos y los permisos que piden.
La unica diferencia (y muy grande) como bien lo comentan nuestros amigos de iphoneros, que a diferencia de Android, iOS tiene por default esa seguridad, obviamente si te quieren arriesgarse a esa «libertad» tienes que aplicarle el JB, de lo contrario es seguro,seguridad que no viene por default en Android.