sábado, 9 de diciembre de 2023

El ataque AutoSpill roba credenciales de administradores contraseñas de Android

AutoSpill, nuevo ataque desarrollado para robar credenciales de cuentas en Android durante la operación de autocompletar.

En una presentación en la conferencia de seguridad Black Hat Europe, investigadores del Instituto Internacional de Tecnología de la Información (IIIT) en Hyderabad dijeron que sus pruebas mostraron que la mayoría de los administradores de contraseñas para Android son vulnerables al AutoSpill, incluso si no hay inyección de JavaScript.

Cómo funciona AutoSpill

Las aplicaciones de Android suelen utilizar controles WebView para representar contenido web, como páginas de inicio de sesión dentro de la aplicación, en lugar de redirigir a los usuarios al navegador principal, lo que sería una experiencia más engorrosa en dispositivos de pantalla pequeña.

Los administradores de contraseñas en Android utilizan el marco WebView de la plataforma para escribir automáticamente las credenciales de la cuenta de un usuario cuando una aplicación carga la página de inicio de sesión en servicios como Apple, Facebook, Microsoft o Google.

Iniciar sesión en el portal de la universidad usando una cuenta de Microsoft
Iniciar sesión en un portal universitario usando una cuenta de Microsoft

 

Los investigadores dijeron que es posible explotar las debilidades en este proceso para capturar las credenciales autocompletadas en la aplicación que invoca, incluso sin inyección de JavaScript.

Si las inyecciones de JavaScript están habilitadas, los investigadores dicen que todos los administradores de contraseñas en Android son vulnerables al ataque AutoSpill.

Estructura interna de gestión de autocompletar en Android
Estructura interna de gestión de autocompletar en Android

 

Específicamente, el problema de AutoSpill surge de la falta de Android para hacer cumplir o definir claramente la responsabilidad por el manejo seguro de los datos autocompletados, lo que puede resultar en su filtración o ser capturados por la aplicación anfitriona.

Flujo de proceso del servicio de autocompletar
Flujo de proceso del servicio de autocompletar

 

En un escenario de ataque, una aplicación maliciosa que proporcione un formulario de inicio de sesión podría capturar las credenciales del usuario sin dejar ningún indicio del compromiso. Detalles técnicos adicionales sobre el ataque AutoSpill están disponibles en las diapositivas de los investigadores de la presentación de Black Hat Europe.

Impacto y fijación

Los investigadores probaron AutoSpill con una selección de administradores de contraseñas en Android 10, 11 y 12 y descubrieron que 1Password 7.9.4, LastPass 5.11.0.9519, Enpass 6.8.2.666, Keeper 16.4.3.1048 y Keepass2Android 1.09c-r0 son susceptibles a ataques debido al uso del marco de autocompletar de Android.

Google Smart Lock 13.30.8.26 y DashLane 6.2221.3 siguieron un enfoque técnico diferente para el proceso de autocompletar. No filtraron datos confidenciales a la aplicación host a menos que se utilizara inyección de JavaScript.

Resultados de la prueba (U - nombre de usuario), (P - contraseña)
Resultados de la prueba: (U - nombre de usuario filtrado), (P - contraseña filtrada), (X - no funciona), (✓ - a salvo de AutoSpill)

 

Los investigadores revelaron sus hallazgos a los proveedores de software afectados y al equipo de seguridad de Android y compartieron sus propuestas para abordar el problema. Su informe fue reconocido como válido, pero no se compartieron detalles sobre los planes de reparación.

Se ha puesto en contacto con varios proveedores de productos de administración de contraseñas afectados por AutoSpill, así como con Google, para preguntarles sobre sus planes para abordar el problema y hasta ahora recibimos los siguientes comentarios:

Muchas personas se han acostumbrado a utilizar la función de autocompletar para ingresar sus credenciales de manera rápida y sencilla. A través de una aplicación maliciosa instalada en el dispositivo del usuario, un pirata informático podría hacer que un usuario complete automáticamente sus credenciales sin querer. AutoSpill resalta este problema. 

Mantener seguros los datos más importantes de nuestros clientes es nuestra máxima prioridad en 1Password. Se ha identificado una solución para AutoSpill y actualmente se está trabajando en ella. 

Si bien la solución fortalecerá aún más nuestra postura de seguridad, la función de autocompletar de 1Password ha sido diseñada para requerir que el usuario realice una acción explícita.

La actualización brindará protección adicional al evitar que los campos nativos se llenen con credenciales que solo están destinadas a WebView de Android. - Portavoz de 1Password


En 2022, colaboramos con el Dr. Gangwal a través de Bugcrowd, nuestro socio del programa de recompensas por errores. Analizamos los hallazgos que presentó y descubrimos que se trata de una vulnerabilidad de bajo riesgo debido a los mecanismos necesarios para explotarla.

Lo que es importante tener en cuenta aquí es que esta vulnerabilidad requiere la capacidad y la oportunidad de instalar una aplicación maliciosa en el dispositivo de destino, lo que indicaría un compromiso total o la capacidad de ejecutar código en el dispositivo de destino. 

Antes de recibir los hallazgos del Dr. Gangwal, LastPass ya tenía implementada una mitigación a través de una advertencia emergente en el producto cuando la aplicación detectaba un intento de aprovechar el exploit. Después de analizar los hallazgos, agregamos texto más informativo en la ventana emergente.

Confirmamos esta actualización con el Dr. Gangwal pero no recibimos ningún acuse de recibo de nuestra actualización. - Portavoz de LastPass


El 31 de mayo de 2022, Keeper recibió un informe del investigador sobre una posible vulnerabilidad. Solicitamos un video al investigador para demostrar el problema informado. Según nuestro análisis, determinamos que el investigador había instalado primero una aplicación maliciosa y posteriormente aceptó una solicitud de Keeper para forzar la asociación de la aplicación maliciosa a un registro de contraseña de Keeper.

Keeper cuenta con medidas de seguridad para proteger a los usuarios contra el llenado automático de credenciales en una aplicación que no es de confianza o en un sitio que no fue autorizado explícitamente por el usuario. En la plataforma Android, Keeper avisa al usuario cuando intenta completar automáticamente las credenciales en una aplicación o sitio web de Android. Se solicita al usuario que confirme la asociación de la aplicación al registro de contraseña de Keeper antes de completar cualquier información. El 29 de junio informamos al investigador y también le recomendamos que enviara su informe a Google ya que está específicamente relacionado con la plataforma Android.

Por lo general, una aplicación maliciosa de Android primero debe enviarse a Google Play Store, ser revisada por Google y, posteriormente, aprobada para su publicación en Google Play Store. Luego, el usuario tendría que instalar la aplicación maliciosa desde Google Play y realizar transacciones con la aplicación. Alternativamente, el usuario necesitaría anular configuraciones de seguridad importantes en su dispositivo para descargar una aplicación maliciosa.

Keeper siempre recomienda que las personas sean cautelosas y estén atentas a las aplicaciones que instalan y que solo instalen aplicaciones de Android publicadas en tiendas de aplicaciones confiables, como Google Play Store. - Craig Lurey, CTO y cofundador de Keeper Security


Los desarrolladores de Android utilizan WebView de diversas formas, que incluyen alojar páginas de inicio de sesión para sus propios servicios en sus aplicaciones. Este problema está relacionado con la forma en que los administradores de contraseñas aprovechan las API de autocompletar cuando interactúan con WebViews.

Recomendamos que los administradores de contraseñas de terceros sean sensibles en cuanto a dónde se ingresan las contraseñas, y tenemos las mejores prácticas de WebView que recomendamos que implementen todos los administradores de contraseñas. Android proporciona a los administradores de contraseñas el contexto necesario para distinguir entre vistas nativas y WebViews, así como si el WebView que se carga no está relacionado con la aplicación de alojamiento.

Por ejemplo, cuando se utiliza el Administrador de contraseñas de Google para autocompletar en Android, se advierte a los usuarios si ingresan una contraseña para un dominio que Google determina que puede no ser propiedad de la aplicación de alojamiento, y la contraseña solo se completa en el campo correspondiente. Google implementa protecciones del lado del servidor para los inicios de sesión a través de WebView. - Portavoz de Google

Ir al Inicio