¿La autenticación de dos factores revela las contraseñas de los usuarios?

Aparte: Google no envía ese código

Primero una corrección menor. Google no le está enviando el código para su segundo factor. Ese número de seis dígitos se resuelve de manera diferente. He escrito una explicación de contraseñas de un solo uso basadas en el tiempo (TOTP) aquí: haciendo los dos pasos hasta el final de los tiempos, creo que es realmente genial.

Los ataques de fuerza bruta no se realizan contra la página de inicio de sesión en vivo

Como Riley Seaman señaló correctamente en su respuesta, un ataque de fuerza bruta contra el formulario de inicio de sesión web real es extremadamente improbable. Los sitios web regulan intentos y conexiones repetidas de muchas maneras.

Cómo se capturan las contraseñas

Lo que está haciendo la verificación en dos pasos de Google es proteger su cuenta si su contraseña se captura por algún otro medio. La forma más probable sería si usara la misma contraseña en sitios que se vean comprometidos. Por ejemplo, suponga que usa la misma contraseña en Gmail que usa en say, LinkedIn antes de que se vean comprometidas. En ese caso, se reveló su base de datos de contraseñas hash.

Las personas pudieron lanzar ataques de fuerza bruta contra las contraseñas hash allí. Pero estos ataques se hicieron “fuera de línea”. En cuestión de horas, la mayoría de esas contraseñas fueron descifradas, y en cuestión de días casi todas. También he escrito una descripción de esto: una dieta sin sal es mala para su seguridad

Por supuesto, si las personas usan contraseñas a través de conexiones no encriptadas (http en lugar de https), cualquiera que escuche en la red puede obtener contraseñas. También se pueden robar las contraseñas engañando a las personas para que ingresen en sitios falsos, y cosas así.

En general, creo que la forma en que estás pensando en los ataques de fuerza bruta no es la forma en que generalmente se llevan a cabo.

Más comúnmente, un ataque de fuerza bruta se realiza contra un hash de contraseña, el resultado de la contraseña se escribe en la página que se cifra en el infierno y viceversa (en teoría) y se envía por cable. Este hash tiene que ser interceptado de alguna manera, luego puede ser atacado extremadamente rápido usando una GPU, probablemente un grupo de ellos, permitiendo BILLONES de intentos por segundo.

Si intentara hacerlo a través de la interfaz de un sitio web, bueno … No solo se pueden configurar las políticas para permitir solo, digamos, 3 intentos fallidos, sino que los administradores incluso pueden limitar el número de intentos por segundo. Si eso se hace incluso a una velocidad ridículamente alta para la entrada humana, como 5 por segundo, estamos hablando de años para que se descifren incluso contraseñas simples.
Incluso los tiempos de entrega de la página de unos pocos milisegundos limitan este vector de ataque.

La autenticación de dos factores DEBE significar que incluso si un hacker pudiera descifrar su contraseña, tendría que hacerlo en 6 segundos. Por lo general, lleva días, tal vez tan poco como horas.

Sin embargo, la autenticación de dos factores tiene sus vulnerabilidades por tecnología. Son solo capas y capas profundas dentro de la tecnología misma y no dentro del alcance de explicar aquí, ahí es donde viven los hackers.

Lo siento, no puedo proporcionar referencias, pero la terminología y las ideas se pueden buscar. En su mayoría, obtuve esta información de contraseñas forzadas en realidad brutas como parte de entenderla para mi trabajo como administrador y programador de sistemas y de charlas en conferencias de seguridad.

En primer lugar, depende de si está utilizando una autenticación real de dos factores o simplemente algo así como una verificación en dos pasos.

Por supuesto, puede usar una autenticación de dos factores como una variante de dos pasos. así como puede ser tan estricto como tener que usar dos canales diferentes. Bruce Schneier llama a esto una autenticación de dos canales: Autenticación de dos factores: muy poco, muy tarde

Sin embargo, sí, alguien puede, en teoría, forzar de forma bruta esas páginas de inicio de sesión de nombre de usuario y contraseña y usar las credenciales en otro sitio web después de que se devuelva la página de entrada de código en lugar de una página de error.

Una descripción más detallada sobre dos factores y dos pasos aquí.

Para evitar esos ataques de fuerza bruta, puede utilizar una solución de dos factores para su sitio web o su cuenta de gmail que no se basa en la entrada de un nombre de usuario y. la contraseña antes de escribir cualquier token otp o sms. (lo que de hecho no es realmente seguro porque usará el mismo canal para que no haya prevención de un hombre en el medio del ataque)

Sin embargo, Riley y Jeffrey tienen razón. La mayoría de las páginas web limitarán o retrasarán los intentos de recopilar información sobre las credenciales de los usuarios solo por una fuerza bruta.