Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Datos en el dispositivo y secretos incrustados

5 tareas · 45 min · Principiante

Lo que una app guarda en el teléfono y lo que lleva escrito dentro del paquete se puede leer sin hablar con ningún servidor. De ahí salen muchos hallazgos de un encargo móvil, y también mucho ruido: no todo lo que se lee es un fallo. Esta sala trabaja sobre lo que quedó de Gaviota Móvil en un dispositivo de pruebas del encargo y sobre las cadenas de texto del paquete. Todo está ya extraído; tú lees y decides qué se reporta, qué se anota y qué no merece una línea.

0 de 5 · 0%

Objetivo de la sala

Lo que una app guarda en el teléfono y lo que lleva escrito dentro del paquete se puede leer sin hablar con ningún servidor. De ahí salen muchos hallazgos de un encargo móvil, y también mucho ruido: no todo lo que se lee es un fallo. Esta sala trabaja sobre lo que quedó de Gaviota Móvil en un dispositivo de pruebas del encargo y sobre las cadenas de texto del paquete. Todo está ya extraído; tú lees y decides qué se reporta, qué se anota y qué no merece una línea.

El grupo MASVS-STORAGE cubre más que «la base de datos sin cifrar». Incluye cualquier dato sensible que la app deja donde otro pueda leerlo: archivos de preferencias, bases locales, la caché, los registros del sistema y las copias de seguridad. El criterio es doble: que el dato sea sensible (credenciales, tokens, datos de pago, datos personales) y que quede accesible para quien no debería leerlo.

Un dato que no es sensible, como el idioma o el tema de la pantalla, puede guardarse en claro sin que sea un hallazgo. Reportarlo solo infla el informe.

Responde para continuar

¿Qué se considera almacenamiento inseguro de datos en una app móvil?

Ver pista de ayuda

Dos condiciones a la vez: que el dato sea sensible y que lo pueda leer quien no debe.

Un token de sesión es la llave de la cuenta mientras no caduque: quien lo tiene actúa como el usuario sin conocer su clave. Guardarlo en un archivo de preferencias legible lo deja al alcance de cualquier copia del dispositivo o de cualquier app con acceso a esa carpeta. Para el hallazgo importa nombrar con precisión dónde está, para que el equipo del cliente lo encuentre sin buscar.

Abre el archivo de preferencias extraído del dispositivo de pruebas y localiza la clave que guarda la sesión.

Responde para continuar

¿Cómo se llama la clave del archivo de preferencias que guarda la sesión de la cuenta?

Ver pista de ayuda

El archivo es sesion.xml; entre sus cuatro claves, una guarda un valor que empieza por tk_.

Hay datos que no se deben guardar en el dispositivo aunque se guarden cifrados: el número completo de una tarjeta es el caso típico, porque el cliente puede mostrar los últimos cuatro dígitos sin guardar el resto. Cuando aparece uno, el primer paso es averiguar en qué tabla está y qué función de la app lo escribe, para que la corrección apunte a la causa y no solo a la fila.

Lee el volcado de la base local. Dos de las tres tablas son inocuas.

Responde para continuar

¿Qué tabla de la base local guarda el número de tarjeta completo?

Ver pista de ayuda

Mira las columnas de cada una de las tres tablas, no solo sus nombres.

Las cadenas legibles de un paquete incluyen cosas muy distintas: identificadores, direcciones, claves públicas y credenciales. La pregunta para cada una es qué puede hacer con ella quien la lea. Una credencial que abre un servicio de terceros con cargo a la empresa es un secreto expuesto; un identificador de la app o una clave pública hecha para repartirse no lo es.

Lee las cadenas del paquete y las notas del cliente. Una sola da acceso a un servicio con costo y sin restricción de origen.

Responde para continuar

¿Cómo se llama la cadena incrustada que da acceso a un servicio con costo para la cooperativa?

Ver pista de ayuda

Lee la nota que el cliente escribió bajo cada cadena: busca la que habla de cargo y de restricción de origen.

Ofuscar o esconder una clave dentro de la app solo la retrasa, así que lo que cuenta es cuánto daño permite. Algunas claves están pensadas para ir en el cliente: las de mapas, por ejemplo, se restringen al paquete de la app y a la API que usan, de modo que quien las extrae no consigue nada propio. Reportarlas como fuga crítica le enseña al cliente a ignorar tus hallazgos.

En las cadenas de Gaviota Móvil hay una clave de mapas con su nota del cliente.

Responde para continuar

La clave de mapas figura en las cadenas del paquete, restringida por el cliente al paquete y a la API de mapas. ¿Cómo la tratas?

Ver pista de ayuda

Pregúntate qué consigue quien la copie, no solo si se puede copiar.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad