Los administradores de contraseñas que utilizan la API de autocompletar de Android Oreo son potencialmente vulnerables a la fuga de datos

Una posible falla de seguridad en la API de Autocompletar de Android Oreo permite que los administradores de contraseñas filtren datos como contraseñas, direcciones o tarjetas de crédito.

Autocompletar es una de las características nuevas más importantes y más publicitadas introducidas con el lanzamiento de Android 8.0 Oreo. Muchas aplicaciones diferentes de gestión de contraseñas, como LastPass, ya han implementado esta nueva API en sus aplicaciones. Y si bien puede resultar ser bastante mejora En comparación con las implementaciones anteriores de Autocompletar usando Servicios de Accesibilidad, hay una posible falla de seguridad a considerar. El mes pasado, se publicó un documento técnico en GitHub que documenta una falla inherente en la API de Autocompletar de Android Oreo que podría potencialmente llevar a que su administrador de contraseñas filtre más datos personales de los que le dio permiso para. Vamos a hacer un resumen rápido del documento técnico escrito por Mark Murphy (más conocido como Artículos comunes) y publicado en su página de GitHub el 8 de agosto de 2017.


Posible falla de fuga de datos en la API de autocompletar de Android Oreo

¿Cómo funciona el defecto?

La implementación del autocompletar en Android Nougat (y versiones inferiores), y navegadores como Google Chrome, es algo realmente sencillo. Por lo general, las aplicaciones de administración de contraseñas usarían los Servicios de Accesibilidad para escanear el contenido de la pantalla en busca de un cuadro de inicio de sesión y recomendar datos de autocompletar en función de lo que encuentren. Mientras funcionó, podría causar un retraso considerable.

En Android Oreo, esto funciona un poco diferente, ya que las aplicaciones de contraseñas ahora son oficialmente compatibles con la API de Autocompletar. Las aplicaciones de contraseñas de terceros ya no requieren servicios de accesibilidad, ya que ahora pueden desempeñar la función de un servicio de autocompletar, comunicándose con las aplicaciones a través de Autofill Framework. Cuando el usuario se centra en un widget, el sistema empaquetará información sobre ese widget/formulario y lo enviará a la aplicación de autocompletar. Luego, la aplicación devuelve datos de autocompletar relevantes, como contraseñas, correos electrónicos, tarjetas de crédito o cualquier otro tipo de datos confidenciales. El sistema Android actúa como intermediario entre la aplicación que almacena los datos y la que los solicita.

Aplicación de autocompletar en Android 8.0 Oreo

Sin embargo, las aplicaciones maliciosas o el malware pueden aprovechar la función de autocompletar para obtener más datos. Una actividad maliciosa puede solicitar que se ingresen datos de autocompletar adicionales con un widget invisible u oculto. Mientras el usuario acepta completar uno de los widgets visibles, como un formulario de inicio de sesión o algo similar, el widget invisible también obtiene datos adicionales sin que usted lo vea. ¡Esto puede ser realmente peligroso si la información filtrada es su contraseña, dirección o datos de su tarjeta de crédito!

Las capturas de pantalla anteriores muestran una aplicación de prueba maliciosa que aprovecha esta falla de seguridad.

La respuesta de Google al problema

Según CommonsWare, este problema de seguridad aún no tiene una solución pública publicada por Google. Sin embargo, sabemos que Google está al tanto del problema. CommonsWare afirma que los ingenieros de Google reconocieron que el problema existe en un informe de seguimiento de problemas privado, pero que Sería difícil (si no imposible) parcharlo. o implementar una solución.

Pero Eso no significa que Autocompletar sea completamente inseguro de usar., ya que Google está adoptando otro enfoque para garantizar la seguridad de los datos. la empresa es presionando para que los servicios de autocompletar manejen el problema por su parte y como tal, está intentando concienciar a los desarrolladores para que mejoren sus proveedores de autocompletar y los hagan más seguros. ¿Qué se propone exactamente?

En primer lugar, proveedores de autocompletar deberían particionar sus datos. En lugar de mantener todos los datos de autocompletar en un solo grupo, los desarrolladores deberían dividir los datos del usuario almacenados en particiones. Por ejemplo, una partición de dirección/teléfono, una partición de tarjeta de crédito, una partición de contraseña/nombre de usuario, etc. El servicio de autocompletar solo debe devolver los datos de una partición a la vez según el widget enfocado. éste es uno de páginas disponibles públicamente en aplicaciones de Autocompletar que se protegen de la filtración de datos a widgets invisibles.

Según los ingenieros de Google, también hay otras cosas que los desarrolladores de administradores de contraseñas deberían hacer. Por ejemplo, el proveedor de autocompletar solo debe devolver los datos a la aplicación específica que los proporcionó en primer lugar. Esto debe hacerse verificando el nombre del paquete y la firma pública de la aplicación para que ni siquiera un APK modificado pueda acceder a él. La otra cosa sería que las aplicaciones de autocompletar requieren autenticación antes de proporcionar los datos, con esa actividad de autenticación informa al usuario qué tipo de datos se proporcionarán a la aplicación que los solicita. En realidad, este consejo tiene muchos errores, el más importante es que Google no los aplica.

Tenga en cuenta que muchas de las propuestas anteriores se tomaron del informe de seguimiento de problemas privados de CommonsWare y no de ninguna página de documentación oficial de Google. Para obtener un desglose más técnico de cómo las aplicaciones que utilizan la API de Autocompletar pueden protegerse de este tipo de ataques, le recomendamos encarecidamente que lea el documento técnico completo de CommonsWare.

¿Qué aplicaciones están a salvo de este fallo?

Nos comunicamos con los desarrolladores de 1Password, Enpass y LastPass sobre esta vulnerabilidad, y los equipos de seguridad detrás de estas 3 aplicaciones reclamado Que ellos son seguro, aunque aún no hemos verificado estas afirmaciones.

Como podemos ver en las declaraciones anteriores, 1Password requiere autenticación por parte del usuario antes de completar los datos, notificándole también qué datos se completarán previamente. Esto también ayuda con el problema del llenado silencioso, ya que aparecerá una ventana emergente de autenticación para todas y cada una de las actividades solicitando datos de autocompletar.

Enpass nunca revelará el llavero completo a la aplicación solicitante, ya sea maliciosa o genuina. Solo se presentarán al usuario los elementos guardados que coincidan con el nombre del paquete de la aplicación solicitante. También confirmaron que implementarán más medidas siguiendo el consejo de Google.

Además, LastPass nos confirmó que, si bien no conocían el problema antes del lanzamiento de Android Oreo, su aplicación sí utiliza partición de datos para proteger a los usuarios, junto con otras comprobaciones para garantizar que LastPass solo complete la aplicación asociada con la entrada.

Si bien no debería haber absolutamente ningún problema al usar estas 3 aplicaciones, si desea mantenerse completamente a salvo, debe desactivar autocompletar completamente en su teléfono hasta que pueda confirmar con el desarrollador de su administrador de contraseñas que su aplicación está a salvo de esta línea de ataque. Afortunadamente, esto se puede hacer fácilmente yendo a Configuración > Sistema > Idiomas y entrada > Avanzado y buscando la preferencia "Servicio de autocompletar", tocándola y seleccionando "Ninguno".

Como dijimos anteriormente, no se sabe si Google realmente puede implementar una solución para esto, por lo que usar aplicaciones confiables o simplemente deshabilitar la función es la única forma de mantenerse seguro. Si desea leer más sobre este tema y todos los detalles asociados con él, debe leer el original. Libro blanco que lo documenta. en GitHub.


Este artículo se actualizó el 13/09/17 para reflejar con mayor precisión las implicaciones de las respuestas de LastPass, Enpass y 1Password.