Seguridad de contraseña y ocl-Hashcat-plus

2

Recientemente leí el Artículo técnico Ars sobre nuevas características en ocl-Hashcat-plus. A la luz de preguntas como:

Contraseñas largas: ¿Cómo están más seguras?

y

XKCD # 936: Contraseña compleja corta, o ¿frase de contraseña larga del diccionario?

¿Las "frases" de paso como "grapa correcta de la batería del caballo" se adivinan con las nuevas funciones de ocl-Hashcat-plus? ¿Ayuda el uso de mayúsculas en una letra y agregar un signo de puntuación ("Corregir la batería de caballo")?

    
pregunta mawcsco 29.08.2013 - 20:54
fuente

3 respuestas

5

[Divulgación: trabajo para AgileBits, los creadores de 1Password.]

Para otorgar crédito cuando se debe crédito (los cómics rara vez tienen notas a pie de página), este esquema se llama " Diceware "y debe ser acreditado a Arnold Reinhold, quien lo describió en 1995.

Lo que es absolutamente crucial para el esquema es que las palabras deben ser elegidas de la lista por un proceso aleatorio uniforme. (El esquema de Reinhold consistía en tirar dados). Los humanos, especialmente cuando intentan ser inteligentes en la selección de contraseñas, no son al azar.

Uso de mayúsculas y símbolos (la pregunta real)

el hashcat, tal como está hoy, no es bueno para aplicar transformaciones (por ejemplo, cambios de casos) a las suposiciones que se realizan mediante la combinación de palabras (necesarias para Diceware = sistemas similares). Entonces, en cierto sentido, el uso de algunos símbolos y un caso mixto para este tipo de contraseña realmente dificultará las cosas para el hashcat. Sin embargo, esa sería una razón estúpida para hacer algo así. Después de todo, hace una semana, solo usar una frase de contraseña de más de 15 caracteres sería un obstáculo para el hashcat.

No es prudente basar una política de selección de contraseña en idiosincrasias potencialmente transitorias de una herramienta de craqueo en particular. Es importante darse cuenta de que otras herramientas de descifrado de contraseñas, John the Ripper , por ejemplo, no tenían esa limitación de 15 caracteres. Y, como sabemos, estas limitaciones idiosincrásicas sí cambian.

Mira solo teniendo en cuenta cuántas conjeturas se necesitan

La lista de Diceware contiene 7776 palabras (las obtienes a través de cinco tiradas de un dado o una tirada de cinco dados), por lo que una contraseña sería de aproximadamente 12.9 bits por palabra. Por lo tanto, una contraseña de Diceware de cinco palabras tendría aproximadamente 64 bits. Si el hashcat pudiera verificar 300,000 por segundo, serían aproximadamente 1.5 millones de años para descifrar una contraseña de cinco palabras. Cuántas conjeturas por segundo hashcat puede lograr (en el mismo hardware) depende enormemente de cómo se hashse la contraseña (hash directo, PBKDF2, scrypt ...).

La razón por la que estoy seleccionando 300,000 conjeturas por segundo en mi ejemplo es porque ese es el número que obtenemos contra una forma común de la Contraseña Maestra de 1Password (PBKDF2-HMAC-SHA1 10000 rondas), que escribió sobre en abril. Hay más números en ese artículo, junto con enlaces a otros artículos sobre el uso de Diceware (incluido el artículo, Hacia contraseñas maestras mejores que pueden haber despertado un interés en Diceware justo antes del cómic XKCD, y aboga por un sistema de Diceware modificado para las pocas contraseñas seguras que necesita recordar.

límite de caracteres hashcat

El movimiento de Hashcat de un límite de 15 caracteres a un límite de 55 caracteres solo es importante si elegiste específicamente una contraseña con más de 15 caracteres para evitar estar en el dominio de algo en lo que el hashcat podría funcionar. Espero que nadie esté haciendo eso.

En ese artículo que escribí en abril, no hice mención a no del límite de 15 caracteres (que tenía plena conciencia) por la sencilla razón de que quería ofrecer pesimismo (desde el punto de vista del defensor). de vista) las estimaciones del tiempo de craqueo no se basaban en lo que yo veía como limitaciones temporales.

    
respondido por el Jeffrey Goldberg 30.08.2013 - 06:18
fuente
4

La aleatoriedad no tiene sentido .

Cuando un atacante intenta "adivinar" una contraseña, en realidad está intentando ingresar a la mente del usuario humano y descubrir qué pudo haber surgido con esa bolsa de carne. Por ejemplo, el atacante puede decirse a sí mismo "Mmh, este tipo piensa que es inteligente, puede haber hecho mayúscula la primera letra y haber agregado un punto al final. Después de todo, él mismo lo admite en un sitio web público . Así que agregaré esta regla a las contraseñas que intento. "

Al tratar con contraseñas, el concepto técnico relevante es entropy ( el de la teoría de la información, no el de la física). En términos generales, indica cuán "aleatoria" es la contraseña. Al usar el método "caballo correcto", con cuatro palabras tomadas de una lista de 2048 palabras, tiene 44 bits de entropía, lo que significa que hay 2 44 contraseñas posibles y tenía exactamente la misma probabilidad de eligiendo cualquiera de ellos. Bajo estas condiciones, el esfuerzo promedio del atacante por descifrar su contraseña será de 2 intentos 43 , y no importa qué tan inteligente sea el atacante .

Lo que esto significa es que la medida de "entropía" te da resistencia contra un teórico, perfecto software ocl-Hashcat-plus . Le indica el peor de los casos para usted, es decir, cuando el atacante está "en su cabeza" y sabe exactamente cómo generó su contraseña, excepto por el contenido de las opciones realmente aleatorias. El atacante no puede predecir tus elecciones aleatorias porque tampoco puedes predecir tus propias elecciones aleatorias, al menos, siempre que realices una elección aleatoria, es decir, con dados, no con tu cabeza. Los cerebros humanos son terribles al ser aleatorios. Los dados son buenos.

Entonces el nuevo ocl-Hashcat-plus puede ser capaz de adivinar frases de contraseña como la del "caballo correcto", pero no puede hacer eso con menos esfuerzo, en promedio, 2 intentos 43 (lo cual es bastante bastante si se empleó el hashing de contraseña adecuado )

Establecer la primera letra en mayúsculas y agregar un punto al final no ayuda si lo hace sistemáticamente : el atacante en su cabeza también sabe que vas a hacer eso, y ajusta su sistema de forma correspondiente. Por otro lado, si usted al azar decide (con un lanzamiento de moneda) agregar un punto o una coma al final, entonces eso es un poco más de entropía, porque el atacante en su cabeza está en su cabeza, no en la cabeza de la moneda, y como tal no puede saber con probabilidad más de 1/2 si eligió "punto" o "coma". Esto duplica el número de contraseñas posibles y equiprobables, por lo que un bit adicional de entropía; y el esfuerzo promedio del atacante también se duplica (o, si lo prefiere, sus posibilidades de éxito se reducen a la mitad por un esfuerzo determinado). Por supuesto, agregar un carácter elegido al azar significa recordar si esta contraseña específica usó un punto extra o una coma adicional. Eso no es gratis; su memoria es el recurso escaso en todo el negocio de contraseñas.

    
respondido por el Thomas Pornin 29.08.2013 - 21:43
fuente
0

Esto se puede explicar muy simple.

Si tiene cuatro palabras tomadas de una lista de 2048 palabras, el número de combinaciones posibles es 2048 ^ 4.

Eso suena como un número enorme, pero para oclHashcat-plus esto no es nada para temer.

En la mayoría de los casos (tal vez en 9 de los 10 casos), las contraseñas en la web se procesan mediante el uso de MD5 sin formato, SHA1 o alguna combinación poco clara de estos algoritmos con o sin un agregado de sal.

Con oclHashcat-plus puede romper esos hashes con ~ 6 billones de claves / segundo con un solo hd6990 en modo combinador (que se requiere para los ataques de frase de contraseña).

Explicado de manera sencilla, oclHashcat-plus realizará todas las combinaciones posibles en menos de una hora con una GPU de 3 años.

    
respondido por el atom 30.08.2013 - 00:52
fuente

Lea otras preguntas en las etiquetas