Blog B-SECURE

Identificando al enemigo. ¿Ataque o tráfico legítimo?

shutterstock_198522665-2.jpg

Una importante aerolínea de Estados Unidos, de repente, dejó de vender varias sillas de sus vuelos. Al comienzo parecía un fenómeno normal, pues al hacer compras por Internet es común que los usuarios busquen sus productos, los agreguen al carrito pero nunca hagan la compra. Sin embargo después de un año, este problema empezó a generar pérdidas económicas a la aerolínea, y prendió las alarmas.

Con un análisis exhaustivo, se descubrió que detrás de todo estaban ciber-atacantes quienes a través de bots, actuaban como falsos compradores, reservaban los boletos de avión y no permitían que personas reales llegaran a comprarlos. Por esto a pesar de promociones, cambios de líneas, estrategias de mercadeo y comunicación por diferentes medios no lograban vender todos sus pasajes.

Este tipo de ataques se generaban a finales  del siglo XX desde servidores únicos con software instalado en ellos, generalmente localizados en países como Rusia y otros del este de Europa. La mitigación y contención para estos casos, era relativamente sencilla, pues se basaba en bloquear direcciones IP por geo-referencia. Tiempo después, se dieron a conocer las botnets, equipos controlados, sin el consentimiento de sus dueños, por un centro de comando a través de software instalado. Es decir, los criminales se aprovechan de equipos de terceros para hacer sus ataques. Posteriormente aparecieron las botnets voluntarias, en las que los usuarios permiten que sus equipos pertenezcan a ella y que que son usadas principalmente por hacktivistas.  

Alrededor de 2012, surgieron las botnets basadas en servidores, donde un solo servidor tiene la capacidad de generar el tráfico de cientos de usuarios. Estas son mas poderosas y son usadas para realizar ataques más sofisticados y bien planeados. Lo más preocupante es que las herramientas tradicionales de seguridad no tienen la capacidad de diferenciar los ataques generados por una botnet, del tráfico generado por los usuarios reales.

¿Por qué es importante diferenciar el tráfico?

Los bots son usados para vulnerar aplicaciones web y causar su indisponibilidad. Se usan por lo general para automatizar campañas de spam, espiar a los competidores, realizar ataques de denegación de servicio (DDoS) y/o ejecutar escaneos de vulnerabilidades para comprometer sitios web a gran escala.

Tienen la capacidad de lanzar diversos ataques, ya no simplemente se trata de una denegación de servicio, sino que a través de estos los cibercriminales aprovechan para hacer también ataques de SQL injections, Cross-Site Request Forgery (CSRF), web scraping, web application DDoS, password cracking, comment spammers, clickjacking y DoS floods, entre otros.

Saber diferenciar el tráfico generado de los usuarios reales del tráfico generado por botnets es fundamental para permitir el tráfico legítimo y bloquear el tráfico malicioso, y de esta manera poder disminuir la tasa de falsos positivos, pues las posibilidades de ataque son mayores y al tratarse de ataques multi-vector los cibercriminales tienen las de ganar.

¿Cómo diferenciar el tráfico?

La clave está en establecer una estrategia integral de protección de aplicaciones que combine los esfuerzos que se realizan a través de diferentes tecnologías pues solo de esta forma se puede asegurar una tasa de detección alta que permita afrontar la gran cantidad de amenazas que pueden afectar la disponibilidad e integridad de las aplicaciones. Estas tecnologías deben ayudar a las organizaciones a realizar análisis de comportamiento del tráfico, identificar como interactúa el usuario y hacer detección de huellas digitales.

Por ejemplo, el análisis de comportamiento ayuda a detectar como es el tráfico y cómo se comporta el usuario, aprende los patrones y cantidad de tráfico de red para determinar si existe alguna anomalía. Las huellas digitales funcionan por medio del seguimiento, combinando la información y comportamiento histórico para perfilar los usuarios legítimos e ilegítimos.

Los análisis de las interacciones de usuario crean y envían retos hacía las fuentes sospechosas y basados en su respuesta determina si se trata de un bot o de un usuario real. Uno de estos retos es el mecanismo CAPTCHA, el cual requiere al usuario digitar las letras o números presentes en una imagen distorsionada. El CAPTCHA previene la entrada de bots a ciertos sitios web, y funciona en la medida que los usuarios reales son capaces de reconocer los números y letras, mientras que los bots básicos no pueden hacerlo. También existen otros retos como redirect HTTP y JavaScript cookie, que son efectivos contra bots más sofisticados.

Hoy se evidencia que los bots están más activos que nunca, en gran parte debido a la posibilidad de contratarlos como servicio, se deben tomar las precauciones necesarias y no subestimar su poder.