1 puntos por GN⁺ 2 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Microsoft Edge descifra todas las contraseñas guardadas al iniciarse y mantiene esas credenciales en texto plano dentro de la memoria del proceso
  • Este comportamiento ocurre incluso si el usuario no visita ningún sitio que use esas credenciales
  • La interfaz de Password Manager de Edge exige volver a autenticarse antes de mostrar esa misma contraseña, pero el proceso del navegador ya conserva todas las contraseñas en texto plano
  • Entre los navegadores basados en Chromium probados, solo Edge funcionó de esta manera, mientras que Chrome está diseñado para dificultar más la extracción leyendo simplemente la memoria del proceso
  • Chrome descifra las credenciales solo cuando se necesitan y, con App-Bound Encryption (ABE), vincula el descifrado a un proceso de Chrome autenticado para impedir que otros procesos reutilicen la clave de cifrado de Chrome
  • Con este control, las contraseñas en texto plano solo aparecen brevemente durante el autocompletado o cuando el usuario las ve directamente, lo que reduce la efectividad del scraping amplio de memoria

Escenarios de riesgo y estado de la divulgación

  • En entornos compartidos, aumenta el riesgo de mantener contraseñas en texto plano en la memoria
  • Si un atacante obtiene privilegios de administrador en un servidor de terminal, puede acceder a la memoria de los procesos de todos los usuarios conectados
  • En la demostración, un atacante que comprometió una cuenta de usuario con privilegios de administrador pudo ver las credenciales guardadas de otros dos usuarios conectados, o de usuarios desconectados, mientras Edge estaba en ejecución
  • Este comportamiento fue reportado a Microsoft, y la respuesta oficial fue que era “by design
  • También se informó a Microsoft que se compartiría mediante divulgación responsable para que los usuarios y las organizaciones puedan evaluar cómo gestionan sus credenciales
  • El miércoles 29 de abril, Palo Alto Networks Norway divulgó esto en BigBiteOfTech y demostró una herramienta sencilla para comprobar fácilmente si las contraseñas se guardan en memoria en texto plano
  • La herramienta de prueba de concepto fue publicada en GitHub, y el autor está recibiendo comentarios porque no tiene mucha experiencia con C# ni con despliegues en GitHub: EdgeSavedPasswordsDumper

1 comentarios

 
GN⁺ 2 시간 전
Opiniones de Hacker News
  • Esto ya se parece más a una situación en la que el atacante ya está dentro de la compuerta estanca. Si puedes leer la memoria de un proceso arbitrario, probablemente también estás en posición de simplemente volcar las contraseñas haciéndote pasar por ese usuario
    Si un atacante obtiene privilegios de administrador en un servidor de terminal, puede acceder a la memoria de los procesos de todos los usuarios conectados, y con privilegios de administrador también podría adjuntar un depurador a todos los procesos de Chrome y forzar el descifrado de las contraseñas
    La diferencia real sería algo como un ataque de arranque en frío, e incluso ahí no está claro si eso solo facilita un poco el ataque o si habilita un ataque que antes era imposible
    [1] https://devblogs.microsoft.com/oldnewthing/20060508-22/?p=31...
    • Esta lógica encaja por completo con el modelo de amenazas de Chromium. En el momento en que el atacante obtiene privilegios de administrador, por definición la partida ya terminó
      No parece probable que sea un problema exclusivo de Edge, y tampoco hay razón para que Microsoft haga el navegador menos seguro que el proyecto upstream
      Chrome considera que un atacante físicamente local está fuera de su modelo de amenazas; si un usuario inició sesión en mi equipo como yo o puede ejecutar software con los permisos de mi usuario del sistema operativo, entonces Chrome ni ninguna otra app tienen forma de defenderse
      Ese tipo de atacante puede modificar ejecutables y DLL, cambiar variables de entorno como PATH, modificar archivos de configuración, leer y exfiltrar datos de la cuenta del usuario, así que la postura es que Chrome no puede ofrecer ninguna garantía de defensa real en ese escenario
      https://chromium.googlesource.com/chromium/src/+/148.0.7778....
    • En los últimos años también ha habido vulnerabilidades del navegador que permitían leer memoria arbitraria solo con privilegios de usuario normales, aunque tendían a ser lentas o sin control completo de la ubicación. Borrar las credenciales lo antes posible después de usarlas parece una medida preventiva bastante razonable, aunque solo sea cavar un foso más
    • La seguridad no es blanco o negro. Hay niveles, del mismo modo que pegar un Post-it con la contraseña en el monitor es claramente más riesgoso que guardarlo en un cajón sin llave
    • Desde la perspectiva del usuario, cada vez que intenta pegar una contraseña primero tiene que autenticarse con biometría, ¿y aun así cualquier proceso de usuario podría pescar la contraseña desde la memoria?
      Siento que me estoy perdiendo de algo
    • ¿Ya se olvidaron de Cloudbleed?
      [0] https://en.wikipedia.org/wiki/Cloudbleed
  • Como referencia, Google explica que Chrome guarda las contraseñas en memoria cifradas y usa un servicio con privilegios elevados para evitar que otros procesos se hagan pasar por Chrome y accedan a las contraseñas en texto plano: https://security.googleblog.com/2024/07/improving-security-o...
  • Para decirlo con claridad, una ruta de ataque posible es que dejas la computadora sin bloquear y vas al baño 5 minutos, y en ese tiempo un hacker malicioso vuelca todas las contraseñas antes de que regreses
    Creo que eso sí vale la pena considerarlo. Hay una razón por la que el administrador de contraseñas vuelve a pedir la contraseña maestra o la passkey después de 10 minutos
    Yo pensaba que Chrome dependía de una zona segura cifrada, así que incluso con acceso root sería bastante difícil extraer las contraseñas fácilmente
    Claro, no deberías dejar la computadora desatendida. Pero eso no significa que esté bien diseñar un producto de forma que un error inevitable sea fácil de explotar de manera catastrófica
  • ¿Esta herramienta accede a una instancia de Edge que se está ejecutando en la misma máquina? Si es así, ¿no bastaría con exportar directamente las contraseñas guardadas?
    https://support.microsoft.com/en-us/topic/export-passwords-i...
    • Los administradores de contraseñas a menudo se esfuerzan bastante por mantener seguras las contraseñas dentro de la memoria, pero muchas veces no se entiende bien el modelo de ataque de esas herramientas
      Por ejemplo, herramientas como KeePass ponen bastante atención en registrar plugins del navegador, pero si tienes privilegios normales de usuario puedes sacar esa clave del navegador y hacer lo que quieras
      Cosas como “confiar en este navegador” en apps web también se sienten raras si el almacén de cookies puede leerse tan fácilmente
  • En PAM de Linux también debería poder hacerse algo parecido. Bastaría con adjuntar gdb al proceso de inicio de sesión de openssh o getty
  • ¿Hay un enlace al código fuente de este .exe? Me gustaría ver cómo lo extrae
  • El verdadero error es que todavía se siga usando autenticación con contraseña simple. Deberían usarse challenge-response o autenticación de clave pública
  • Para ser justos, cargar en memoria y almacenar no son exactamente lo mismo
    • El título dice “almacenar en memoria”, y para mí suena casi igual. ¿Podrías explicar cómo ves la diferencia entre “cargar” y “almacenar” en memoria?
  • Corríjanme si me equivoco, pero Chrome también mantenía las contraseñas como texto sin procesar en Windows, o al menos antes era así. En una versión de Chrome de 2021 pude recuperar la contraseña olvidada de un amigo
    • Fue hace algunos años, pero recuerdo haber visto a desarrolladores de Google discutiendo que si alguien podía acceder al sistema de archivos local, ya era game over
    • Chrome agregó cifrado vinculado a la aplicación a los archivos de cookies en 2024