Nota del editor: este artículo forma parte de una serie de tres partes que explora lo seguro que realmente están los usuarios de Internet en 2021. Otros artículos de la serie son No temas al WiFi y El estado de la seguridad de la World Wide Web en 2021.
Parece extraño imaginar que un software, que ni siquiera requiere una conexión de red, pueda mejorar la seguridad de tu vida en línea. Pero los administradores de contraseñas ciertamente parecen caer en esa categoría, aunque hay que ser muy diligente en su protección. Mientras investigaba sobre la seguridad de las redes WiFi modernas, recordé cómo el uso de un administrador de contraseñas se convirtió en un factor importante en la seguridad de las conexiones WiFi no seguras.
Más que un almacén de memoria
La principal ventaja de usar un administrador de contraseñas cuando se está en una red proporcionada por un proveedor desconocido o poco fiable es ayudar a prevenir ataques de phishing y de máquina en el medio (MiTM).
A menudo, estos ataques pueden dirigir a una víctima a un dominio de apariencia falso, haciéndoles creer que están iniciando sesión en Facebook, Gmail u otra fuente “creíble”. Esto se debe a que los ciberdelincuentes que están detrás de los ataques de redireccionamiento pueden obtener un certificado de seguridad de la capa de transporte (TLS) para los dominios falsos.
Los administradores de contraseñas saben que un dominio falso no coincidirá con el dominio exacto utilizado por un servicio real y, en general, se negarán a enviar tus credenciales a intentos de estafas de phishing.
Sin embargo, hay otros ataques que pueden producirse a través de la red WiFi, por lo que ¿son los gestores de contraseñas buenos para ayudar a prevenir también esos ataques?
Poniendo los administradores de contraseñas a prueba
Decidí centrarme en otros dos tipos de ataque: el ataque de degradación y un ataque que usa un certificado falso pero que aún se hace pasar por el dominio real del proveedor de servicios del que están tratando de engañar a las víctimas, con la esperanza de que la víctima pase por alto la advertencia del navegador.
Para mi prueba, elegí las ocho formas más comunes de administrar contraseñas: Google Chrome, Microsoft Edge, Mozilla Firefox, Apple Safari / Keychain, LastPass, 1password, Dashlane y Bitwarden.
Para realizar la prueba, configuré un sitio web falso que se hace pasar por un sitio web de noticias popular que permite “iniciar sesión” para personalizar la fuente de noticias. El sitio utiliza cifrado TLS pero no anuncia un encabezado HSTS. Esto me permitió iniciar sesión en una cuenta en el sitio real, almacenar la contraseña en la herramienta de administración de contraseñas y luego realizar mis dos ataques.
Prueba 1: administradores de contraseñas frente a sitios no cifrados
El primer ataque fue secuestrar el DNS y redirigirme, a una versión HTTP sin cifrar del sitio controlado por el posible atacante. Esto me permitiría ver si los usuarios de WiFi sin protección podrían contar con su administrador de contraseñas para protegerlos contra este tipo de ataque.
Los primeros tres que probé pasaron con gran éxito. Google Chrome, Mozilla Firefox y Microsoft Edge se negaron a entregar mi contraseña almacenada. A continuación fueron 1password y Dashlane, a los cuales no les fue tan bien, me advirtieron que la conexión era insegura, pero si hacía clic en el espacio en blanco de la contraseña, se ofrecían a completarla.
Solo 1password explicaba en su advertencia que la contraseña original se había almacenado para una conexión HTTPS y requería que hiciera clic en Aceptar para continuar. Esto es genial, pero requiere que los usuarios lean y comprendan lo que eso significa.
Safari, LastPass y Bitwarden rellenaron las credenciales sin previo aviso.
Me sorprendió que en 2021 todavía haya herramientas que creen que iniciar sesión en servicios sin HTTPS está bien, especialmente cuando originalmente almacenaron la contraseña para un sitio HTTPS.
Prueba 2: administradores de contraseñas frente a sitios con un certificado TLS falsificado
La siguiente prueba fue asegurar mi sitio de phishing con un certificado TLS, pero no uno firmado por una autoridad certificadora de confianza para el navegador.
Los usuarios tendrían que aceptar una advertencia aterradora de su navegador web para que esto fuera posible, pero hace tiempo que aprendimos que un porcentaje alarmantemente alto no se tomará el tiempo de leer los mensajes que contienen las advertencias y se limitará a seguir con lo que esté haciendo.
Una vez más, Google Chrome y Microsoft Edge pasaron con gran éxito, pero a los demás les fue peor. Todos los demás completaron automáticamente las contraseñas como si nada estuviera mal o las completaron una vez que hice clic dentro del campo de contraseña en el sitio de imitación.
Si bien estos comportamientos no son técnicamente vulnerabilidades, sentí que valía la pena contactar a los equipos de seguridad de sus respectivas organizaciones para asegurarme de que este era el comportamiento previsto y preguntar si considerarían mejorar el comportamiento para proporcionar un mayor nivel de protección contra los ataques MiTM.
Comentarios del proveedor
El equipo de Mozilla acordó que el comportamiento de los certificados no válidos debería coincidir con el comportamiento de los formularios de inicio de sesión HTTP. Esperamos ver este cambio implementado en una futura versión de Firefox.
El arquitecto principal de seguridad de 1password, Jeffrey Goldberg, se mostró receptivo a mi informe y, de hecho, me ayudó a comprender algunas de las limitaciones con las que deben lidiar los administradores de contraseñas de terceros con respecto a las API del navegador.
Explicó que el comportamiento actual se implementó antes de que HTTPS fuera común y acordó considerar cambios en versiones futuras cuando se enfrentara a un aparente ataque de degradación. Sin embargo, sus manos están atadas cuando se trata de certificados falsos, ya que solo Firefox expone una API que permite al administrador de contraseñas saber si la cadena de certificados no es válida.
La seguridad de los productos de Apple respondió a mi informe con:
Después de examinar su informe, no vemos ninguna implicación de seguridad real y funciona correctamente.
Vale la pena señalar que como Safari v15 trata todos los sitios HTTPS como si tuvieran HSTS habilitado, el riesgo aquí se mitiga, aunque de una manera no compatible.
El equipo de Bitwarden respondió a través de HackerOne:
Hola. Hemos evaluado este informe y planeamos implementar una solución para el escenario de ataque de degradación HTTPS => HTTP. Para el segundo problema: usar un ataque de certificado autofirmado, los navegadores ya implementan medios suficientes para bloquear y advertir a los usuarios en este escenario, por lo que no planeamos implementar nada adicional.
LastPass también respondió, a través de Bugcrowd. Las partes importantes de su declaración, abreviadas, son las siguientes:
“Cuando un usuario visita un sitio HTTP, LastPass le permitirá completar manualmente las credenciales del sitio guardadas para ese dominio haciendo clic en el ícono de rellenado de LastPass en el formulario de inicio de sesión, pero LastPass no completará automáticamente las credenciales del sitio al cargar la página automáticamente sin la interacción del usuario. Este comportamiento es por diseño”. Después de explicar el problema de la API, continuaron: “Intentaremos aprovechar esta API en futuras versiones de nuestra extensión de Firefox, y contactamos con el equipo de Google Chrome para pedirles que prioricen la implementación de esta API también.
Por último, el equipo de seguridad de Dashlane respondió, lo cual he acortado para ser breve:
Cuando se accede a una página web mediante HTTP, ya tenemos dos mecanismos de seguridad implementados: El inicio de sesión sin interacción está deshabilitado, se requiere la interacción del usuario (haga clic en la tarjeta web). La tarjeta web muestra un mensaje de advertencia si el usuario aún desea iniciar sesión.
También mencionaron que investigarían la situación del certificado falso y realizarían un cambio, “si está disponible en todas partes”. Teniendo en cuenta que solo está disponible en Firefox, asumo que esto significa que no hay cambios.
Conclusión
La conclusión es que utilizar un gestor de contraseñas siempre es mejor que no hacerlo para asegurarse de tener contraseñas seguras y robustas. Cuando ofrecen autenticación multifactor son aún mejores, y todos los terceros lo hacen.
Sin embargo, aunque la mayoría son resistentes a los ataques de degradación HTTP, todavía hay margen de mejora. Y cuando se trata de certificados falsificados, la carga recae sobre ti. Presta atención a las advertencias, no las ignores y sospecha especialmente cuando estés en redes en las que no confías.
Nota: La prueba del administrador de contraseñas de Safari se realizó en agosto de 2021 con la versión 14 de Safari. Safari 15, que se lanzó con iOS 15 de Apple, ahora parece forzar HSTS a los sitios que no lo anuncian. Esto puede ser algo bueno, pero está lejos de la espe