What is a brute force attack?

Los ataques de fuerza bruta descifran datos al probar todas las combinaciones posibles, como cuando un ladrón trata de abrir una caja fuerte al intentar todos los números en la cerradura.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Distinguir los ataques de fuerza bruta de los ataques más sofisticados.
  • Definir las fortalezas y debilidades de los ataques de fuerza bruta
  • Explicar la mejor forma de protegerse contra los ataques de fuerza bruta

Copiar enlace del artículo

¿Qué es un ataque de fuerza bruta?

Un ataque de fuerza bruta es un método de prueba y error utilizado para decodificar datos confidenciales. Las aplicaciones más comunes para los ataques de fuerza bruta son descifrar contraseñas y descifrar claves de cifrado (sigue leyendo para obtener más información sobre las claves de cifrado). Otros destinos comunes para los ataques de fuerza bruta son las claves API y los inicios de sesión de SSH. Los ataques de contraseña de fuerza bruta a menudo se llevan a cabo mediante scripts o bots que tienen como destino la página de inicio de sesión de un sitio web.

Lo que distingue los ataques de fuerza bruta de otros métodos de decodificación es que los ataques de fuerza bruta no emplean una estrategia intelectual; simplemente intentan usar diferentes combinaciones de caracteres hasta encontrar la combinación correcta. Esto se asemeja a un ladrón que intenta abrir una caja fuerte combinada al probar todas las combinaciones posibles de números hasta que se abre la caja fuerte.

¿Cuáles son las fortalezas y debilidades de los ataques de fuerza bruta?

Las mayores ventajas de los ataques de fuerza bruta es que son relativamente simples de realizar, y dado el tiempo suficiente y la falta de una estrategia de mitigación para el destino, siempre funcionan. Cada sistema basado en contraseñas y claves de cifrado puede ser descifrado mediante un ataque de fuerza bruta. De hecho, la cantidad de tiempo que lleva acceder por fuerza bruta a un sistema es una medida útil para medir el nivel de seguridad de ese sistema.

Por otro lado, los ataques de fuerza bruta son muy lentos, ya que es probable que deban pasar por cada una de las combinaciones posibles de caracteres antes de lograr su objetivo. Esta lentitud se agrava a medida que aumenta el número de caracteres en la cadena de destino (una cadena es solo una combinación de caracteres). Por ejemplo, acceder a una contraseña de cuatro caracteres por fuerza bruta toma mucho más tiempo que acceder a una contraseña de tres caracteres, y una contraseña de cinco caracteres toma mucho más tiempo que una contraseña de cuatro caracteres. Una vez que el recuento de caracteres supera un cierto punto, acceder por fuerza bruta a una contraseña correctamente aleatorizada se vuelve poco realista.

Tiempos de decodificación por fuerza bruta

If the target string is sufficiently long, then it could take a brute force attacker days, months, or even years to decode a properly randomized password. As a result of the current trend of requiring longer passwords and encryption keys, brute force attacks are quite a bit more difficult. When good passwords and encryption are utilized, attackers typically try other methods of code breaking such as social engineering or on-path attacks.

Cómo protegerse contra los ataques de fuerza bruta

Los desarrolladores que administran los sistemas de autorización pueden tomar medidas como bloquear las direcciones IP que han generado demasiados inicios de sesión fallidos e incorporar un retraso en su software de verificación de contraseñas. Una demora de incluso unos pocos segundos puede debilitar en gran medida la efectividad de un ataque de fuerza bruta.

Users of web services can decrease their vulnerability to brute force attacks by choosing longer, more complex passwords. It is also recommended to enable two-factor authentication and use unique passwords for each service. If an attacker is able to brute force a user’s password for one service, that attacker may try recycling the same login and password on many other popular services. This is known as credential stuffing.

Users should also avoid entering passwords or personal information such as credit card numbers or banking information with any web service that doesn’t protect their data with strong encryption keys.

¿Qué es una clave de cifrado?

Las claves de cifrado son cadenas aleatorias de bits generados para cifrar y descifrar datos. Una vez que los datos han sido cifrados, aparecen como una cadena de caracteres aleatorios mezclados hasta que se descifran con la clave de cifrado correcta. Al igual que las contraseñas, las claves de cifrado se pueden descifrar mediante ataques de fuerza bruta, pero hoy en día se usan claves de cifrado que tomarían tanto tiempo descifrar mediante ordenadores modernos que se consideran no solo buenas sino también indescifrables.

¿Cuál es la diferencia entre el cifrado de 128 bits y el cifrado de 256 bits?

Una clave de cifrado más larga es exponencialmente más segura que una más corta. Por ejemplo, en una clave de cifrado de 128 bits, hay 2128 combinaciones posibles que un atacante de fuerza bruta tendría que intentar. Para el cifrado de 256 bits, un atacante tendría que probar 2256 combinaciones diferentes, lo que requeriría 2128 veces más potencia de cálculo para descifrar que una clave de 128 bits. (2128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 combinaciones posibles).

Para darle una idea de lo que significan estos números, una computadora potente que podría verificar billones de combinaciones por segundo aún requeriría mucho más de un sexdecillón de años para descifrar una clave de cifrado de 256 bits (un sexdecillón es uno seguido de 96 ceros).

Dado que las claves de cifrado de bits alto son prácticamente inmunes a los ataques de fuerza bruta actuales, se recomienda que todos los servicios web que recopilan información del usuario cifren sus datos y comunicaciones al usar claves de cifrado de 256 bits. Cloudflare usa un cifrado de TLS para prevenir ataques de fuerza bruta y ha trabajado en pruebas contra la informática cuántica del futuro.