Estoy escribiendo un pequeño informe de seguridad sobre los dispositivos Android en general relacionados con el acceso a la información desde la RAM. La condición principal es que el dispositivo inicialmente no está rooteado.
Caso de uso: el usuario abre una aplicación de terceros, ingresa alguna contraseña en el campo de contraseña. Después de que el dispositivo se pierde con esta aplicación en ejecución. El código fuente de esta aplicación muestra que la información de esta contraseña está disponible en la RAM mientras la aplicación está en funcionamiento. Por ejemplo, en la clase AllMyAppPasswords en la cadena pública myPassword. Ahora es la pregunta sobre la posible forma de acceder a la información de esta contraseña (corríjame si me equivoco):
- La forma de acceder a este pwd es volcar la memoria.
- Para el volcado de memoria, necesito tener un dispositivo para ser rooteado.
- Para poder rootear el dispositivo, necesito desbloquear el cargador de arranque.
- Para lograr desbloquear las operaciones del gestor de arranque y la raíz, es necesario que el dispositivo se reinicie al menos una vez.
- Después de reiniciar el dispositivo, la información sobre la contraseña desaparece de la RAM
Más información sobre el caso de uso actual: asumimos que el usuario acaba de desempaquetar el nuevo dispositivo y estamos 100% seguros de que no está rooteado y no contiene ninguna aplicación de keylogger. Por lo tanto, el usuario acaba de instalar mi aplicación, ingresó la contraseña y la aplicación usa esta contraseña internamente durante el tiempo de ejecución para conectar periódicamente el servidor (contraseña solo RAM, nunca almacenada en el disco). Por lo tanto, visualmente no queda nada en los campos Editar texto, información sobre la contraseña solo en la memoria de la aplicación para uso interno, por supuesto, no es posible leer el texto de la contraseña en la pantalla. Ahora el usuario perdió su teléfono.
Conclusión y mi pregunta: No es posible obtener la contraseña que reside en la memoria RAM de la aplicación si el dispositivo no está rooteado (sin el desensamblaje físico del chip de memoria congelado). ¿Es correcto? ¿Debería el usuario preocuparse por alguien que encontró su teléfono puede obtener esta información de contraseña de la RAM?