Los ataques por fuerza bruta descifran datos al intentar todas las combinaciones posibles, como un ladrón que abre una caja fuerte al intentar todos los números de la combinación.
Después de leer este artículo podrás:
Contenido relacionado
¿Qué es un bot?
¿Qué es la gestión de bots?
Apropiación de contenidos
¿Qué es el relleno de credenciales?
¿Qué es robots.txt?
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
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 encriptación (sigue leyendo para obtener más información sobre las claves de encriptación). 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 diferencia los ataques por fuerza bruta de otros métodos de craqueo es que los ataques por fuerza bruta no emplean una estrategia intelectual; simplemente, intentan usar diferentes combinaciones de caracteres hasta encontrar la combinación correcta. Esto es algo así como un ladrón que intenta abrir una caja fuerte con combinación intentando todas las combinaciones posibles de números hasta que la caja fuerte se abre.
Las mayores ventajas de los ataques por fuerza bruta es que son relativamente simples de realizar y, con el tiempo suficiente y la falta de una estrategia de mitigación del objetivo, siempre funcionan. Todos los sistemas basados en contraseña y las clave de encripción pueden ser descifrados mediante un ataque por fuerza bruta. De hecho, el tiempo que lleva el ataque por fuerza bruta en entrar a un sistema es una medida útil para medir el nivel de seguridad de ese sistema.
Por otro lado, los ataques por fuerza bruta son muy lentos, ya que pueden tener que atravesar todas 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 objetivo (una cadena es solo una combinación de caracteres). Por ejemplo, una contraseña de cuatro caracteres le lleva mucho más a un ataque por fuerza bruta que una contraseña de tres caracteres, y una contraseña de cinco caracteres le lleva mucho más tiempo que una contraseña de cuatro caracteres. Una vez que el recuento de caracteres supera un cierto punto, el ataque por fuerza bruta para forzar una contraseña aleatorizada de forma correcta se vuelve poco realista.
Si la cadena de destino es lo suficientemente larga, podría llevarle a un atacante de fuerza bruta días, meses o incluso años decodificar una contraseña correctamente aleatorizada. Como resultado de la tendencia actual de requerir contraseñas más largas y claves de encriptación, los ataques de fuerza bruta son mucho más difíciles. Cuando se utilizan contraseñas y encriptaciones adecuadas, los atacantes suelen probar otros métodos de descifrado de código, como la ingeniería social o ataques en ruta.
Los desarrolladores que administran sistemas de autorización pueden tomar medidas, como el bloqueo de direcciones IP que han generado demasiados inicios de sesión fallidos y la incorporación de un retraso en el software de verificación de contraseña. Una demora de incluso unos pocos segundos puede afectar enormemente la efectividad de un ataque por fuerza bruta.
Los usuarios de servicios web pueden disminuir su vulnerabilidad a los ataques de fuerza bruta al elegir contraseñas más largas y complejas. También se recomienda habilitar la autenticación de 2 factores y usar contraseñas únicas para cada servicio. Si un atacante puede acceder mediante fuerza bruta a la contraseña de un usuario para un servicio, ese atacante puede intentar reciclar el mismo inicio de sesión y contraseña en muchos otros servicios populares. Esto se conoce como relleno de credenciales.
Los usuarios también deben evitar ingresar contraseñas o información personal, como los números de tarjetas de crédito o la información bancaria en cualquier servicio web que no proteja sus datos con claves de encripción seguras.
Las claves de encripción son cadenas aleatorias de bits generados para codificar y descifrar los datos. Una vez que los datos se han codificado, aparecen como una cadena de caracteres aleatorios mezclados hasta que se descifran con la clave de encripción correcta. Al igual que las contraseñas, las claves de encripción se pueden descifrar mediante ataques por fuerza bruta, pero hoy en día hay claves de encripción en uso que tomarían tanto tiempo descifrar usando computadoras modernas que se consideran indescifrables.
Una clave de encripción más larga es exponencialmente más segura que una más corta. Por ejemplo, en una clave de encripción de 128 bits, hay 2128 combinaciones posibles que un atacante por fuerza bruta tendría que intentar. Para la encripción 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 poderosa 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 encripción de 256 bits (un sexdecillón es uno seguido de 96 ceros).
Dado que las claves de encripción de muchos bit son prácticamente inmunes a los ataques por fuerza bruta actuales, se recomienda que todos los servicios web que recopilan información del usuario encripten sus datos y comunicaciones utilizando claves de encripción de 256 bits. Cloudflare usa la mejor encripción TLS para evitar los ataques por fuerza bruta y trabaja para la protección futura contra la computación cuántica.