Reglas de contraseña complejas: ¿tiene algún sentido?

1

Supongamos que nuestro sistema está bien diseñado y limita la cantidad de errores de inicio de sesión, por lo que no es posible la conexión de fuerza bruta en la interfaz de usuario. Supongamos que después de 5 inicios de sesión fallidos para una cuenta, la cuenta está deshabilitada durante 30 minutos e IP bloqueada si intentas demasiados nombres de usuario diferentes.

Ahora, ¿existe un riesgo realista de que alguien pueda adivinar la contraseña de otra persona?

No es tarea del usuario evitar que las contraseñas con hash se filtren, así que no empiece con 'debe tener entropía, por lo que el hash de la contraseña es difícil de romper'. Si un atacante puede obtener los hashes de contraseña en sus manos, seguramente pueden leer todo y hacer cualquier otra cosa en el sistema también.

***** < --- desenmascarado, esta es una palabra muy común, inclúyala en su respuesta, si cree que se necesita más entropía. Tienes 5 conjeturas.

    
pregunta Tero Lahtinen 03.12.2015 - 16:15
fuente

4 respuestas

1

EDITAR - Oiga el (los) votante (s), revise el documento. Supongo que tienes miedo de un debate razonable en este espacio. Tal vez, nosotros como comunidad de seguridad estamos infligiendo un dolor innecesario a nuestros usuarios. ¿Vale la pena explorar?

Siempre me he preguntado acerca de las reglas de contraseña y sentí que podrían no ser necesarias.

Este documento sostiene (con bastante eficacia) que debemos reconsiderar el secreto de la ID de usuario y el volcado de contraseña compleja reglas. Es decir, no utilice información pública (como la dirección de correo electrónico) para la ID de usuario y, en su lugar, haga que la organización asigne una ID de usuario. Si considera la entropía total de la cuenta, es decir, log(UserID)+log(Password) , entonces una ID de usuario más grande y no fácil de adivinar funciona contra un atacante, mientras que el usuario puede configurar su navegador o su aplicación para recordar la ID de usuario. El usuario también puede mantener un archivo (cifrado o no, no importa) con las asignaciones de sitio / aplicación / id_usuario en la computadora.

Si quieres argumentar que esto deja al usuario abierto a los ataques de malware, bueno, las contraseñas complejas tampoco lo detendrán.

Si desea escribir la ID en un papel, entonces (1) guárdelo en un cajón (en el trabajo / casa) o (2) déjelo escondido en algún lugar cerca de la computadora (en casa). Un Real Attacker (tm) con acceso físico a una computadora tiene muchas opciones más allá de necesitar una identificación de usuario (o incluso una contraseña). El registrador de claves físicas, las copias en disco, los arranques de un solo usuario y el disco externo, etc. Si la computadora está en casa, una persona lo suficientemente cerca como para robar una identificación de usuario del papel (bloqueada o no) es la menor preocupación del propietario de la computadora.

Aún así, mantener una copia electrónica de la ID de usuario en la computadora está bien. Estamos defendiendo contra el ataque más probable aquí (adivinanzas de contraseña a través de las redes), no lo menos probable.

Una de mis instituciones financieras hace esto (ID de cuenta asignada) y permite una contraseña numérica. Siento que mi cuenta es bastante segura.

    
respondido por el Andrew Philips 03.12.2015 - 19:15
fuente
7

Dos puntos a tener en cuenta:

  1. Es una buena práctica suponer que otros pasos de seguridad han fallado. Puede decir que se deben permitir contraseñas inseguras porque los sitios no deben permitir que se filtren detalles, o que debe asumir que hay protecciones de fuerza bruta en su lugar. Los requisitos de contraseña requieren que los usuarios se desvíen del comportamiento establecido y creen contraseñas que estén más hacia los bordes de la curva de campana de la frecuencia. Cuanto menos común es la contraseña, más difícil es romper un ataque de diccionario. El aumento de la entropía evita la fuerza bruta.

  2. Usar el argumento de que "puedo hacer una palabra que no puedes adivinar, por lo tanto, la regla general debe ser permitir que todos puedan crear sus propias contraseñas libres" es una falacia. La mayoría de las personas no hacen contraseñas asumiendo una intención adversa. Crean contraseñas basadas en lo que pueden recordar, y la seguridad es una preocupación secundaria. Los requisitos de contraseña obligan a considerar la seguridad, o los obligan a no utilizar a los infractores frecuentes de las listas de contraseñas.

Las reglas de contraseña son un nivel de niveles múltiples destinados a mantener a las personas seguras, bajo el supuesto de que otros fallan / no se siguen, cuanto más de estos tengamos, más probabilidades tendremos de hacer suficiente trabajo para importar.

Ahora, el beneficio relativo de las reglas de complejidad de contraseñas en comparación con otras rutas de efectividad similar es otra pregunta por completo, pero la pregunta de si son mejores que ningún requisito, entonces la respuesta es sí.

    
respondido por el Jozef Woods 03.12.2015 - 16:39
fuente
1

Voy a agregar a la respuesta de Jozef, lo que dijo fue correcto.

Su premisa de que "Si un atacante puede obtener los hashes de contraseña en sus manos, seguramente pueden leer todo y hacer cualquier otra cosa en el sistema también". Es incorrecto. Sí, un atacante puede haber volcado la tabla que contiene todos los hashes, pero si hay una regla de complejidad en su lugar, al atacante le resultará mucho más difícil descifrar los hashes. Además, si existe un algoritmo de hashing competente, como bcrypt, uno no tendrá que preocuparse demasiado por que se descifre su contraseña antes de que el sitio se dé cuenta de que se ha volcado la información. En este escenario, su contraseña se cambiaría antes de que alguien tenga acceso a su cuenta.

Además, suponiendo que su contraseña de 5 caracteres esté oculta con md5, una computadora configurada con Hashcat podría descifrar esa contraseña más rápido de lo que se podría decir "Contraseña compleja".

    
respondido por el CryptoAllDay 04.12.2015 - 01:00
fuente
1

Imagina que tengo una botnet que controla 100 computadoras. Si no me importa qué usuario descifrar (solo necesito acceso), entonces cada computadora tendrá 5 intentos * 3 usuarios (supongamos) antes de que se bloquee su IP. Solo eso me da 1500 conjeturas, suficientes para descifrar algunas de las contraseñas más débiles que existen.

Como el bloqueo de direcciones IP durante mucho tiempo no tiene sentido (por ejemplo, en mi servidor bloqueo las direcciones IP solo por 10-30 minutos), la red de bots podrá reintentar el mismo ataque mañana con otras 1500 conjeturas. / p>     

respondido por el Dmitry Grigoryev 04.12.2015 - 09:50
fuente

Lea otras preguntas en las etiquetas