Los codificadores conquistan la seguridad: serie Share & Learn: antiautomatización insuficiente

Imagina ir a la puerta de un antiguo bar clandestino o club clandestino. El pequeño agujero de la puerta se abre y un corpulento portero le pide la contraseña. El visitante potencial no conoce la contraseña y la adivina. Está mal, así que el portero no les deja entrar.
Eso es lo que ocurriría normalmente. Ahora imagine que el visitante que ha adivinado la contraseña equivocada vuelve a intentarlo de inmediato, se equivoca y se le niega el acceso nuevamente. Luego imagina que el visitante potencial abre el diccionario y comienza a leer palabras, empezando por algo como un oso hormiguero y procediendo a probar todas las palabras posibles.
Lo más probable es que el portero no permita que se lleve a cabo ese tipo de actividad, pero los sitios web y las aplicaciones con una antiautomatización insuficiente hacen precisamente eso. Permiten a los usuarios seguir probando contraseñas, incluso utilizando técnicas de automatización, hasta que por fin se topan con el eslogan adecuado.
En este episodio, aprenderemos:
- Cómo aprovechan los atacantes la falta de antiautomatización
- Por qué son peligrosas las aplicaciones con una antiautomatización insuficiente
- Técnicas que pueden corregir esta vulnerabilidad.
¿Cómo aprovechan los atacantes la falta de antiautomatización?
El empleo de ataques automatizados o de tipo diccionario, como hacía nuestro visitante imaginario de un bar clandestino, no es nuevo en ciberseguridad. De hecho, esos ataques de fuerza bruta fueron algunas de las primeras técnicas de piratas informáticos que se utilizaron. Y a medida que las computadoras crecían más rápido, se volvían más y más eficientes. Un ordenador rápido puede recorrer todo un diccionario de palabras en tan solo unos minutos, según la velocidad de la conexión entre el ordenador atacado y el sistema objetivo.
Ese tipo de ataques automatizados fue la razón por la que se crearon el software y las técnicas antiautomatización. Brinda a las aplicaciones la capacidad de determinar si las acciones tomadas por un usuario están fuera de las normas del comportamiento humano típico.
Si una aplicación no cuenta con suficientes controles antiautomatización, los atacantes pueden seguir adivinando las contraseñas hasta que encuentren una que coincida. O bien, pueden usar un software de automatización para hacer otras cosas, como enviar comentarios de spam a los foros de sitios web.
¿Por qué es peligrosa la falta de antiautomatización?
Permitir que usuarios malintencionados empleen la automatización para intentar eludir la seguridad puede ser peligroso. La razón por la que los ataques de tipo automatizado han persistido desde los primeros días de la informática hasta ahora es que pueden ser muy eficaces. Si le das a un programa de automatización un período de tiempo ilimitado para enviar contraseñas sin consecuencias por una suposición incorrecta, eventualmente encontrará la correcta.
Cuando se usa en algo como un foro, tener oleadas de comentarios obviamente guionados puede frustrar a los usuarios válidos o incluso actuar como una especie de ataque de denegación de servicio al desperdiciar los recursos del sistema. La publicación automatizada también puede usarse como una herramienta para realizar ataques de suplantación de identidad o de otro tipo con el fin de dar a conocer los atractivos al mayor número posible de personas.
Solución de problemas de antiautomatización insuficientes
Para solucionar el problema de la falta de automatización, todas las aplicaciones deben tener la capacidad de determinar si las acciones que se están tomando las implementa un humano o un software de automatización. Una de las técnicas más populares y ampliamente utilizadas es la Prueba pública de Turing completamente automatizada para diferenciar ordenadores de humanos, o CAPTCHA.
El CAPTCHA es básicamente un Prueba de Turing, propuesta por primera vez por el científico informático Alan Turing en 1950, mediante la cual se puede separar e identificar el comportamiento humano del informático. Los CAPTCHA modernos presentan problemas que los humanos pueden resolver fácilmente, pero que los ordenadores tienen dificultades o simplemente no pueden resolver. Una popular muestra una foto separada por una cuadrícula y pide a los usuarios que identifiquen todos los sectores que contienen un elemento específico, como una flor o una cara. La computadora no puede entender lo que se pide y, por lo tanto, ni siquiera puede intentar escanear la imagen. Incluso si pudiera, el reconocimiento de imágenes está más allá de la mayoría de los programas que no están diseñados específicamente para hacerlo.
Otros ejemplos de CAPTCHA incluyen mostrar texto borroso, hacer una pregunta lógica simple o incluso reproducir la pregunta en voz alta. La implementación de un desafío de CAPTCHA en puntos críticos de una aplicación, como cuando se solicita una contraseña, puede detener el avance de los programas de automatización.
También es posible detener los programas de automatización simplemente limitando la cantidad de conjeturas incorrectas de la misma fuente. Si se envían demasiadas conjeturas incorrectas, la cuenta puede bloquearse temporalmente, lo que retrasa el programa de automatización hasta el límite de su utilidad, o incluso puede ser necesario que un administrador humano lo desbloquee. Hacer cualquiera de estas acciones debería evitar las vulnerabilidades antiautomatización dentro de una aplicación.
Más información sobre la antiautomatización insuficiente
Para leer más, puede echar un vistazo a lo que dice OWASP sobre antiautomatización insuficiente. También puedes poner a prueba tus nuevos conocimientos defensivos con el demo gratuita de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.
¿Está listo para encontrar y corregir la falta de antiautomatización ahora mismo? Pon a prueba tus habilidades en nuestro campo de juego: [Empieza aquí]
Govern AI-driven development before it ships
Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.
Explore more blogs
Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

One Culture of Security: How Sage built their security champions program with agile secure code learning
Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

Post-Quantum Cryptography: Quantum Computers Will Break Today’s Encryption – Are You Ready?
Post-quantum cryptography (PQC) is critical for protecting data from quantum computing threats. Learn how “harvest now, decrypt later” exposes risk and how developers can prepare for quantum-safe security.

Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.
Secure AI-driven development before it ships
See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.