ES2581053T3 - Método y sistema para clasificar un mensaje de protocolo en una red de comunicación de datos - Google Patents

Método y sistema para clasificar un mensaje de protocolo en una red de comunicación de datos Download PDF

Info

Publication number
ES2581053T3
ES2581053T3 ES12750857.0T ES12750857T ES2581053T3 ES 2581053 T3 ES2581053 T3 ES 2581053T3 ES 12750857 T ES12750857 T ES 12750857T ES 2581053 T3 ES2581053 T3 ES 2581053T3
Authority
ES
Spain
Prior art keywords
protocol
model
protocol field
field
intrusion detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12750857.0T
Other languages
English (en)
Inventor
Emmanuele ZAMBON
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Security Matters BV
Original Assignee
Security Matters BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Security Matters BV filed Critical Security Matters BV
Application granted granted Critical
Publication of ES2581053T3 publication Critical patent/ES2581053T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

Un método de detección de intrusión para detectar una intrusión en tráfico de datos en una red de comunicación de datos, comprendiendo el método: - analizar (b1) el tráfico de datos para extraer al menos un campo de protocolo de un mensaje de protocolo del tráfico de datos; - asociar (b2) el campo de protocolo extraído con un modelo respectivo para ese campo de protocolo, estando seleccionado el modelo a partir un conjunto de modelos; - evaluar (b3) si unos contenidos del campo de protocolo extraído están en una región segura como se define mediante el modelo; y - generar (b4) una señal de detección de intrusión en caso de que se establezca que los contenidos del campo de protocolo extraído están fuera la región segura, en el que se proporciona una pluralidad de tipos de modelo, caracterizado por que un tipo de modelo para el campo de protocolo extraído se selecciona a partir de la pluralidad de tipos de modelo basándose en una característica del campo de protocolo extraído, y por que el modelo para el campo de protocolo extraído se crea basándose en el tipo de modelo seleccionado.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Metodo y sistema para clasificar un mensaje de protocolo en una red de comunicacion de datos Campo de la invencion
La invencion se refiere al campo de las redes de comunicacion de datos, en particular al campo para clasificar mensajes en redes de comunicacion de datos, por ejemplo a detectar intrusiones maliciosas en tales redes de comunicacion de datos.
Antecedentes de la tecnica
En muchas redes de comunicacion de datos, se despliegan sistemas de deteccion para detectar intrusiones maliciosas. Tales intrusiones comprenden datos desde atacantes u ordenadores infectados que pueden afectar al funcionamiento de los servidores, ordenadores u otro equipo.
Existen dos tipos principales de tales sistemas de deteccion de intrusion: sistemas de deteccion de intrusion basados en firmas y basados en anomalfas.
Un sistema de deteccion de intrusion basado en firmas (SBS) se basa en tecnicas de coincidencia de patrones. El sistema contiene una base de datos de firmas, es decir secuencias de datos que son conocidas a partir de los atacantes del pasado. Estas firmas se coinciden contra los datos probados. Cuando se encuentra una coincidencia, se declara una alerta. La base de datos de firmas necesita actualizarse por expertos despues de que se ha identificado un nuevo ataque.
De manera diferente, un sistema de deteccion de intrusion basado en anomalfas (ABS) en primer lugar crea un modelo estadfstico que describe el trafico de red normal durante una denominada "fase de aprendizaje". A continuacion, durante una denominada "fase de prueba" el sistema analiza datos y clasifica cualquier trafico o accion que se desvfa significativamente del modelo, como un ataque. La ventaja de un sistema basado en anomalfas es que puede detectar ataques de dfa cero, es decir ataques que no se han identificado como tal por los expertos. Para detectar la mayona de los ataques, los ABS necesitan inspeccionar la cabida util del trafico de red. Los metodos existentes estan basados en analisis n-grama, que se aplica en la cabida util del paquete (en bruto) o a porciones de el.
Sin embargo, en algunas redes de comunicacion de datos los datos maliciosos son muy similares a los datos legttimos. Este puede ser el caso en una denominada red SCADA (Supervision, Control y Adquisicion de Datos) u otra Red de Control Industrial. En una SCADA u otra red de Control Industrial los mensajes de protocolo de red se intercambian entre ordenadores, servidores y otro equipo en una capa de aplicacion de la red de comunicacion de datos. Estos mensajes de protocolo pueden comprender instrucciones a maquinas de control. Un mensaje de protocolo con una instruccion maliciosa ("establecer velocidad rotacional a 100 rpm") puede ser muy similar a una instruccion legftima ("establecer velocidad rotacional a 10 rpm").
Cuando los datos maliciosos son muy similares a los datos legttimos, los datos maliciosos pueden clasificarse como datos normales o legttimos mediante el sistema de deteccion de intrusion basado en anomalfas, lo que podna poner en peligro el funcionamiento de ordenadores, servidores y otro equipo en la red.
El documento US2011/167493 desvela una deteccion de anomalfas de red. Se recibe un conjunto de datos de entrenamiento de mensajes de protocolo de comunicacion que tienen cadenas de argumentos. El contenido y estructura asociados con cada una de las cadenas de argumentos se determina y se entrena un modelo probabilfstico usando el contenido y estructura determinados. Se recibe un mensaje de protocolo de comunicacion que tiene una cadena de argumento que se transmite a traves de una red informatica. El mensaje de protocolo de comunicacion recibido se compara al modelo probabilfstico y se determina si el mensaje de protocolo de comunicacion es anomalo.
Sumario de la invencion
Un objeto de la invencion puede ser proporcionar un sistema y/o metodo de deteccion de intrusion mejorado.
De acuerdo con un aspecto de la invencion, se proporciona un metodo de deteccion de intrusion para detectar una intrusion en trafico de datos en una red de comunicacion de datos de acuerdo con la reivindicacion 1
Analizar el trafico de datos permite distinguir campos individuales de un protocolo (denominados como "campos de protocolo") de acuerdo con los que tiene lugar la comunicacion de datos a traves de la red de datos. A continuacion se hace una asociacion (si es satisfactoria) entre el campo ("el campo de protocolo") y un modelo. Para ello, se proporciona un conjunto de modelos. Se selecciona un modelo adecuado para el campo de protocolo extrafdo, como se explicara en mas detalle a continuacion. El campo de protocolo se evalua a continuacion usando el modelo para
5
10
15
20
25
30
35
40
45
50
55
60
65
establecer si los contenidos del campo del protocolo estan en un intervalo normal, seguro, aceptable o no. En el ultimo caso, puede realizarse una accion adecuada. Analizando el mensaje de protocolo, los campos de protocolo individuales de trafico de datos pueden distinguirse, y puede seleccionarse un modelo adecuado para la evaluacion de ese campo de protocolo particular. De esta manera, puede realizarse una evaluacion adecuada, ya que pueden evaluarse diferentes campos de protocolo que aplican diferentes modelos, por ejemplo aplicando cada campo de protocolo un modelo respectivo que se adapta a ese campo de protocolo espedfico, por ejemplo aplicando un modelo que se adapta al tipo y/o contenidos del campo de protocolo. El metodo de deteccion de intrusion de acuerdo con la invencion puede ser un metodo de deteccion de intrusion implementado por ordenador. El analizador (es decir, el analisis) puede hacer uso de una especificacion de protocolo predefinida. Tambien, por ejemplo en caso de que el protocolo sea desconocido, el protocolo puede aprenderse monitorizando el trafico de datos en la red y obteniendo una especificacion de protocolo desde el mismo.
En el contexto de este documento, el termino protocolo puede entenderse como un conjunto de reglas que definen un contenido de alguno o todos los mensajes transmitidos mediante la red de datos. Un protocolo de red puede comprender una definicion de mensajes de protocolo, tambien conocidos como Unidades de Datos de Protocolo (PDU). Un mensaje de protocolo (PDU) puede a su vez comprender uno o mas campos. Puede haber muchos tipos de campos. Un campo puede comprender cualquier otra PDU, o una entidad de dato "atomica" (por ejemplo un numero, una cadena o un objeto opaco binario). Como se describira en mas detalle a continuacion, el protocolo de red puede organizarse como un arbol, en el que los nodos son las PDU y las hojas del arbol son entidades de datos atomicas (campos). Para cada campo (o cada campo relevante) puede proporcionarse un modelo separado. Como un ejemplo, suponiendo que un mensaje de protocolo comprende datos personales de una persona (que comprende por ejemplo nombre, direccion y ajustes personales): un mensaje de protocolo que transmite los datos personales, podna comprender entonces los campos "nombre", "direccion", y "ajustes personales". El campo "nombre" podna por ejemplo comprender a su vez los campos "apellido", "nombre de pila", "nombre de inicio de sesion", etc. El campo "direccion" podna comprender por ejemplo los campos "direccion de casa" y "direccion del trabajo". Los campos "direccion de casa" pueden comprender por ejemplo "calle de direccion de casa", "numero de direccion de casa", "codigo postal de direccion de casa", "ciudad de direccion de casa", mientras que la "direccion de trabajo" puede comprender por ejemplo los campos "calle de direccion del trabajo", "numero de direccion de trabajo", "codigo postal de direccion de trabajo", "ciudad de direccion del trabajo", etc. Puede crearse un modelo separado para cada campo. Por ejemplo podna proporcionarse un modelo separado, respectivo para cada uno de los campos. En una realizacion, puede aplicarse un mismo modelo para un subconjunto de campos, por ejemplo, los campos "ciudad de direccion del trabajo" y "ciudad de direccion de casa" pueden aplicar un mismo modelo.
El termino trafico de datos puede entenderse como que comprende cualquier dato que se comunique mediante la red, tal como un flujo de datos, paquetes de datos, etc. El termino red de datos puede entenderse como que comprende cualquier establecimiento de comunicacion de datos que permite una transmision de datos (por ejemplo digitales). La red puede comprender o estar conectada a una red publica tal como internet, y/o puede comprender una red privada o red virtualmente privada a la que unicamente se permite acceso a usuarios autorizados o equipo autorizado. La transmision puede tener lugar mediante una conexion cableada, una conexion de fibra de vidrio, una conexion inalambrica y/o cualquier otra conexion. El termino modelo puede entenderse como que comprende una regla o conjunto de reglas que se aplican a un campo de protocolo, para evaluar el campo de protocolo. El modelo puede describir mensajes de protocolo normales, legttimos o no intrusivos. Puede entenderse que cuantos mas mensajes de protocolo se usen en la fase de aprendizaje, mejor podra describir el modelo los mensajes de protocolo normales, legttimos o no intrusivos.
El termino intrusion puede entenderse como que comprende cualquier dato que pueda ser no deseado, posiblemente perjudicial para un sistema informatico que recibe los datos, posiblemente perjudicial para una aplicacion que se ejecuta en un sistema informatico conectado a la red de datos, o posiblemente perjudicial para una operacion de un dispositivo, instalacion, aparato, etc. conectado a la red de datos.
En una realizacion, el conjunto de modelos comprende un modelo respectivo para cada campo de protocolo de un conjunto de campos de protocolo. De esta manera, pueden obtenerse resultados mas precisos al igual que puede aplicarse para cada campo de protocolo un modelo espedficamente adaptado a ese campo de protocolo.
En una realizacion, el conjunto de modelos comprende dos modelos para un campo de protocolo, eligiendose uno espedfico de los dos modelos para un campo de protocolo basandose en el valor de otro campo, para aumentar ademas posiblemente una precision de los modelos.
De manera similar, puede realizarse el analisis de secuencia de tiempo en el campo de protocolo en una realizacion en el que el conjunto de modelos comprende al menos dos modelos para un campo de protocolo, estando asociado uno primero de los dos modelos con un primer intervalo de tiempo en el que se observa el trafico de datos, y estando asociado uno segundo de los modelos con un segundo intervalo de tiempo en el que se observa el trafico de datos, el segundo intervalo de tiempo, por ejemplo, no solapando con el primer intervalo de tiempo.
En una realizacion, el modelo para el campo esta determinado en una fase de aprendizaje, comprendiendo la fase de aprendizaje:
5
10
15
20
25
30
35
40
45
50
55
60
65
- analizar el trafico de datos para extraer al menos un campo de protocolo del protocolo aplicado en el trafico de datos;
- asociar el campo de protocolo extrafdo con el modelo para ese campo de protocolo, estando seleccionado el modelo a partir del conjunto de modelos y
- actualizar el modelo para el campo de protocolo extrafdo usando unos contenidos del campo de protocolo extrafdo.
Por lo tanto, el trafico de datos puede observarse en una fase de aprendizaje, y los contenidos de los campos de protocolo extrafdos pueden aplicarse para actualizar los modelos correspondientes con los que estan asociados los campos de protocolo. Si no pudiera realizarse asociacion entre el campo de protocolo extrafdo y uno de los modelos, puede crearse un nuevo modelo para el campo de protocolo extrafdo y anadirse al conjunto de modelos.
Por lo tanto, pueden discriminarse dos fases: una fase de aprendizaje en la que se crea un modelo de mensajes de protocolo. Estos mensajes de protocolo en la fase de aprendizaje pueden construirse basandose en el protocolo de comunicacion o pueden recuperarse a partir de trafico de datos en la red de comunicacion de datos.
Puesto que los mensajes de protocolo pueden describirse por su estructura y los valores de los campos de protocolo, el modelo puede hacer referencia a los campos de protocolo en la fase de aprendizaje y a los valores de los mismos. Diferentes campos de protocolo en la fase de aprendizaje pueden tener un tipo de datos diferente, es decir su valor puede ser un numero (tal como un entero, un numero en coma flotante, etc.), una cadena, un valor booleano o uno binario. Esto puede definirse mediante el protocolo de comunicacion. El modelo puede crearse de acuerdo con el tipo de datos del al menos un campo de protocolo.
El campo de protocolo determinado y/o el valor determinado de dicho campo de protocolo se comparan con el modelo y se clasifican basandose en la comparacion. El mensaje de protocolo puede clasificarse como una anomalfa, es decir, fuera de la region segura definida mediante el modelo (y por lo tanto un posible peligro) basandose en la comparacion.
En la fase de aprendizaje, los mensajes de protocolo que se aplican para aprender el modelo, pueden obtenerse a partir de trafico en la red. Como alternativa, o ademas de lo mismo, pueden aplicarse datos de simulacion. En la fase de aprendizaje, los mensajes de protocolo posiblemente intrusivos pueden distinguirse mediante metodos estadfsticos, es decir los mensajes de protocolo usados con poca frecuencia o mensajes de protocolo que tienen unos contenidos poco comunes, pueden eliminarse antes de usar los mensajes de protocolo para aprender el modelo o modelos. Adicionalmente, o en lugar de lo mismo, un operador puede identificar ciertos mensajes de protocolo como intrusivos, y tales mensajes de protocolo pueden eliminarse antes del aprendizaje, o corrigiendose los modelos en consecuencia.
Pueden aplicarse alternativas para aprender (es decir entrenar) el modelo o modelos, distintas de en la anterior fase de aprendizaje descrita. Por ejemplo, puede obtenerse un modelo a partir de inspeccionar el protocolo y la aplicacion, crear un conjunto de, por ejemplo, mensajes de protocolo a esperar, sus campos y/o los valores de los campos, a partir de ellos, y crear el modelo, o un conjunto de modelos a partir de ellos. Tambien, puede aplicarse una combinacion de tal modelo o modelos de creacion a partir de la inspeccion, con un aprendizaje del modelo o modelos: por ejemplo aprendiendo en primer lugar el modelo o modelos en una fase de aprendizaje, y a continuacion adaptando el modelo o modelos aprendidos basandose en el conocimiento de un comportamiento conocido y aparicion consecuente y/o contenidos de los mensajes de protocolo, sus campos y/o los valores de los campos.
En una realizacion, la senal de deteccion de intrusion se genera adicionalmente cuando el analisis no puede establecer el campo como que cumple con el protocolo, de modo que puede realizarse una accion tambien en caso de que se detecte un campo que no es conforme con el protocolo (por ejemplo un mensaje de protocolo malformado).
En una realizacion, la senal de deteccion de intrusion se genera adicionalmente cuando el campo extrafdo no puede asociarse con ninguno de los modelos del conjunto de modelos, de modo que puede realizarse una accion tambien en caso de que el campo extrafdo posiblemente cumpla con el protocolo, pero para el que no se proporciona modelo adecuado. A menudo, unicamente se usa un subconjunto de los posibles campos de protocolo, por ejemplo en aplicaciones de control, que permite por ejemplo declarar una alerta cuando se ha recuperado un campo de protocolo que cumple con el protocolo pero que normalmente no se aplica.
El metodo puede aplicarse en una diversidad de capas de protocolo. Por ejemplo, el protocolo puede ser al menos uno de un protocolo de capa de aplicacion, un protocolo de capa de sesion, un protocolo de capa de transporte o incluso niveles inferiores de una pila de protocolo de red. Una capa de aplicacion de una red de comunicacion de datos puede definirse mediante el modelo de Interconexion de Sistemas Abiertos (modelo OSI), que se determino mediante la Organizacion Internacional para la Normalizacion. En la capa de aplicacion, el software que se ejecuta en ordenadores o servidores puede comunicar entre sf enviando mensajes de protocolo. Los mensajes de protocolo pueden ser SCADA u otros mensajes de protocolo de redes de Control Industrial, mensajes de protocolo de redes
5
10
15
20
25
30
35
40
45
50
55
60
65
de automatizacion de Windows Office, mensajes de protocolo HTTP, etc.
La comunicacion entre el software puede seguir un cierto protocolo de comunicacion, en el que se define la estructura y posibles valores de (partes de) los mensajes de protocolo. La estructura de un mensaje de protocolo puede describirse adicionalmente mediante los campos de protocolo en los mensajes de protocolo. El software puede no poder procesar los mensajes de protocolo que no estan de acuerdo con el protocolo de comunicacion.
En una realizacion, en respuesta a generar la senal de deteccion de intrusion, el metodo comprende adicionalmente al menos uno de:
- eliminar el campo de protocolo o un paquete de datos que contiene el campo de protocolo; y
- declarar y emitir un mensaje de alerta de intrusion. Puede aplicarse cualquier otra accion de deteccion de
intrusion, tal como por ejemplo aislar el campo de protocolo o un paquete de datos que contiene el campo de protocolo, etc.
En una realizacion, el modelo para el campo de protocolo comprende al menos uno de
- un conjunto de valores de campo de protocolo aceptables, y
- una definicion de un intervalo de valores de campo de protocolo aceptables. En caso de que el campo de protocolo comprenda un valor numerico, puede proporcionarse un modelo sencillo de esta manera que pueda permitir probar el campo de protocolo a una baja carga de procesamiento de datos.
En una realizacion, el modelo para el campo de protocolo comprende
- una definicion de letras, dfgitos, sfmbolos, y guiones aceptables. En caso de que el campo de protocolo comprenda un caracter o cadena, puede proporcionarse un modelo sencillo de esta manera que pueda permitir probar el campo de protocolo a una baja carga de procesamiento de datos.
En una realizacion, el modelo para el campo de protocolo comprende un conjunto de firmas de intrusion
predefinidas, de modo que puede tenerse en cuenta el conocimiento acerca de ataques conocidos. Una
combinacion de un modelo como se ha descrito anteriormente (que comprende por ejemplo un conjunto de valores de campo de protocolo aceptables, una definicion de un intervalo de valores de campo de protocolo aceptables, una definicion de letras, dfgitos, sfmbolos, y guiones aceptables) con el conjunto de firmas de intrusion predefinidas puede ser altamente eficaz, ya que para cada campo espedfico puede aplicarse un modelo de sus contenidos normales en combinacion con una o mas firmas de intrusion espedficas para ese campo.
En una realizacion, el protocolo comprende campos de protocolo primitivos y campos de protocolo compuestos, comprendiendo los campos de protocolo compuestos a su vez al menos un campo de protocolo primitivo, en el que se proporciona un modelo respectivo en el conjunto de modelos para cada campo de protocolo primitivo. Por lo tanto, puede proporcionarse deteccion de intrusion eficaz ya que los campos de protocolo que estan compuestos (es decir campos de protocolo que ellos mismos comprenden campos de protocolo, tales como "direccion" que comprende "nombre de calle", "numero, "codigo postal" y "ciudad"), pueden dividirse en sus campos de protocolo elementales (primitivos), permitiendo aplicar un modelo adecuado a cada uno de los campos de protocolo primitivos.
Puesto que el modelo para el al menos un campo de protocolo en la fase de aprendizaje y/o para el valor del al menos un campo de protocolo en la fase de aprendizaje pueden crearse de acuerdo con el tipo de datos del al menos un campo de protocolo en la fase de aprendizaje, el modelo puede ser mas preciso al describir mensajes de protocolo normales, legttimos o no intrusivos que un modelo que no tenga en cuenta el tipo de datos de los campos de protocolo.
Puede ser el caso de que un modelo optimizado para describir un campo de protocolo con un tipo de datos de numero pueda ser menos preciso al describir (o no aplicable para) un campo de protocolo con un tipo de datos de cadena o binario. Analogamente, un modelo optimizado para describir un campo de protocolo con un tipo de datos de cadena puede ser menos preciso al describir un campo de protocolo con un tipo de datos de numero o binario. Por lo tanto, la precision del modelo puede mejorarse teniendo en cuenta el tipo de datos del campo de protocolo cuando se crea el modelo.
En una realizacion, se proporciona una pluralidad de tipos de modelo, seleccionandose un tipo de modelo para el campo de protocolo extrafdo en la fase de aprendizaje desde la pluralidad de tipos de modelo basandose en una caractenstica del campo de protocolo extrafdo, y creandose el modelo para el campo de protocolo extrafdo basandose en el tipo de modelo seleccionado.
Para obtener un modelo para un campo de protocolo espedfico, pueden realizarse varias etapas. Como se ha explicado anteriormente, puede aplicarse una pluralidad de diferentes tipos de modelo. En primer lugar, se ha de seleccionar un cierto tipo de modelo a partir de un conjunto de tipos de modelo disponibles para el campo de protocolo espedfico. Una vez que el tipo de modelo se ha determinado para un cierto campo de protocolo, puede
5
10
15
20
25
30
35
40
45
50
55
60
65
crearse un modelo para ese campo de protocolo. Como se describe en otras partes en este documento, el modelo puede crearse por ejemplo usando un analisis de trafico de datos en una fase de aprendizaje. La caractenstica del campo de protocolo puede ser cualquier caractenstica adecuada de los datos en el propio campo de protocolo, su significado en el contexto del protocolo, etc. Algunos ejemplos se describiran a continuacion. Adoptando diferentes tipos de modelo es posible tanto aplicar tecnicas de modelado que son espedficas al tipo de diferentes valores de campo como adaptar la region segura de los valores de una manera que es menos o mas restrictiva de acuerdo con el significado, papel e importancia del campo de protocolo en el protocolo o en el contexto al que se aplica el protocolo. En general, diferentes tipos de modelo pueden aplicar diferentes tipos de criterios para establecer si un valor de campo de protocolo particular puede ser intrusivo o no. Por ejemplo, diferentes tipos de modelos pueden aplicar cualquiera de un intervalo de valores, una distribucion numerica de valores, un conjunto de valores, un conjunto de operadores, un conjunto de valores de texto, un conjunto de descripciones de estado, un conjunto o intervalo de caracteres de texto, un conjunto/intervalo de codificaciones de texto, etc. El termino tipo de modelo puede entenderse por lo tanto como un conjunto de operaciones permitidas en un cierto tipo de valor, junto con la heunstica para definir una region segura para valores de un cierto tipo y los criterios para determinar si un cierto valor esta dentro de la region segura.
La seleccion del tipo de modelo puede realizarse en cualquier momento: durante una fase de aprendizaje, asf como durante monitorizacion y deteccion de intrusion. Durante una fase de aprendizaje, puede seleccionarse un tipo de modelo como parte del proceso para crear el modelo para un campo de protocolo particular. Durante la deteccion, si se apareciera que el modelo para un campo de protocolo particular no proporciona resultado coherente, puede elegirse un tipo de modelo diferente.
La seleccion del tipo de modelo puede realizarse usando el tipo de datos del valor o valores de campo de protocolo, y/o la semantica del campo o campos de protocolo analizados. En una realizacion, la caractenstica del campo de protocolo comprende el tipo de datos del campo de protocolo, comprendiendo el metodo:
- determinar el tipo de datos del campo de protocolo extrafdo, y
- seleccionar el tipo de modelo usando el tipo de datos determinado.
El tipo de datos de los valores de campo de protocolo (tales como "numero", "cadena", "serie", "conjunto", etc.) puede extraerse por ejemplo desde las especificaciones del protocolo. Como alternativa, el tipo de datos de los valores del campo de protocolo puede inferirse por ejemplo a partir de observar el trafico de red. En una realizacion, los valores de los campos se infieren por medio de expresiones regulares. Por ejemplo, la expresion regular A[0-9]+$ puede usarse para identificar valores de campo enteros numericos. Eligiendo un tipo de modelo apropiado para coincidir con el tipo de datos de los valores de campo de protocolo, puede obtenerse un modelo que puede dar como resultado resultados de deteccion mas fiables.
La seleccion del tipo de modelo puede adicionalmente o en su lugar estar basada en el tipo de datos del valor del campo de protocolo, basandose en una semantica del campo de protocolo analizado. Por lo tanto, en una realizacion, la caractenstica del campo de protocolo comprende la semantica del campo de protocolo, comprendiendo el metodo:
- determinar la semantica del campo de protocolo extrafdo, y
- seleccionar el tipo de modelo usando la semantica determinada.
La semantica puede asignarse al campo de protocolo analizado. Asignar la semantica puede realizarse de una diversidad de maneras: manualmente durante la fase de aprendizaje, infiriendo a partir de los datos de red observados, extrayendo la informacion desde una especificacion de protocolo, etc. La semantica puede aplicarse para seleccionar un tipo de modelo mas apropiado por ejemplo en caso de que esten disponibles multiples tipos de modelo para un cierto tipo de valor de campo de protocolo. Por ejemplo, para un valor de campo de protocolo de tipo numerico, puede hacerse uso de un tipo de modelo que contenga un intervalo de tales valores de campo de protocolo, un tipo de modelo que contiene un conjunto de valores campo de protocolo, etc. Teniendo en cuenta la semantica, preferentemente teniendo en cuenta tanto el tipo de valor de campo de protocolo asf como la semantica, puede permitir asignar un tipo de modelo apropiado mas adecuado para ese campo de protocolo particular.
Un ejemplo del uso de la semantica puede ser para determinar como de "estricto" esta basado un intervalo numerico en la importancia del campo. En otras palabras, si la semantica del campo de protocolo sugiere que este campo es importante por razones de seguridad, puede aplicarse un intervalo numerico mas estricto que en el caso opuesto, en el que se aplicana un intervalo mas holgado (por ejemplo dos veces el valor maximo y la mitad del valor mmimo observado durante la fase de aprendizaje).
Asignando a un campo de protocolo un tipo de modelo de acuerdo con el tipo de valor de campo de protocolo y/o la semantica de protocolo, puede asignarse un tipo de modelo que tiene en cuenta los contenidos de los datos en el campo de protocolo, que posibilita por lo tanto adaptar el modelo de acuerdo con los contenidos del campo de protocolo. Por ejemplo, si el tipo de campo es entero numerico y la semantica es que este campo contiene la longitud de otro campo, puede seleccionarse un modelo de distribucion de tipo numerica. En el otro extremo, si el
5
10
15
20
25
30
35
40
45
50
55
60
65
tipo de campo es entero numerico y la semantica del campo es tipo de mensaje, entonces puede seleccionarse un modelo de tipo conjunto numerico. Como un tercer ejemplo, si el tipo de campo es entero numerico y la semantica del campo es la velocidad de un motor, entonces puede aplicarse un modelo de tipo intervalo numerico estricto.
En una realizacion, el conjunto de modelos comprende un modelo para un campo de protocolo de operador y un modelo para un campo de protocolo de argumento, realizandose la asociacion y la evaluacion para el campo de protocolo de operador y el campo de protocolo de argumento. Un protocolo puede comprender campos de protocolo que contienen operadores (tales como instrucciones, llamadas, etc.) y campos de protocolo que contienen operandos (es decir argumentos) a los que se aplican los operadores. Se observa que, de acuerdo con una realizacion de la invencion, un modelo respectivo puede estar asociado con campos de protocolo que comprenden operadores asf como con campos de protocolo que comprenden argumentos. De esta manera, por otra parte, no unicamente pueden reconocerse los valores intrusivos de los argumentos, sino tambien posiblemente los operadores intrusivos. Tambien, teniendo en cuenta que el operador permite asignar un tipo de modelo mas apropiado, que permite por lo tanto mejorar la precision de deteccion de intrusion, ya que un operador normalmente sera seguido por uno o mas argumentos que contienen cierto tipo de datos predeterminados.
Adicionalmente, un mensaje de protocolo puede pretenderse como la especificacion de una operacion a realizar en el anfitrion o anfitriones de recepcion como se requiere por el anfitrion de emision. Por consiguiente, un mensaje de protocolo puede comprender campos de operador (es decir la especificacion de que operacion se requiere), campos de argumento (es decir la especificacion de como debena realizarse la operacion) y campos de ordenacion (es decir campos que no estan relacionados directamente con la operacion requerida, pero contienen un parametro necesario por los anfitriones para recibir e interpretar correctamente el mensaje o mas en general para manejar la comunicacion de red). La ordenacion puede entenderse como el proceso de transformar una representacion de memoria de un objeto a un formato de datos adecuado para almacenamiento o transmision, y se usa tfpicamente cuando deben moverse datos entre diferentes partes de un programa informatico o desde un programa a otro.
Por ejemplo, una solicitud de HTTP contiene un campo de metodo (por ejemplo GET, POST, PUT, etc.) que especifica el operador, el campo de URL que contiene argumentos para el metodo (por ejemplo /index.php?id=3) y un numero de campos de encabezamiento (por ejemplo Contentlength: 100) que contienen informacion que no esta relacionada con la propia operacion, pero que se usa por los anfitriones para comunicar (por ejemplo el encabezamiento Content-length: 100 especifica que el cuerpo del mensaje de solicitud es de 100 bytes de largo).
Como otro ejemplo, un mensaje de solicitud Modbus/TCP contiene un campo de codigo de funcion que identifica que operacion se ha de realizar en el dispositivo PLC/RTU de recepcion, un numero variable de registros de datos que especifica los argumentos de la operacion deseada y un numero de otros campos que no estan directamente relacionados con la operacion (por ejemplo el campo de recuento de registro, el campo de longitud de datos, etc.) que son necesarios por el anfitrion de recepcion para entender como analizar el mensaje (por ejemplo cuantos registros se estan enviando).
Los ataques o intentos de intrusion pueden llevarse a cabo inyectando datos maliciosos en cada uno de estos diferentes campos. De manera similar, tales ataques o intentos de intrusion pueden detectarse puesto que los valores de los diferentes campos son diferentes a los normales. Inspeccionar los campos de operador de ordenacion puede aumentar la precision al detectar los ataques o intentos de intrusion. Por consiguiente, en una realizacion, el conjunto de modelos comprende adicionalmente un modelo para un campo de protocolo de ordenacion, realizandose adicionalmente la asociacion y evaluacion para el campo de protocolo de ordenacion.
Por ejemplo, un ataque de desbordamiento de memoria intermedia puede llevarse a cabo inyectando en un campo de cadena mas caracteres que los que la memoria intermedia asigno por el anfitrion de recepcion. Un ataque de este tipo puede detectarse puesto que el campo de cadena contiene valores de caracter no habituales. Por otra parte, puede llevarse a cabo un ataque satisfactorio que unicamente use caracteres textuales perfectamente validos como cabida util maliciosa. El mismo ataque puede a continuacion detectarse puesto que otro campo, que especifica la longitud de cadena es mayor de lo normal: esto sena necesariamente cierto, ya que el valor maximo permitido para una longitud de cadena lfcita sena el tamano de la memoria intermedia asignada por el anfitrion de recepcion.
Adicionalmente, pueden usarse diferentes tipos de modelo espedficos para campos de operador, campos de argumento y campos de ordenacion para aumentar la precision de deteccion o para reducir el numero de alertas irrelevantes generadas. Para campos de operador diferentes, pueden usarse diferentes modelos (del mismo o diferente tipo de modelo). Para diferentes campos de argumento, pueden usarse diferentes modelos (del mismo o diferente tipo de modelo). Para diferentes campos de ordenacion, pueden usarse diferentes modelos (de un mismo o diferente tipo de modelo). Los tipos de modelo pueden seleccionarse basandose por ejemplo en el tipo de datos y semantica como se ha descrito anteriormente.
Se observa que el sistema y metodo de deteccion de intrusion de acuerdo con la invencion puede aplicarse a cualquier tipo de trafico de datos, tal como trafico de datos de texto (es decir un protocolo de texto) o trafico de datos binario (es decir un protocolo binario). En general, la especificacion de protocolos textuales no lleva una descripcion de tipo de la mayona de sus valores de campo. Por ejemplo, la especificacion del protocolo HTTP no asocia un tipo
5
10
15
20
25
30
35
40
45
50
55
60
65
con valores de encabezamiento o valores de parametro, que deben analizarse como cadenas textuales. En tales casos, puede ser necesario inferir el tipo de campo inspeccionando el trafico. Por otra parte, este comportamiento no esta presente en protocolos binarios, en los que las especificaciones necesitan incluir el tipo de todos los campos de protocolo para permitir analisis apropiado. Por esta razon, aplicar la presente tecnica al protocolo binario puede incluso ser mas preciso que aplicarla al protocolo textual, ya que para protocolos binarios se pierde la incertidumbre de inferir tipos de valor de campo. En particular cuando se tiene en cuenta el tipo de datos y semantica del campo de protocolo analizado, puede proporcionarse un significado al flujo de datos binario, en el sentido de que el analisis y seleccion de un tipo de modelo adecuado para cada campo de protocolo basandose en el tipo de datos y/o semantica, permite tener en cuenta los contenidos de los datos binarios. En un protocolo binario, el termino tipo de datos de un campo de protocolo se ha de entender como cuales datos se representan mediante los datos (binarios) en el campo de protocolo: representando los datos binarios por ejemplo otro tipo de datos, tal como un numero, una cadena, etc.
En general, un mensaje de protocolo puede comprender campos de protocolo primitivos y campos de protocolo compuestos. Un campo de protocolo compuesto comprende dos o mas sub campos de protocolo, que puede ser cada uno un campo de protocolo primitivo o un campo de protocolo compuesto. Un modelo para campos de protocolo compuestos puede comprender un contador de las instancias del campo de protocolo observadas en una fase de aprendizaje. En caso de que el campo se observo menor de un numero dado de veces (umbral), observar el campo de protocolo compuesto durante la fase de deteccion puede producir la generacion de una senal de deteccion de intrusion. De acuerdo con la semantica de un campo de protocolo compuesto, su importancia con respecto a la seguridad puede variar. Por lo tanto, la semantica puede usarse para especificar un tipo de modelo diferente o a una sensibilidad diferente del modelo de acuerdo con por ejemplo la importancia de un campo con respecto a la seguridad. Por ejemplo, en caso de un campo compuesto, que no es relevante para la seguridad, el umbral de instancias observadas puede cambiarse para limitar la cantidad de senales de deteccion de intrusion irrelevantes generadas, y por lo tanto mejorar la usabilidad. Adicionalmente, la semantica de un campo compuesto puede propagarse a sus subcampos, para permitir una seleccion mas precisa de tipos de modelo y ajustes de modelo. Por ejemplo, un campo basico de tipo numerico contenido en un campo compuesto que es muy relevante para la seguridad puede asociarse a un modelo de tipo de conjunto numerico, que puede definir una region segura mas estricta de valores que un modelo de tipo de intervalo numerico, y por lo tanto mejorar la precision de deteccion de intrusion.
De acuerdo con otro aspecto de la invencion, se proporciona un sistema de deteccion de intrusion para detectar una intrusion en trafico de datos en una red de comunicacion de datos de acuerdo con la reivindicacion 13.
Con el sistema de acuerdo con la invencion, pueden conseguirse los mismos o efectos similares que con el metodo de acuerdo con la invencion. Tambien, pueden proporcionarse las mismas o similares realizaciones como se ha descrito con referencia al metodo de acuerdo con la invencion, que consigue los mismos o similares efectos. El analizador, motor, manejador de modelo y accionador pueden implementarse por medio de instrucciones de software adecuadas para ejecutarse mediante un dispositivo de procesamiento de datos. Pueden implementarse en un mismo programa de software que se ha de ejecutar mediante un mismo dispositivo de procesamiento de datos, o pueden ejecutarse en dos o mas diferentes dispositivos de procesamiento de datos. Por ejemplo, el analizador puede ejecutarse localmente en una localizacion donde pasa el trafico de datos, mientras que el motor, manejador de modelo y accionador pueden localizarse remotamente, por ejemplo en una localizacion segura. Tambien, los datos desde diferentes sitios pueden monitorizarse, en los cuales por ejemplo puede proporcionarse un analizador en cada sitio, emitir datos desde cada analizador que se envfan a un unico motor, manejador de modelo y accionador.
Se observa que el metodo y sistema anteriormente descritos pueden aplicarse no unicamente para deteccion de intrusion. En su lugar, o ademas de este fin, el metodo y sistema descritos pueden aplicarse para fines de monitorizacion. Por ejemplo, puede monitorizarse el trafico de datos en una red de datos de una entidad, tal como una planta, un centro de datos, etc. Para cada uno o para ciertos campos de protocolo puede definirse un modelo que representa un estado de operacion seguro o deseado. El metodo y sistema como se han descrito pueden aplicarse para detectar un estado fuera de tal estado de operacion seguro. Como alternativa, en lugar de definir un estado de operacion seguro o deseado de antemano, el sistema y/o metodo como se han descrito en este documento pueden aplicarse en la fase de aprendizaje, en la cual los modelos obtenidos en la fase de aprendizaje posibilitan obtener una descripcion de la operacion segun se monitoriza. Los datos transferidos pueden comprender informacion desde la que puede obtenerse un estado de operacion, aplicandose tales datos para aprender los modelos para los campos de protocolo apropiados. Por ejemplo, en una red de datos de una planta, puede transferirse informacion de control que se refiere a una velocidad de motores, una temperatura de reactores, una presion hidraulica, asf como mensajes de error, llamadas de procedimientos, etc. Tales datos pueden usarse, para comparar a modelos predefinidos que definen un estado de operacion deseado o seguro, o para aprender modelos por lo tanto derivar un estado desde los modelos segun se han aprendido. La monitorizacion puede comprender comprobar un estado de "salud" de una planta industrial o red informatica observando los valores de ciertos campos de protocolo (o combinacion de campos de protocolo) que son significativos para los administradores de sistema/red y pueden definir eventos interesantes de la red informatica o de un proceso industrial, etc. Por lo tanto, donde se aplique en este documento el termino intrusion, esto puede entenderse asf como para referirse a monitorizacion
5
10
15
20
25
30
35
40
45
50
55
60
65
tambien.
Breve descripcion de las figuras
Se describiran efectos y caractensticas adicionales de la invencion, a modo de ejemplo unicamente, con referencia a la descripcion y dibujos esquematicos adjuntos a continuacion en los que se desvelan realizaciones no limitantes, en los que:
La Figura 1 representa esquematicamente un ejemplo de una red de comunicacion de datos que comprende un sistema de deteccion de intrusion de acuerdo con una realizacion de la invencion;
La Figura 2 representa esquematicamente una vista general de un sistema de deteccion de intrusion de acuerdo con una realizacion de la invencion;
La Figura 3 representa esquematicamente una vista general de una fase de aprendizaje de un metodo de acuerdo con una realizacion de la invencion;
La Figura 4 representa esquematicamente una vista general de una fase de deteccion de intrusion de un metodo de acuerdo con una realizacion de la invencion;
La Figura 5 representa esquematicamente un diagrama de bloques para ilustrar un sistema de deteccion de intrusion y metodo de acuerdo con una realizacion de la invencion.
Descripcion detallada de la invencion
En la figura 1 se representa una vista general esquematica de un ejemplo de una red de comunicacion de datos con un sistema de deteccion de intrusion para clasificar un mensaje de protocolo de acuerdo con una realizacion de la invencion. En esta red, ordenadores personales (o estaciones de trabajo) 14 y 15 estan conectados con un servidor 13. La red puede estar conectada a internet 16 mediante un cortafuegos 17.
En la red de comunicacion de datos se puede originar una intrusion o un ataque desde internet 16 o desde un ordenador 14, cuando se ha infectado con software malicioso.
La red de comunicacion de datos puede ser una red SCADA u otra red de Control Industrial. En una red de este tipo, la maquinaria 12 puede estar controlada mediante software que se ejecuta en una unidad de terminal remoto (RTU) 11, o en un controlador de logica programable (PLC). El software que se ejecuta en el servidor 13 puede enviar mensajes de protocolo al software que se ejecuta en la RTU 11. El software en la RTU 11 puede enviar mensajes de protocolo a la maquinaria, en la que tambien puede ejecutarse software.
Un usuario puede comunicar con el servidor 13 mediante software que se ejecuta en el ordenador personal 14 o en la estacion de trabajo 15 intercambiando mensajes de protocolo entre el software que se ejecuta en el ordenador personal 14 o en la estacion de trabajo 15 y el software que se ejecuta en el servidor 13.
El sistema de deteccion de intrusion 10 puede estar situado entre la RTU 11 y un resto de la red, como se muestra en la figura 1, o entre la RTU 11 y la maquinaria 12 (no mostrado). El sistema de deteccion de intrusion 10 puede recuperar mensajes de protocolo desde la red de comunicacion de datos, que pueden intercambiarse entre el software que se ejecuta en el ordenador personal 14 o estacion de trabajo 15 y el software que se ejecuta en el servidor 13, entre el software que se ejecuta en el servidor 13 y el software que se ejecuta en la RTU 11 o entre el software que se ejecuta en RTU 11 y el software que se ejecuta en un dispositivo de procesamiento de datos de la maquinaria 12.
Un protocolo de comunicacion puede definirse como una descripcion formal de formatos de mensaje de protocolo digital y las reglas para intercambiar estos mensajes en o entre (software que se ejecuta en) sistemas informaticos. El protocolo de comunicacion puede incluir descripciones para sintaxis, semantica y sincronizacion de comunicacion. Los mensajes de protocolo en una capa de aplicacion en una red de comunicacion de datos pueden contener uno o mas campos, que pueden estar caracterizados por sus tipos de datos. Por ejemplo, un campo puede representar toda la longitud de un mensaje, con un valor de numero o un valor de cadena.
Con mas informacion acerca de los mensajes de protocolo, un modelo que describe el mensaje de protocolo normal, legttimo o no intrusivo puede incluir mas informacion acerca de los valores normales o legttimos de cada campo de protocolo de cada mensaje de protocolo que se intercambia en la red de comunicacion de datos. El modelo puede usarse a continuacion (por ejemplo en tiempo real) para clasificar mensajes de protocolo desde trafico de datos en directo en la red de comunicacion de datos para encontrar anomalfas, es decir algo que se desvfe del comportamiento normal de la red de comunicacion de datos como se describe mediante el modelo.
La Figura 2 muestra una vista general esquematica de una realizacion de un sistema de deteccion de intrusion 10 de acuerdo con una realizacion de la invencion. El sistema de deteccion de intrusion 10 comprende un analizador de protocolo de red 21, dispuesto para recuperar al menos un campo de protocolo en un mensaje de protocolo en (por ejemplo) una capa de aplicacion de la red de comunicacion de datos. En la fase de aprendizaje, los mensajes de protocolo pueden obtenerse desde la red mediante la entrada 25. El analizador de protocolo de red 21 puede usarse
5
10
15
20
25
30
35
40
45
50
55
60
65
durante una fase de aprendizaje opcional asf como durante la operacion normal del sistema de deteccion de intrusion. La informacion acerca del mensaje de protocolo extrafdo puede usarse para transferirse al motor 23.
El sistema de deteccion de intrusion comprende adicionalmente el motor 23, un conjunto de modelos 26 y un manejador de modelo 24. El motor 23 esta dispuesto para asociar el campo de protocolo extrafdo con un modelo de un cierto tipo de modelo segun se selecciona basandose en un tipo de datos y/o semantica del campo de protocolo. Con ello, el motor comprende o tiene acceso a un conjunto de modelos 26. El motor asocia el campo de protocolo extrafdo con un modelo que es espedfico para ese campo de protocolo, por ejemplo espedfico para el tipo de datos de campo y/o semantica. Con ello, el conjunto de modelos 26 comprende diferentes modelos, cada modelo para uno espedfico (o mas) de los campos de protocolo. En una fase de aprendizaje, el motor puede crear, en caso de que no este disponible modelo aun para el campo de protocolo extrafdo, un modelo para el campo de protocolo extrafdo y anadirlo para el conjunto de modelos. La informacion acerca del campo de protocolo extrafdo puede transferirse al manejador 24.
El manejador 24 a continuacion hace una evaluacion sobre si el campo de protocolo extrafdo se ajusta o no al modelo, para evaluar si los contenidos del campo de protocolo extrafdo pueden considerarse o no una intrusion. En la fase de aprendizaje, el modelo puede actualizarse usando los contenidos del campo de protocolo extrafdo. El manejador puede emitir los mensajes mediante la salida 27.
El sistema de deteccion de intrusion puede comprender adicionalmente un accionador 22 para generar una senal de deteccion de intrusion en caso de que el (valor del) campo de protocolo se haya identificado como una intrusion, es decir fuera de la region segura definida mediante el modelo asociado. En respuesta a generar la senal de deteccion de intrusion, puede realizarse una accion de deteccion de intrusion que comprende por ejemplo declarar una alerta, filtrar el paquete de datos o campo de protocolo (eliminando de esta manera por ejemplo el paquete de datos o el campo de protocolo). La senal de deteccion de intrusion puede generarse tambien en caso de que el analizador no pudiera identificar el campo de protocolo (que implicana que el paquete de datos no es conforme con el protocolo), y/o en caso de que el manejador de modelo durante la operacion de deteccion de intrusion no pudiera asociar el campo de protocolo extrafdo con un modelo desde el conjunto (que implicana que el paquete de datos no comprende los campos de protocolo que se transmitieron normalmente).
Para cada campo de protocolo, se usa un modelo espedfico, preferentemente usando un modelo diferente para cada campo de protocolo diferente, de modo que puede realizarse una evaluacion mas optima para cada campo de protocolo, ya que un modelo que esta especializado espedficamente para ese campo de protocolo, puede usarse para evaluacion de ese campo de protocolo.
En una realizacion, los modelos se han creado usando al menos dos tipos de modelo, en el que un primer tipo de modelo de los al menos dos tipos de modelo esta optimizado para (o unicamente funciona para) un campo de protocolo con un primer tipo de datos y en el que un segundo tipo de modelo de los al menos dos tipos de modelo esta optimizado para un campo de protocolo con un segundo tipo de datos. Puede ser el caso de que el primer tipo de modelo este optimizado para un campo de protocolo con uno de un tipo de datos de numero, un tipo de datos de cadena o un tipo de datos binario y el segundo tipo de modelo este optimizado para un campo de protocolo con otro de un tipo de datos de numero, un tipo de datos de cadena o un tipo de datos binario.
Por ejemplo, para el valor de un campo de protocolo A1 con un tipo de datos de numero, puede crearse el modelo M-I-A1 que se pretende para describir valores de numero. Para el valor de un campo de protocolo A2 con un tipo de datos de numero, puede crearse el modelo M-I-A2 que se pretende analogamente para describir valores de numero. Para el valor de un campo de protocolo A3 con un tipo de datos de cadena, puede crearse el modelo M-S-A3 que esta optimizado para o adaptado para describir valores de cadena. Los modelos para diferentes campos de protocolo que tienen el mismo tipo de datos, por ejemplo los modelos M-I-A1 y M-I-A2, pueden crearse usando la misma arquitectura de modelo, pero teniendo unos contenidos diferentes (por ejemplo un intervalo permisible diferente, diferente conjunto de valores permisibles, etc.) para expresar las diferencias entre los campos de protocolo A1 y A2.
Puede entenderse que un modelo con un tipo de modelo para describir valores de numero y un modelo con un tipo de modelo que describe valores de cadena puede ser mejor o mas preciso al describir los valores de un mensaje de protocolo que comprende tanto valores de numero como valores de cadena en sus campos de protocolo, que un unico modelo que estana optimizado para describir todos los valores, tanto valores de numero como valores de cadena, de un mensaje de protocolo.
El sistema de deteccion de intrusion 10 puede estar dispuesto para crear un modelo durante una fase de aprendizaje. El funcionamiento del sistema de deteccion de intrusion 10 y el metodo de acuerdo con las realizaciones de la invencion se describira adicionalmente con referencia a la figuras 3 y 4. La figura 3 ilustra esquematicamente la fase de aprendizaje y la figura 4 ilustra esquematicamente la fase de deteccion de intrusion.
En la figura 3, las etapas de la fase de aprendizaje se han representado esquematicamente: Etapa a1: analizar el trafico de datos para extraer al menos un campo de protocolo de un protocolo aplicado en el trafico de datos. Etapa
5
10
15
20
25
30
35
40
45
50
55
60
65
a2: asociar el campo de protocolo ex^do con el modelo para ese campo de protocolo, estando seleccionado el modelo a partir del conjunto de modelos,
Etapa a3: en caso de que no pueda realizarse asociacion con los modelos existentes del conjunto de modelos, crear un nuevo modelo para el campo de protocolo extrafdo y anadir el nuevo modelo al conjunto de modelos. Etapa a4: actualizar el modelo para el campo de protocolo extrafdo usando los contenidos del campo de protocolo extrafdo.
En general, un mensaje de protocolo puede comprender campos de protocolo primitivos y campos de protocolo compuestos. Un campo de protocolo compuesto comprende dos o mas sub campos de protocolo, que puede ser cada uno un campo de protocolo primitivo o un campo de protocolo compuesto. Un campo de protocolo primitivo no puede dividirse o partirse en mas campos de protocolo. De esta manera un mensaje de protocolo puede decirse que comprende una estructura en arbol de campos de protocolo. Por ejemplo, en un mensaje de protocolo el campo de protocolo compuesto "msg_body" comprende un campo de protocolo primitivo "msg_len" y el campo de protocolo compuesto "msg_data". El campo de protocolo compuesto "msg_data" puede comprender campos de protocolo primitivos "msg_typeA" y "msg_typeB". El termino campo de protocolo en este documento puede hacer referencia a cualquier campo de protocolo primitivo en cualquier nivel de una estructura en arbol de este tipo.
Pueden usarse diferentes tipos de modelo. Por ejemplo, un tipo de modelo del campo de protocolo puede ser por ejemplo uno de: un tipo de modelo de numero, un tipo de modelo de cadena o un tipo de modelo binario. En caso de que se encuentre que el campo de protocolo extrafdo comprende un valor de numero, puede aplicarse un tipo de modelo de numero para ese campo de protocolo. En caso de que se encuentre que el campo de protocolo extrafdo comprende un valor de cadena, puede aplicarse un tipo de modelo de cadena para ese campo de protocolo. Puede ser el caso de que (por ejemplo en protocolo textual), cuando en la fase de aprendizaje el analizador de protocolo de red no puede establecer que el tipo de datos del campo de protocolo es un tipo de datos de numero o un tipo de datos de cadena, se aplica un modelo de tipo de datos binario como un tipo de modelo mas universal.
Como se ha explicado anteriormente, el conjunto de modelos puede comprender un modelo respectivo para cada campo de protocolo. Un modelo para un campo de protocolo con un tipo de datos de numero puede crearse de manera diferente (es decir puede ser de una clase diferente o tener una arquitectura de modelo diferente) que un modelo para un campo de protocolo con un tipo de datos de cadena. Puesto que los modelos pueden optimizarse para cada tipo de datos, el modelo puede ser mas preciso al describir mensajes normales, legftimos o no intrusivos que modelos que no tienen en cuenta el tipo de datos de los campos de protocolo.
Los ejemplos de diferentes clases de tipos de modelo para diferentes clases de tipos de datos se explican a continuacion. Para el tipo de datos numero pueden aplicarse dos tipos de modelo, uno primero para campos de protocolo que representan longitudes y uno segundo para campos de protocolo que representan enumeraciones.
Si el campo de protocolo representa una enumeracion (por ejemplo un conjunto de valores), el modelo puede comprender un conjunto S con todos los valores del campo de protocolo que se han recuperado en la fase de aprendizaje. Despues de empezar con un conjunto vacfo, durante la fase de aprendizaje cada valor que se identifica para el campo de protocolo puede anadirse al conjunto. En la fase de deteccion de intrusion, un mensaje de protocolo puede clasificarse como anomalo, cuando el valor del campo de protocolo determinado correspondiente no es parte por ejemplo del conjunto S.
Si el campo de protocolo representa una longitud, el modelo puede crearse en una aproximacion de la distribucion de los valores del campo de protocolo durante la fase de aprendizaje. Durante la fase de aprendizaje, puede calcularse la media |i y la varianza o2 de la aproximacion de la distribucion basandose en la media de muestra y la varianza de la muestra de todos los valores que se han determinado como un contenido de ese campo de protocolo. Con la media |i y la varianza o2 de la aproximacion de la distribucion, puede calcularse una probabilidad para todos los valores. Durante la fase de deteccion de intrusion, cuando la probabilidad de un valor determinado del campo de protocolo es mas pequena que un umbral dado, el mensaje de protocolo con este valor puede clasificarse anomalo.
Un modelo para un campo de protocolo de tipo booleano puede monitorizar por ejemplo un valor booleano promediado a traves de un numero de muestras y comparar el valor promediado a un umbral predeterminado. Un ejemplo de un modelo de este tipo se describe a continuacion:
Durante la fase de aprendizaje se calcula una probabilidad Pt de que un valor del campo sea verdadero, y se calcula una probabilidad Pf (1-Pt) de que el valor del campo sea falso.
2 - Durante la deteccion de intrusion se considera una secuencia de n muestras para el valor de campo y a continuacion se calcula una probabilidad binomial de observar una secuencia de valores de este tipo, dado Pt y Pf. La probabilidad se compara a continuacion con un cierto umbral t y se declara una alerta si p_sample < t. Por ejemplo, suponiendo que durante la fase de aprendizaje observamos una cantidad igual de valores verdaderos y falsos. Entonces Pt ~ 1/2 y Pf ~ 1/2. Establecemos un umbral de probabilidad para secuencias de 5 valores a 0,1. Ahora, considerando que durante la fase de deteccion de intrusion observamos la secuencia [falso, falso, falso, falso, falso]. La probabilidad binomial de p_sample = P(true=0) = 0,03125 < 0,1. En este caso declaramos una alerta. Un ejemplo de un tipo de modelo para cadenas que pueden manejar cadenas ASCII y Unicode se describe a
5
10
15
20
25
30
35
40
45
continuacion. En primer lugar, se describe un tipo de modelo para cadenas ASCII.
El tipo de modelo para cadenas ASCII comprende dos valores booleanos y una lista. El primer valor booleano (letras) se establece a verdadero si hemos observado letras, el segundo valor booleano (d^gitos) se establece a verdadero si hemos observado d^gitos, y el conjunto (smbolos) rastrea todos los sfmbolos que hemos observado. Dado un campo de cadena s, se define una funcion f(s) que dice si cadena contiene letras, numeros y que sfmbolos. Por ejemplo para la cadena "userName?#!" tenemos:
(letras: verdadero digitos: falso simbolos: {!, #, ? }
Durante la fase de aprendizaje, dada una cadena s el modelo M se actualiza como sigue:
f letras: M. letras V f(s). letras 'j
M - l digitos: M. digitos V f (5). digitos >
(. simbolos: M. simbolos U f(s). simbolos J
Los caracteres de la cadena se evaluan uno despues del otro. Para cada caracter el motor verifica el tipo, y en caso de que el caracter sea cualquiera de una letra o un dfgito, el motor actualiza el modelo en consecuencia ajustando la bandera correspondiente a "verdadero". En caso de que el caracter actual sea un sfmbolo, se anade al conjunto de simbolos actual. En caso de que el sfmbolo este ya presente, no se anade dos veces.
Durante la fase de deteccion de intrusion, dada una cadena s, puede declararse una alerta si:
(f(s). letras A ~\M. letras )V
(f(s). digitos A -1M. digitos ) V
(/(s). simbolos $£ M. simbolos )
Los caracteres de la cadena se evaluan de nuevo uno despues del otro. El proceso de verificacion es directo. Si el caracter actual es cualquiera de una letra (o un digito), el motor verifica esos caracteres de letra (o digitos) que se han observado antes para el campo dado. Cuando esta verificacion falla, se declara una alerta. En caso de que el caracter sea un sfmbolo, el motor verifica que el sfmbolo dado se haya observado antes. Cuando esta verificacion falla, se declara una alarma.
En un principio, el modelo M se define como sigue:
imagen1
imagen2
Otro ejemplo de un tipo de modelo para cadenas, como puede usarse para cadenas Unicode, se describe a continuacion. Para cadenas Unicode, la tecnica de modelado y deteccion puede ser similar al modelado para las cadenas ASCII. Los caracteres Unicode que no son ASCII se tratan como letras ASCII, es decir si una cadena contiene un caracter Unicode, el valor booleano "letras" se establece a verdadero. Ademas se memoriza el conjunto de los guiones Unicode (por ejemplo Latin, Cirilico, Arabe) como se observa durante la fase de aprendizaje. Con esta informacion adicional se detecta, por ejemplo, si estan presentes caracteres Unicode extranos (que probablemente pertenecen a un guion diferente del observado en la fase de aprendizaje) en una cadena.
En algo mas de detalle, dado un campo de cadena Unicode s, definimos una funcion f'(s) que dice si la cadena contiene letras, numeros, que simbolos y que guiones Unicode. Por ejemplo, para la cadena "mu3soafa?#!" tenemos:
5
10
15
20
25
30
35
40
45
50
55
60
imagen3
Para cadenas Unicode se inicializa el modelo M y se actualiza realizando las mismas o similares operaciones que para cadenas ASCII y manejando los "guiones" de campo adicionales, de manera similar al campo "s^bolos".
Algun ejemplo adicional de un tipo de modelo para campos de protocolo binario se proporciona a continuacion:
Para el tipo de datos binario puede aplicarse un modelo a partir de sistemas de deteccion de intrusion basados en anomalfas conocidos basandose en un analisis de la cabida util.
Un ejemplo del modelo binario esta basado en analisis de 1-grama. Un n-grama en una secuencia de n bytes consecutivos.
Dado un campo binario b de longitud I bytes, calculamos en primer lugar un vector f que contiene la frecuencia relativa de cada byte. En otras palabras, dado un valor de byte v, el elemento de f que corresponde a v se proporciona mediante:
imagen4
Durante la fase de aprendizaje, se aplica un vector de frecuencias relativas para calcular una desviacion media y tfpica para cada valor de byte. Por lo tanto, dada una secuencia de n campos binarios b1..bn, y sus vectores asociados de frecuencia de byte relativa (f1..fn), se calculan dos vectores |i y a que contienen respectivamente la desviacion media y tfpica de cada valor de byte (desde 0 a 255). Estos dos vectores en este ejemplo forman el modelo binario.
Durante la fase de prueba, dado un valor de campo binario s, un vector asociado de frecuencias relativas fs se calcula en primer lugar. A continuacion, una funcion apropiada F (por ejemplo una distancia Euclfdea normalizada) se aplica para determinar una distancia entre fs y el modelo como se crea durante la fase de aprendizaje. Si la distancia resultante supera un umbral predeterminado, puede declararse una alerta.
Puede obtenerse una version mas precisa del modelo anteriormente descrito dividiendo el conjunto de valores de aprendizaje b1..bn en subconjuntos. Para dividir el conjunto de aprendizaje en subconjuntos puede aplicarse un algoritmo de agrupacion, tal como un Mapa de Auto Organizacion (SOM), en los valores de entrada (b1..bn). Un modelo separado (es decir el par de serie |i, a) puede crearse a continuacion para cada subconjunto.
Durante la fase de deteccion de intrusion, se ejecuta un algoritmo de agrupacion en el valor o valores de campo binario. La prueba como se ha descrito anteriormente puede aplicarse a continuacion en el modelo asociado a la agrupacion resultante.
Un tercer ejemplo de un modelo binario es un denominado emulador de red. Un emulador de red es un algoritmo que puede determinar si estan contenidas instrucciones ejecutables peligrosas dentro de un conjunto de bytes. Dada una secuencia de bytes, el algoritmo traduce en primer lugar valores de bytes existentes en las instrucciones de ensamblaje relativas (desensamblaje). Posteriormente, intenta encontrar secuencias de instrucciones que pueden reconocerse como peligrosas o sospechosas (por ejemplo secuencias largas de instrucciones NOP, que se encuentran tipicamente dentro de codigos de interprete de comandos maliciosos de ataques conocidos). En caso de que se encuentren tales secuencias, se declara una alerta. Observese que este tipo de modelo binario no requiere una fase de entrenamiento.
En caso de que un campo binario contenga un denominado Objeto Grande Binario (BLOB) en el que los datos se organizan de acuerdo con una estructura que no esta especificada en la especificacion de protocolo de red, el mismo enfoque descrito en este documento puede aplicarse para dividir adicionalmente el BLOB en sus campos constituyentes, hasta que se extraigan y procesen los campos basicos (por ejemplo campos numericos, campos de cadena, campos de booleano, etc.). Por ejemplo, un campo de protocolo binario puede contener una imagen GIF o JPEG, para la que existe una especificacion, pero tal especificacion no es parte de la propia especificacion de protocolo de red. En este caso, la especificacion de las imagenes GIF o JPEG podna usarse para dividir adicionalmente el valor de campo en sus campos constituyentes basicos. Un modelo puede a continuacion seleccionarse y crear en consecuencia los campos constituyentes del objeto. Ocurre otro caso de este tipo cuando el campo binario contiene una region de memoria entera de uno de los anfitriones que comunican (por ejemplo los mapas de memoria de PLC intercambiados como parte del protocolo Modbus). La estructura de esta region de memoria puede definirse en otros documentos (por ejemplo en las especificaciones de distribuidor de PLC), o puede
5
10
15
20
25
30
35
40
45
50
55
60
65
inferirse observando suficientes muestras de datos. Tal informacion puede usarse para dividir adicionalmente la region de memoria en sus campos basicos que podnan procesarse a continuacion de acuerdo con las tecnicas ilustradas en este documento.
Adicionalmente, para el tipo de datos de cadena puede aplicarse un modelo como se describe en "Bolzoni, D. y Etalle, S. (2008), Boosting Web Intrusion Detection Systems by Inferring Positive Signatures. In: Confederated International Conferences On the Move to Meaningful Internet Systems (OTM)". Para el tipo de datos binario puede aplicarse un sub-modelo a partir de sistemas de deteccion de intrusiones basados en anomalfas basandose en el analisis de la cabida util. Un ejemplo puede encontrarse en "Anomalous payload-based network intrusion detection" (RAID, paginas 203-222, 2004) por Ke Wang y Salvatore J. Stolfo. En este trabajo los autores presentan un sistema, denominado PAYL, que aprovecha el analisis n-grama para detectar anomalfas. Un n-grama en una secuencia de n bytes consecutivos. La frecuencia relativa y desviacion tfpica de 1-gramas (secuencias de 1 byte) se analizan y almacenan en modelos de deteccion creados durante la fase de aprendizaje. A continuacion, en la fase de deteccion de intrusion, se selecciona un modelo apropiado (usando el valor de longitud de la cabida util) y se usa para comparar el trafico entrante.
Otro ejemplo puede encontrarse en "POSEIDON: a 2-tier Anomaly-based Network" (IWIA, paginas 144-156. IEEE Computer Society, 2006) por Damiano Bolzoni, Emmanuele Zambon, Sandro Etalle, y Pieter Hartel. En este artfculo los autores crean en la parte superior de PAYL un sistema mejorado descartando la longitud de la cabida util para seleccionar (y crear) los modelos de deteccion, pero usa en su lugar una red neural que pre-procesa los datos de cabida util y cuya salida se usa para seleccionar el modo de deteccion apropiado.
Puede encontrarse un ejemplo mas adicional en Michalis Polychronakis, Kostas G. Anagnostakis, y Evangelos P. Markatos. Comprehensive Shellcode Detection using Runtime Heuristics. In Proceedings of the 26th Annual Computer Security Applications Conference (ACSAC). Diciembre de 2010, Austin, TX, Estados Unidos. En este artfculo los autores presentan un "emulador de red". Este componente de software implementa heunstica y simula mediante software una CPU ffsica. El emulador de red puede ensayar si los datos de entrada contienen codigo ejecutable (y danino). En una realizacion, el proceso de analisis puede comprender las etapas de:
i) recoger paquetes de datos desde la red de comunicacion de datos;
ii) desfragmentar paquetes de IP;
iii) reensamblar segmentos de TCP;
iv) recuperar datos de aplicacion; y
v) recuperar mensajes de protocolo.
Como se ha establecido anteriormente, es posible seleccionar diferentes tipos de modelo de acuerdo con la semantica del campo al que esta asociado el modelo. Es tambien posible ajustar uno o mas parametros de modelo (espedfico a cada tipo de modelo) de acuerdo con la semantica para ampliar o reducir la region segura definida mediante el modelo. En este punto se proporcionan algunos ejemplos para usar la semantica de campo para seleccionar el tipo de modelo o para ajustar los parametros de modelo.
En caso de un campo numerico que representa el tipo de mensaje de protocolo, puede usarse un modelo de tipo de enumeracion numerica. Un tipo de modelo de este tipo asegura que unicamente los tipos de mensajes enumerados en el modelo se definen como la region segura. En caso de que el modelo se cree automaticamente durante una fase de aprendizaje, todos los tipos de mensajes observados se consideran como seguros. En caso de que el modelo se cree manualmente, el conjunto de mensajes permitidos puede crearse de acuerdo con poltticas de seguridad espedficas. Por ejemplo, una polftica de seguridad puede imponer que unicamente se realicen las operaciones de lectura en un cierto anfitrion. En este caso el conjunto de mensajes permitidos contendnan unicamente mensajes lefdos.
En caso de un campo numerico que representa la velocidad de un motor, en el contexto de proceso industrial, puede usarse un modelo de intervalo numerico. Un tipo de modelo de este tipo permite asegurar que la velocidad de motor no se establecera a un valor inferior o superior que lo que se considera seguro. En caso de que se cree el modelo automaticamente durante una fase de aprendizaje, los valores irunimos/maximos permitidos pueden establecerse a las velocidades mmimas/maximas observadas durante la fase de aprendizaje (intervalo exacto). En caso de que el modelo se cree manualmente, los valores de intervalo mmimo y maximo pueden establecerse basandose en las especificaciones tecnicas del motor, para asegurar que la velocidad permanece en condiciones de operacion tolerables.
En caso de que un campo numerico que representa la longitud de un campo relacionado con la seguridad (por ejemplo la longitud de una memoria intermedia de cadena), puede usarse un modelo de tipo de distribucion numerica. Ademas, puesto que el campo es muy relevante para la seguridad, ya que puede ser el objetivo de un ataque de desbordamiento de memoria intermedia, puede establecerse un umbral de alta probabilidad. De esta manera, el area segura definida mediante el modelo se restringe a valores que tienen una alta probabilidad de estar generados mediante la misma distribucion numerica observada durante una fase de aprendizaje. En otras palabras, si el valor de campo de longitud es demasiado grande con respecto a lo que se observo anteriormente durante la
5
10
15
20
25
30
35
40
45
50
55
60
65
fase de aprendizaje, el valor se considera como anomalo, y por lo tanto un posible ataque. Por ejemplo, el codigo de interprete de comandos usado para llevar a cabo un ataque de desbordamiento de memoria intermedia puede ser mayor que el contenido normal de la memoria intermedia, generando por lo tanto un valor anomalo para el campo de longitud de memoria intermedia.
En caso de un campo de cadena que representa un nombre de persona, puede seleccionarse un modelo de tipo cadena y el umbral por defecto para el numero de caracteres de sfmbolo no incluidos en el modelo puede establecerse a un nivel muy bajo. Puesto que el nombre de una persona no se espera que contenga muchos sfmbolos, ajustar el umbral por defecto a un nivel muy bajo asegura que se genere una senal de deteccion de intrusion inmediatamente en el caso de que el valor observado contenga sfmbolos que estan presentes en el modelo. Esto puede ser el caso de un denominado ataque de inyeccion de SQL que aprovecha los caracteres especiales tales como las comillas sencillas o dobles, comas, etc.
La Figura 4 representa esquematicamente las etapas del proceso de deteccion de intrusion: etapa b1: analizar el trafico de datos para extraer al menos un campo de protocolo de un mensaje de protocolo del trafico de datos, etapa b2: asociar el campo de protocolo extrafdo con un modelo para ese campo de protocolo, estando seleccionado el modelo a partir un conjunto de modelos, etapa b3: evaluar si unos contenidos del campo de protocolo extrafdo estan en una region segura como se define mediante el modelo, y etapa b4: generar una senal de deteccion de intrusion (por ejemplo seguido por filtrar el campo de protocolo extrafdo o mensaje de protocolo que comprende el campo de protocolo, generar una alarma a un usuario, o cualquier otra accion de deteccion de intrusion) en caso de que se establezca que los contenidos del campo de protocolo extrafdo estan fuera de la region segura.
En una realizacion, la senal de deteccion de intrusion puede generarse adicionalmente cuando el analisis no puede establecer el campo como que cumple con el protocolo o cuando el campo extrafdo no puede asociarse con ninguno de los modelos del conjunto de modelos.
La Figura 5 representa esquematicamente, como un ejemplo, una vista general de conceptos propuestos en esta solicitud de patente. El proceso se inicia con el analisis del trafico de red (500) para extraer al menos un campo de protocolo de un mensaje de protocolo. La segunda etapa comprende asociar el campo de protocolo extrafdo con un modelo para ese campo de protocolo (501), estando seleccionado el modelo a partir un conjunto de modelos. El conjunto de modelos puede comprender diferentes tipos de modelo, el conjunto de modelos se representa en la Figura 5 mediante 513. La seleccion del tipo de modelo para un campo de protocolo extrafdo puede accionarse mediante tanto el tipo de valor de campo de protocolo (representado mediante 511) y la semantica asociada al campo de protocolo (representado mediante 512). El conjunto de diferentes tipos de modelo (513) se proporciona tambien como entrada, los diferentes tipos de modelo pueden incluir un modelo de intervalo numerico, un modelo de conjunto numerico (enumeracion), un modelo de distribucion numerico, un modelo de cadena ASCII, un modelo de cadena Unicode, un modelo booleano, un modelo binario basado en n-grama, un emulador de red, un conjunto de firmas de deteccion de intrusion, etc. El proceso para asociar un campo de protocolo analizado con su correspondiente modelo (de un cierto tipo de modelo) puede mejorarse tambien teniendo en cuenta la dependencia de un campo que describe una operacion con un campo que describe un argumento de tal operacion (como se representa mediante 509). Mas en general, cualquier dependencia de un valor de campo sobre un valor de otro campo (como se representa mediante 510) puede tenerse en cuenta cuando se asocia un campo de protocolo analizado con su modelo correspondiente, de tal manera que se crean multiples modelos para el mismo campo de acuerdo con el valor de otro campo en el mismo mensaje. En una fase de aprendizaje, en caso de que un modelo del tipo de modelo seleccionado no exista para un campo de protocolo analizado, tal modelo puede crearse (etapa
515) . De manera similar, en caso de que un modelo ya exista, el modelo puede actualizarse en una fase de aprendizaje para incluir el valor de campo analizado actual en la region segura definida mediante el modelo (etapa
516) . En caso de que el analisis no pueda establecer un campo observado en los datos de red como que cumple con la especificacion del protocolo, puede generarse una senal de deteccion de intrusion (etapa 508). Durante la fase de deteccion, en caso de que no sea posible asociar al campo analizado un modelo existente del tipo de modelo seleccionado, puede generarse una senal de deteccion de intrusion (etapa 504). Por otra parte, en caso de que sea posible asociar el campo analizado un modelo existente del tipo de modelo seleccionado, el valor de cambio se evalua con respecto a la region segura definida mediante el modelo (etapa 503). En caso de que el valor de campo de protocolo analizado no este dentro de la region segura definida mediante el modelo, puede generarse una senal de deteccion de intrusion (etapa 505). Finalmente, en caso de que se genere una senal de deteccion de intrusion debido a alguna de las razones anteriormente descritas, pueden tomarse etapas adicionales, tales como eliminar del trafico de red el mensaje de protocolo asociado con el campo de protocolo con valor anomalo (etapa 506), o declarar y emitir un mensaje de alerta de intrusion (etapa 507).
Se ha de entender que las realizaciones desveladas son meramente ejemplares de la invencion, que pueden realizarse en diversas formas. Por lo tanto, los detalles estructurales y funcionales espedficos desvelados en el presente documento no se han de interpretar como limitantes, sino meramente como una base para las reivindicaciones y como una base representativa para ensenar a un experto en la materia a emplear de manera diversa la presente invencion en virtualmente cualquier estructura detallada de manera apropiada. Adicionalmente, los terminos y frases usados en el presente documento no se pretenden para limitar, sino en su lugar, para proporcionar una descripcion entendible de la invencion. Los elementos de las realizaciones anteriormente
mencionadas pueden combinarse para formar otras realizaciones.
Los terminos "un" o "una", como se usan en el presente documento, se definen como uno o mas de uno. El termino otro, como se usa en el presente documento, se define como al menos un segundo o mas. Los terminos que incluye 5 y/o que tiene, como se usan en el presente documento, se definen como que comprende (es dedr, no excluyendo otros elementos o etapas). Cualquier signo de referencia en las reivindicaciones no debena interpretarse como que limita el alcance de las reivindicaciones o la invencion. El mero hecho de que ciertas medidas se indiquen en reivindicaciones mutuamente dependientes diferentes no indica que una combinacion de estas medidas no pueda usarse para aprovechar. El alcance de la invencion esta limitado unicamente mediante las siguientes 10 reivindicaciones.

Claims (24)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un metodo de deteccion de intrusion para detectar una intrusion en trafico de datos en una red de comunicacion de datos, comprendiendo el metodo:
    - analizar (b1) el trafico de datos para extraer al menos un campo de protocolo de un mensaje de protocolo del trafico de datos;
    - asociar (b2) el campo de protocolo extrafdo con un modelo respectivo para ese campo de protocolo, estando seleccionado el modelo a partir un conjunto de modelos;
    - evaluar (b3) si unos contenidos del campo de protocolo extrafdo estan en una region segura como se define mediante el modelo; y
    - generar (b4) una senal de deteccion de intrusion en caso de que se establezca que los contenidos del campo de protocolo extrafdo estan fuera la region segura,
    en el que se proporciona una pluralidad de tipos de modelo,
    caracterizado por que un tipo de modelo para el campo de protocolo extrafdo se selecciona a partir de la pluralidad de tipos de modelo basandose en una caractenstica del campo de protocolo extrafdo, y por que el modelo para el campo de protocolo extrafdo se crea basandose en el tipo de modelo seleccionado.
  2. 2. El metodo de deteccion de intrusion de acuerdo con la reivindicacion 1, en el que el conjunto de modelos comprende un modelo para un campo de protocolo de operador y un modelo para un campo de protocolo de argumento, realizandose la asociacion y la evaluacion para el campo de protocolo de operador y el campo de protocolo de argumento.
  3. 3. El metodo de deteccion de intrusion de acuerdo con la reivindicacion 2, en el que el conjunto de modelos comprende adicionalmente un modelo para un campo de protocolo de ordenacion, realizandose adicionalmente la asociacion y la evaluacion para el campo de protocolo de ordenacion.
  4. 4. El metodo de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones anteriores, en el que la caractenstica del campo de protocolo comprende un tipo de datos del campo de protocolo, comprendiendo el metodo:
    - determinar un tipo de datos del campo de protocolo extrafdo, y
    - seleccionar el tipo de modelo usando el tipo de datos determinado.
  5. 5. El metodo de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones anteriores, en el que la caractenstica del campo de protocolo comprende una semantica del campo de protocolo, comprendiendo el metodo:
    - determinar una semantica del campo de protocolo extrafdo, y
    - seleccionar el tipo de modelo usando la semantica determinada.
  6. 6. El metodo de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el conjunto de modelos comprende un modelo respectivo para cada campo de protocolo del conjunto de campos de protocolo.
  7. 7. El metodo de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el modelo para el campo se determina en una fase de aprendizaje, comprendiendo la fase de aprendizaje:
    - analizar el trafico de datos para extraer al menos un campo de protocolo del protocolo aplicado en el trafico de datos;
    - asociar el campo de protocolo extrafdo con el modelo para ese campo de protocolo, estando seleccionado el modelo a partir del conjunto de modelos y
    - actualizar el modelo para el campo de protocolo extrafdo usando unos contenidos del campo de protocolo extrafdo.
  8. 8. El metodo de deteccion de intrusion de acuerdo con la reivindicacion 7, en el que si no puede realizarse asociacion entre el campo de protocolo extrafdo y uno de los modelos,
    - crear un nuevo modelo para el campo de protocolo extrafdo y anadir el nuevo modelo al conjunto de modelos.
  9. 9. El metodo de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones anteriores, en el que la senal de deteccion de intrusion se genera adicionalmente
    - cuando el analisis no puede establecer el campo como que cumple con el protocolo, o
    - cuando el campo extrafdo no puede asociarse con ninguno de los modelos del conjunto de modelos.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
  10. 10. El metodo de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el protocolo es al menos uno de un protocolo de capa de aplicacion, un protocolo de capa de sesion, un protocolo de capa de transporte o un protocolo de pila de protocolo de nivel inferior.
  11. 11. El metodo de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el modelo para el campo de protocolo comprende al menos uno de
    - un conjunto de valores de campo de protocolo aceptables,
    - una distribucion numerica de valores de campo de protocolo;
    - una definicion de un intervalo de valores de campo de protocolo aceptables;
    - una definicion de letras, dfgitos, sfmbolos, y guiones aceptables; y;
    - un conjunto de firmas de intrusion predefinidas.
  12. 12. El metodo de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones anteriores, en el que el conjunto de modelos comprende dos modelos para un campo de protocolo, estando asociado uno espedfico de los dos modelos con el campo de protocolo basandose en el valor de otro campo de protocolo.
  13. 13. Un sistema de deteccion de intrusion para detectar una intrusion en trafico de datos en una red de comunicacion de datos, comprendiendo el sistema:
    - un analizador (21) para analizar el trafico de datos para extraer al menos un campo de protocolo de un mensaje de protocolo del trafico de datos;
    - un motor (23) para asociar el campo de protocolo extrafdo con un modelo respectivo para ese campo de protocolo, estando seleccionado el modelo a partir un conjunto de modelos;
    - un manejador de modelo (24) para evaluar si unos contenidos del campo de protocolo extrafdo estan en una region segura como se define mediante el modelo; y
    - un accionador (22) para generar una senal de deteccion de intrusion en caso de que se establezca que los contenidos del campo de protocolo extrafdo estan fuera de la region segura,
    en el que se proporciona una pluralidad de tipos de modelo,
    caracterizado por que el sistema esta dispuesto para seleccionar un tipo de modelo para el campo de protocolo extrafdo a partir de la pluralidad de tipos de modelo basandose en uno caractenstico del campo de protocolo extrafdo, y para crear el modelo para el campo de protocolo extrafdo basandose en el tipo de modelo seleccionado.
  14. 14. El sistema de deteccion de intrusion de acuerdo con la reivindicacion 13, en el que el conjunto de modelos comprende un modelo para un campo de protocolo de operador y un modelo para un campo de protocolo de argumento, estando dispuesto el motor para realizar la asociacion y la evaluacion para el campo de protocolo de operador y el campo de protocolo de argumento.
  15. 15. El sistema de deteccion de intrusion de acuerdo con la reivindicacion 14, en el que el conjunto de modelos comprende adicionalmente un modelo para un campo de protocolo de ordenacion, estando dispuesto adicionalmente el motor para realizar la asociacion y la evaluacion para el campo de protocolo de ordenacion.

  16. 16. El sistema de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones 13 - 15, en el que la

    caractenstica del campo de protocolo comprende un tipo de datos del campo de protocolo, estando dispuesto el
    sistema para:
    - determinar un tipo de datos del campo de protocolo extrafdo, y
    - seleccionar el tipo de modelo usando el tipo de datos determinado.

  17. 17. El sistema de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones 13 - 16, en el que la

    caractenstica del campo de protocolo comprende una semantica del campo de protocolo, estando dispuesto el
    sistema para:
    - determinar una semantica del campo de protocolo extrafdo, y
    - seleccionar el tipo de modelo usando la semantica determinada.
  18. 18. El sistema de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones 13 - 17, en el que el conjunto de modelos comprende un modelo respectivo para cada campo de protocolo de un conjunto de campos de protocolo.
  19. 19. El sistema de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones 13 - 18, dispuesto adicionalmente para operarse en una fase de aprendizaje, la fase de aprendizaje para aprender al menos uno de los modelos, estando dispuesto el manejador de modelo para actualizar en la fase de aprendizaje el modelo para el campo de protocolo extrafdo usando unos contenidos del campo de protocolo extrafdo.
    5
    10
    15
    20
    25
    30
  20. 20. El sistema de deteccion de intrusion de acuerdo con la reivindicacion 19, en el que el motor esta dispuesto adicionalmente para en la fase de aprendizaje, si no puede realizarse asociacion entre el campo de protocolo ex^do y uno de los modelos, crear un nuevo modelo para el campo de protocolo extrafdo y anadir el nuevo modelo al conjunto de modelos.
  21. 21. El sistema de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones 13 - 20, en el que el accionador esta dispuesto adicionalmente para generar la senal de deteccion de intrusion
    - en respuesta a una indicacion desde el analizador de que el analizador no puede establecer el campo como que cumple con el protocolo, o
    - en respuesta a una indicacion desde el motor de que el campo extrafdo no puede asociarse con ninguno de los modelos del conjunto de modelos.
  22. 22. El sistema de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones 13 - 21, en el que el protocolo es al menos uno de un protocolo de capa de aplicacion, un protocolo de capa de sesion, un protocolo de capa de transporte o un protocolo de pila de protocolo de nivel inferior.
  23. 23. El sistema de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones 13 - 22, en el que el modelo para el campo de protocolo comprende al menos uno de
    - un conjunto de valores de campo de protocolo aceptables,
    - una distribucion numerica de valores de campo de protocolo;
    - una definicion de un intervalo de valores de campo de protocolo aceptables;
    - una definicion de letras, dfgitos, sfmbolos, y guiones aceptables; y
    - un conjunto de firmas de intrusion predefinidas.
  24. 24. El sistema de deteccion de intrusion de acuerdo con cualquiera de las reivindicaciones 13 - 23 en el que el conjunto de modelos comprende dos modelos para un campo de protocolo, estando dispuesto el motor para asociar uno espedfico de los dos modelos con el campo de protocolo basandose en el valor de otro campo de protocolo.
ES12750857.0T 2011-07-26 2012-07-26 Método y sistema para clasificar un mensaje de protocolo en una red de comunicación de datos Active ES2581053T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161511685P 2011-07-26 2011-07-26
US201161511685P 2011-07-26
NL2007180A NL2007180C2 (en) 2011-07-26 2011-07-26 Method and system for classifying a protocol message in a data communication network.
NL2007180 2011-07-26
PCT/NL2012/050537 WO2013015691A1 (en) 2011-07-26 2012-07-26 Method and system for classifying a protocol message in a data communication network

Publications (1)

Publication Number Publication Date
ES2581053T3 true ES2581053T3 (es) 2016-08-31

Family

ID=47601337

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12750857.0T Active ES2581053T3 (es) 2011-07-26 2012-07-26 Método y sistema para clasificar un mensaje de protocolo en una red de comunicación de datos

Country Status (11)

Country Link
US (4) US9628497B2 (es)
EP (1) EP2737683B1 (es)
JP (1) JP6117202B2 (es)
CN (1) CN103748853B (es)
BR (1) BR112014001691B1 (es)
CA (1) CA2842465C (es)
EA (1) EA037617B1 (es)
ES (1) ES2581053T3 (es)
IL (2) IL230440A (es)
NL (1) NL2007180C2 (es)
WO (1) WO2013015691A1 (es)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL2007180C2 (en) * 2011-07-26 2013-01-29 Security Matters B V Method and system for classifying a protocol message in a data communication network.
US9292688B2 (en) * 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US11126720B2 (en) * 2012-09-26 2021-09-21 Bluvector, Inc. System and method for automated machine-learning, zero-day malware detection
BR112015006653A2 (pt) * 2012-09-28 2017-07-04 Hewlett Packard Development Co sistema de computação, meio de armazenamento legível por máquina não transitório e método
JP6273834B2 (ja) * 2013-12-26 2018-02-07 富士通株式会社 情報処理装置及びロギング方法
CN104270275B (zh) * 2014-10-14 2018-04-10 广东小天才科技有限公司 一种异常原因的辅助分析方法、服务器以及智能设备
CN105704103B (zh) 2014-11-26 2017-05-10 中国科学院沈阳自动化研究所 基于OCSVM双轮廓模型的Modbus TCP通信行为异常检测方法
US10572811B2 (en) 2015-01-29 2020-02-25 Splunk Inc. Methods and systems for determining probabilities of occurrence for events and determining anomalous events
US9953158B1 (en) * 2015-04-21 2018-04-24 Symantec Corporation Systems and methods for enforcing secure software execution
TWI562013B (en) * 2015-07-06 2016-12-11 Wistron Corp Method, system and apparatus for predicting abnormality
US10015188B2 (en) 2015-08-20 2018-07-03 Cyberx Israel Ltd. Method for mitigation of cyber attacks on industrial control systems
CN105306436B (zh) 2015-09-16 2016-08-24 广东睿江云计算股份有限公司 一种异常流量检测方法
US10033747B1 (en) * 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
CN106657545B (zh) * 2015-10-29 2021-06-15 中兴通讯股份有限公司 拦截推送信息的方法、装置及终端
US10955810B2 (en) * 2015-11-13 2021-03-23 International Business Machines Corporation Monitoring communications flow in an industrial system to detect and mitigate hazardous conditions
WO2017119888A1 (en) * 2016-01-07 2017-07-13 Trend Micro Incorporated Metadata extraction
US10419401B2 (en) * 2016-01-08 2019-09-17 Capital One Services, Llc Methods and systems for securing data in the public cloud
US9998487B2 (en) * 2016-04-25 2018-06-12 General Electric Company Domain level threat detection for industrial asset control system
CN106022129B (zh) * 2016-05-17 2019-02-15 北京江民新科技术有限公司 文件的数据特征提取方法、装置及病毒特征检测系统
CN106209843A (zh) * 2016-07-12 2016-12-07 工业和信息化部电子工业标准化研究院 一种面向Modbus协议的数据流异常分析方法
CN106603531A (zh) * 2016-12-15 2017-04-26 中国科学院沈阳自动化研究所 一种基于工业控制网络的入侵检测模型的自动建立方法及装置
CN106790108B (zh) * 2016-12-26 2019-12-06 东软集团股份有限公司 协议数据解析方法、装置和系统
RU2659482C1 (ru) * 2017-01-17 2018-07-02 Общество с ограниченной ответственностью "СолидСофт" Способ защиты веб-приложений при помощи интеллектуального сетевого экрана с использованием автоматического построения моделей приложений
US11960844B2 (en) * 2017-05-10 2024-04-16 Oracle International Corporation Discourse parsing using semantic and syntactic relations
JP7086993B2 (ja) 2017-05-10 2022-06-20 オラクル・インターナショナル・コーポレイション コミュニケーション用談話ツリーの使用による修辞学的分析の可能化
US10839154B2 (en) * 2017-05-10 2020-11-17 Oracle International Corporation Enabling chatbots by detecting and supporting affective argumentation
US10817670B2 (en) * 2017-05-10 2020-10-27 Oracle International Corporation Enabling chatbots by validating argumentation
US11165802B2 (en) * 2017-12-05 2021-11-02 Schweitzer Engineering Laboratories, Inc. Network security assessment using a network traffic parameter
NL2020552B1 (en) * 2018-03-08 2019-09-13 Forescout Tech B V Attribute-based policies for integrity monitoring and network intrusion detection
AU2019232391A1 (en) * 2018-03-08 2020-09-17 Forescout Technologies, Inc. Attribute-based policies for integrity monitoring and network intrusion detection
US11475370B2 (en) * 2018-11-29 2022-10-18 Microsoft Technology Licensing, Llc Providing custom machine-learning models
FR3090153B1 (fr) * 2018-12-17 2022-01-07 Commissariat Energie Atomique Procédé et système de détection d’anomalie dans un réseau de télécommunications
DK3674823T3 (da) * 2018-12-28 2022-07-04 Nozomi Networks Sagl Metode og anordning til at påvise anomalier i en infrastruktur
US10802937B2 (en) * 2019-02-13 2020-10-13 United States Of America As Represented By The Secretary Of The Navy High order layer intrusion detection using neural networks
KR102204290B1 (ko) * 2019-08-23 2021-01-18 고려대학교 세종산학협력단 통계적 분석 기반 비공개 프로토콜의 구분자 및 정적필드 추출방법
US11621970B2 (en) * 2019-09-13 2023-04-04 Is5 Communications, Inc. Machine learning based intrusion detection system for mission critical systems
CN110912908B (zh) * 2019-11-28 2022-08-02 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 网络协议异常检测方法、装置、计算机设备和存储介质
US11363059B2 (en) * 2019-12-13 2022-06-14 Microsoft Technology Licensing, Llc Detection of brute force attacks
CN111126627B (zh) * 2019-12-25 2023-07-04 四川新网银行股份有限公司 基于分离度指数的模型训练系统
CN111585993B (zh) * 2020-04-27 2022-08-09 深信服科技股份有限公司 一种隐蔽信道通信检测方法、装置及设备
CN111885059B (zh) * 2020-07-23 2021-08-31 清华大学 一种工业网络流量异常检测定位的方法
CN111865723A (zh) * 2020-07-25 2020-10-30 深圳市维度统计咨询股份有限公司 一种基于大数据的网络数据采集系统
CN116324644A (zh) * 2020-09-29 2023-06-23 发那科株式会社 网络中继装置
CN112887280B (zh) * 2021-01-13 2022-05-31 中国人民解放军国防科技大学 一种基于自动机的网络协议元数据提取系统及方法
US11363050B1 (en) 2021-03-25 2022-06-14 Bank Of America Corporation Information security system and method for incompliance detection in data transmission
US11588835B2 (en) 2021-05-18 2023-02-21 Bank Of America Corporation Dynamic network security monitoring system
US11799879B2 (en) 2021-05-18 2023-10-24 Bank Of America Corporation Real-time anomaly detection for network security
US11792213B2 (en) 2021-05-18 2023-10-17 Bank Of America Corporation Temporal-based anomaly detection for network security
CN113742475A (zh) * 2021-09-10 2021-12-03 绿盟科技集团股份有限公司 一种office文档检测方法、装置、设备及介质

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09153924A (ja) * 1995-11-28 1997-06-10 Nec Corp 通信制御システムの手順誤り検出方式
US6078874A (en) * 1998-08-04 2000-06-20 Csi Technology, Inc. Apparatus and method for machine data collection
US6925454B2 (en) * 2000-12-12 2005-08-02 International Business Machines Corporation Methodology for creating and maintaining a scheme for categorizing electronic communications
US6898737B2 (en) * 2001-05-24 2005-05-24 Microsoft Corporation Automatic classification of event data
US7225343B1 (en) 2002-01-25 2007-05-29 The Trustees Of Columbia University In The City Of New York System and methods for adaptive model generation for detecting intrusions in computer systems
US8370936B2 (en) * 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
US8205259B2 (en) * 2002-03-29 2012-06-19 Global Dataguard Inc. Adaptive behavioral intrusion detection systems and methods
US7039702B1 (en) * 2002-04-26 2006-05-02 Mcafee, Inc. Network analyzer engine system and method
US7349917B2 (en) * 2002-10-01 2008-03-25 Hewlett-Packard Development Company, L.P. Hierarchical categorization method and system with automatic local selection of classifiers
US7305708B2 (en) * 2003-04-14 2007-12-04 Sourcefire, Inc. Methods and systems for intrusion detection
US20070094722A1 (en) * 2003-05-30 2007-04-26 International Business Machines Corporation Detecting networks attacks
US20060015630A1 (en) * 2003-11-12 2006-01-19 The Trustees Of Columbia University In The City Of New York Apparatus method and medium for identifying files using n-gram distribution of data
US8656488B2 (en) * 2005-03-11 2014-02-18 Trend Micro Incorporated Method and apparatus for securing a computer network by multi-layer protocol scanning
US7860006B1 (en) * 2005-04-27 2010-12-28 Extreme Networks, Inc. Integrated methods of performing network switch functions
US8631483B2 (en) * 2005-06-14 2014-01-14 Texas Instruments Incorporated Packet processors and packet filter processes, circuits, devices, and systems
US7757283B2 (en) * 2005-07-08 2010-07-13 Alcatel Lucent System and method for detecting abnormal traffic based on early notification
US9055093B2 (en) * 2005-10-21 2015-06-09 Kevin R. Borders Method, system and computer program product for detecting at least one of security threats and undesirable computer files
US20070150574A1 (en) * 2005-12-06 2007-06-28 Rizwan Mallal Method for detecting, monitoring, and controlling web services
WO2008055156A2 (en) 2006-10-30 2008-05-08 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
IL189530A0 (en) * 2007-02-15 2009-02-11 Marvell Software Solutions Isr Method and apparatus for deep packet inspection for network intrusion detection
US20080295173A1 (en) * 2007-05-21 2008-11-27 Tsvetomir Iliev Tsvetanov Pattern-based network defense mechanism
US7966660B2 (en) * 2007-05-23 2011-06-21 Honeywell International Inc. Apparatus and method for deploying a wireless network intrusion detection system to resource-constrained devices
US9100319B2 (en) * 2007-08-10 2015-08-04 Fortinet, Inc. Context-aware pattern matching accelerator
CN100531073C (zh) 2007-08-24 2009-08-19 北京启明星辰信息技术股份有限公司 一种基于状态检测的协议异常检测方法及系统
CN101399710B (zh) * 2007-09-29 2011-06-22 北京启明星辰信息技术股份有限公司 一种协议格式异常检测方法及系统
WO2010011411A1 (en) * 2008-05-27 2010-01-28 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for detecting network anomalies
EP2200249A1 (en) * 2008-12-17 2010-06-23 Abb Research Ltd. Network analysis
FI20096394A0 (fi) * 2009-12-23 2009-12-23 Valtion Teknillinen Tunkeutumisen havaitseminen viestintäverkoissa
US9100425B2 (en) * 2010-12-01 2015-08-04 Cisco Technology, Inc. Method and apparatus for detecting malicious software using generic signatures
NL2007180C2 (en) * 2011-07-26 2013-01-29 Security Matters B V Method and system for classifying a protocol message in a data communication network.
US9092802B1 (en) * 2011-08-15 2015-07-28 Ramakrishna Akella Statistical machine learning and business process models systems and methods
EP2610776B1 (en) * 2011-09-16 2019-08-21 Veracode, Inc. Automated behavioural and static analysis using an instrumented sandbox and machine learning classification for mobile security
US9189746B2 (en) * 2012-01-12 2015-11-17 Microsoft Technology Licensing, Llc Machine-learning based classification of user accounts based on email addresses and other account information
US9292688B2 (en) * 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US10514977B2 (en) * 2013-03-15 2019-12-24 Richard B. Jones System and method for the dynamic analysis of event data
US10476742B1 (en) * 2015-09-24 2019-11-12 Amazon Technologies, Inc. Classification of auto scaling events impacting computing resources

Also Published As

Publication number Publication date
CA2842465C (en) 2021-05-04
EA037617B1 (ru) 2021-04-22
CA2842465A1 (en) 2013-01-31
BR112014001691B1 (pt) 2022-06-21
IL230440A0 (en) 2014-03-31
NL2007180C2 (en) 2013-01-29
US20170195197A1 (en) 2017-07-06
US20140090054A1 (en) 2014-03-27
CN103748853B (zh) 2017-03-08
IL254829B (en) 2018-06-28
US20210344578A1 (en) 2021-11-04
US9628497B2 (en) 2017-04-18
BR112014001691A2 (pt) 2020-10-27
IL254829A0 (en) 2017-12-31
IL230440A (en) 2017-10-31
EA201490333A1 (ru) 2014-06-30
EP2737683B1 (en) 2016-03-02
WO2013015691A1 (en) 2013-01-31
CN103748853A (zh) 2014-04-23
JP2014522167A (ja) 2014-08-28
EP2737683A1 (en) 2014-06-04
US20140297572A1 (en) 2014-10-02
US11012330B2 (en) 2021-05-18
US11902126B2 (en) 2024-02-13
JP6117202B2 (ja) 2017-04-19

Similar Documents

Publication Publication Date Title
ES2581053T3 (es) Método y sistema para clasificar un mensaje de protocolo en una red de comunicación de datos
US9514246B2 (en) Anchored patterns
US9858051B2 (en) Regex compiler
US9426166B2 (en) Method and apparatus for processing finite automata
Prasse et al. Malware detection by analysing network traffic with neural networks
KR101949338B1 (ko) 기계 학습 모델에 기반하여 페이로드로부터 sql 인젝션을 탐지하는 방법 및 이를 이용한 장치
Sija et al. A survey of automatic protocol reverse engineering approaches, methods, and tools on the inputs and outputs view
Barbosa et al. Exploiting traffic periodicity in industrial control networks
JP7082533B2 (ja) 異常検知方法および異常検知装置
CN103916288B (zh) 一种基于网关与本地的Botnet检测方法及系统
CN105431828A (zh) 用于检测受损计算系统的系统与方法
WO2019190403A1 (en) An industrial control system firewall module
Kim et al. Unknown payload anomaly detection based on format and field semantics inference in cyber-physical infrastructure systems
Kumar et al. Raptor: advanced persistent threat detection in industrial iot via attack stage correlation
Ponomarev Intrusion Detection System of industrial control networks using network telemetry
CN114124834A (zh) 一种工业控制网络内icmp隐蔽隧道检测的集成学习装置及方法
Yang et al. A multi-level feature extraction technique to detect moble botnet
Verbruggen et al. Creating firewall rules with machine learning techniques
TWI793650B (zh) 具深度學習之工控網路威脅智慧偵測系統及訓練系統
Faisal Modeling Behavior of Industrial Control System Protocols for Intrusion Detection
Pereira Using ML Models to Detect Malicious Traffic: Testing ML Models
Heesakkers Constraint-based detection of advanced threats to ICS