Blog

Programadores que conquistan la seguridad: Serie de aprendizaje y difusión - Protección insuficiente contra la automatización

April 4, 2019
Jaap Karan Singh

Imagine que llega a la puerta de un antiguo bar clandestino. La pequeña mirilla de la puerta se desliza y un portero corpulento le pide la contraseña. El visitante potencial no la sabe y hace una suposición. Es incorrecta, así que el portero no le permite entrar.

Eso es lo que sucedería normalmente. Ahora imagine que el visitante que adivinó mal la contraseña lo intenta de nuevo inmediatamente, vuelve a fallar y se le niega el acceso otra vez. Luego, imagine que el visitante abre un diccionario y comienza a leer palabras, empezando por algo como "aardvark" y procediendo a probar cada palabra posible.

Lo más probable es que el portero no permitiera que ese tipo de actividad ocurriera, pero los sitios web y las aplicaciones con una anti-automatización insuficiente hacen exactamente eso. Permiten que los usuarios sigan probando contraseñas, incluso utilizando técnicas de automatización, hasta que finalmente dan con la frase correcta.

En este episodio, aprenderemos:

  • Cómo explotan los atacantes la falta de anti-automatización
  • Por qué son peligrosas las aplicaciones con anti-automatización insuficiente
  • Técnicas para solucionar esta vulnerabilidad.

¿Cómo explotan los atacantes la falta de anti-automatización?

El uso de automatización o ataques de diccionario, como hizo nuestro visitante imaginario del bar clandestino, no es algo nuevo en la ciberseguridad. De hecho, esos ataques de fuerza bruta fueron algunas de las primeras técnicas de hacking que se utilizaron. Y a medida que las computadoras se volvieron más rápidas, se hicieron cada vez más eficientes. Una computadora rápida puede recorrer un diccionario completo de palabras en solo unos minutos, dependiendo de la velocidad de la conexión entre la computadora del atacante y el sistema objetivo.

Ese tipo de ataques automatizados fue la razón por la que se crearon el software y las técnicas de anti-automatización. Esto permite a las aplicaciones determinar si las acciones realizadas por un usuario están fuera de las normas del comportamiento humano típico.

Si una aplicación no cuenta con controles de anti-automatización suficientes, los atacantes pueden simplemente seguir probando contraseñas hasta encontrar una coincidencia. O bien, podrían usar software de automatización para realizar otras acciones, como enviar spam en foros de sitios web.

¿Por qué es peligrosa la falta de anti-automatización?

Permitir que usuarios malintencionados utilicen 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 inicios de la informática hasta hoy es que pueden ser altamente efectivos. Si le da a un programa de automatización una cantidad ilimitada de tiempo para enviar contraseñas sin consecuencias por una suposición incorrecta, eventualmente encontrará la correcta.

Cuando se utilizan en algo como un foro, las oleadas de comentarios obviamente programados pueden frustrar a los usuarios legítimos, 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 podría utilizarse como herramienta para ataques de phishing u otros, con el fin de exponer los señuelos a tantas personas como sea posible.

Cómo solucionar los problemas de falta de anti-automatización

Para solucionar el problema de la falta de anti-automatización, todas las aplicaciones deben tener la capacidad de determinar si las acciones que se están llevando a cabo son realizadas por un humano o por un software de automatización. Una de las técnicas más populares y utilizadas es la Prueba de Turing pública y automática para diferenciar a computadoras de humanos, o CAPTCHA.

El CAPTCHA es básicamente una prueba de Turing, propuesta por primera vez por el científico informático Alan Turing en 1950, mediante la cual el comportamiento humano y el de la computadora pueden separarse e identificarse. Los CAPTCHA modernos presentan problemas que los humanos pueden resolver fácilmente, pero que a las computadoras les cuesta o simplemente no pueden descifrar. Uno popular presenta una foto dividida 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 qué se le pide y, por lo tanto, ni siquiera puede intentar escanear la imagen. Incluso si pudiera, el reconocimiento de imágenes está fuera del alcance de la mayoría de los programas que no han sido creados específicamente para ello.

Otros ejemplos de CAPTCHA incluyen mostrar texto borroso, hacer una pregunta lógica simple o incluso reproducir la pregunta en voz alta. Implementar un desafío CAPTCHA en puntos críticos de una aplicación, como al solicitar una contraseña, puede detener a los programas de automatización en seco.

También es posible detener los programas de automatización simplemente limitando el número de intentos incorrectos desde la misma fuente. Si se envían demasiadas suposiciones erróneas, la cuenta puede bloquearse temporalmente, retrasando así el programa de automatización hasta el punto de inutilizarlo, o incluso requiriendo que un administrador humano la desbloquee. Hacer cualquiera de estas cosas debería prevenir las vulnerabilidades de anti-automatización dentro de una aplicación.

Más información sobre la protección insuficiente contra la automatización

Para profundizar, puedes consultar lo que dice OWASP sobre la protección insuficiente contra la automatización. También puedes poner a prueba tus nuevos conocimientos defensivos con la demo gratuita de la plataforma Secure Code Warrior, que entrena a equipos de ciberseguridad para convertirse en expertos. Para aprender más sobre cómo vencer esta vulnerabilidad y otras amenazas, visita el blog de Secure Code Warrior.

¿Listo para detectar y corregir la protección insuficiente contra la automatización ahora mismo? Pon a prueba tus habilidades en nuestra arena de juego: [Empieza aquí]

Eslogan

Controle el desarrollo impulsado por IA antes de su lanzamiento

Mida el riesgo asistido por IA, aplique políticas de codificación segura en el momento de la confirmación y acelere la entrega segura en todo su ciclo de vida de desarrollo de software (SDLC).

Reservar una demostración
Biblioteca de recursos

Explorar más blogs

Acceda a contenido especializado sobre programación segura, gobernanza de IA y gestión de riesgos de software.

ver todo
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Una cultura de seguridad: cómo Sage creó su programa de defensores

Descubre cómo Sage reforzó su seguridad con un enfoque flexible y centrado en las relaciones, logrando formar a más de 200 expertos en seguridad y alcanzar una reducción de riesgos cuantificable.

Más información
Icono de ventana de navegador con las letras KVK en negrita y dos líneas horizontales azules debajo sobre un fondo azul degradado.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Kamer van Koophandel: Seguridad a escala impulsada por los desarrolladores

La Cámara de Comercio (Kamer van Koophandel) comparte cómo integró la programación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de puntuación de confianza y una cultura de responsabilidad compartida en seguridad.

Más información
Logotipo de Insurance Australia Group con texto y un icono en azul y gris dentro del diseño de una ventana de navegador web.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cómo un «Juego de Códigos» guía a IAG Group hacia un futuro de programación más seguro

IAG Group es la entidad detrás de muchas de las principales compañías de seguros en la región de Asia-Pacífico, que suscribe pólizas para millones de clientes por un valor aproximado de 11.400 millones de dólares australianos en primas anuales.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Mes de la Concienciación sobre Ciberseguridad 2026: Comprender la seguridad de la IA es fundamental para la defensa empresarial

Hemos llegado a un punto en el que la mayoría de las principales empresas de IA han pedido públicamente una ralentización global en el desarrollo de la IA para que las medidas de seguridad puedan ponerse al día, pero la verdad es que ya se han materializado graves problemas de seguridad. Esto deja a innumerables líderes de seguridad y equipos ejecutivos en una situación urgente, a medida que los costes monetarios y de riesgo de la implementación de la IA siguen acumulándose.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Habilitador 8: Branding de su programa

Un programa de codificación segura necesita algo más que un buen contenido para tener éxito. El Habilitador 8 muestra cómo el branding transforma la participación en una experiencia codiciada basada en el estatus.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cada empleado está ahora en la primera línea de la ciberseguridad de la IA

El panorama tecnológico empresarial está cambiando a una velocidad que pocos previeron hasta que fue demasiado tarde. Hemos cruzado oficialmente el umbral del código escrito por humanos y la asistencia básica de copilotos hacia la era del Ciclo de Vida de Desarrollo Agéntico (ADLC). Si bien los agentes de IA autónomos prometen una eficiencia sin precedentes en múltiples funciones, también traen consigo una clase completamente nueva de riesgos regulatorios y de seguridad.

Más información

Proteja el desarrollo basado en IA antes de su lanzamiento

Identifique riesgos de desarrollo, aplique políticas y prevenga vulnerabilidades en todo el ciclo de vida de su software.

Reservar una demostración
No se encontraron elementos.