stringtranslate.com

Ataque de fuerza bruta

En criptografía , un ataque de fuerza bruta consiste en que un atacante envíe muchas contraseñas o frases de contraseña con la esperanza de adivinar correctamente. El atacante comprueba 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, utilizando una función de derivación de claves . Esto se conoce como búsqueda exhaustiva de claves . Este enfoque no depende de tácticas intelectuales; más bien, se basa en realizar varios intentos. [ cita requerida ]

Un ataque de fuerza bruta es un ataque criptoanalítico que, en teoría, puede utilizarse para intentar descifrar cualquier dato cifrado (excepto los datos cifrados de una manera que sea segura desde el punto de vista de la información ). [1] Este tipo de ataque se puede utilizar cuando no es 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 utiliza para comprobar todas las contraseñas cortas, pero para contraseñas más largas se utilizan otros métodos, como el ataque de diccionario, porque una búsqueda por 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 debido a la diversidad de caracteres. [2]

Los ataques de fuerza bruta pueden volverse menos efectivos si se ofuscan los datos que se van a codificar, lo que dificulta que un atacante reconozca cuándo se ha descifrado el código o si se obliga al atacante a realizar más trabajo para probar cada intento. Una de las medidas de la solidez de un sistema de cifrado es el tiempo que, en teoría, le llevaría a un atacante lanzar un ataque de fuerza bruta con éxito contra él. [3]

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 que consiste en enumerar todos los candidatos y comprobar cada uno de ellos. A veces se utiliza la palabra "martilleo" para describir un ataque de fuerza bruta, [4] y "antimartilleo" para las contramedidas. [5]

Concepto básico

Los ataques de fuerza bruta funcionan calculando todas las combinaciones posibles que podrían formar una contraseña y probándolas para ver si son las correctas. A medida que aumenta la longitud de la contraseña, el tiempo que se tarda, en promedio, en encontrar la contraseña correcta aumenta exponencialmente. [6]

Límites teóricos

La máquina de descifrado de DES de la Electronic Frontier Foundation, que costó 250.000 dólares y que se creó en 1998 , contenía más de 1.800 chips personalizados y podía descifrar por la fuerza 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 que utilizan ambos lados.

Los recursos necesarios para un ataque de fuerza bruta crecen exponencialmente con el aumento del tamaño de la clave , no de manera lineal. Aunque las regulaciones de exportación de EE. UU. históricamente restringían las longitudes de clave a claves simétricas de 56 bits (por ejemplo, el Estándar de cifrado de datos ), estas restricciones ya no están vigentes, 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 que sostiene 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 para 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 (0,6931471805599453). Ningún dispositivo informático irreversible puede utilizar menos energía que esto, ni siquiera en principio. [7] Por lo tanto, para simplemente pasar por los posibles valores de una clave simétrica de 128 bits (ignorando el cálculo real para comprobarlo) se necesitarían, teóricamente, 2 128 − 1 cambios de bit en un procesador convencional. Si se supone que el cálculo se realiza cerca de la temperatura ambiente (≈300 K), se puede aplicar el límite de Von Neumann-Landauer para estimar la energía requerida como ≈10 18 julios , lo que equivale a consumir 30 gigavatios de energía 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 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 requisito de energía para recorrer el espacio de claves; no se considera el tiempo real que lleva cambiar cada bit, que es ciertamente mayor que 0 (ver el límite de Bremermann ). [ cita requerida ]

Sin embargo, este argumento supone que los valores de los registros se modifican mediante operaciones convencionales de configuración y borrado, que inevitablemente generan entropía . Se ha demostrado que se puede diseñar hardware computacional para que no se enfrente a esta obstrucción teórica (véase computación reversible ), aunque no se sabe que se hayan construido tales computadoras. [ cita requerida ]

Las GPU modernas son adecuadas para las tareas repetitivas asociadas con el descifrado de contraseñas basado en hardware.

A medida que los sucesores comerciales de las soluciones ASIC gubernamentales se han vuelto 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 de unidad de procesamiento gráfico (GPU) moderna, [8] [ página necesaria ] la otra es la tecnología de matriz de puertas programables 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 las FPGA, algunos miles de unidades de procesamiento, lo que las hace mucho más adecuadas para descifrar contraseñas que los procesadores convencionales. Por ejemplo, en 2022, se vincularon 8 GPU Nvidia RTX 4090 para probar la solidez de las contraseñas utilizando el software Hashcat con resultados que mostraron que se podían recorrer 200 mil millones de combinaciones de contraseñas NTLM de ocho caracteres en 48 minutos. [9] [10]

Varias publicaciones en el campo del análisis criptográfico han demostrado la eficiencia energética de la tecnología FPGA actual; por ejemplo, el ordenador FPGA Cluster de COPACOBANA consume la misma energía que un solo PC (600 W), pero rinde como 2.500 PC para ciertos algoritmos. Varias empresas ofrecen soluciones de análisis criptográfico FPGA basadas en hardware, desde una sola tarjeta PCI Express FPGA hasta ordenadores FPGA dedicados. [ cita requerida ] El cifrado WPA y WPA2 han sido atacados con éxito por fuerza bruta al reducir la carga de trabajo en un factor de 50 en comparación con las CPU convencionales [11] [12] y unos cientos en el caso de los FPGA.

Una sola placa COPACOBANA con 6 Spartans de Xilinx: un clúster se compone de 20 de estos

El estándar de cifrado avanzado (AES) permite el uso de claves de 256 bits. Descifrar una clave simétrica de 256 bits mediante fuerza bruta requiere 2 128 veces más potencia computacional que una clave de 128 bits. Una de las supercomputadoras más rápidas de 2019 tiene una velocidad de 100 petaFLOPS que, en teoría, podría verificar 100 billones (10 14 ) de claves AES por segundo (suponiendo 1000 operaciones por verificación), pero aún requeriría 3,67 × 10 55 años para agotar el espacio de claves de 256 bits. [13]

Una suposición subyacente de un ataque de fuerza bruta es que se utilizó el espacio de claves completo para generar claves, algo que depende de un generador de números aleatorios eficaz , 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 mediante fuerza bruta se han descifrado , sin embargo , porque se descubrió que el espacio de claves a través del cual buscar era mucho más pequeño de lo que se pensaba originalmente, debido a una falta de entropía en sus generadores de números pseudoaleatorios . Estos incluyen la implementación de Secure Sockets Layer (SSL) de Netscape (descifrada por Ian Goldberg y David Wagner en 1995) y una edición Debian / Ubuntu de OpenSSL que se descubrió en 2008 que tenía fallas. [14] [15] Una falta similar de entropía implementada llevó a la ruptura del código de Enigma . [16] [17]

Reciclaje de credenciales

El reciclaje de credenciales es la práctica de piratería informática de reutilizar combinaciones de nombre de usuario y contraseña obtenidas en ataques de fuerza bruta anteriores. Una forma especial de reciclaje de credenciales es el método de pasar el hash , en el que las credenciales con hash sin sal se roban y se reutilizan sin sufrir un ataque de fuerza bruta previo. [18]

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 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 codificada con un solo uso sometida a un ataque de fuerza bruta eventualmente revelaría cada cadena de 140 caracteres posible, incluyendo la respuesta correcta – pero de todas las respuestas dadas, no habría manera de saber cuál es la correcta. Derrotar un sistema de este tipo, como lo hizo el proyecto Venona , generalmente no depende de la criptografía pura, sino de errores en su implementación, como que los teclados no sean verdaderamente aleatorios, teclados interceptados o operadores que cometan errores. [19]

Contramedidas

En caso de un ataque offline 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 online , los administradores de bases de datos y directorios pueden implementar contramedidas como limitar el número de intentos de contraseña, introducir retrasos de tiempo entre intentos sucesivos, aumentar la complejidad de la respuesta (por ejemplo, exigir una respuesta CAPTCHA o emplear autenticación multifactor ) y/o bloquear cuentas después de intentos de inicio de sesión fallidos. [20] [ página necesaria ] Los administradores de sitios web pueden impedir que una dirección IP en particular intente más de un número predeterminado de intentos de contraseña contra cualquier cuenta del sitio. [21] Además, el marco MITRE D3FEND proporciona recomendaciones estructuradas para defenderse de ataques de fuerza bruta mediante la implementación de estrategias como el filtrado del tráfico de red, la implementación de credenciales señuelo y la invalidación de cachés de autenticación. [22]

Ataque de fuerza bruta inverso

En un ataque de fuerza bruta inverso, se prueba una única contraseña (normalmente común) con varios nombres de usuario o archivos cifrados. [23] El proceso puede repetirse para unas cuantas contraseñas seleccionadas. En una estrategia de este tipo, el atacante no tiene como objetivo a un usuario específico.

Véase también

Notas

  1. ^ Paar, Pelzl y Preneel 2010, pág. 7.
  2. ^ Urbina, Ian (2014). "La vida secreta de las contraseñas. Los nuevos tiempos". The New York Times .
  3. ^ Schrittwieser, Sebastian; Katzenbeisser, Stefan (2011), "Ofuscación de código contra ingeniería inversa estática y dinámica", Ocultación de información , Lecture Notes in Computer Science, vol. 6958, Berlín, Heidelberg: Springer Berlin Heidelberg, págs. 270–284, doi :10.1007/978-3-642-24178-9_19, ISBN 978-3-642-24177-2, consultado el 5 de septiembre de 2021
  4. ^ "Proteja su sitio de ataques de fuerza bruta utilizando el complemento de autenticación anti-martillo de Sebsoft #MoodlePlugins #MoodleSecurity". elearnmagazine.com . e Learn Magazine. 16 de enero de 2016 . Consultado el 27 de octubre de 2022 .
  5. ^ "Configurar Serv-U para protegerse contra ataques de fuerza bruta". solarwinds.com . Solar Winds . Consultado el 27 de octubre de 2022 .
  6. ^ "Ataque de fuerza bruta: definición y ejemplos". www.kaspersky.com . 20 de octubre de 2020 . Consultado el 8 de noviembre de 2020 .
  7. ^ Landauer 1961, pág. 183-191.
  8. ^ Graham 2011.
  9. ^ Rudisail, B. (17 de noviembre de 2022). "Descifrado de contraseñas con GPU de alto rendimiento: ¿hay alguna forma de evitarlo?". Spiceworks . Consultado el 24 de diciembre de 2023 .
  10. ^ Pires, F. (18 de octubre de 2022). «Ocho RTX 4090 pueden descifrar contraseñas en menos de una hora». Future Publishing . Consultado el 25 de diciembre de 2023 .
  11. ^ Kingsley-Hughes 2008.
  12. ^ Camerling 2007.
  13. ^ "Noviembre de 2019 | TOP500 Supercomputer Sites" (Los 500 mejores sitios de supercomputadoras) www.top500.org . Archivado desde el original el 19 de noviembre de 2019 . Consultado el 15 de mayo de 2020 .
  14. ^ Viega, Messier y Chandra 2002, pág. 18.
  15. ^ CERT-2008.
  16. ^ Ellis 2005.
  17. ^ NSA-2009.
  18. ^ "¿Qué es un ataque Pass-the-Hash (PtH)?". BeyondTrust . 4 de agosto de 2023. Archivado desde el original el 15 de mayo de 2024 . Consultado el 23 de junio de 2024 .
  19. ^ Reynard 1997, pág. 86.
  20. ^ Burnett y Foster 2004.
  21. ^ Ristic 2010, pág. 136.
  22. ^ "Implementación de MITRE D3FEND para ATT&CK Technique T1110: Brute Force". D3 Security . Consultado el 19 de junio de 2024 .
  23. ^ "InfoSecPro.com - Consultores de seguridad informática, de redes, de aplicaciones y física". www.infosecpro.com . Archivado desde el original el 4 de abril de 2017 . Consultado el 8 de mayo de 2018 .

Referencias

Enlaces externos