Cómo reconocer y neutralizar cuatro ataques de alto riesgo
Tras años dedicados a la asistencia en la protección de empresas de varios sectores, ya sabemos reconocer y neutralizar cuatro tipos de ataques habituales. Hoy vamos a analizar estos ataques y las medidas que puedes adoptar para defender tus aplicaciones web y API.
1. Relleno de credenciales
Más del 80 % de todas las violaciones de la seguridad que se producen en la actualidad implican el uso de credenciales robadas para acceder a datos sensibles, según indica el informe elaborado por Verizon «2021 Data Breach Investigation Report». Los atacantes usan estas credenciales para apropiarse de cuentas, acceder a dispositivos privados del Internet de las cosas (IoT) y encadenar ataques consiguiendo direcciones de correo electrónico de recuperación de cuentas. Sin embargo, aunque el relleno de credenciales es la principal táctica de los ataques de apropiación de cuentas, los indicios son distintos a los de los ataques de diccionario o de averiguación de contraseñas mediante fuerza bruta.
En líneas generales, los ataques mediante relleno de credenciales tienden a repartirse por un elevado número de direcciones IP de modo que no parezca que una única fuente está probando un gran número de credenciales robadas. Entre los indicadores de estos ataques, figuran intentos de inicio de sesión desde ubicaciones atípicas, un número creciente o inesperado de intentos de inicio de sesión fallidos o incluso inicios de sesión correctos desde direcciones IP sospechosas.
En lugar de denegar todo acceso, escoge tácticas más calibradas para confirmar si los usuarios que intentan iniciar sesión son legítimos. Por ejemplo, haz obligatoria la autenticación de doble factor; establece un umbral de peticiones sobre acciones clave de autenticación, tales como intentos de inicio de sesión, restablecimientos de direcciones de correo electrónico y peticiones de restablecimiento de contraseñas; y supervisa el volumen de estas peticiones. No dudes en bloquear temporalmente aquellas solicitudes que superen los umbrales esperados y, sobre todo, usa herramientas de seguridad que ofrezcan visibilidad de tipos concretos de eventos de autenticación. Son indispensables para detectar el uso indebido de credenciales.
Tener un grado de flexibilidad como este es especialmente importante para las empresas modernas que se centran en desplegar nuevas funciones, enviar revisiones de código y bloquear ataques a la mayor velocidad posible. Si empleas procesos de DevOps para desarrollar, desplegar y gestionar tus aplicaciones, necesitas integrar un sistema de alerta en tus canales de comunicación para realizar el seguimiento de problemas y correcciones. El uso de una herramienta de seguridad de aplicaciones que aporte feedback en tiempo real al ciclo de DevOps puede marcar la diferencia entre ocuparse de un problema de seguridad en la aplicación en tiempo real o sufrir las consecuencias de una violación de la seguridad.
2. Uso indebido de API
La explosión de las aplicaciones web nativas de móvil y de página única ha puesto a las API en el punto de mira como medio para llegar a los datos. Las aplicaciones se despliegan cada vez más en infraestructuras en la nube y su mantenimiento corre a cargo de grupos de DevOps o desarrollo específicos, por lo que han proliferado las API RESTful y los microservicios. Esta creciente popularidad ha hecho de las API objetivos más atractivos para los atacantes. De hecho, las listas de riesgos de seguridad OWASP Top 10 y API Top 10 para aplicaciones web y API respectivamente recogen los ataques por inyección entre las amenazas de seguridad más importantes.
Los atacantes de fuerza bruta suelen encontrar un servicio de API crítico y sobrecargarlo con peticiones, lo que provoca que la aplicación falle al no poder acceder a un recurso esencial. Los más sutiles buscan formas de usar las API para sus propios fines, robando datos mediante el envío de peticiones que en apariencia son legítimas. Los objetivos son a menudo API que permitan a cualquier persona adivinar identificadores de recursos tales como cuentas de usuario o recompensas de consumidor. Si tu API carece de medidas de seguridad o su mecanismo de autenticación no funciona, es posible que tu sistema esté expuesto a usos indebidos.
Aunque suelen adoptar la apariencia de tráfico legítimo, los ataques contra las API pueden contener patrones extraños, emplear credenciales caducadas o producirse con mucha más frecuencia que el tráfico legítimo. Entre los indicios puede haber volúmenes inusualmente altos de peticiones de API, peticiones de API inválidas, cookies inadecuadas o intentos de conexiones desde dispositivos no fiables. Otra señal de que algo anda mal: peticiones de API que carecen de la autorización adecuada y provienen de áreas geográficas inesperadas o intentan acceder a datos protegidos.
Dado que no es conveniente impedir que los clientes accedan a sus aplicaciones basadas en la nube, la estrategia de mitigación inicial consiste en investigar direcciones IP sospechosas y clústeres de ataques; de este modo, se descubrirán patrones del ataque que luego permitan ejecutar tareas de mitigación más amplias. Usa un WAF que te permita crear reglas con facilidad para bloquear patrones de ataque y accesos a API a partir de direcciones IP o áreas geográficas con las que tu empresa no haga transacciones.
3. Inyección de código SQL
Son muchos los sitios web que se conectan a bases de datos SQL del backend. Puesto que estas son omnipresentes y contienen información valiosa, los atacantes intentan acceder a ellas a través de sitios web. Estos ataques por inyección de SQL permiten revelar datos confidenciales de producto (como información de inventario), recopilar datos de usuarios (como direcciones, números de teléfono y datos de tarjetas de crédito) o robar nombres de usuario y contraseñas.
Para bloquear ataques automáticamente, necesitas una detección muy precisa. Aunque la mera comprobación de coincidencia de patrones permita detectar una inyección de SQL, esta práctica es propensa a devolver falsos positivos y a errar en ocasiones en la detección de nuevos ataques. Es esencial contar con la capacidad de bloquear ataques en función de un umbral de peticiones. Según la cadencia del ataque, te interesará investigar los incidentes a fin de saber si un grupo específico está intentando acceder a tus activos de datos y adoptar seguidamente medidas de seguridad que prevengan esos intentos.
4. Lógica de negocio
En los ataques de lógica de negocio, los atacantes aprenden el funcionamiento de una aplicación e intentan usar indebidamente ciertas partes del diseño de esta para lograr sus objetivos. A menudo aprovechan funciones autorizadas para robar información, lograr acceso a cuentas, provocar interrupciones del servicio o hacer otros usos indebidos de la aplicación de forma accidental.
Por ejemplo, los parámetros enviados a un servidor para mantener el estado de la sesión se podrían someter a ingeniería inversa a fin de conceder mayores privilegios al atacante. Las reglas de los sitios de comercio electrónico que ofrecen descuentos en función de los perfiles de los usuarios se pueden eludir modificando el perfil. Asimismo, un atacante podría manipular la aplicación de una sala de conciertos que guarde las entradas durante cinco minutos para reservar un gran volumen de entradas.
Debido a que usan funciones de aplicaciones legítimas, los ataques de lógica de negocio pueden ser difíciles de detectar. Para que tu empresa esté protegida, deberás realizar un seguimiento de los indicadores de uso indebido de las aplicaciones e implantar controles de aplicaciones que verifiquen entradas que entrañen riesgos, tales como problemas relativos al uso y rendimiento de los recursos o llamadas a API o uso de servicios que presenten anomalías.
Una vez que se haya detectado el ataque, podrás bloquear el uso indebido mediante reglas específicas hasta actualizar la aplicación con las mitigaciones correspondientes. Las mejores herramientas de seguridad te permiten definir reglas en función de las señales extraídas de la interacción aplicación-usuario y de datos externos, como agentes de usuario, parámetros de peticiones, cookies y otros datos vinculados a los atacantes. Si usas estas normas, podrás mejorar tu visibilidad del ataque y definir acciones automatizadas con las que responder a los intentos maliciosos de usar tu aplicación de forma indebida y bloquearlos.
Escoge la mejor herramienta de defensa web
Para tener mayor visibilidad de los ataques dirigidos a tus aplicaciones e infraestructuras en la nube, hacen falta herramientas de seguridad dotadas de opciones de despliegue flexibles que funcionen con herramientas del edge. Así se detectan ataques que, de otro modo, pasarían inadvertidos. Tus ingenieros necesitan la ayuda de datos prácticos para subsanar los fallos y mejorar sus aplicaciones. Además, las mejores herramientas de seguridad web permiten blindarte ante cualquier problema para proteger las aplicaciones, al tiempo que proporcionan a los encargados de la toma de decisiones los datos necesarios sobre posibles ataques. De este modo, todas las partes interesadas entenderán cómo los atacantes tratan de poner tus activos de la capa web al servicio de sus fines delictivos.