Ataque de fuerza bruta - Brute-force attack

La máquina de craqueo DES de 250.000 dólares de la Electronic Frontier Foundation contenía más de 1.800 chips personalizados y podía aplicar fuerza bruta a una clave DES en cuestión de días. La fotografía muestra una placa de circuito DES Cracker equipada con 64 chips Deep Crack en ambos lados.

En criptografía , un ataque de fuerza bruta consiste en un atacante que envía muchas contraseñas o frases de contraseña con la esperanza de adivinarlas correctamente. El atacante verifica sistemáticamente todas las contraseñas y frases de contraseña posibles hasta que encuentra la correcta. Alternativamente, el atacante puede intentar adivinar la clave que normalmente se crea a partir de la contraseña mediante una función de derivación de claves . Esto se conoce como búsqueda exhaustiva de claves .

Un ataque de fuerza bruta es un ataque criptoanalítico que, en teoría, puede usarse para intentar descifrar cualquier dato cifrado (excepto los datos cifrados de una manera teóricamente segura ). Un ataque de este tipo podría utilizarse cuando no sea posible aprovechar otras debilidades en un sistema de cifrado (si existen) que facilitarían la tarea.

Al adivinar contraseñas, este método es muy rápido cuando se usa para verificar todas las contraseñas cortas, pero para contraseñas más largas se usan otros métodos como el ataque de diccionario porque una búsqueda de fuerza bruta toma demasiado tiempo. Las contraseñas, frases de contraseña y claves más largas tienen más valores posibles, lo que las hace exponencialmente más difíciles de descifrar que las más cortas.

Los ataques de fuerza bruta pueden volverse menos efectivos al ofuscar los datos que se van a codificar, lo que dificulta que un atacante reconozca cuándo se ha descifrado el código o al hacer que el atacante trabaje más para probar cada suposición. Una de las medidas de la fuerza de un sistema de cifrado es cuánto tiempo, teóricamente, le tomaría a un atacante montar un ataque de fuerza bruta exitoso contra él.

Los ataques de fuerza bruta son una aplicación de búsqueda de fuerza bruta, la técnica general de resolución de problemas de enumerar a todos los candidatos y verificar cada uno.

Concepto basico

Los ataques de fuerza bruta funcionan calculando todas las combinaciones posibles que podrían formar una contraseña y probándola para ver si es la contraseña correcta. A medida que aumenta la longitud de la contraseña, la cantidad de tiempo, en promedio, para encontrar la contraseña correcta aumenta exponencialmente.

Límites teóricos

Los recursos necesarios para un ataque de fuerza bruta crecen exponencialmente al aumentar el tamaño de la clave , no de forma lineal. Aunque las normativas de exportación de EE. UU. Restringían históricamente la longitud de las claves a claves simétricas de 56 bits (p. Ej., Estándar de cifrado de datos ), estas restricciones ya no existen, por lo que los algoritmos simétricos modernos suelen utilizar claves computacionalmente más potentes de 128 a 256 bits.

Existe un argumento físico de que una clave simétrica de 128 bits es computacionalmente segura contra ataques de fuerza bruta. El llamado límite de Landauer implícito en las leyes de la física establece un límite inferior a la energía necesaria para realizar un cálculo de kT  · ln 2 por bit borrado en un cálculo, donde T es la temperatura del dispositivo informático en kelvins , k es la constante de Boltzmann , y el logaritmo natural de 2 es aproximadamente 0,693. Ningún dispositivo informático irreversible puede consumir menos energía que este, ni siquiera en principio. Por lo tanto, para simplemente hojear los valores posibles para una clave simétrica de 128 bits (ignorando hacer el cálculo real para verificarlo), teóricamente, se requerirían 2 volteos de 128 - 1 bit en un procesador convencional. Si se supone que el cálculo se produce cerca de la temperatura ambiente (~ 300 K), se puede aplicar el límite de Von Neumann-Landauer para estimar la energía requerida en ~ 10 18 julios , lo que equivale a consumir 30 gigavatios de potencia durante un año. Esto es igual a 30 × 10 9 W × 365 × 24 × 3600 s = 9,46 × 10 17 J o 262,7 TWh ( aproximadamente el 0,1% de la producción anual de energía mundial ). El cálculo real completo (comprobar cada clave para ver si se ha encontrado una solución) consumiría muchas veces esta cantidad. Además, esto es simplemente el requerimiento de energía para recorrer el espacio clave; no se considera el tiempo real que se tarda en voltear cada bit, que ciertamente es mayor que 0 .

Sin embargo, este argumento asume que los valores de registro se cambian usando operaciones convencionales de establecer y borrar que inevitablemente generan entropía . Se ha demostrado que el hardware computacional puede diseñarse para no encontrar esta obstrucción teórica (ver computación reversible ), aunque no se sabe que se hayan construido tales computadoras.

Las GPU modernas se adaptan bien a las tareas repetitivas asociadas con el descifrado de contraseñas basado en hardware

A medida que los sucesores comerciales de las soluciones ASIC gubernamentales están disponibles, también conocidos como ataques de hardware personalizados , dos tecnologías emergentes han demostrado su capacidad en el ataque de fuerza bruta de ciertos cifrados. Uno es la tecnología de unidad de procesamiento de gráficos (GPU) moderna , el otro es la tecnología de matriz de puerta programable en campo (FPGA). Las GPU se benefician de su amplia disponibilidad y beneficio de precio-rendimiento, las FPGA de su eficiencia energética por operación criptográfica. Ambas tecnologías intentan trasladar los beneficios del procesamiento paralelo a los ataques de fuerza bruta. En el caso de las GPU, algunos cientos, en el caso de FPGA, algunos miles de unidades de procesamiento, lo que las hace mucho más adecuadas para descifrar contraseñas que los procesadores convencionales. Varias publicaciones en los campos del análisis criptográfico han demostrado la eficiencia energética de la tecnología FPGA actual, por ejemplo, la computadora COPACOBANA FPGA Cluster consume la misma energía que una sola PC (600 W), pero funciona como 2500 PC para ciertos algoritmos. Varias empresas ofrecen soluciones de análisis criptográfico FPGA basadas en hardware desde una sola tarjeta FPGA PCI Express hasta computadoras FPGA dedicadas. El cifrado WPA y WPA2 se ha atacado con éxito mediante la fuerza bruta al reducir la carga de trabajo en un factor de 50 en comparación con las CPU convencionales y unos cientos en el caso de las FPGA.

Una sola placa COPACOBANA con 6 Xilinx Spartans: un grupo está formado por 20 de estos

AES permite el uso de claves de 256 bits. Romper una clave simétrica de 256 bits por fuerza bruta requiere 2 128 veces más potencia de cálculo que una clave de 128 bits. Una de las supercomputadoras más rápidas en 2019 tiene una velocidad de 100 petaFLOPS que teóricamente podría verificar 100 millones de millones (10 14 ) claves AES por segundo (asumiendo 1000 operaciones por verificación), pero aún requeriría 3.67 × 10 55 años para agotar los 256- espacio clave de bits.

Una suposición subyacente de un ataque de fuerza bruta es que el espacio de claves completo se usó para generar claves, algo que se basa en un generador de números aleatorios efectivo , y que no hay defectos en el algoritmo o su implementación. Por ejemplo, una serie de sistemas que originalmente se pensaba que eran imposibles de descifrar por la fuerza bruta, sin embargo, se han descifrado porque se encontró que el espacio clave para buscar era mucho más pequeño de lo que se pensaba originalmente, debido a una falta de entropía en su número pseudoaleatorio. generadores . Estos incluyen la implementación de SSL de Netscape (famosa por Ian Goldberg y David Wagner en 1995) y una edición Debian / Ubuntu de OpenSSL descubierta en 2008 como defectuosa. Una falta similar de entropía implementada condujo a la ruptura del código de Enigma .

Reciclaje de credenciales

El reciclaje de credenciales se refiere a la práctica de piratería de reutilizar combinaciones de nombre de usuario y contraseña recopiladas en ataques de fuerza bruta anteriores. Una forma especial de reciclaje de credenciales es pasar el hash , donde las credenciales hash sin sal se roban y se reutilizan sin primero ser forzadas.

Códigos irrompibles

Ciertos tipos de cifrado, por sus propiedades matemáticas, no pueden ser derrotados por la fuerza bruta. Un ejemplo de esto es la criptografía de almohadilla de una sola vez , donde cada bit de texto sin formato tiene una clave correspondiente de una secuencia verdaderamente aleatoria de bits de clave. Una cadena de 140 caracteres codificada con un pad de una sola vez sometida a un ataque de fuerza bruta eventualmente revelaría cada cadena de 140 caracteres posible, incluida la respuesta correcta, pero de todas las respuestas dadas, no habría forma de saber cuál era la correcta. uno. Derrotar un sistema de este tipo, como lo hizo el proyecto Venona , generalmente no se basa en la criptografía pura, sino en errores en su implementación: los teclados no son realmente aleatorios, los teclados interceptados, los operadores cometen errores u otros errores.

Contramedidas

En caso de un ataque fuera de línea donde el atacante tiene acceso al material cifrado, se pueden probar combinaciones de claves sin riesgo de descubrimiento o interferencia. Sin embargo, los administradores de bases de datos y directorios pueden tomar contramedidas contra ataques en línea, por ejemplo, limitando el número de intentos que se pueden probar con una contraseña, introduciendo retrasos entre intentos sucesivos, aumentando la complejidad de la respuesta (por ejemplo, requiriendo una respuesta CAPTCHA o un código de verificación enviado a través de teléfono celular) y / o bloquear cuentas después de intentos fallidos de inicio de sesión. Los administradores del sitio web pueden evitar que una dirección IP en particular intente más de un número predeterminado de intentos de contraseña en cualquier cuenta del sitio.

Ataque de fuerza bruta inversa

En un ataque de fuerza bruta inverso , una sola contraseña (generalmente común) se prueba con varios nombres de usuario o archivos cifrados. El proceso puede repetirse para unas pocas contraseñas seleccionadas. En tal estrategia, el atacante no está apuntando a un usuario específico.

Software para realizar ataques de fuerza bruta

Ver también

Notas

Referencias

enlaces externos