El congreso USENIX, donde se presentó la técnica de Time-Based Browser Based Attacks para robar tus datos a Facebook, o el estudio de inseguridad del sistema de cifrado de Apple iMessage en el artículo "Bailando en la boca del volcán", también se presentó el trabajo sobre Restroscope, una técnica forense para dispositivos Android que permite recuperar de la memoria las pantallas que has estado visualizando en tus dispositivos.
Cada app que abres en tu dispositivo Android pinta diversas pantallas para que tú interactúes con ellas. Esas pantallas pasan por la memoria del dispositivo y se almacenan a dos niveles. Uno, a nivel del sistema operativo que guarda las pantallas que se ya se han pintado y dos, a nivel de la app, que guarda estructuras de datos en memoria que le permiten construir esas pantallas.
Uniendo el análisis de las estructuras GUI guardadas por el sistema operativo Android y las estructuras de datos internas de la app - que también se encuentran en memoria - los investigadores son capaces de sacar un buen número de pantallas de cada aplicación que has usado en tu terminal.
Figura 2: Artículo sobre Retroscope y la recreación de pantallas desde la memoria de Android |
Uniendo el análisis de las estructuras GUI guardadas por el sistema operativo Android y las estructuras de datos internas de la app - que también se encuentran en memoria - los investigadores son capaces de sacar un buen número de pantallas de cada aplicación que has usado en tu terminal.
Figura 3: RetroScope en GitHub |
Figura 4: Comparación de la duración en memoria de los datos internos de la app y los GUI |
Si nos fijamos en este estudio podemos ver que, dependiendo del dispositivo que sea, cuál sea su memoria, cuál su versión de sistema operativo, cuántas apps haya en ejecución y el uso que se le dé a las apps, este número puede variar, pero lo que es importante es que con esta nueva técnica que recompone los objetos de las apps con las estructuras GUI de la memoria, es posible aumentar el número de pantallas hacia atrás abiertas en una aplicación.
Figura 5: Estudio de dispositivos y pantallas recuperadas de cada app con Retroscope |
En el siguiente ejemplo, después de estar haciéndose uso de la app de Facebook en un dispositivo, fue posible extraer de la memoria del dispositivo un total de 7 pantallas en las que se puede leer todo el contenido que el usuario ha estado viendo.
Figura 6: Siete pantallas recuperadas de Facebook App |
En el caso de WhatsApp, analizando la memoria con diferentes volcados temporales se podría ir recomponiendo la historia completa del uso de la app. En este ejemplo de Screen-6 a Screen+1.
Figura 7: Ocho pantallas recuperadas de WhatsApp |
La herramienta que han creado, como pone al principio de este post, se llama RetroScope y han hecho un pequeño vídeo que explica su funcionamiento. Aunque se han utilizado muchas apps de mensajería, la técnica vale para apps bancarias, o cualquier otra funcionalidad.
Figura 8: Vídeo demostrativo de Retroscope
Si quieres protegerte contra esto para evitar que te puedan espiar WhatsApp, lo mejor es proteger el dispositivo pues esta técnica necesita del volcado de la memoria y no debería ser posible extraerla sin acceso total al mismo. Tienes muchas otras que hacer para proteger tu WhatsApp a prueba de balas o para fortificar tu cuenta de Facebook. Eso sí, si eres un programador y quieres hacer un desarrollo seguro en Android tanto como sea posible, tal vez deberías ver cómo limpiar la memoria después de pintar determinados tipos de mensajes en la pantalla.
Saludos Malignos!
Screen Shield sirve de algo?
ResponderEliminar