
¿qué tipo de ataques evitaría un captcha?
Ataque ddos
CAPTCHA son las siglas de Completely Automated Public Turing test to tell Computers and Humans Apart. Los CAPTCHAs son herramientas que se pueden utilizar para diferenciar entre usuarios reales y usuarios automatizados, como los bots. Los CAPTCHAs ofrecen retos que son difíciles de realizar para los ordenadores pero relativamente fáciles para los humanos. Por ejemplo, identificar letras o números estirados, o hacer clic en un área específica.
Los CAPTCHAs funcionan proporcionando información al usuario para que la interprete. Los CAPTCHA tradicionales proporcionaban letras y números distorsionados o superpuestos que el usuario tenía que enviar a través de un campo de formulario. La distorsión de las letras dificultaba la interpretación del texto por parte de los robots e impedía el acceso hasta que se verificaban los caracteres.
Este tipo de CAPTCHA se basa en la capacidad de un humano para generalizar y reconocer patrones novedosos basados en una experiencia pasada variable. En cambio, los bots a menudo sólo pueden seguir patrones establecidos o introducir caracteres aleatorios. Esta limitación hace que sea poco probable que los bots adivinen correctamente la combinación adecuada.
Ataque de fuerza bruta
Uno de los usos de los CAPTCHA es hacer frente a los ataques de denegación de servicio. Supongamos que un adversario realiza excesivos intentos de inicio de sesión, dejando a otros usuarios sin poder acceder; el servicio puede exigir la resolución de un CAPTCHA antes de iniciar la sesión. Pero, ¿por qué, en este caso, el servicio CAPTCHA sigue funcionando mientras el servicio de inicio de sesión falla bajo la misma carga de tráfico? ¿Por qué funciona?
Es más fácil/rápido comprobar si un CAPTCHA es correcto que buscar un usuario en la base de datos (esto puede incluir nuevas conexiones, hashing y más). Un servidor primero comprueba el CAPTCHA, si es correcto entonces procesa el resto del ingreso, si no devuelve un error.
CAPTCHA no intenta limitar la velocidad de las conexiones; no pretende proteger el mecanismo de inicio de sesión de los ataques; no es posible que CAPTCHA diferencie entre atacantes y usuarios legítimos.
Lo único que hace -y no muy bien, por cierto- es Distinguir a los ordenadores de los humanos. De hecho, esto podría ser útil para ti, si estuvieras en una realidad tipo Matrix, donde todos los Ordenadores son el enemigo, y todos los Humanos son aliados.
Cómo prevenir los ataques a la capa de aplicación
Los captchas ayudan contra los ataques de fuerza bruta, por ejemplo, alguien que entra en tu foro para votar su personaje de anime favorito en una encuesta, pero los captchas no ayudan contra un ataque a nivel de red, donde un atacante con una red de bots simplemente inunda tu servidor con peticiones http/tcp, haciendo que se caiga.
En resumen, un DDOS a nivel de red no es mitigado por los captchas. Pero se pueden utilizar para cuando quieras limitar la interacción de los bots con tus APIs o tu sitio web, para asegurarte de que sólo los humanos acceden a él. Esto limita el tráfico bombeado a través de sus servidores, y generalmente ayuda con el volumen.
La solución preferida depende de tus recursos (CPUs, ancho de banda, latencia) y del número de iteraciones de hashing utilizadas. También hay que tener en cuenta que los servicios externos de CAPTCHA pueden poner intencionadamente en una lista negra o limitar los servidores que generen demasiado tráfico.
Anti ataque ddos
Uno de los usos de los CAPTCHA es hacer frente a los ataques de denegación de servicio. Supongamos que un adversario realiza excesivos intentos de inicio de sesión, dejando a otros usuarios sin poder acceder; el servicio puede exigir la resolución de un CAPTCHA antes de iniciar la sesión. Pero, ¿por qué, en este caso, el servicio CAPTCHA sigue funcionando mientras el servicio de inicio de sesión falla bajo la misma carga de tráfico? ¿Por qué funciona?
Es más fácil/rápido comprobar si un CAPTCHA es correcto que buscar un usuario en la base de datos (esto puede incluir nuevas conexiones, hashing y más). Un servidor primero comprueba el CAPTCHA, si es correcto entonces procesa el resto del ingreso, si no devuelve un error.
CAPTCHA no intenta limitar la velocidad de las conexiones; no pretende proteger el mecanismo de inicio de sesión de los ataques; no es posible que CAPTCHA diferencie entre atacantes y usuarios legítimos.
Lo único que hace -y no muy bien, por cierto- es Distinguir a los ordenadores de los humanos. De hecho, esto podría ser útil para ti, si estuvieras en una realidad tipo Matrix, donde todos los Ordenadores son el enemigo, y todos los Humanos son aliados.