2025-11-14T09:58:11.521609

Passwords and FIDO2 Are Meant To Be Secret: A Practical Secure Authentication Channel for Web Browsers

Gautam, Yadav, Smith et al.
Password managers provide significant security benefits to users. However, malicious client-side scripts and browser extensions can steal passwords after the manager has autofilled them into the web page. In this paper, we extend prior work by Stock and Johns, showing how password autofill can be hardened to prevent these local attacks. We implement our design in the Firefox browser and conduct experiments demonstrating that our defense successfully protects passwords from XSS attacks and malicious extensions. We also show that our implementation is compatible with 97% of the Alexa top 1000 websites. Next, we generalize our design, creating a second defense that prevents recently discovered local attacks against the FIDO2 protocols. We implement this second defense into Firefox, demonstrating that it protects the FIDO2 protocol against XSS attacks and malicious extensions. This defense is compatible with all websites, though it does require a small change (2-3 lines) to web servers implementing FIDO2.
academic

Las Contraseñas y FIDO2 Están Destinadas a Ser Secretas: Un Canal de Autenticación Seguro Práctico para Navegadores Web

Información Básica

  • ID del Artículo: 2509.02289
  • Título: Las Contraseñas y FIDO2 Están Destinadas a Ser Secretas: Un Canal de Autenticación Seguro Práctico para Navegadores Web
  • Autores: Anuj Gautam (Universidad de Tennessee), Tarun Yadav (Universidad Brigham Young), Garrett Smith (Universidad Brigham Young), Kent Seamons (Universidad Brigham Young), Scott Ruoti (Universidad de Tennessee)
  • Clasificación: cs.CR (Criptografía y Seguridad)
  • Conferencia de Publicación: CCS '25 (Conferencia ACM SIGSAC sobre Seguridad de Computadoras y Comunicaciones)
  • Enlace del Artículo: https://arxiv.org/abs/2509.02289

Resumen

Los gestores de contraseñas proporcionan ventajas de seguridad significativas a los usuarios, pero los scripts de cliente maliciosos y las extensiones de navegador pueden robar contraseñas después de que el gestor de contraseñas las rellena automáticamente en páginas web. Este artículo extiende el trabajo previo de Stock y Johns, demostrando cómo reforzar el relleno automático de contraseñas para prevenir estos ataques locales. Los autores implementaron su diseño en el navegador Firefox y realizaron experimentos que demuestran que la defensa protege exitosamente las contraseñas contra ataques XSS y extensiones maliciosas. La investigación también muestra que la implementación es compatible con el 97% de los primeros 1000 sitios de Alexa. Además, los autores generalizaron el diseño, creando un segundo mecanismo de defensa para prevenir ataques locales recientemente descubiertos contra el protocolo FIDO2.

Antecedentes de Investigación y Motivación

Problema Central

Los gestores de contraseñas presentan una vulnerabilidad de seguridad evidente: las contraseñas son susceptibles al robo durante el período entre el relleno automático en el navegador y la transmisión al sitio web. Esto incluye el robo de las siguientes amenazas:

  1. Rastreadores web: Pueden recopilar información de contraseñas inadvertidamente
  2. Ataques de inyección (como XSS): Los scripts maliciosos pueden leer directamente contraseñas del DOM
  3. Extensiones de navegador maliciosas: Las extensiones con permisos apropiados pueden acceder al contenido de páginas web y solicitudes de red
  4. Bibliotecas JavaScript comprometidas: Inyección de código malicioso resultante de ataques de cadena de suministro

Importancia del Problema

  • Estos ataques son relativamente prevalentes; la investigación indica que al menos el 2-3% de sitios populares contienen rastreadores web que pueden filtrar contraseñas
  • Los ataques XSS continúan siendo clasificados por OWASP como uno de los 10 principales riesgos de seguridad de aplicaciones web
  • El problema de las extensiones de navegador maliciosas es cada vez más grave, con miles de extensiones con permisos suficientes para realizar estos ataques presentes en la Chrome Web Store

Limitaciones de Métodos Existentes

Stock y Johns propusieron un protocolo de protección de contraseñas basado en sustitución de nonces hace una década, pero ese protocolo era incompatible con los diseños de navegadores modernos. Incluso el navegador Firefox, donde funcionaba en ese momento, pronto eliminó la funcionalidad relevante, lo que impidió la adopción del protocolo y el desarrollo de investigaciones posteriores.

Contribuciones Principales

  1. Implementación de una API práctica de sustitución de contraseñas basada en nonces: Modificación de navegadores modernos para soportar una implementación funcional del protocolo de Stock y Johns
  2. Extensión del modelo de amenazas: Identificación y abordaje de amenazas de extensiones de navegador maliciosas no consideradas en el protocolo original
  3. Canal seguro FIDO2: Generalización del diseño al protocolo FIDO2, protegiendo contra ataques locales recientemente descubiertos
  4. Verificación de implementación práctica: Implementación y evaluación en Firefox, demostrando compatibilidad con el 97% de sitios principales

Explicación Detallada de Métodos

Definición de Tareas

Diseñar un canal de navegador seguro que permita a los gestores de contraseñas transmitir contraseñas de forma segura a sitios web, sin permitir que scripts del DOM o extensiones de navegador accedan al contenido real de las contraseñas.

Diseño de Arquitectura de Protección de Contraseñas

Diseño de API Principal

Extensión de la API WebRequest existente, agregando una nueva fase onRequestCredentials:

onRequestCredentials → onBeforeRequest → onBeforeSendHeaders → onSendHeaders → ...

Flujo de Trabajo

  1. Inyección de Nonce: El gestor de contraseñas rellena la página web con un nonce de contraseña aleatoria, en lugar de la contraseña real
  2. Registro de Devolución de Llamada: Simultáneamente, registra un controlador de devolución de llamada onRequestCredentials
  3. Verificación de Seguridad: Al enviar la página, se ejecutan las siguientes validaciones de seguridad:
    • Verificación de que la página web no se muestre en un iFrame
    • Validación de que el canal de envío utiliza conexión HTTPS segura
    • Confirmación de que el origen coincide con la entrada del gestor de contraseñas
    • Verificación de que el nonce no está en parámetros GET
    • Comprobación de validez de nombres de campos
  4. Sustitución Segura: Si la validación es exitosa, el navegador reemplaza el nonce con la contraseña real en el objeto FormSubmission

Diseño para Proteger contra Extensiones Maliciosas

Para abordar la amenaza de extensiones maliciosas, se realizaron dos modificaciones clave:

  1. Colocación de onRequestCredentials después de todas las fases que pueden acceder a requestBody
  2. Presentación a la extensión del requestBody antes de la sustitución, ocultando la contraseña real

Diseño del Canal Seguro FIDO2

Modelo de Amenazas

El protocolo FIDO2 enfrenta dos clases de ataques locales:

  1. Modificación de valores del DOM: Reescritura de llamadas de API webAuthn mediante JavaScript malicioso
  2. Intercepción de solicitud-respuesta: Intercepción de solicitudes y respuestas HTTP mediante extensiones

Mecanismo de Protección

  1. Procesamiento de Solicitud: El servidor coloca la carga útil FIDO2 real en el encabezado webauthn_request, la respuesta de la página contiene un valor falso
  2. Intercepción de Encabezados: El navegador elimina encabezados sensibles antes de que las extensiones puedan acceder
  3. Reemplazo de API: Sustitución de valores falsos con valores reales dentro de la API webAuthn
  4. Protección de Respuesta: Los valores devueltos por la API se reemplazan con valores falsos, los valores reales se almacenan de forma segura
  5. Transmisión Final: Al enviar solicitudes a un punto final especificado, se reemplaza el valor falso con la respuesta FIDO2 real

Configuración Experimental

Entorno de Prueba

  • Navegador: Mozilla Firefox 107.0 (protección de contraseña) y 104.0a1 (protección FIDO2)
  • Gestor de Contraseñas: Bitwarden modificado
  • Sitios Web de Prueba: 573 sitios web de los primeros 1000 de Alexa que contienen páginas de inicio de sesión

Métricas de Evaluación

  1. Compatibilidad: Porcentaje de sitios web que funcionan normalmente
  2. Seguridad: Efectividad de la protección contra ataques del DOM y de extensiones
  3. Sobrecarga de Rendimiento: Aumento en el tiempo de procesamiento de solicitudes

Métodos de Comparación

  • Navegador Firefox sin modificar como línea de base
  • Uso de servidor proxy para registrar todas las solicitudes de red salientes para comparación

Resultados Experimentales

Resultados Principales

Compatibilidad de Protección de Contraseña

  • Compatibilidad del 97%: 554/573 sitios web completamente compatibles
  • Compatibilidad parcial del 2%: 11/573 sitios web fallan debido a cálculo de hash de contraseña en el DOM
  • Incompatibilidad del 1%: 8/573 sitios web modifican el formato de contraseña antes del envío

Verificación de Seguridad

  • Protección exitosa contra todos los ataques del DOM probados (XSS, inyección maliciosa de JavaScript)
  • Bloqueo efectivo de extensiones maliciosas que intentan robar contraseñas a través de la API webRequest
  • Identificación y protección contra amenazas de ataques reflejados

Sobrecarga de Rendimiento

  • Tiempo promedio de solicitud cuando se requiere sustitución: 4.5222 segundos
  • Tiempo de operación de sustitución: 0.443 segundos (10.6% del tiempo total)
  • Sin impacto de rendimiento medible cuando no se requiere sustitución

Resultados de Protección FIDO2

  • Compatibilidad del 100% de sitios web (requiere modificación de 2-3 líneas de código en el lado del servidor)
  • Protección exitosa contra todos los ataques del DOM y de extensiones probados
  • Implementación de responsabilidad de sesión completa

Trabajo Relacionado

Investigación de Seguridad de Gestores de Contraseñas

La investigación existente se enfoca principalmente en la seguridad general de los gestores de contraseñas, incluyendo:

  • Análisis de seguridad de generación, almacenamiento y relleno de contraseñas
  • Identificación de vulnerabilidades en el proceso de relleno automático
  • Problemas de seguridad de gestores de contraseñas en dispositivos móviles

Mecanismos de Seguridad del Navegador

La investigación relacionada de seguridad del navegador incluye:

  • Política del mismo origen y política de seguridad de contenido
  • Modelo de permisos de extensiones de navegador
  • Seguridad del protocolo WebAuthn y FIDO2

Posicionamiento de Contribución del Artículo

Este artículo proporciona por primera vez una implementación funcional del protocolo de Stock y Johns, cerrando una brecha de investigación de diez años en este campo, y extiende la protección al protocolo FIDO2.

Conclusiones y Discusión

Conclusiones Principales

  1. Demostración de Practicidad: Implementación exitosa de un canal de transmisión de contraseña seguro en navegadores modernos
  2. Compatibilidad Amplia: Compatible con la gran mayoría de sitios web principales, viabilidad práctica de implementación alta
  3. Mejora de Seguridad: Protección efectiva contra múltiples amenazas de ataques locales
  4. Escalabilidad: El diseño puede generalizarse a otras protecciones de interacción navegador-servidor

Limitaciones

  1. Incompatibilidad del 3% de sitios web: Principalmente debido al procesamiento de contraseña en el lado del cliente
  2. Sobrecarga de Rendimiento: La operación de sustitución tiene cierto costo de tiempo
  3. Requisito de Modificación del Navegador: Requiere adopción de modificaciones de API por parte de fabricantes de navegadores
  4. Modificación del Servidor FIDO2: Aunque mínima, aún requiere cooperación del lado del servidor

Direcciones Futuras

  1. Mejora de Compatibilidad: Identificación y manejo automático de JavaScript relevante mediante análisis de programas
  2. Extensión a Entrada Manual: Protección de contraseñas ingresadas manualmente por usuarios
  3. Detección de Ataques: Utilización del mecanismo de nonce para detectar e informar ataques
  4. Protección de Otras APIs: Extensión del diseño a otras APIs de navegador como portapapeles, sistema de archivos, etc.

Evaluación Profunda

Fortalezas

  1. Valor Práctico Alto: Solución de un problema de seguridad real que afecta a decenas de millones de usuarios de gestores de contraseñas
  2. Implementación de Ingeniería Completa: Proporciona implementación completa de Firefox y guía detallada de portabilidad
  3. Evaluación Integral: Incluye evaluación integral de seguridad, compatibilidad y rendimiento
  4. Extensión Teórica: Generalización exitosa del concepto al protocolo FIDO2
  5. Retroalimentación Industrial: Obtención de retroalimentación positiva de fabricantes de navegadores y equipos de gestores de contraseñas

Insuficiencias

  1. Desafío de Implementación: Requiere cooperación de fabricantes de navegadores, con incertidumbre en la promoción
  2. Problemas de Compatibilidad: Aún existen problemas de compatibilidad en el 3% de sitios web
  3. Limitación del Modelo de Amenazas: No protege contra ataques a nivel del sistema operativo o ataques de intermediario TLS
  4. Riesgo de Confusión del Usuario: Los usuarios pueden sentirse confundidos por las contraseñas de nonce mostradas

Impacto

  1. Contribución Académica: Reactivación de una dirección de investigación estancada hace diez años
  2. Valor Práctico: Proporciona mejoras de seguridad inmediatas para decenas de millones de usuarios
  3. Potencial de Estandarización: Perspectiva de adopción generalizada a través de estandarización W3C
  4. Inspiración para Investigación: Proporciona paradigma de diseño para protección de seguridad de otras APIs de navegador

Escenarios Aplicables

  1. Entorno Empresarial: Implementación empresarial con requisitos de seguridad alta
  2. Cuentas de Alto Valor: Autenticación de servicios importantes como bancos y gobiernos
  3. Usuarios Conscientes de Seguridad: Grupo de usuarios con requisitos más altos de privacidad y seguridad
  4. Prototipo de Investigación: Plataforma base para investigación adicional de seguridad de navegadores

Referencias Bibliográficas

Este artículo cita 47 referencias relacionadas, incluyendo principalmente:

  • Documento del protocolo de sustitución de nonce original de Stock y Johns
  • Investigación relacionada sobre análisis de seguridad de gestores de contraseñas
  • Investigación empírica sobre amenazas de seguridad de extensiones de navegador
  • Literatura de análisis de seguridad del protocolo FIDO2
  • Investigación del estado actual de rastreadores web y ataques XSS

Evaluación General: Este es un artículo de seguridad de sistemas con importante valor práctico que convierte exitosamente diseños teóricos en un sistema prototipo funcional, y verifica su efectividad a través de experimentos integrales. El artículo no solo resuelve un problema de seguridad importante en la realidad, sino que también abre nuevas direcciones para investigación futura. Aunque aún enfrenta desafíos en implementación y compatibilidad, su contribución técnica y valor práctico lo convierten en un avance importante en el campo de la seguridad de navegadores.