Learn2ban Herramienta de detección DDoS con características de aprendizaje automático.

Learn2ban es una herramienta de detección DDoS que posee aprendizaje automático.

Con el fin de anotar los registros de entrada, Learn2ban utiliza el sistema de filtrado de expresiones regulares fail2ban para marcar direcciones IP como maliciosas o legítima. Las reglas de expresiones regulares para aplicar pueden ser añadidos a la base de datos learn2ban en la tabla regex_filter.

Con el fin de clasificar las direcciones IP como legítimo o maliciosa Learn2ban tiene en cuenta el siguiente conjunto de características derivadas de los datos de registro HTTP.
Estas características se implementan en Learn2ban/src/features:

  • average_request_interval, esta función considera el comportamiento de un solicitante en términos del número de solicitudes dentro de un intervalo de tiempo dado. Esta es esencialmente la frecuencia con la que un solicitante intenta acceder a un equipo dado. Tiene en cuenta las peticiones en su conjunto, no sólo en términos de una sola página.
  • cycling_user_agent, un ataque DDoS común de redes de bots es cambiar de agente de usuario en varias ocasiones durante un ataque. Esta estrategia puede ser muy eficaz incluso contra las reglas de expresiones regulares más generalizadas. En el contexto de un usuario humano real, o incluso un bot, la rotación de agente de usuario es altamente aberrante.
  • html_to_image_ratio, Esta función considera el tipo de contenido que se está solicitando. Se considera  si un solicitante sólo se recupera contenido HTML, pero no hay datos auxiliares tales como imágenes, CSS o archivos JavaScript.
  • variance_request_interval, Mientras que muchos de los ataques DDoS utilizan un enfoque muy simplista como la fuerza bruta, algunos han incorporado un enfoque ligeramente más sofisticado al hacer explosión de solicitudes con el fin de evitar ser bloqueado por las reglas simples que permiten sólo un cierto número de solicitudes dentro de un marco de tiempo.
  • payload_size_average, esta característica se ve en el tamaño del contenido que un solicitante está solicitando.
  • HTTP_response_code_rate, Se estudia la tasa de respuesta HTTP, mirando sobre todo para los códigos de error que pueden indicar un ataque a la cache de almacenamiento.
  • request_depth, los usuarios del sitio normales con frecuencia suelen navegar más allá de la página principal de un sitio determinado. Los usuarios humanos interaccionan con un sitio web esto nos hace diferenciarlos de una red de bots.
  • request_depth_std, Como un complemento para solicitar profundidad, esta función considera la desviación estándar de la solicitud de un bot.
  • session_length, Esta característica también aclara el comportamiento general teniendo en cuenta la interacción del solicitante con una vista dada en términos de tiempo de la sesión.
  • percentage_consecutive_requests, Para aclarar aún más la interacción del solicitante con un sitio dado, que además, cuenta cómo muchas de las peticiones realizadas fueron consecutivas como otra ventana a la frecuencia.

Learn2ban está diseñado para funcionar en un modo experimental para permitir a los usuarios crear múltiples variaciones de los modelos, en función de su formación de datos y analizar fácilmente la eficacia y precisión de estos modelos.

El usuario debe introducir los nombres de archivo de registro en la tabla de registros, asignar las expresiones regulares que identifican los robots en el registro. Luego diseñar un experimento en la tabla experimentos y asignarle un registro.

Más información y descarga de Learn2ban:
https://github.com/equalitie/learn2ban

Shadow77
#HackNic

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *