¿En qué situaciones se protegen las contraseñas seguras y los algoritmos de hashing 'extra'?

3

Nota: entiendo completamente la necesidad de contraseñas seguras y amp; Entiendo que hay un problema de velocidad con hash. Solo me interesa entender mejor el impacto negativo actual de las contraseñas de fuerza media (por ejemplo: a&3jC36ksL , AweSom3paSswOrd , sImple! pass_pHrase ) y los algoritmos de hashing pobres (SHA1, MD5) específicamente.

Por ejemplo, simulemos que tenemos la siguiente aplicación (usabilidad aparte por ahora): solo permite tres intentos de contraseña incorrectos dentro de una ventana de 120 minutos, con la cuenta bloqueada después del cuarto intento. También podemos garantizar que los usuarios nunca reutilizarán las contraseñas (de esta aplicación o de cualquier otro sitio web), y siempre son demasiado complejos para ser adivinados con solo tres intentos.

Con estas suposiciones, ¿cuál es la principal preocupación de las contraseñas seguras y los algoritmos de hash de extra ?

  1. Si un atacante quiere hacer un ataque de fuerza bruta, ¿no necesitan acceso directo a los datos, en cuyo caso ya tienen lo que buscaban?

Esta publicación sobre las contraseñas de hashing señala este punto:

  

Hay formas en que los atacantes pueden obtener acceso a partes de su base de datos sin acceder a todas ellas ... Los errores de codificación pueden filtrar datos, al igual que las vulnerabilidades de SQL. Un atacante podría obtener un volcado de sus contraseñas y nada más.

Tal vez esto responda a mi pregunta, pero todavía no estoy seguro de la probabilidad de que esto ocurra. Tampoco sé si la fuerza bruta es la única preocupación.

  1. Si los hashes de contraseña solo son buenos para determinar las contraseñas de otros sitios, y la base de datos solo contiene contraseñas únicas, los hashes deberían ser inútiles, ¿no?
pregunta Jack 05.04.2016 - 19:52
fuente

2 respuestas

5

En el caso que construyó, incluso un PIN de 4 dígitos estaría bien. De hecho, es muy similar a la pantalla de bloqueo de PIN de iOS (y quizás Andriod?) Que borra su teléfono después de 10 intentos incorrectos.

Ningún verdadero pirata informático intentará contraseñas de acceso forzado contra un servidor de aplicaciones, es demasiado lento. A través de Internet puede obtener lo mejor, un par de cientos de suposiciones por segundo, suponiendo que el servidor no lo bloquee. El riesgo real es que el pirata informático tiene acceso a su hash de contraseña y puede ir a la ciudad con un ataque de fuerza bruta sin conexión usando su sofisticado sistema de hashing de GPU que puede hacer millones a miles de millones de conjeturas por segundo, por GPU [buen artículo] , [rawhashing en bruto datos] . Las contraseñas largas significan que tienen que hacer más conjeturas antes de tener suerte, y las funciones hash lentas significa que tienen que gastar más tiempo / poder por cada conjetura.

Respondiendo a sus preguntas:

  1. El hecho de que un pirata informático haya obtenido una copia del hash de su contraseña no significa que tenga ningún tipo de acceso a ninguna otra parte del servidor. Por ejemplo, visite haveibeenpwned.com , al hacer clic en esos enlaces, puedo descargar largas listas de hashes de contraseña para gmail, adobe, Ashley Madison, etc. Tener esas listas de hashes no me da acceso de ninguna manera a "los datos" en esos servidores.

  2. Supongo que sí, pero las suposiciones de que A) no hay dos usuarios en la base de datos tienen la misma contraseña, B) ningún usuario reutiliza una contraseña entre sitios y C) "los hashes de contraseñas solo son válidos para la determinación de contraseñas para otros sitios "son suposiciones muy fuertes.

respondido por el Mike Ounsworth 05.04.2016 - 20:12
fuente
2

Su suposición en 1. es incorrecta. Considere un sistema de correo electrónico, donde los usuarios inician sesión con una contraseña. En ese caso, el objetivo puede ser los correos electrónicos (que pueden estar almacenados en una base de datos, pero también pueden estar en archivos individuales o archivos de buzón), o la capacidad de usar el sistema. En este caso, el acceso a la base de datos no proporcionaría ninguna de esas cosas, pero el acceso a las contraseñas lo haría.

Su punto en 2. tampoco es correcto: se usan para el sitio actual, no para otros sitios. Así es como el sistema verifica que se haya ingresado la contraseña correcta.

    
respondido por el Matthew 05.04.2016 - 20:08
fuente

Lea otras preguntas en las etiquetas