Ataque de fuerza bruta
En criptografía, un ataque de fuerza bruta consiste en que un atacante 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 encontrar la correcta. Alternativamente, el atacante puede intentar adivinar la clave que normalmente se crea a partir de la contraseña utilizando una función de derivación de clave. Esto se conoce como búsqueda exhaustiva de claves.
Un ataque de fuerza bruta es un ataque criptoanalítico que, en teoría, se puede utilizar para intentar descifrar cualquier dato cifrado (excepto los datos cifrados de una manera teóricamente segura). Tal ataque podría usarse cuando no es posible aprovechar otras debilidades en un sistema de encriptación (si las hay) 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 lleva 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 encriptación es cuánto tiempo le tomaría teóricamente a un atacante montar un ataque exitoso de fuerza bruta contra él.
Los ataques de fuerza bruta son una aplicación de la búsqueda de fuerza bruta, la técnica general de resolución de problemas de enumerar todos los candidatos y verificar cada uno. La palabra 'martillar' se usa a veces para describir un ataque de fuerza bruta, con 'anti-martilleo' para contramedidas.
Concepto básico
Los ataques de fuerza bruta funcionan calculando cada combinación posible que podría 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 linealmente. Si bien las regulaciones de exportación de EE. UU. restringieron históricamente la longitud de las claves a claves simétricas de 56 bits (por ejemplo, el 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 fuertes 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 límite de Landauer implícito en las leyes de la física establece un límite inferior en la energía requerida 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 (0.6931471805599453). Ningún dispositivo informático irreversible puede utilizar menos energía que este, ni siquiera en principio. Por lo tanto, para simplemente cambiar los valores posibles para una clave simétrica de 128 bits (ignorando hacer el cálculo real para verificarla), teóricamente, requeriría 2128 − 1 bit voltea 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 necesaria en ≈1018 julios, lo que equivale a consumir 30 gigavatios de potencia durante un año. Esto es igual a 30×109 W×365×24×3600 s = 9,46×1017 J o 262,7 TWh (alrededor del 0,1 % de la producción mundial anual de energía). 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, este 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 (consulte el límite de Bremermann).
Sin embargo, este argumento asume que los valores de registro se cambian usando operaciones convencionales de establecimiento y borrado que inevitablemente generan entropía. Se ha demostrado que el hardware computacional se puede diseñar para no encontrar esta obstrucción teórica (ver computación reversible), aunque no se sabe que se hayan construido tales computadoras.
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. Una es la tecnología moderna de unidad de procesamiento de gráficos (GPU), la otra es la tecnología de matriz de puerta programable en campo (FPGA). Las GPU se benefician de su amplia disponibilidad y la relación 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, unos cientos, en el caso de las FPGA, unas 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 ha sido atacado con fuerza bruta con éxito al reducir la carga de trabajo en un factor de 50 en comparación con las CPU convencionales y algunos cientos en el caso de las FPGA.
El estándar de cifrado avanzado (AES) permite el uso de claves de 256 bits. Romper una clave simétrica de 256 bits por fuerza bruta requiere 2128 veces más poder de cómputo que una clave de 128 bits. Una de las supercomputadoras más rápidas de 2019 tiene una velocidad de 100 petaFLOPS, lo que teóricamente podría verificar 100 millones de millones (1014) de claves AES por segundo (suponiendo 1000 operaciones por verificación), pero aun así requeriría 3,67 × 10 55 años para agotar el espacio de claves de 256 bits.
Una suposición subyacente de un ataque de fuerza bruta es que se usó el espacio de claves completo 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 pensó que eran imposibles de descifrar por la fuerza bruta, sin embargo, se descifraron porque se descubrió que el espacio clave para buscar era mucho más pequeño de lo que se pensaba originalmente, debido a la falta de entropía en su número pseudoaleatorio. generadores Estos incluyen la implementación de SSL de Netscape (famosamente descifrada 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.
Reciclado de credenciales
El reciclaje de credenciales se refiere a la práctica de hackeo de reutilizar combinaciones de nombre de usuario y contraseña reunidas en ataques de fuerza bruta anteriores. Una forma especial de reciclaje de credenciales es pasar el hash, en el que las credenciales hash sin sal se roban y se reutilizan sin que primero se las someta a la fuerza bruta.
Códigos irrompibles
Ciertos tipos de encriptación, por sus propiedades matemáticas, no pueden ser derrotados por la fuerza bruta. Un ejemplo de esto es la criptografía de bloc de notas de un solo uso, donde cada bit de texto claro tiene una clave correspondiente de una secuencia verdaderamente aleatoria de bits de clave. Una cadena de 140 caracteres con codificación de un solo uso sujeta 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 depende de la criptografía pura, sino de los errores en su implementación: los teclados no son realmente aleatorios, los teclados son interceptados, los operadores cometen errores u otros errores.
Contramedidas
En caso de un ataque fuera de línea en el que el atacante haya obtenido acceso al material cifrado, se pueden probar combinaciones de teclas sin riesgo de descubrimiento o interferencia. En caso de ataques en línea, los administradores de bases de datos y directorios pueden implementar contramedidas, como limitar la cantidad de intentos que se pueden probar con una contraseña, introducir retrasos de tiempo entre intentos sucesivos, aumentar la complejidad de la respuesta (ej., requerir una respuesta CAPTCHA o emplear autenticación de múltiples factores) 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 contra cualquier cuenta en el sitio.
Ataque inverso de fuerza bruta
En un ataque inverso de fuerza bruta, 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 se dirige a un usuario específico.
Contenido relacionado
Tipox
Juan Gutenberg
Teléfono inteligente