Saltar al contenido principal

Ataques de fuerza bruta - Cómo descifran contraseñas

Lectura de 2 min aprox.

Un ataque de fuerza bruta es un método de ataque que prueba mecánicamente todas las combinaciones posibles de una contraseña hasta encontrar la correcta. «Brute force» significa «por pura fuerza» y se considera el método más primitivo, pero a la vez más fiable, para descifrar cifrados o vulnerar contraseñas. En teoría, cualquier contraseña puede descifrarse con suficientes recursos de cómputo, pero el tiempo necesario crece exponencialmente según la longitud y la complejidad de la contraseña.

Antecedentes históricos

Los ataques de fuerza bruta han existido junto con la historia del criptoanálisis. El descifrado del cifrado Enigma durante la Segunda Guerra Mundial también contenía, en sentido amplio, elementos de fuerza bruta. A medida que mejoró el rendimiento de las computadoras, en la década de 1990 el cifrado DES (clave de 56 bits) se volvió descifrable por fuerza bruta, lo que impulsó la migración al más robusto AES. Hoy en día, el uso de GPU y de la computación en la nube ha aumentado drásticamente la capacidad de cómputo de los atacantes. A fecha de 2024, las GPU más recientes pueden realizar miles de millones de cálculos de hash por segundo, completando el descifrado de contraseñas cortas en un instante.

La diferencia entre los ataques de fuerza bruta y los ataques de diccionario

Un ataque de fuerza bruta puro prueba todas las combinaciones de caracteres en orden empezando por el primero, mientras que un ataque de diccionario es una variante que da prioridad a probar una lista de contraseñas de uso común. Para contraseñas simples como «password123» o «qwerty», un ataque de diccionario es mucho más rápido. El rociado de contraseñas (password spraying) es un método que prueba un pequeño número de contraseñas comunes contra muchas cuentas, con la característica de que evade fácilmente el bloqueo de cuentas. En los ataques reales, estos métodos se usan combinados.

Tiempo estimado que requiere un ataque

Una contraseña de 6 caracteres que use solo letras minúsculas tiene unas 300 millones de combinaciones y una GPU moderna puede descifrarla en unos segundos. Una contraseña de 12 caracteres que incluya mayúsculas, minúsculas, dígitos y símbolos tiene unos 4,75 trillones de combinaciones y tardaría miles de años o más en descifrarse. Al extenderla a 16 caracteres se obtiene un número astronómico de combinaciones, lo que la vuelve prácticamente imposible de descifrar. Usa la entropía como referencia para generar contraseñas con la fortaleza suficiente.

Puedes conocer los detalles de las técnicas de ataque en libros sobre técnicas de ataque de seguridad (Amazon).

Casos de uso reales

«Durante la respuesta a incidentes del mes pasado, al analizar los registros de un ataque de fuerza bruta, confirmamos más de 500 000 intentos de inicio de sesión por hora. Introducir la limitación de tasa es una prioridad urgente.»

Cómo funciona el ataque

Generar todas las combinaciones de caracteres
Rellenar automáticamente el formulario de inicio de sesión
Evaluar el resultado de la autenticación
Repetir hasta encontrar una coincidencia

Contramedidas eficaces

La contramedida más eficaz contra los ataques de fuerza bruta es usar una contraseña suficientemente larga y aleatoria. Si generas una contraseña aleatoria de 16 caracteres o más con passtsuku.com, descifrarla llevaría una cantidad de tiempo astronómica con el rendimiento actual de las computadoras. Del lado del servicio, son eficaces el bloqueo de cuentas (suspender temporalmente una cuenta tras cierto número de fallos), la limitación de tasa (limitar el número de intentos) y la introducción de CAPTCHA. Si lo combinas con la autenticación de dos factores, evitarás inicios de sesión no autorizados aunque se descifre la contraseña.guías prácticas de defensa cibernética (Amazon) también son útiles para entender las contramedidas.

Términos relacionados

¿Te resultó útil este artículo?

XHatena