¿Se debería permitir que los sitios web desactiven la función de autocompletar en formularios o campos?

97

Actualmente, hay un atributo HTML form / input llamado autocomplete , que, cuando se establece en off , desactiva la función autocompletar / autocompletar para ese formulario o elemento.

Algunos bancos parecen usar esto para evitar que los administradores de contraseñas funcionen. En estos días, los sitios como Yahoo Mail parecen hacerlo también porque consideran que los administradores de contraseñas no son seguros.

Hace unas semanas implementé una característica en Firefox que le da al usuario la opción de anular esta opción. solo para campos de nombre de usuario / contraseña (es decir, para deshabilitar el administrador de contraseñas). Ahora hay una solicitud que solicita que se invalide autocomplete=off de forma predeterminada. Citando el tema:

  

Este comportamiento es una concesión a los sitios que piensan que los administradores de contraseñas son perjudiciales y, por lo tanto, desean evitar que sean efectivos. En conjunto, creo que esos sitios generalmente están equivocados y no deberían tener mucho control sobre nuestro comportamiento.

Esto tiene sentido para mí, por razones similares a las que en este comentario de BenB .

  

autocomplete = off ha sido abusado mucho recientemente. Yahoo comenzó a usar   para su inicio de sesión (incluido webmail y my.yahoo.com), por lo que   Dejé de usar Yahoo. Aplicaciones de correo web - incluso algunos proveedores más grandes - ahora   Úsalo, que decididamente no era el propósito. Los administradores son muy   justo en sí mismo, e insiste en que guarden esto "por seguridad" porque   guardar contraseña "no es seguro".

     

Están equivocados, porque

     
  • los registradores de teclado existen y son   generalizada, probablemente más extendida que el malware que puede leer   Almacén de contraseñas de Firefox.
  •   
  • incluso simples ataques del sobrino   existe: solo mira por encima del hombro
  •   
  • posiblemente lo más importante,   obligando a los usuarios a volver a introducir su contraseña cada vez que prácticamente obliga   Para usar una contraseña simple: fácil de recordar, fácil de escribir,   Probablemente incluso utilizado en múltiples sitios web. Esto obviamente baja   La seguridad general dramáticamente y por lo tanto representa un peligro para la seguridad.
  •   

Por lo tanto, autocompletar = desactivado es activamente dañino para la seguridad.

     

Y un dolor masivo para los usuarios finales, sin recursar por ellos aparte   de cortar relaciones enteras con los clientes.

Se han publicado muchas soluciones (generalmente basadas en bookmarklet) que se han publicado en Internet. IE11 ya ha eliminado el soporte para autocomplete=off .

La pregunta es doble:

  • ¿Hay un aumento significativo en la seguridad de un sitio web cuando usa autocomplete=off en los campos de contraseña? ¿O es realmente perjudicial para la seguridad según el comentario de BenB?
  • ¿Deben los navegadores permitir este atributo de forma predeterminada y otorgar tanto control al sitio web? (Este bit es subjetivo, siéntase libre de no responder)

Si bien mi situación es específica de autocomplete=off para los campos de nombre de usuario / contraseña (el código solo afecta al administrador de contraseñas), recibo comentarios sobre el aspecto más amplio de deshabilitar autocomplete=off

    
pregunta Manishearth 25.01.2014 - 10:20
fuente

5 respuestas

52

El problema es que esta única configuración controla simultáneamente el comportamiento de dos funciones similares pero lo suficientemente diferentes en el navegador, por lo que es difícil lograr un resultado óptimo.

Primero, tenemos lo que podríamos llamar "inteligente" o "ingenuo" o "automático".

Esta es la tecnología de autocompletado original . A medida que rellena formularios en varios sitios, el navegador observa los nombres de los formularios y los contenidos que llena, y recuerda en silencio los detalles. Luego, cuando visita otro sitio con un formulario de aspecto similar, "útilmente" rellena los campos utilizando los valores que grabó de su comportamiento anterior en otros sitios.

La idea aquí es ahorrarle tiempo sin ninguna configuración o toma de decisiones de su parte. Rellenando tu nombre? Completaremos automáticamente el nombre que usaste la última vez. ¿Rellenar una tarjeta de crédito? Rellenaremos la tarjeta de crédito que usaste en otro lugar.

Para que sea útil, el navegador comparte sus secretos de un sitio con todos los demás, por si acaso es lo que quería. Desde una perspectiva de seguridad, esto es un desastre por todas las razones obvias y también por varias que no lo son. Tiene que estar deshabilitado, y probablemente no debería haberse implementado para empezar.

En segundo lugar, tenemos "explícito" o "seguro" o "configurado" autocompletar

Este es el mundo, principalmente, de nombres de usuario y contraseñas guardados. En esta encarnación, el navegador guarda los datos de su formulario solo con su aprobación explícita. Idealmente, almacena esos datos en un almacén encriptado y, lo que es más importante, los datos están firmemente asociados con un solo sitio. Por lo tanto, su contraseña de Facebook permanece con Facebook y su dirección de Amazon se mantiene con Amazon.

Esta técnica es muy diferente porque el navegador está reproduciendo el comportamiento guardado cuando se detecta el entorno coincidente. En comparación, la otra técnica es anticipar el comportamiento deseado automáticamente buscando similitudes.

Cuando visita el sitio y presenta un formulario de inicio de sesión, su navegador debería completar automáticamente los datos que había guardado explícitamente para ese propósito. La interacción debe ser rápida y libre de pensamientos para el usuario. Y, críticamente , debería BREAK absolutamente en un intento de phishing. El navegador debe estar tan poco dispuesto a entregar las credenciales a un sitio de phishing que la detenga y piense en por qué la cosa no funciona.

Esta función es su línea de defensa principal contra el phishing. Tiene que funcionar. Sin lugar a dudas, es menos seguro si el usuario no puede confiar en que esta función funcione de manera transparente y sin esfuerzo en condiciones normales.

Y aunque esto se usa principalmente para el almacenamiento de credenciales, también es un lugar seguro para colocar otros datos seguros, como tarjetas de pago, direcciones, preguntas de seguridad, etc. Es probable que dichos datos adicionales no sean específicos del sitio. pero probablemente no debería completarse automáticamente sin preguntar.

Una opción para gobernarlos a todos

El problema aquí es que en muchas implementaciones, la opción autocomplete=false controla ambos comportamientos. Tanto el que quieres conservar como el que quieres matar.

Idealmente, el autocompletado "seguro" nunca debe estar deshabilitado. Confiamos en esta función para agregar seguridad, por lo que los operadores de sitios equivocados no deberían estar autorizados a poner en peligro eso.

E idealmente, la función de autocompletar "automática" debería estar deshabilitada de manera predeterminada, para que se habilite solo en aquellas condiciones excepcionales (si las hay) en las que realmente desea que el navegador reutilice su entrada de otros sitios.

    
respondido por el tylerl 20.02.2014 - 02:39
fuente
42

Cuando hago pruebas de lápiz, informo un problema si un campo de formulario solicita datos confidenciales (por ejemplo, un número de tarjeta de crédito), NO es un campo de contraseña y NO tiene autocompletado = desactivado.

Lo racional es que los navegadores administran el autocompletado para las contraseñas con bastante sensatez: le dan al usuario la opción de almacenar la contraseña y (la mayoría) los usuarios pueden tomar una decisión sensata.

Sin embargo, para los campos sin contraseña, el comportamiento de autocompletar no es deseable. Si dejo que alguien use mi computadora, van a una página de pago electrónico por correo electrónico y ven los detalles de MI tarjeta de crédito completados automáticamente, eso es malo.

    
respondido por el paj28 26.01.2014 - 22:13
fuente
7

He realizado varios pentests para varios bancos y siempre aconsejamos desactivar el modo de autocompletar. La razón de esto es que la mayoría de los usuarios no usan un administrador de contraseñas y, por lo tanto, la contraseña se guarda dentro de su navegador en algún lugar, en texto sin formato (algunos navegadores en realidad cifran las contraseñas con autocompletado, pero eso se ha hecho recientemente).

Esto también es recomendado por el OWASP testing guía:

  

El almacenamiento en caché de los campos de formulario está presente en la mayoría de los navegadores. Para campos de formulario   que contiene información confidencial, como números de tarjetas de crédito,   autocompletar se debe desactivar usando el atributo AUTOCOMPLETE = OFF que   se puede usar en cada etiqueta de ENTRADA 1 . Esta característica fallará la validación   contra las versiones actuales de las especificaciones HTML, ahora es compatible con   aunque la mayoría de los navegadores.

Mientras la información confidencial esté protegida, no hay problema. El mayor problema con esta configuración es cuando se usa una computadora compartida. El riesgo de que su información se almacene en caché es bastante importante y un bypass menos inocente podría simplemente robar su información. Recuerde que la mayoría de los usuarios no están tan bien educados como la mayoría de las personas aquí.

Ahora el banco no puede verificar realmente si está utilizando su computadora personal o una compartida, por lo que la evaluación de riesgos en este caso considera mejor deshabilitar la función de autocompletar.

    
respondido por el Lucas Kauffman 25.01.2014 - 10:29
fuente
5

La razón por la que los navegadores ignoran autocomplete=off es porque ha habido algunos sitios web que intentaron desactivar el autocompletado de contraseñas.

Eso está mal; y en julio de 2014, Firefox fue el último navegador importante en implementar finalmente el cambio para ignorar cualquier sitio web que intente desactivar el autocompletado de contraseñas.

Cualquier intento por parte de cualquier sitio web de burlar la preferencia del navegador es incorrecto, es por eso que los navegadores lo ignoran. No se sabe por qué un sitio web debe intentar desactivar el guardado de contraseñas.

  • Chrome lo ignora
  • Safari lo ignora
  • IE lo ignora
  • Firefox lo ignora

¿Qué sucede si soy un snowflake especial?

Hay personas que muestran un buen caso de uso:

  

Tengo una computadora compartida, de área pública, estilo kiosco. No queremos que alguien (accidental o intencionalmente) guarde su contraseña para que el próximo usuario pueda usarla.

Eso no viola la declaración:

  

Cualquier intento por parte de cualquier sitio web de eludir la preferencia del navegador es incorrecto

Esto se debe a que en el caso de un quiosco compartido:

  • no es el servidor web el que tiene la política extraña
  • es el agente de usuario del cliente

El navegador (la computadora compartida) es el que tiene el requisito de que no intente guardar contraseñas. La forma correcta de evitar que el navegador guarde las contraseñas, es configurar el navegador para que no guarde las contraseñas. Ya que ha bloqueado y controlado esta computadora del quiosco, usted controla la configuración. Eso incluye la opción de guardar contraseñas.

En Chrome e Internet Explorer, configura esas opciones usando Políticas de grupo (por ejemplo, claves de registro).

De la Lista de políticas de Chrome :

  

AutoFillEnabled

     

Habilitar Autocompletar

     

Tipo de datos: booleano (REG_DWORD)

     

Ubicación del registro de Windows: Software \ Policies \ Chromium \ AutoFillEnabled

     

Descripción: habilita la función Autocompletar de Chromium y permite a los usuarios completar formularios web de forma automática utilizando información previamente almacenada, como la dirección o la información de la tarjeta de crédito. Si deshabilitas esta configuración, Autocompletar será inaccesible para los usuarios. Si habilita esta configuración o no establece un valor, Autocompletar permanecerá bajo el control del usuario. Esto les permitirá configurar los perfiles de Autocompletar y activar o desactivar Autocompletar a su propia discreción.

Por favor, pase la palabra de que tratar de desactivar el autocompletado de la contraseña es incorrecto, los navegadores están ignorando intencionalmente a cualquiera que intente hacerlo y deberían dejar de hacer lo incorrecto. ™

Si usted desea que su no complete automáticamente los elementos, usted debe configurar su para que se apague autocompletar Ningún sitio web debe imponer esa preferencia a otros usuarios.

    
respondido por el Ian Boyd 06.11.2015 - 15:46
fuente
0

Todos parecen olvidar que las computadoras se roban en las bases diarias, la mayoría de las computadoras ejecutan Windows. Puede cambiar la contraseña de un usuario sin iniciar sesión en una computadora con Windows.

¿Cuánto daño crees que puede hacer una computadora robada con toda la información de autocompletado guardada en el navegador? Y la mayoría ni siquiera tiene una protección de contraseña para autocompletar el navegador, por lo que no hace ninguna diferencia si los datos están encriptados o no cuando el navegador completa los datos de todos los sitios.

Hoy en día, los fraudes en Facebook y Twitter son comunes. Las contraseñas guardadas son una de las razones para esto.

¿Y qué sucede si un CEO guarda sus contraseñas y alguien le roba su computadora? Esta función es para proteger a todos contra el secuestro de sus cuentas.

    
respondido por el Nisse 07.03.2014 - 01:04
fuente

Lea otras preguntas en las etiquetas