¿Algunas contraseñas son más vulnerables a los crackers de contraseñas?

4

Supongamos que tengo una contraseña hecha de n caracteres alfabéticos. Un atacante recibe la contraseña con hash e intentará un ataque de fuerza bruta para descifrarla.

Puedo imaginar un cracker de contraseñas ingenuo probando todas las combinaciones que comienzan con AAAA...A luego AAAA...B luego AAAA...C etc. hasta ZZZZ...Z . Para este atacante, una contraseña que comience con un A reducirá el tiempo para descifrar en 25 * 26^(n-1) (en comparación con comenzar con un Z ).

Por supuesto, primero podrías probar palabras del diccionario, variaciones de las palabras del diccionario y una lista de las contraseñas más comunes ... pero si la contraseña era basura aleatoria, en algún momento tendrá que recorrer todo el espacio de caracteres. . Y si no iteras el espacio de una manera bien definida (es decir, entradas aleatorias), necesitarás una cantidad enorme de espacio para recordar qué entradas ya intentaste (y tendrías que verificar en cada iteración, por lo tanto ralentizando las cosas).

Puede paralelizar las entradas para que intente A... , B... , C... , ..., Z... al mismo tiempo, pero en algún momento se quedará sin núcleos.

¿Cómo resuelven este problema los crackers de contraseñas modernos?

    
pregunta Anthony Kraft 09.03.2014 - 20:36
fuente

3 respuestas

3

La parte final de tu pregunta es fácil de responder:

Hacen exactamente lo que has sugerido:

  • palabras del diccionario
  • contraseñas comunes
  • procesadores más rápidos
  • más procesadores

pero también usan tablas hash o tablas arco iris, que permiten al atacante intercambiar tiempo antes de que los hashes se tomen el tiempo necesario para romper después. En términos simplistas, efectivamente calculan de antemano los hash de las contraseñas (no son exactamente correctos; consulte nuestras preguntas en las tablas de Rainbow para obtener más información)

El problema en sí mismo es por qué siempre recomendamos contraseñas largas. Por encima de una cierta longitud, efectivamente no tienen fuerza bruta en la vida útil del universo (u otro hito apropiado)

    
respondido por el Rory Alsop 10.03.2014 - 23:26
fuente
1

En primer lugar, hay una gran diferencia entre descifrar el hash de contraseña única y el conjunto de hashes de contraseña.

Puede que no sea fácil descifrar un solo hash, mientras que es trivial descifrar un porcentaje del conjunto que contiene 10.000 hashes.

Los crackers de contraseñas modernos tienden a romper conjuntos de hashes, porque se benefician más.

De todos modos, si preguntas acerca de los métodos, tu intuición es correcta.

Toda la historia comienza a partir de ataques de diccionario. El diccionario de curso no es un conjunto de palabras solamente. Buen diccionario contiene también patrones. Por ejemplo, qazxswedcvfrtgb parece bastante fuerte, pero si observa su teclado, puede notar su patrón obvio.

En el mundo real, donde los crackers rompen conjuntos de hashes, la historia termina aquí. Un diccionario de unos pocos millones de palabras te permitirá descifrar del 5% al 50% de hashes en conjunto.

De todos modos, si el conjunto es bastante pequeño o vas a descifrar una sola contraseña, ese es el punto donde aparece la fuerza bruta.

Has mencionado paralelización . Hoy en día, paralelizado se convierte en distribuido . Si tiene alguna botnet, puede instalar MPI o PVM y realizar cálculos distribuidos. Es realmente impresionante, porque es la escalabilidad .

    
respondido por el Scony 11.03.2014 - 00:43
fuente
0

Los crackers reales probarán primero las contraseñas más utilizadas. Primero usarán nombres, palabras del diccionario, listas de contraseñas usadas conocidas y variaciones en todas estas. Aquí hay una descripción de uno de esos esfuerzos en una lista de hashes que se publicó:

enlace

    
respondido por el Warren Dew 10.03.2014 - 08:27
fuente

Lea otras preguntas en las etiquetas