2009-10-10 8 views
5

Cuando decimos ataque de diccionario, no queremos decir realmente un diccionario real, ¿verdad? Supongo que nos referimos a un diccionario de hackers, es decir, rainbow tables, ¿verdad?¿Qué es un ataque de diccionario?

Mi punto es que no estamos hablando de alguien que ingrese diferentes contraseñas en el cuadro de inicio de sesión, estamos hablando de alguien que tiene acceso completo a su base de datos (que tiene contraseñas hash, no contraseñas simples) y esta persona está invirtiendo los hashes, ¿verdad?

+9

si ve a alguien corriendo hacia usted, blandiendo una gran copia del Oxford English Dictionary ... –

+1

+1 para el humor, y para responder indirectamente a mi pregunta;) – Chris

+1

Mitch: Hizo mi mañana. Gracias. Ahora tengo té en mi teclado. – Joey

Respuesta

9

Dado que las contraseñas a menudo son la parte más fácil de atacar de la criptografía, en realidad es una especie de diccionario real. La suposición es que las personas son flojas y eligen palabras adecuadas como contraseña o construyen frases de contraseña. Sin embargo, el diccionario puede incluir otras cosas, como la combinación de palabras comunes y combinaciones de letras y números. Esencialmente todo lo que es probable es una contraseña mal elegida.

Existen programas que tomarán un disco duro completo y construirán un diccionario de cada cadena que pueda escribirse, en el supuesto de que la contraseña del usuario haya sido colocada en algún momento en texto plano en la memoria (y luego en el archivo de paginación) o que simplemente existe en el corpus si el texto se almacena en la unidad 1 :

Aun así, nada de esto realmente podría ser importante. AccessData vende otro programa, Forensic Toolkit, que, entre otras cosas, escanea un disco duro para cada cadena de caracteres imprimibles. Se ve en los documentos, en el registro, en el correo electrónico, en los archivos de intercambio, en el espacio eliminado en el disco duro ... en todas partes. Y crea un diccionario a partir de eso, y lo introduce en PRTK.

Y PRTK rompe más del 50 por ciento de las contraseñas de este diccionario solo.

En realidad, puedes hacer que los diccionarios sean más efectivos incluso si incluyes conocimientos sobre cómo la gente suele crear contraseñas. Schneier habla de esto largamente :

  • diccionario de palabras comunes: 5.000 entradas
  • Nombres diccionario: 10.000 entradas
  • diccionario completo: 100.000 entradas
  • diccionario de patrones fonético: 1/10.000 de una exhaustiva búsqueda de caracteres

El diccionario de patrones fonéticos es interesante. No es realmente un diccionario; es una rutina de cadena de Markov que genera cadenas pronunciables en inglés de una longitud determinada. Por ejemplo, PRTK puede generar y probar un diccionario de cadenas de seis caracteres muy pronunciables, o cadenas de siete caracteres apenas pronunciables. Están trabajando en rutinas de generación para otros idiomas.

PRTK también ejecuta una búsqueda exhaustiva de cuatro caracteres. Ejecuta los diccionarios con mayúsculas minúsculas (las más comunes), mayúsculas iniciales (las segundas más comunes), todas mayúsculas y mayúsculas finales. Ejecuta los diccionarios con sustituciones comunes: "$" para "s", "@" para "a", "1" para "l" y así sucesivamente. Todo lo que es "leet speak" se incluye aquí, como "3" para "e"."

Los diccionarios apéndice

incluyen cosas como:

  • Todas las combinaciones de dos dígitos
  • Todas las fechas de 1900 a 2006
  • todas las combinaciones de tres dígitos
  • todos los símbolos individuales
  • Todos un solo dígito, más un solo símbolo
  • Todas las combinaciones de dos símbolos

Bruce Schneier: La elección de contraseñas seguras. En: Schneier en Seguridad. (URL)

2

Los ataques de diccionario son ataques donde los atacantes intentan palabras de un diccionario bastante normal, porque muchas personas usan contraseñas simples que se pueden encontrar en un diccionario.

Wikipedia: Dictionary attack.

3

Un 'ataque de diccionario' generalmente se refiere a un intento de adivinar una contraseña usando un 'diccionario'; es decir, una larga lista de contraseñas de uso común, que generalmente corresponden a palabras o combinaciones de palabras que las personas pueden establecer perezosamente como contraseña. Las tablas Rainbow se usarían si, en lugar de intentar adivinar la contraseña especificando la contraseña real de texto plano, tuvieras un hash de contraseña y quisieras adivinar la contraseña. Debería especificar los valores hash de las contraseñas utilizadas comúnmente e intentar hacer coincidirlas con el hash de contraseña que tenía, para tratar de obtener una coincidencia para determinar cuál es la contraseña.

3

Bueno, si te arrojara un diccionario, te dolería ¿no?

Pero sí, un dictionary attack usa una lista de palabras. Pueden derivarse de un diccionario o listas de frases o contraseñas comunes ('123456', por ejemplo).

A rainbow table es diferente a un diccionario, es una búsqueda inversa para una función hash dada, de modo que si conoce un hash, puede identificar una cadena que generaría ese hash. Por ejemplo, si sabía que su contraseña tenía un hash MD5 sin sal de e10adc3949ba59abbe56e057f20f883e, podría usar un rainbow table para determinar que los hashes 123456 tienen ese valor.

Cuestiones relacionadas