30 Nov 23

Optimiza tu data con un sistema de detección de anomalías

Living on the edge

A medida que aumenta el volumen de datos de un sitio web, el análisis manual puede convertirse en una pesadilla. Un sistema de detección de anomalías automatiza y facilita mucho esta tarea estratégica para detectar incidencias o comportamientos sospechosos.

¿Por qué apostar por esta solución?

Empezar preguntando el porqué no es algo habitual, pero me parece una forma tan buena como otra cualquiera. ¿Qué demonios nos ha impulsado a meternos en este lío? Es decir, nuestra plataforma ya hace su trabajo a las mil maravillas, hace que tu sitio web vuele y esté protegido frente ataques en todo momento, ¿realmente hace falta un servicio como este? La respuesta es un rotundo sí.

En una plataforma como la nuestra se mueven una cantidad ingente de información, y la democratización de esos datos no es tarea fácil. Extraer información de esa data puede resultar una tarea compleja, trabajosa e incluso intimidatoria para nuestros clientes, pero para eso estamos aquí nosotros, para ponerles las cosas fáciles.

Los datos son una ventana al conocimiento, en este caso de tu sitio web. Para que tu sitio web siga volando y siendo un fortaleza inexpugnable, tienes que conocer al dedillo qué está pasando. Y, a ser posible, en el mismo momento en que pasa.

¿Qué es la herramienta de detección de anomalías? 

Vaya otra pregunta, le estoy cogiendo el gusto, sigamos respondiendo. 😉

El sistema de detección de anomalías, como su propio nombre indica, es un sistema que trata de encontrar anomalías en el tráfico de tu sitio web y te alerta cuando estas ocurren. Así de simple y complicado.

Suena bien, pero, ¿qué entendemos por anomalía? En contraposición a la negatividad que evoca el término, no tiene por qué ser algo malo necesariamente. Lo que quiero decir es que, dependiendo de la naturaleza de tu sitio web, que tu tráfico se multiplique por diez en un momento dado puede considerarse una anomalía, positiva o negativa pero, en cualquier caso, anomalía. Y, como tal, es importante que estés al tanto que estos eventos ocurren y en el momento que ocurren.

¿Qué hace el sistema de detección de anomalías?

En el momento de escribir esta entrada el sistema contempla seis tipos distintos de anomalías:

  • Incremento en el tráfico. Basándonos en percentiles 95, analizamos el tráfico en busca de un incremento de peticiones o de ancho de banda. Además, intentamos saber si ese pico viene de algo puntual o si se trata de un patrón conocido que se repite de manera sistemática en tu sitio web. 
  • Aumento de la media de request por IP. La detección de este tipo de anomalías se basa en el cálculo de la media de request por IP. Aplicando un algoritmo muy común en ciencia de datos como es la detección de outliers con una distribución normal, detectamos cuando una IP está haciendo un número elevado de requests. En concreto usamos tres veces la desviación estándar de la media para esta detección.  Esta detección, junto con la de tráfico es muy útil para identificar ataques de volumetría como puede ser un DDoS.
  • Descenso significativo de la eficiencia de caché (hit ratio). El sistema detecta cuando hay un cambio abrupto en el hit ratio de tu sitio web. Esto puede ser debido a varios factores, por ejemplo: un cambio en las políticas de cacheo y que, por error, se hayan reducido o eliminado los TTLs de determinados objetos, o que alguien esté intentando atacar tu origen saltándose la caché con parámetros aleatorios. 
  • Incremento de errores 503. En Transparent Edge todos los errores 50x son enmascarados con un status code 503. Por ello tiene sentido para nosotros, y creo que para nuestros clientes, monitorizar este tipo de errores y alertarte cuando estos ocurren. 
  • Escáner de vulnerabilidades. Esta detección alerta cuando algún usuario malintencionado está tratando de escanear tu sitio web en busca de vulnerabilidades en tú código, de manera que cuando esto ocurra puedas tomar decisiones de manera automática o manual. Te alerta incluso cuando el WAF se encuentra en modo detección.
  • Aumento del tiempo de respuesta del origen. Nos alerta cuando la plataforma de origen está tardando en responder y los tiempos de respuesta se disparan por encima de lo normal. Al igual que usamos para detectar el abuso por parte de una IP, esta detección también se basa en  una distribución normal para identificar  esos tiempos de respuesta por encima de lo permitido.

Más ventajas de este nuevo sistema

Este servicio está integrado con otra nueva feature recientemente estrenada que es nuestro sistema de gestión de ACL, de manera que si una IP de confianza está haciendo saltar alguna anomalía, esta puede ser incluida en una lista para que no se tenga en consideración.

Por supuesto, la sensibilidad de estas sondas pueden ser ajustadas desde nuestro panel para adaptarse a las necesidades de tu sitio web y, sobre todo, que la información que enviamos sea útil y que no acabemos en tu carpeta  de spam.

¿Cómo funciona la detección de anomalías?

El sistema de detección de anomalías está basado en nuestra herramienta  de analítica que, como sabes, te permite ver en detalle qué está pasando en tiempo real por tu sitio web.

Como puedes imaginar, mover tantos datos no es fácil y tener una analítica como la nuestra con tanto nivel de detalle es cuanto menos costoso  a muchos niveles.

El sistema de analítica es una gran base de datos fundamentada en Elasticsearch. Ahí enviamos los logs de todos nuestros sistemas en tiempo real con la finalidad de poder explotar esos datos con mayor comodidad, bien desde nuestro panel o para nutrir otras herramientas como la que abordamos hoy.

Para transportar esos logs usamos Filebeat y Kafka. La arquitectura viene a ser parecida a este esquema:

Y el resultado es este:

El servicio de detección de anomalías va asociado a nuestra analítica avanzada, que retiene los datos una semana. Esto supone una gran ventaja en comparación con las cuatro horas de retención que ofrece la analítica básica. Además todos los clientes que cuenten con este sistema dispondrán de una licencia sin coste para activar en uno de los sitios de su company.

Jorge Román es cofundador y director general de Transparent Edge.

Jorge Román es un técnico de sistemas que con los años ha dado paso al CEO que llevaba dentro, o un CEO que con los años ha dado paso al técnico de sistemas que llevaba dentro. No lo tiene muy claro y lo piensa a menudo mientras friega el suelo de la oficina y sirve cafés. El resto del tiempo, dirige la primera CDN de origen español, cría a dos hijas y le sobra tiempo para leer sobre emprendimiento. Lo de dormir ya, lo deja para otra vida.