Saltar al contenido

¿Cuáles son las diferencias entre el ataque de diccionario y el ataque de fuerza bruta?

Solución:

Similitudes
Tanto un diccionario como un ataque de fuerza bruta son ataques de adivinación; no están buscando directamente una falla o un desvío. Puede ser un ataque fuera de línea o un ataque en línea.

Un ataque en línea intenta rutinas automatizadas que proporcionan información a un sistema legítimo. No buscan crear un exploit en la funcionalidad, sino abusar de la funcionalidad esperada.

Un ataque fuera de línea intenta emular el cifrado / hash y requiere una salida conocida de ese proceso (es decir, no ataca el sistema, ya tiene la contraseña hash / cifrada)


Fuerza bruta Ataque

Definición: Intenta determinar un secreto intentando cada combinación posible.

Cualidades:

  • El número de intentos está limitado por la longitud máxima y el número de caracteres a intentar por posición (o byte si se consideran contraseñas Unicode)
  • El tiempo para completar es mayor, pero hay una mayor cobertura del valor de texto claro probable (todas las posibilidades solo si se establece en la longitud máxima y todos los caracteres posibles se consideran en cada posición)

Ejemplo de mundo físico: Dado un candado de combinación que requiere que se tomen tres números en secuencia, pruebe todas las combinaciones posibles, por ejemplo, Primero 1-2-3, luego 1-2-4.

Tenga en cuenta que un ataque de fuerza bruta puede no necesariamente probar todas las opciones en orden secuencial. Un ataque de fuerza bruta avanzado puede hacer ciertas suposiciones, por ejemplo, las reglas de complejidad requieren mayúsculas, es más probable que el primer carácter sea mayúscula que minúscula).


Diccionario Ataque

Definición: Por lo general, un ataque de adivinanzas que utiliza una lista de opciones compilada previamente. En lugar de probar todas las opciones, solo pruebe las opciones completas que probablemente funcionen.

Cualidades:

  • El diccionario o las posibles combinaciones se basan en algunos valores probables y tienden a excluir posibilidades remotas. Puede basarse en conocer información clave sobre un objetivo en particular (nombres de miembros de la familia, fecha de nacimiento, etc.). El diccionario puede basarse en patrones vistos en un gran número de usuarios y contraseñas conocidas (por ejemplo, cuáles son las respuestas más probables a nivel mundial). Es más probable que el diccionario incluya palabras reales que cadenas de caracteres aleatorias.
  • El tiempo de ejecución del ataque de diccionario se reduce porque el número de combinaciones está restringido a las de la lista de diccionarios.
  • Hay menos cobertura y una contraseña particularmente buena puede no estar en la lista y, por lo tanto, se perderá

Ejemplos del mundo real:

  • El acceso a un club secreto requiere conocer el nombre del propietario, adivina “Rob” o “Jake” en lugar de “computadora”
  • Dado el mismo ejemplo de cerradura anterior, prueba combinaciones que equivalgan al cumpleaños del propietario de la cerradura o de los amigos y familiares del propietario de la cerradura.

Compensación

La principal compensación entre los dos ataques es la cobertura frente al tiempo de finalización. Si tiene una idea razonable sobre cuál será la contraseña, puede omitir respuestas poco probables y obtener una respuesta en un período de tiempo más rápido. Esto es importante porque las contraseñas a menudo están sujetas a cambios y porque a medida que aumenta la longitud de la contraseña, el tiempo para adivinar cada posibilidad crece muy, muy rápido.

Híbridos

Por supuesto, existen ataques que aprovechan ambas técnicas en aras de equilibrar la compensación. Por ejemplo, si el atacante cree que es probable que un usuario forme una contraseña concatenando una palabra del diccionario y luego agregando un número (que incrementa cada vez que se le solicita que cambie su contraseña), entonces las conjeturas que se están ejecutando pueden combinar la lista de palabras. y luego agregue números (por ejemplo, “mypassword2014” y luego “mypassword2015”). Los híbridos también pueden combinar palabras por la fuerza bruta: considere un requisito para que un usuario cambie su contraseña cada 90 días, puede formar contraseñas como “mypasswordsummer” y luego “mypasswordfall”. El atacante luego crea un ataque híbrido que tomará una palabra del diccionario y luego agregará otros términos del diccionario (potencialmente los mismos de diferentes diccionarios) para hacer conjeturas.


Tabla arcoíris versus diccionario / fuerza bruta

Una mesa de arcoíris es generalmente un ataque solo fuera de línea. En un ataque de fuerza bruta o un ataque de diccionario, debe dedicar tiempo a enviar su conjetura al sistema real para ejecutar el algoritmo fuera de línea. Dado un algoritmo de cifrado o hash lento, esto es una pérdida de tiempo. Además, el trabajo que se está realizando no se puede reutilizar.

Una tabla de arco iris es una lista precalculada. En realidad, trabaja al revés a partir del texto cifrado o cifrado. El atacante ejecutará el algoritmo para obtener todos los resultados posibles dados todos los datos posibles. La lista de entradas puede ser de fuerza bruta, diccionario o híbrida. Según la lista de salidas, el atacante ahora tiene una tabla reutilizable que asigna entradas a salidas conocidas.

Con la tabla precalculada, ahora es posible una búsqueda simple dada la versión encriptada / hash de la contraseña. Si puede encontrar la versión cifrada / hash de la víctima, puede devolver fácilmente la contraseña real en texto plano. Las tablas Rainbow se utilizan para reducir el trabajo redundante. Existe una compensación entre hacer el trabajo por adelantado y almacenar las mesas. Por ejemplo, si solo estaba haciendo un ataque de fuerza bruta o de diccionario, puede detenerse tan pronto como encuentre la respuesta. Sin embargo, la tabla del arco iris debe calcularse por completo.

Si tuviera que ejecutar un ataque de tabla de arco iris y la quinta entrada de 500 millones de entradas fuera su coincidencia, entonces todo el esfuerzo y el tiempo utilizados para crear las otras 499,999,995 contraseñas pueden considerarse una pérdida. Sin embargo, si está buscando romper múltiples contraseñas para reutilizar la tabla en múltiples ataques, el ahorro de tiempo puede sumarse.

A ataque de fuerza bruta significa sondear el espacio de claves completo en el algoritmo.

A Ataque de diccionario significa que solo sondea las contraseñas / claves de un diccionario (que no contiene el espacio de claves completo).

Un ataque de fuerza bruta se usa principalmente contra el algoritmo de cifrado en sí (también puede usar esto contra contraseñas, pero allí usa ataques de diccionario la mayor parte del tiempo).

Un ataque de diccionario se usa principalmente contra contraseñas. Los algoritmos de cifrado rara vez se atacan con un ataque de diccionario porque la mayoría de las veces usan un número aleatorio como clave (si usa un PRNG débil, entonces un ataque de diccionario podría ser factible). Un diccionario típico para este ataque contendría las contraseñas más utilizadas.

A mesa arcoiris se utiliza para atacar una contraseña hash a la inversa. Eso significa que tengo una tabla con posibles hashes y busco una contraseña que coincida.

Para evitar ataques usando tablas de arco iris, cada contraseña hash debe tener una sal diferente, ya que necesitaría una tabla de arco iris para cada hash y cada sal.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *