¿Qué son los ataques de fuerza bruta?
Una de las principales técnicas que utilizan los ciberdelincuentes para vulnerar un sistema son los ataques de fuerza bruta, pero ¿En qué consisten?
Un ataque de fuerza bruta consiste en tratar de averiguar una contraseña o un nombre de usuario, enviando múltiples intentos con la esperanza de acertar.
A pesar de ser un método viejo, este tipo de ataques sigue siendo bastante popular y efectivo
entre los ciberdelincuentes y no es para menos, ya que descifrar una contraseña débil puede tomar
unos pocos segundos e incrementa con la complejidad de la contraseña.
(¿Quieres saber cuánto tiempo le tomaría a un atacante adivinar tu contraseña, visita este articulo (LINK))
¿Cómo protegerse de los ataques de fuerza bruta?
Hay varias defensas que podemos implementar para poder protegernos, unas más complejas que otras y también se puede implementar múltiples medidas para reducir lo más posible el riesgo de sufrir un ataque exitoso ya que los ciberdelincuentes cuentan con herramientas automatizadas, diccionarios de contraseñas, etc.
Autenticación de múltiples factores
La autenticación de múltiples factores, más comúnmente conocida por sus siglas en inglés MFA (Multi-Factor Authentication), es un método de control de acceso en el que a un usuario se le concede acceso al sistema solo después de que presente dos o más pruebas diferentes de que es quien dice ser, puede ser algo que conocen como una contraseña, algo que tienen como un celular o algo que son como un biométrico tipo huella, rostro, retina. Un doble factor ayuda mucho en la protección y te recomiendo activarlo en todas tus cuentas, puesto que en el caso en el que un atacante logre vulnerar tu contraseña el sistema pedirá un factor adicional dificultando así la posibilidad de robar tu cuenta.
Uso del CAPTCHA
Solicitar a un usuario que resuelva un CAPTCHA para cada intento de inicio de sesión puede ayudar a evitar los intentos de inicio de sesión automatizados, lo que ralentizará significativamente un ataque de fuerza bruta, sin embargo, los CAPTCHA no son perfectos y en muchos casos, existen herramientas que se pueden usar para romperlos con una tasa de éxito razonablemente alta.
Política de contraseñas seguras
En ocasiones los usuarios tienden a utilizar datos personales como componentes de su contraseña, esto representa un
riesgo para la seguridad de estas. Si bien, no podemos asegurarnos que los usuarios no sigan recurriendo a esta
práctica, el establecer una política enfocada a la seguridad de las contraseñas implementando los requerimientos
básicos de seguridad añadirá una capa más de protección contra los ataques de fuerza bruta.
¿Cómo crear una contraseña segura?
Es fácil solo debes seguir los siguientes puntos:- Mínimo 9 caracteres cuantos más caracteres, mejor.
- Que sea una combinación de letras mayúsculas y minúsculas.
- Una mezcla de letras y números.
- La inclusión de al menos un carácter especial, por ejemplo: #!@]*(
- Si eres un usuario puedes optar por usar algún gestor de contraseñas como keepass, lastpass o algún otro (evita usar el gestor por defecto de los navegadores).
Bloqueo de cuenta después de intentos fallidos
Implementar un bloqueo de cuenta después de varios intentos fallidos de inicio de sesión no es efectivo, ya que hace que tu servidor sea presa fácil de ataques de denegación de servicio sin embargo se puede optar por bloquear la cuenta por un periodo de tiempo determinado. Déjame explicártelo:
Una cuenta se puede bloquear por 5 minutos después de 10 intentos fallidos, a los siguientes 10 intentos se bloquea por 30 minutos y así sucesivamente, esto significa que las herramientas automatizadas de ataque de fuerza bruta no serán tan útiles, además los administradores no tendrán que lidiar con el desbloqueo de varios cientos de cuentas cada 10 minutos más o menos.
Listado de direcciones IP bloqueadas
Este método se relaciona con el anterior consiste el bloquear una dirección IP en vez de la cuenta del usuario después de varios intentos fallidos, los ataques menos sofisticados suelen utilizar una cantidad relativamente pequeña de direcciones IP al bloquear estas direcciones maliciosas el atacante tendría que estar cambiando de dirección IP cada cierto número de intentos fallidos, la lista de bloqueo debe ser temporal para reducir la probabilidad de bloquear permanentemente a usuarios legítimos.
Además, existen listas de bloqueo en donde se exponen direcciones IP con mala reputación, estas listas están disponibles públicamente y son recopiladas en sitios web cómo AbuseIPDB en función a los reportes de abuso que realizan los propios usuarios.
Requerir JavaScript y bloquear navegadores sin interfaz
La mayoría de las herramientas utilizadas para este tipo de ataques realizarán solicitudes POST directas al servidor y leerán las respuestas, pero no descargarán ni ejecutarán el JavaScript que contenían. Al requerir que el atacante evalúe JavaScript en la respuesta (por ejemplo, para generar un token válido que debe enviarse con la solicitud), obliga al atacante a usar un navegador real con un marco de automatización como Selenium o Headless Chrome, o implementar Análisis de JavaScript con otra herramienta como PhantomJS. Además, hay una serie de técnicas que se pueden usar para identificar Headless Chrome o PhantomJS.
Defensa en profundidad
Los siguientes mecanismos no nos hacen invulnerables frente a un ataque de fuerza bruta; sin embargo, pueden usarse para hacer que los ataques consuman más tiempo o sean técnicamente difíciles de implementar, esto puede ser útil para defenderse de los atacantes oportunistas a los que comúnmente se les conoce “Script kiddie”, que utilizan herramientas estándar y es probable que se desalienten ante cualquier barrera técnica, pero no será suficiente contra un ataque más especializado.
Conclusiones:
Como vimos un ataque de fuerza bruta es muy peligroso para cualquier organización, ya que dependiendo la cuenta que vulnere los ciberdelincuentes podrán acceder a información sensible de la empresa o de los mismos empleados y clientes, por eso es de suma importancia implementar estas medidas para estar más ciber seguros frente a ataques de este tipo.
Escrito Por:
David Islas
Security Engineer