BR112014001691B1 - Método e sistema de detecção de intrusão - Google Patents

Método e sistema de detecção de intrusão Download PDF

Info

Publication number
BR112014001691B1
BR112014001691B1 BR112014001691-7A BR112014001691A BR112014001691B1 BR 112014001691 B1 BR112014001691 B1 BR 112014001691B1 BR 112014001691 A BR112014001691 A BR 112014001691A BR 112014001691 B1 BR112014001691 B1 BR 112014001691B1
Authority
BR
Brazil
Prior art keywords
protocol
model
protocol field
field
extracted
Prior art date
Application number
BR112014001691-7A
Other languages
English (en)
Other versions
BR112014001691A2 (pt
Inventor
Emmanuele Zambon
Original Assignee
Security Matters B.V.
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 B.V. filed Critical Security Matters B.V.
Publication of BR112014001691A2 publication Critical patent/BR112014001691A2/pt
Publication of BR112014001691B1 publication Critical patent/BR112014001691B1/pt

Links

Images

Classifications

    • 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/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
    • 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/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
    • 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]
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

MÉTODO E SISTEMA DE DETECÇÃO DE INTRUSÃO. Um método de detecção de intrusão para detectar uma intrusão no tráfego de dados em uma rede de comunicação de dados, o método caracterizado pelo fato de compreender analisar o tráfego de dados para extrair pelo menos um campo de protocolo de uma mensagem de protocolo do tráfego de dados, associar o campo de protocolo extraído com um modelo para aquele campo de protocolo, o modelo sendo selecionado a partir de um conjunto de modelos, avaliar se uns conteúdos do campo de protocolo extraído estão em uma região segura conforme definido pelos modelos, e gerar um sinal de detecção de intrusão no caso de ser estabelecido que os conteúdos do campo de protocolo extraído estão fora da região segura. O conjunto de modelos pode compreender um correspondente modelo para cada campo de protocolo de um conjunto de campos de protocolo.

Description

Campo da Invenção
[0001] A invenção se refere ao campo de redes de comunicação de dados, em particular ao campo de classificar mensagens em redes de comunicação de dados, por exemplo, para detectar intrusões maliciosas em tais redes de comunicação de dados.
Arte do Conhecimento
[0002] Em muitas redes de comunicação de dados, sistemas de detecção são implementados para detectar intrusões maliciosas. Tais intrusões compreendem dados de piratas ou computadores infectados que podem afetar o funcionamento dos servidores, computadores ou outro equipamento.
[0003] Há dois tipos principais de tais sistemas de detecção de intrusão : sistemas de detecção de intrusão baseado em assinatura e baseado em anomalias.
[0004] Uma base sistema de detecção de intrusão baseado em assinatura (SBS) se baseia em técnicas de coincidência padrões. O sistema contém um banco de dados de assinaturas, i.e. sequências de dados que são conhecidas de ataques do passado. Essas assinaturas são coincididas conta os dados testados. Quando uma coincidência é encontrada, um alerta é acionado. O banco de dados de assinaturas necessita ser atualizado por especialistas após um novo ataque ter sido identificado.
[0005] De modo diferente, um sistema de detecção de intrusão baseado em anomalia (ABS) primeiro constrói um modelo estatístico descrevendo o tráfego da rede normal rede durante uma assim chamada “fase de aprendizagem”. Então, durante uma assim chamada “fase de teste” o sistema analisa os dados e classifica qualquer tráfego ou ação que, de forma significativa, se desvia dos modelos, como um ataque. A vantagem de um sistema baseado em anomalia é que ele pode detectar zero dias de ataques, i.e. ataques que ainda não foram identificados como tais pelos especialistas. Para detectar a maioria dos ataques, ABSes necessitam inspecionar uma carga útil de tráfego da rede. Modelos existentes são com base em análise de n-gram, que é ou aplicada na(cru) pacote carga útil do pacote ou em porções dela.
[0006] Contudo, em algumas redes de comunicação de dados, os dados maliciosos são muito similares aos dados legítimos. Isto pode ser o caso em uma assim chamada rede SCADA (Controle de Supervisão e Aquisição de Dados) ou outra Rede de Controle Industrial. Em uma rede SCADA ou outro de Controle Industrial, mensagens de protocolo de rede são trocadas entre computadores, servidores e outro equipamentos em uma camada de aplicação de uma rede de comunicação de dados. Essas mensagens de protocolo podem compreender instruções para controlar máquinas. A mensagem de protocolo com uma instrução maliciosa (“configurar velocidade rotacional em 100 rpm”) pode ser muito similar a uma instrução legítima (“configurar velocidade rotacional em 10 rpm”).
[0007] Quando os dados maliciosos são muito similares aos dados legítimos, os dados maliciosos podem ser classificados como dados normais ou legítimos pelo sistema de detecção de intrusão baseado em anomalia, que poderia pôr em perigo o funcionamento de computadores, servidores e outro equipamento em uma rede.
Sumário da Invenção
[0008] Um objeto da invenção pode ser fornecer um sistema e/ou método de detecção de intrusão melhorado.
[0009] De acordo com um aspecto da invenção, é fornecido um método de detecção de intrusão para detectar uma intrusão no tráfego de dados em uma rede de comunicação de dados, o método caracterizado pelo fato de compreender: - analisar o tráfego de dados para extrair pelo menos um campo de protocolo de uma mensagem de protocolo do tráfego de dados; - associar o campo de protocolo extraído com um respectivo modelo para aquele campo de protocolo, o modelo sendo selecionado a partir de um conjunto de modelos; - avaliar se uns conteúdos do campo de protocolo extraído estão em uma região segura conforme definido pelos modelos; e - gerar um sinal de detecção de intrusão no caso de ser estabelecido que os conteúdos do campo de protocolo extraído estão fora da região segura.
[00010] Analisar o tráfego de dados permite distinguir campos individuais de um protocolo (referido como “campos do protocolo”) de acordo com os quais comunicação de dados sobe a rede de dados ocorre. Uma associação é então feita (se bem sucedida) entre o campo (“o campo de protocolo”) e um modelo. Além disso, um conjunto de modelos é fornecido. Um modelo adequado para o campo de protocolo extraído é selecionado, conforme será explicado em mais detalhes abaixo. O campo de protocolo é então avaliado usando o modelo de modo a estabelecer se os conteúdos do campo de protocolo estão ou não em um em um range aceitável, seguro e normal. No primeiro caso, uma ação adequada pode ser efetuada. Analisando a mensagem de protocolo, os campos de protocolo individuais do tráfego de dados podem ser distinguidos, e um modelo adequado para avaliação daquele campo de protocolo particular, pode ser selecionado. E por meio disso, uma avaliação adequada pode ser feita, já que diferentes campos de protocolo podem ser avaliados aplicando diferentes modelos, por exemplo, cada campo de protocolo aplicando um respectivo modelo que é adequado àquele campo de protocolo específico, por exemplo, aplicando um modelo que é adequado ao tipo e/ou conteúdos do campo de protocolo. O método de detecção de intrusão de acordo com a invenção pode ser um método de detecção de intrusão implementado em computador. O analisador (i.e. a análise) pode fazer uso de uma especificação de protocolo pré-definida. Além disso, por exemplo, no caso que o protocolo é desconhecido, o protocolo pode ser aprendido monitorando o tráfego de dados em uma rede e daí derivando uma especificação de protocolo.
[00011] No contexto deste documento, o termo protocolo pode ser entendido como um conjunto de regras que define um conteúdo de algumas ou de todas as mensagens transmitidas via a rede de dados. Um protocolo de rede pode compreender uma definição de mensagens de protocolo, também conhecida com Unidades de Dados de Protocolo (PDUs). Uma mensagem de protocolo (PDU) pode por sua vez compreender um ou mais campos. Pode haver muitos tipos de campo. Um campo pode compreender ou uma outra PDU, ou uma entidade de dados “atômica” (por exemplo, um número, um sequência ou um objeto opaco binário). Como será descrito em mais detalhes abaixo, o protocolo de rede pode ser organizado como uma árvore, na qual nós são PDUs e folhas das árvores são entidades de dados atômicos (campos). Para cada campo (ou cada campo relevante) um modelo separado pode ser fornecido. Como um exemplo, assuma que uma mensagem de protocolo compreende dados pessoais de uma pessoa (caracterizado pelo fato de compreender, por exemplo, nome, endereço e configurações pessoais): uma mensagem de protocolo que transmite os dados pessoais, poderia então compreender os campos “nome”, “endereço”, e “configurações pessoais”. O campo “nome” poderia, por exemplo, por sua vez compreender os campos “sobrenome”, “nome dado”, “nome de registro”, etc. O campo “endereço” poderia, por exemplo, compreender os campos “endereço doméstico” e “endereço comercial”. O campo “endereço doméstico pode, por exemplo, compreender “rua do endereço doméstico”, “número do endereço doméstico”, “código postal do endereço doméstico”, “cidade do endereço doméstico”, enquanto o “endereço comercial” pode, por exemplo, compreender os campos “rua do endereço comercial”, “número do endereço comercial”, “código posta do endereço comercial”, “cidade do endereço comercial”, etc. Um modelo separado pode ser construído para cada campo. Por exemplo um respectivo modelo separado poderia ser fornecido para cada um dos campos. Em uma modalidade, um mesmo modelo pode ser aplicado para um subconjunto de campos, por exemplo, aos campos “cidade do endereço comercial” e “cidade do endereço doméstico “ pode-se aplicar um mesmo modelo.
[00012] O termo tráfego de dados pode ser entendido a fim de compreender quaisquer dados que são comunicados via a rede, tal como uma sequência de dados, pacotes de dados, etc. O termo rede de dados pode ser entendido a fim de compreender qualquer estabelecimento de comunicação de dados que permita uma transmissão (por ex. digital) de dados. A rede pode compreender ou estar conectada a uma rede pública tal como a Internet, e/ou pode compreender uma rede privada ou de modo virtual uma rede privada para a qual somente usuários autorizados ou equipamento autorizado é permitido ter acesso. A transmissão pode ocorrer via uma conexão com fio, uma conexão de fibra de vidro, uma conexão sem fio e/ou qualquer outra conexão. O termo modelo pode ser entendido a fim de compreender uma regra ou conjunto de regras que se aplicam a um campo de protocolo, de modo a avaliar aquele campo de protocolo. O modelo pode descrever mensagens de protocolo normais, legitimas ou não intrusivas. Isto pode ser entendido que quanto mais mensagens de protocolo na fase aprendizagem são usadas, melhor o modelo pode descrever mensagens de protocolo normais, legitimas ou não intrusivas.
[00013] O termo intrusão pode ser entendido a fim de compreender quaisquer dados que possam ser indesejados, possivelmente prejudicial para um sistema de computador que recebe os dados, possivelmente prejudicial para uma aplicação sendo executada em um sistema de computador conectado à rede de dados, ou possivelmente prejudicial a uma operação de um dispositivo, instalação, aparelho, etc. conectado à rede de dados.
[00014] Em uma modalidade, o conjunto de modelos compreende um respectivo modelo para cada campo de protocolo de um conjunto de campos de protocolo. E por meio disso, resultados mais apurados podem ser obtidos já que para cada campo de protocolo um modelo especificamente adequado àquele campo de protocolo pode ser aplicado.
[00015] Em uma modalidade, o conjunto de modelos compreende dois modelos para um campo de protocolo, um modelo específico dos dois modelos para um campo de protocolo sendo escolhido com base no valor de outro campo, a fim de possivelmente ainda aumentar uma precisão dos modelos.
[00016] De forma similar, time sequência análise de sequência de tempo no campo de protocolo pode ser efetuado em uma modalidade caracterizado pelo fato de que o conjunto de modelos compreende pelo menos dois modelos para um campo de protocolo, um primeiro modelo dos dois modelos sendo associado com um primeiro intervalo de tempo no qual o tráfego de dados é observado, e um segundo modelo dos modelos sendo associado com um segundo intervalo de tempo no qual o tráfego de dados é observado, o segundo intervalo de tempo, por exemplo, não se sobrepondo ao primeiro intervalo de tempo.
[00017] Em uma modalidade, o modelo para o campo sendo determinado em uma fase de aprendizagem, a fase de aprendizagem caracterizada pelo fato de compreender: - analisar o tráfego de dados para extrair pelo menos um campo de protocolo do protocolo aplicado no tráfego de dados; - associar o campo de protocolo extraído com o modelo para aquele campo de protocolo, o modelo sendo selecionado a partir do conjunto de modelos e - atualizar o modelo para o campo de protocolo extraído usando uns conteúdos do campo de protocolo extraído.
[00018] Assim sendo, o tráfego de dados pode ser observada em uma fase de aprendizagem, e os conteúdos do campo de protocolo extraídos podem ser aplicados para atualizar os correspondentes modelos com os quais os campos de protocolo estão associados. Se nenhuma associação pode ser feita entre o campo de protocolo extraído e um dos modelos, um novo modelo pode ser criado para o campo de protocolo extraído e adicionado ao conjunto de modelos.
[00019] Então, duas fases podem ser discriminadas: uma fase de aprendizagem na qual um modelo de mensagens de protocolo é construído. Essas mensagens de protocolo na fase de aprendizagem podem ser construídas nas bases de um protocolo de comunicação ou podem ser recuperadas do tráfego de dados em uma rede de comunicação de dados.
[00020] Já que mensagens de protocolo podem ser descritas por sua estrutura e pelos valores do campos de protocolo, o modelo pode se relacionar aos campos de protocolo na fase de aprendizagem e aos valores do mesmo. Diferentes campos de protocolo na fase de aprendizagem podem ter um tipo de dados diferentes, i.e. seu valor pode ser um número (tal como um inteiro, um número de ponto flutuante, etc), uma sequência, um Boolean ou um valor binário. Isto pode ser definido por um protocolo de comunicação. O modelo pode ser construído de acordo com o tipo de dados do pelo menos um campo de protocolo.
[00021] O campo de protocolo determinado e/ou o valor determinado do campo de protocolo mencionado são comparados com o modelo e classificados nas bases da comparação. A mensagem de protocolo pode ser classificada como uma anomalia, i.e.. fora da região segura definida pelo modelo (e assim sendo como um possível perigo) nas bases da comparação.
[00022] Na fase de aprendizagem, as mensagens de protocolo que são aplicadas para aprender o modelo, podem ser obtidas a partir do tráfego de dados em uma rede. Altemativamente, ou em adição a isto, dados de simulação podem ser aplicados. Na fase de aprendizagem, possivelmente mensagens de protocolo intrusivas podem ser distinguidas por métodos estatísticos, i.e. mensagens de protocolo não frequentemente usadas ou mensagens de protocolo tendo uns conteúdos não comuns, podem ser removidas antes de usar as mensagens de protocolo para aprender o modelo(s). Adicionalmente, ou em vez disso, um operador pode identificar determinadas mensagens de protocolo com intrusivas, e tais mensagens de protocolo podem ou ser removidas antes da aprendizagem, ou os modelos serem corrigidos consequentemente.
[00023] Alternativas para aprender (i.e. treinamento) o modelo(s), outro do que na fase de aprendizagem descrita acima podem ser aplicadas. Por exemplo, um modelo pode ser derivado a partir da inspeção do protocolo e da aplicação, criando um conjunto de mensagens de protocolo a serem esperadas, seus campos e/ou os valores de campo deles, e construindo os modelos, ou um conjunto de modelos deles. Além disso, uma combinação de tais modelo(s) de construção a partir da inspeção, com uma aprendizagem dos modelo(s) pode ser aplicado: por exemplo primeira aprendizagem do modelos(s) em uma fase de aprendizagem, e então adaptar o modelo(s) aprendido com base no conhecimento de um comportamento conhecido e ocorrência de consequência e/ou dos conteúdos das mensagens de protocolo, seus campos e/ou os valores do campos.
[00024] Em uma modalidade, o sinal de detecção de intrusão é ainda gerado quando a análise não pode estabelecer o campo como condizente ao protocolo, tal que uma ação pode ser efetuada também no caso que um campo que não é condizente com o protocolo (por exemplo, uma mensagem de protocolo mal formada) é detectado.
[00025] Em uma modalidade, o sinal de detecção de intrusão é ainda gerado quando o campo extraído não pode ser associado com qualquer dos modelos do conjunto de modelos, tal que uma ação pode ser efetuada também no caso que o campo extraído possivelmente condiz com o protocolo, mas para o qual nenhum modelo adequado é fornecido. Frequentemente, somente um subconjunto dos campos de protocolo possíveis é usado, por exemplo, em aplicações de controle, permitindo, por exemplo, acionar um alerta quando um campo de protocolo que condiz com o protocolo, mas que não é normalmente aplicado, foi recuperado.
[00026] O método pode ser aplicado em uma variedade de camadas de protocolo. Por exemplo, o protocolo pode ser pelo menos um de um protocolo de camada de aplicação, um protocolo de camada de sessão, um protocolo de camada de transporte ou mesmo níveis inferiores de uma pilha de protocolo de rede. Uma camada de aplicação de uma rede de comunicação de dados pode ser definida pelo modelo de Interconexão de Sistemas Abertos (modelo OSI), que foi determinado pela Organização Internacional para Padronização. Na camada de aplicação, softwares sendo executados em computadores ou servidores podem se comunicar cada um com o outro enviando mensagens de protocolo. As mensagens de protocolo podem ser de SCADA ou outras mensagens de protocolo de redes de Controle Industrial, Windows, redes mensagens de protocolo de redes de automação, mensagens de protocolo de HTTP, etc.
[00027] A comunicação entre softwares pode seguir um determinado protocolo de comunicação, no qual a estrutura e possíveis valores (partes da) das mensagens de protocolo são definidos. A estrutura de uma mensagem de protocolo pode ser ainda descrita pelos campos de protocolo nas mensagens de protocolo. O software pode não ser capaz de processar mensagens de protocolo que não estão de acordo com um protocolo de comunicação.
[00028] Em uma modalidade, em resposta a gerar o sinal de detecção de intrusão, o método ainda compreende pelo menos um de: - remover o campo de protocolo ou um pacote de dados contendo o campo de protocolo; e - elaborar e emitir uma mensagem de alerta de intrusão. Qualquer outra aço de detecção de intrusão pode ser aplicada, tal como, por exemplo, isolar o campo de protocolo ou um pacote de dados contendo o campo de protocolo, etc.
[00029] Em uma modalidade, o modelo para o campo de protocolo compreende pelo menos um de - um conjunto de valores de campo de protocolo aceitáveis, e - uma definição de uma gama de valores de campo de protocolo aceitável. No caso que o campo de protocolo compreende um valor numérico, um modelo simples pode ser fornecido deste modo, o que pode permitir testar o campo de protocolo em uma carga de processamento de dados baixa.
[00030] Em uma modalidade, o modelo para o campo de protocolo compreende - uma definição de letras, dígitos, símbolos, e textos aceitáveis. No caso que o campo de protocolo compreende um caractere ou sequência de caracteres, um modelo simples pode ser fornecido deste modo, o que pode permitir testar o campo de protocolo em uma carga de processamento de dados baixa.
[00031] Em uma modalidade, o modelo para o campo de protocolo compreende um conjunto de assinaturas de intrusão pré-definidas, tal que conhecimento sobre ataques conhecidos pode ser levado em conta. Uma combinação de um modelo conforme descrito acima (caracterizado pelo fato de compreender, por exemplo, um conjunto de valores de campo de protocolo aceitáveis, uma definição de uma gama de valores de campo de protocolo aceitáveis, uma definição de letras, dígitos, símbolos, e textos aceitáveis) com o conjunto de assinaturas de intrusão pré-definidas pode ser altamente efetiva, já que para cada específico campo um modelo de seus conteúdos normais em combinação com uma ou mais assinaturas de intrusão específicas para aquele campo, pode ser aplicado.
[00032] Em uma modalidade, o protocolo compreende campos de protocolo primitivos e campos de protocolo compostos, os campos de protocolo compostos por sua vez caracterizado pelo fato de compreender pelo menos um campos de protocolo primitivo, caracterizado pelo fato de que um respectivo modelo é fornecido no conjunto de modelos para cada campo de protocolo primitivo. Assim sendo, detecção de intrusão eficiente pode ser fornecido como campos de protocolo que são compostos (i.e. campos de protocolo que eles mesmos compreendem campos de protocolo, tal como “endereço” caracterizado pelo fato de compreender “nome de rua”, “número', “código postal” e “cidade”), pode ser em seus campos de protocolo elementares (primitivo), permitindo aplicar um modelo adequado para cada um dos campos de protocolo primitivos.
[00033] Já que o modelo para o pelo menos um campo de protocolo na fase de aprendizagem e/ou para o valor do pelo menos um campo de protocolo na fase de aprendizagem pode ser construído de acordo com o tipo de dados do pelo menos um campo de protocolo na fase de aprendizagem, o modelo pode ser mais preciso em descrevendo mensagens de protocolo normais, legítimas ou não intrusivas do que um modelo que não leva em conta o tipo de dados dos campos de protocolo.
[00034] Pode ser o caso que um modelo otimizado para descrever um campo de protocolo com um tipo de dados de número pode ser menos preciso em (ou não aplicável para) descrever um campo de protocolo com um tipo de dados binários ou de sequência de caracteres. Da mesma forma, um modelo otimizado para descrever um campo de protocolo com um tipo de dados de sequência de caracteres pode ser menos preciso em descrever um campo de protocolo com um tipo de dados binários ou de número. Por conseguinte, a precisão do modelo pode ser melhorada levando o tipo de dados do campo de protocolo em conta quando construindo os modelos.
[00035] Em uma modalidade, uma grande quantidade de tipos de modelos são fornecidos, um tipo de modelo para o campo de protocolo extraído sendo selecionado na fase de aprendizagem a partir de uma grande quantidade de tipos de modelo nas bases de uma característica do campo de protocolo extraído, e o modelo para o campo de protocolo extraído sendo construído nas bases do tipo de modelo selecionado.
[00036] De modo para obter um modelo para um campo de protocolo específico, várias etapas podem ser efetuadas. Conforme explicado acima, uma grande quantidade de diferentes tipos de modelo pode ser aplicada. Primeiramente, um determinado tipo de modelo de um conjunto de tipos de modelo disponível é para ser selecionado para o campo de protocolo específico. Uma vez que o tipo de modelo foi determinado para um determinado campo de protocolo, um modelo pode ser construído para aquele campo de protocolo. Conforme descrito em outros lugares neste documento, o modelo pode ser construído, por exemplo, usando uma análise de tráfego de dados em uma fase de aprendizagem. A característica do campo de protocolo pode ser qualquer adequada característica dos dados no próprio campo de protocolo, seu significado no contexto do protocolo, etc. Alguns exemplos serão descritos abaixo. Adotando diferentes tipos de modelos é possível ambos aplicar técnicas de modelagem que são específicas para o tipo de valores de campo diferentes e para adaptar a região segura de valores em uma maneira que é menos ou mais restritiva de acordo com o significado, papel e importância do campo de protocolo no protocolo ou no contexto que o protocolo é aplicado. Em geral, diferentes tipos de modelos podem aplicar diferentes tipos de critérios de modo a estabelecer se um particular valor de campo de protocolo pode ser intrusivo ou não. Por exemplo, diferentes tipos de modelos podem aplicar ou uma gama de valores, uma distribuição numérica de valores, um conjunto de valores, um conjunto de operadores, um conjunto de valores de texto, um conjunto de descrições de estado, um conjunto ou gama de caracteres de texto, um conjunto / gama de codificações de texto, etc. O termo tipo de modelo pode então ser entendido como um conjunto de operações permitidas em um determinado tipo de valor, junto com as heurísticas para definir uma região segura para valores de um determinado tipo e o critério para determinar se um determinado valor está dentro da região segura.
[00037] A seleção do tipo de modelo pode ser efetuada em qualquer tempo: durante uma fase de aprendizagem, assim como durante monitoração e detecção de intrusão. Durante a fase de aprendizagem, um tipo de modelo pode ser selecionado como parte do processo de construção do modelo para um particular campo de protocolo. Durante detecção, deve aparecer que o modelo para um particular campo de protocolo não fornece resultado consistente, um diferente tipo de modelo pode ser escolhido.
[00038] A seleção do tipo de modelo pode ser efetuada usando o tipo de dados do valor(s) do campo de protocolo, e/ou a semântica do campo de protocolo(s) analisado. Em uma modalidade, a característica do campo de protocolo compreende o tipo de dados do campo de protocolo, o método caracterizado pelo fato de compreender:- determinar o tipo de dados do campo de protocolo extraído, e - selecionar o tipo de modelo usando o determinado tipo de dados.
[00039] O tipo de dados dos valores do campo de protocolo (tal como “número”, “sequência”, “matriz”, “conjunto”, etc.) pode, por exemplo, ser extraído da especificação de protocolos. Altemativamente, o tipo de dados dos valores do o campo de protocolo pode, por exemplo, ser inferido a partir da observação do tráfego de rede. Em uma modalidade, valores de campo são inferidos por meio de expressões regulares. Por exemplo, a expressão regular A[0-9]+$ pode ser usada para identificar valores de campo inteiro numérico. Escolhendo um tipo de modelo apropriado para coincidir com o tipo de dados de valores do campo de protocolo, um modelo que pode resultar em resultados de detecção mais confiáveis, pode ser obtido.
[00040] A seleção do tipo de modelo pode ainda, ou em vez de ser com base no tipo de dados de valor do campo de protocolo, ser com base em uma semântica do campo de protocolo analisado. Então, em uma modalidade, a característica do campo de protocolo compreende a semântica do campo de protocolo, o método caracterizado pelo fato de compreender: - determinar a semântica do campo de protocolo extraído, e - selecionar o tipo de modelo usando a determinada semântica.
[00041] Semântica pode ser atribuída ao campo de protocolo analisado. Atribuir a semântica pode ser efetuada em uma variedade de maneiras: de forma manual durante a fase de aprendizagem, inferindo a partir dos dados da rede observados, extraindo a informação de uma especificação de protocolo, etc. A semântica pode ser aplicada para selecionar um tipo de modelo mais apropriado por exemplo no caso que múltiplos tipos de modelos estão disponíveis para um determinado tipo de valor de campo de protocolo. Por exemplo, para um valor de campo de protocolo do tipo numérico, pode ser feito uso de um tipo de modelo que contém uma gama de tais valores de campo de protocolo, um tipo de modelo que contém um conjunto de valores de campo de protocolo, etc. Levando em consideração semântica, preferencialmente levando em consideração ambos tipos de valor do campo de protocolo assim como semântica, pode permitir atribuir um apropriado tipo de modelo mais adequado para aquele particular campo de protocolo.
[00042] Um exemplo do uso de semântica pode ser para determinar quanto “estrito” um intervalo numérico é com base na importância do campo. Em outras palavras, se a semântica do campo de protocolo sugere que este campo é importante por razões de segurança, um intervalo numérico mais estrito pode ser aplicado do que no caso oposto, no qual um intervalo mais afrouxado (por ex. duas vezes o valor máximo e metade do valor mínimo observado durante a fase de aprendizagem) seria aplicado.
[00043] Atribuindo a um campo de protocolo um tipo de modelo de acordo com o tipo de valor do campo de protocolo e/ou a semântica do protocolo, um tipo de modelo pode ser atribuído que leva em consideração os conteúdos dos dados no campo de protocolo, assim sendo possibilitando adequar o modelo de acordo com os conteúdos do campo de protocolo. Por exemplo, se o tipo de campo é numérico inteiro e a semântica é que este campo contém o comprimento de outro campo, um modelo de distribuição do tipo numérico pode ser selecionado. Por outro lado, se o tipo de campo é numérico inteiro e a semântica do campo é tipo de mensagem, então um modelo de conjunto do tipo numérico pode ser selecionado. Como um terceiro exemplo, se o tipo de campo é numérico inteiro e a semântica do campo é uma velocidade de um motor, então um modelo do tipo de intervalo numérico estrito pode ser aplicado.
[00044] Em uma modalidade, o conjunto de modelos compreende um modelo para um campo de protocolo de operador e um modelo para um campo de protocolo de argumento, a associação e avaliação sendo efetuado para o campo de protocolo de operador e o campo de protocolo de argumento. Um protocolo pode compreender campos de protocolo contendo operadores (tal como instruções, chamadas, etc.) e campos de protocolo contendo operandos (i.e. argumentos) aos quais os operadores se aplicam. É notado que, de acordo com uma modalidade da invenção, um respectivo modelo pode estar associado com campos de protocolo caracterizado pelo fato de compreender operadores assim como com campos de protocolo caracterizado pelo fato de compreender argumentos. E por meio disso, de um lado, não somente valores intrusivos de argumentos podem ser reconhecidos, mas também possivelmente operadores intrusivos. Além disso, levando em consideração o operador permite atribuir um tipo de modelo mais apropriado, assim sendo permitindo um modelo para melhorar a precisão de detecção de intrusão, conforme um operador normalmente vai ser seguido por um ou mais argumentos contendo determinados tipo de dados pré-determinados.
[00045] Além disso, uma mensagem de protocolo pode ser pretendida como a especificação de uma operação a ser efetuada no hospedeiro(s) recebendo como requerido pelo hospedeiro enviando. Consequentemente, uma mensagem de protocolo pode compreender campos de operador campos (i.e. a especificação de que operação é requerida), campos de argumento (i.e. a especificação de como uma operação deve ser efetuada) e campos de triagem (i.e. campos que não estão diretamente relacionado com a operação requerida, mas contém um parâmetro necessário pelos hospedeiros para corretamente receber e interpretar uma mensagem ou mais em geral para tratar uma comunicação de rede). Triagem pode ser entendido como o processo de transformar uma representação de memória de um objeto para um formato de dados adequado para armazenagem ou transmissão, e isto é tipicamente usado quando dados precisam ser movido entre diferentes partes de um programa de computador ou de um programa para um outro.
[00046] Por exemplo, uma solicitação de HTTP contém um campo de método (por ex. GET, POST, PUT, etc.) especificando o operador, o campo de URL que contém argumentos para o método (por ex., / índice.php?id=3) e uns campos de número de cabeçalho (por ex. Content-length: 100) que contém informação que não está relacionada à própria operação, mas é usada pelos hospedeiros para comunicar (por ex. o cabeçalho Content-length: 100 especifica que o corpo da mensagem de solicitação tem 100 bytes de comprimento).
[00047] Como outro exemplo, uma mensagem de solicitação de Modbus / TCP contém um campo de código de função identificando que operação é para ser efetuada no dispositivo de PLC / RTU recebendo, um número variável de registros de dados especificando os argumentos da operação desejada e um número de outros campos que não estão diretamente relacionados à operação (por ex. o campo de contagem de registro, o campo de comprimento dos dados, etc.) que são necessários pelo hospedeiro recebendo para entender como analisar uma mensagem (por ex. quantos registros estão sendo enviados).
[00048] Tentativas de ataque ou intrusão podem ser realizadas injetando dados maliciosos em cada um desses diferentes campos. De forma similar, tais tentativas de ataque ou intrusão podem ser detectadas porque valores dos diferentes campos são diferentes do que o normal. Operador de inspeção e campos de triagem podem aumentar a precisão em detectar tentativas de ataque ou intrusão. Consequentemente, em uma modalidade, o conjunto de modelos ainda mais compreende um modelo para um campo de protocolo de triagem, a associação e avaliação ainda mais sendo efetuadas para o campo de protocolo de triagem.
[00049] Por exemplo, um ataque de sobrecarga de buffer pode ser realizado injetando em um campo de sequência de caracteres mais caracteres do que o buffer alocado pelo hospedeiro recebendo. Tal um ataque pode ser detectado porque o campo de sequência de caracteres contém valores de caracteres não usuais. Por outro lado, um ataque bem sucedido pode ser realizado que somente usa caracteres textuais perfeitamente válidos como carga útil maliciosa. O mesmo ataque pode então ser detectado porque outro campo, especificando o comprimento da sequência de caracteres é maior do que o normal: isto necessariamente seria verdade, já que o valor permitido máximo para um comprimento de sequência de caracteres autorizado seria o tamanho do buffer alocado pelo hospedeiro recebendo.
[00050] Adicionalmente, diferentes, específicos tipos de modelos podem ser usados por campos de operador, campos de argumento e campos de triagem de modo a ainda aumentar a precisão de detecção ou abaixar o número de alertas irrelevantes gerados. Para diferentes campos de operador, diferentes modelos (do mesmo ou diferentes tipos de modelos) podem ser usados. Para diferentes campos de argumento, diferentes modelos (do mesmo ou diferentes tipos de modelos) podem ser usados. Para diferentes campos de triagem, diferentes modelos (de um mesmo ou diferentes tipos de modelos) podem ser usados. Os tipos de modelos podem ser selecionados com base, por exemplo, no tipo de dado e semântica conforme descrito acima.
[00051] É notado que o sistema e método de detecção de intrusão de acordo com a invenção podem ser aplicados para qualquer tipo de tráfego de dados, tal como tráfego de dados de texto (i.e. um protocolo de texto) ou tráfego de dados binários (i.e. um protocolo binário). Em geral, a especificação de protocolos textuais não transporta uma descrição do tipo da maioria de seus valores de campo. Por exemplo, a especificação do protocolo de HTTP não associa um tipo com valores de cabeçalho ou valores de parâmetros, que precisam ser analisados como sequência de caracteres de texto. Em tais casos, pode ser necessário inferir o tipo de campo inspecionando o tráfego. Por outro lado, este comportamento não está presente em protocolos binários, nos quais as especificações necessitam de incluir o tipo de todos os campos de protocolo de modo a permitir análise apropriada. Por esta razão, aplicar a presente técnica para protocolo binário pode ser mesmo mais preciso do que aplicá-la a protocolo de texto, já que para protocolos binários a incerteza de inferir tipos de valor de campo este em falta. Em particular quando se leva em consideração o tipo de dados e semântica do campo de protocolo analisado, à sequência de dados binários pode ser dado um significado, no sentido que a análise e selecionar um tipo de modelo adequado para cada campo de protocolo com base no tipo de dados e/ou semântica, permite levar em conta os conteúdos dos dados binários. Em um protocolo binário, o termo tipo de dados de um campo de protocolo é para ser entendido como que dados são representados pelos dados (binários) no campo de protocolo: os dados binários, por exemplo, representando outro tipo de dados, tal como um número, uma sequência de caracteres, etc.
[00052] Em geral, uma mensagem de protocolo pode compreender campos de protocolo primitivos e campos de protocolo compostos. Um campo de protocolo composto compreende dois ou mais subcampos de protocolo, que pode cada um ser um campo de protocolo primitivo ou um campo de protocolo composto. Um modelo para campos de protocolo compostos pode compreender de um contador de circunstâncias do campo de protocolo observado em uma fase de aprendizagem. No caso que o campo foi observado menor do que um determinado número de vezes (limite), observar o campo de protocolo composto durante a fase de detecção pode causar a geração de um sinal de detecção de intrusão. De acordo com a semântica de um campo de protocolo composto, sua importância com relação à segurança pode variar. Por conseguinte, a semântica pode ser usada para especificar um diferente tipo de modelo ou uma diferente sensitividade do modelo de acordo com, por exemplo, a importância de um campo com relação à segurança. Por exemplo, no caso de um campo composto, que não é relevante para segurança, o limite de circunstâncias observadas pode ser mudado para limitar a quantidade de sinais de detecção de intrusão irrelevantes gerada, e assim sendo melhorar o uso. Além disso, a semântica de um campo composto pode ser propagada para seus subcampos, para permitir uma seleção mais apurada do tipo de modelo e configurações do modelo. Por exemplo, um campo básico do tipo numérico contido em um campo composto que é muito relevante para segurança pode estar associada a um modelo do tipo de conjunto numérico, que pode definir uma região segura mais estrita de valores do que um do tipo de intervalo numérico, e assim sendo melhorar a precisão de detecção de intrusão.
[00053] De acordo com outro aspecto da invenção, é fornecido um sistema de detecção de intrusão para detectar uma intrusão no tráfego de dados em uma rede de comunicação de dados, o sistema caracterizado pelo fato de compreender: - um analisador para analisar o tráfego de dados para extrair pelo menos um campo de protocolo de uma mensagem de protocolo do tráfego de dados; - um motor de associação para associar o campo de protocolo extraído com um respectivo modelo para aquele campo de protocolo, o modelo sendo selecionado a partir de um conjunto de modelos; - um tratador de modelo para avaliar se uns conteúdos do campo de protocolo extraído estão em uma região segura conforme definido pelos modelos; e - um atuador para gerar um sinal de detecção de intrusão no caso de ser estabelecido que os conteúdos do campo de protocolo extraído estão fora da região segura.
[00054] Com o sistema de acordo com a invenção, os mesmos ou efeitos similares podem ser alcançados como com o método de acordo com a invenção. Além disso, a mesma ou modalidades similares podem ser fornecidas conforme descrito com referência ao método de acordo com a invenção, alcançando os mesmos ou efeitos similares. O analisador, motor de associação, tratador de modelo e atuador podem ser implementados por meio de adequadas instruções de software a serem executadas por um dispositivo de processamento de dados. Eles podem ser implementados em um mesmo programa de software que é para ser executado por um mesmo dispositivo de processamento de dados, ou pode ser executado em dois ou mais diferente dispositivos de processamento de dados. Por exemplo, o analisador pode ser executado localmente em uma localização onde o tráfego de dados passa, enquanto o motor de associação, tratador de modelo e atuador podem estar remotamente localizados, por exemplo, em uma localização segura. Além disso, dados de diferentes sites podem ser monitorados, e por meio disso, por exemplo, um analisador pode ser fornecido em cada site, output dados de saída do analisador a partir de cada analisador sendo enviados a um único motor de associação, tratador de modelo e atuador.
[00055] É notado que o método e sistema descritos acima podem não somente ser aplicado para detecção de instrução. Em seu lugar, ou em adição para este propósito, o método e sistema descrito podem ser aplicados para propósitos de monitoração. Por exemplo, tráfego de dados em uma rede de dados de uma entidade, tal como uma instalação, um centro de dados, etc., pode ser monitorado. Para cada um ou para determinados campos de protocolo um modelo pode ser definido que representa um estado de operação desejado ou seguro. O método e sistema conforme descrito pode ser aplicado para detectar um estado diferente de tal estado de operação seguro. Altemativamente, em vez de definir um estado de operação desejado ou seguro antecipadamente, o sistema e/ou método conforme descrito neste documento pode ser aplicado na fase de aprendizagem, e por meio disso, os modelos obtidos na fase de aprendizagem permitem obter uma descrição de uma operação conforme monitorada. Os dados transferidos podem compreender informação a partir da qual um estado de operar pode ser derivado, tais dados sendo aplicados para aprender os modelos para os apropriados campos de protocolo. Por exemplo, em uma rede de dados de uma instalação, informação de controle pode ser transferida que se refere a uma velocidade de motores de associação, uma temperatura de reatores, uma pressão hidráulica, assim como mensagens de erro, chamadas de procedimento, etc. Tais dados podem ser usados, ou para comparar modelos pré-definidos que definem um estado de operação segura ou desejada, ou para aprender modelos e daí derivar um estado dos modelos conforme aprendidos. A monitoração pode compreender verificar um estado de “saúde” de uma instalação industrial ou rede de computador observando os valores de determinados campos de protocolo (ou combinação de campos de protocolo) que são significativos para administradores de sistema / rede e pode definir eventos de interesse da rede de computador ou de um processo industrial, etc. Então, onde neste documento o termo detecção de intrusão é aplicado, isto pode ser entendido a fim de se referir também à monitoração.
Descrição Breve das Figuras
[00056] Efeitos e características adicionais da invenção serão descritos, à título de exemplo somente, com referência à descrição abaixo e desenhos esquemáticos anexos nos quais modalidades não limitantes são divulgadas, caracterizado pelo fato de que:
[00057] A Figura 1, de forma esquemática, representa um exemplo de uma rede de comunicação de dados caracterizado pelo fato de compreender um sistema de detecção de intrusão de acordo com uma modalidade da invenção;
[00058] a Figura 2, de forma esquemática, representa uma visão geral de um sistema de detecção de intrusão de acordo com uma modalidade da invenção;
[00059] a Figura 3, de forma esquemática, representa uma visão geral de uma fase de aprendizagem de um método de acordo com uma modalidade da invenção;
[00060] a Figura 4, de forma esquemática, representa uma visão geral de uma fase de detecção de intrusão de um método de acordo com uma modalidade da invenção;
[00061] a Figura 5, de forma esquemática, representa um diagrama em bloco para ilustrar um sistema e método de detecção de intrusão de acordo com uma modalidade da invenção.
Descrição Detalhada da Invenção
[00062] Na Figura 1 uma visão geral esquemática é representada de um exemplo de uma rede de comunicação de dados com um sistema de detecção de intrusão para classificar uma mensagem de protocolo de acordo com uma modalidade da invenção. Nesta rede, computadores pessoais (ou estações de trabalho) 14 e 15 estão conectados com um servidor 13. A rede pode ser conectado à Internet 16 via um firewall 17.
[00063] Em uma rede de comunicação de dados uma intrusão ou ataque pode se originar da Internet 16 ou de um computador pessoal 14, quando ele foi infectado com software malicioso.
[00064] A rede de comunicação de dados pode ser uma rede SCADA rede ou outra rede de controle industrial. Em tal uma rede, o conjunto de máquinas 12 pode ser controlado por software sendo executado em uma unidade de terminal remota (RTU) 11, ou em um controlador de lógica programável (PLC). O software executado no servidor 13 pode enviar mensagens de protocolo para o software sendo executado na RTU 1 1. O software na RTU 1 1 pode enviar mensagens de protocolo para o conjunto de máquinas, no qual também software pode estar sendo executado.
[00065] Um usuário pode se comunicar com servidor 13 via software sendo executado no computador pessoal 14 ou estação de trabalho 15 trocando mensagens de protocolo entre o software sendo executado no computador pessoal 14 ou estação de trabalho 15 e o software sendo executado no servidor 13.
[00066] O sistema de detecção de intrusão 10 pode ser posicionado entre a RTU 11 e um restante da rede, conforme é mostrado na figura 1, ou entre a RTU Íleo maquinário 12 (não mostrado). O sistema de detecção de intrusão 10 pode recuperar mensagens de protocolo a partir de uma rede de comunicação de dados, que podem ser trocadas entre o software sendo executado no computador pessoal 14 ou na estação de trabalho 15 e o software sendo executado no servidor 13, entre o software sendo executado no servidor 13 e o software sendo executado na RTU 11 ou entre o software sendo executado na RTU Íleo software sendo executado em um dispositivo de processamento de dados do maquinário 12.
[00067] Um protocolo de comunicação pode ser definido como uma descrição formal de formatos de mensagem de protocolo digitais e as regras para trocar aquelas mensagens nele ou entre (software sendo executado) sistemas de computação. Um protocolo de comunicação pode incluir descrições para sintaxe, semântica, e sincronização de comunicação. Mensagens de protocolo em uma camada de aplicação em uma rede de comunicação de dados podem conter um ou mais campos, que podem ser caracterizados por seus tipos de dados. Por exemplo, um campo pode representar o comprimento inteiro de uma mensagem, com um valor de número ou um valor de sequência de caracteres.
[00068] Com mais informação sobre as mensagens de protocolo, um modelo descrevendo mensagem de protocolo normal, legítima ou não intrusiva pode incluir mais informação sobre os valores normais ou legítimos de cada campo de protocolo de cada mensagem de protocolo que são trocados em uma rede de comunicação de dados. O modelo pode então ser usado (por ex. em tempo real) para classificar mensagens de protocolo a partir do tráfego de dados ao vivo na rede de comunicação de dados de modo a encontrar anomalias, i.e. alguma coisa que desvia do comportamento normal da rede de comunicação de dados conforme é descrito pelos modelos.
[00069] A Figura 2 mostra uma visão geral esquemática de uma modalidade de um sistema de detecção de intrusão 10 de acordo com uma modalidade da invenção. O sistema de detecção de intrusão 10 compreende um analisador de protocolo de rede 21, arrumado para recuperar pelo menos um campo de protocolo em uma mensagem de protocolo (por exemplo) em uma camada de aplicação de uma rede de comunicação de dados. Na fase de aprendizagem, as mensagens de protocolo podem ser obtidas a partir de uma rede via entrada 25. O analisador de protocolo de rede 21 pode ser usado durante uma fase de aprendizagem opcional assim como durante operação regular do sistema de detecção de intrusão. Informação sobre a mensagem de protocolo extraída pode ser transferida a um motor de associação 23.
[00070] O sistema de detecção de intrusão ainda compreende o motor de associação 23, um conjunto de modelos 26 e um tratador de modelo 24. O motor de associação 23 é arrumado ar associar o campo de protocolo extraído com um modelo de um determinado tipo de modelo conforme selecionado com base em um tipo de dados e/ou semântica do campo de protocolo. Ainda mais, o motor de associação compreende ou tem acesso a um conjunto de modelos 26. O associa o campo de protocolo extraído com um modelo que é específico para aquele campo de protocolo, por exemplo específico para o tipo de campo de dados e/ou semântica. Além disso, o conjunto de modelos 26 compreende diferentes modelos, cada modelo para um específico campo (ou more) dos campos de protocolo. Em uma fase de aprendizagem, o motor de associação pode, no caso de nenhum modelo estar disponível ainda para o campo de protocolo extraído, criar a modelo para o campo de protocolo extraído e adicioná-lo ao conjunto de modelos. Informação sobe os campos de protocolo extraído pode ser transferida para um tratador 24.
[00071] O tratador 24 então faz uma avaliação se o campo de protocolo extraído condiz ou não com os modelos, a fim de avaliar se os conteúdos do campo de protocolo extraído podem ser considerados uma intrusão ou não. Na fase de aprendizagem, o modelo pode ser atualizado usando os conteúdos do campo de protocolo extraído. O tratador pode emitir as mensagens via saída 27.
[00072] O sistema de detecção de intrusão pode ainda compreender um atuador 22 para gerar um sinal de detecção de intrusão no caso do (valor do) campo de protocolo ter sido identificado como uma intrusão, i.e. fora da região segura definida pelos modelos associados. Em resposta à gerar o sinal de detecção de intrusão, uma ação de detecção de intrusão pode ser efetuada por ex. caracterizado pelo fato de compreender acionar um alerta, filtrar o pacote de dados ou campo de protocolo (e por meio disso, por ex., remover o pacote de dados ou campo de protocolo). O sinal de detecção de intrusão também pode ser gerado no caso que o analisador não pode identificar o campo de protocolo (o que implicaria que o pacote de dados não é condizente com o protocolo), e/ou no caso que o tratador de modelo durante operação de detecção de intrusão poderia não associar o campo de protocolo extraído com um modelo do conjunto (o que implicaria que o pacote de dados does não compreende os campos de protocolo que são normalmente transmitidos).
[00073] For cada campo de protocolo, um modelo específico é usado, preferencialmente usando um diferente modelo para cada diferente campo de protocolo, tal que uma avaliação mais ótima pode ser efetuada para cada campo de protocolo, já que um modelo que é especificamente dedicado àquele campo de protocolo, pode ser usado para avaliação daquele campo de protocolo.
[00074] Em uma modalidade, os modelos foram construídos usando pelo menos dois tipo de modelos, caracterizado pelo fato de que um primeiro tipo de modelo do pelo menos dois tipo de modelos é otimizado para (ou somente funciona para) um campo de protocolo com um primeiro tipo de dados e caracterizado pelo fato de que um segundo tipo de modelo do pelo menos dois tipo de modelos é otimizado para um campo de protocolo com um segundo tipo de dados. Isto pode ser o caso que o primeiro tipo de modelo é otimizado para um campo de protocolo com um de, um tipo de dados de número, um tipo de dados de sequência de caracteres ou um tipo de dados binários e o segundo tipo de modelo é otimizado para um campo de protocolo com outro de, um tipo de dados de número, um tipo de dados de sequência de caracteres ou um tipo de dados binários.
[00075] Por exemplo, para o valor de um campo de protocolo Al com um tipo de dados de número, o modelo M-l-Al pode ser construído que é pretendido para descrever valores de número. Para o valor de um campo de protocolo A2 com um tipo de dados de número, o modelo M-I-A2 pode ser construído que é da mesma forma pretendido para descrever valores de número. Para o valor de um campo de protocolo A3 com um tipo de dados de sequência de caracteres, o modelo M-S-A3 pode ser construído que é otimizado ou adequado para descrever valores de sequência de caracteres. Os modelos para diferentes campos de protocolo que têm o mesmo tipo de dados, por exemplo, modelos M-I-Al e M-I-A2, podem ser construídos usando a mesma arquitetura de modelo, mas tendo uns diferentes conteúdos (por ex. um intervalo permitido diferente, conjunto de valores permitidos diferentes, etc.) a fim de expressar as diferenças entre os campos de protocolo Al e A2.
[00076] Pode ser entendido que um modelo com um tipo de modelo para descrever valores de número e um modelo com um tipo de modelo descrevendo valores de sequência de caracteres pode ser melhor ou mais apurado em descrever os valores de uma mensagem de protocolo caracterizada pelo fato de compreender ambos os valores de número e valores de sequência de caracteres em seus campos de protocolo, do que um único modelo que seria otimizado para descrever todos os valores, ambos os valores de número e valores de sequência de caracteres, de uma mensagem de protocolo.
[00077] O sistema de detecção de intrusão 10 pode ser arrumado para construir um modelo durante a fase de aprendizagem. O funcionamento do sistema de detecção de intrusão 10 e método de acordo com modalidades da invenção ainda será descrito com referência às Figuras 3 e 4. Figura 3, de forma esquemática, ilustra a fase de aprendizagem e Figura 4, de forma esquemática, ilustra a fase de detecção de intrusão.
[00078] Na Figura 3, etapas da fase de aprendizagem, de forma esquemática, foram representadas: etapa al : analisar o tráfego de dados para extrair pelo menos um campo de protocolo de um protocolo aplicado no tráfego de dados. Etapa a2: associar o campo de protocolo extraído com o modelo para aquele campo de protocolo, o modelo sendo selecionado do conjunto de modelos. Etapa a3: no caso de nenhuma associação possa ser feita com os modelos existentes do conjunto de modelos, criar um novo modelo para o campo de protocolo extraído e adicionar o novo modelo ao conjunto de modelos. Etapa a4: atualizar o modelo para o campo de protocolo extraído usando os conteúdos do campo de protocolo extraído.
[00079] Em geral, a mensagem de protocolo pode compreender campos de protocolo primitivos e campos de protocolo compostos. UM campo de protocolo composto compreende dois ou mais subcampos de protocolo, que pode cada um se um campo de protocolo primitivo ou um campo de protocolo composto. Um campo de protocolo primitivo não pode ser dividido ou separado em mais campos de protocolo. Nesta maneira uma mensagem de protocolo pode ser dita compreender uma estrutura em árvore de campos de protocolo. Por exemplo, em uma mensagem de protocolo o campo de protocolo composto “msg_body” compreende um campo de protocolo primitivo “msgjen” e campo de protocolo composto “msg data”. O campo de protocolo composto “msg data” pode compreender campos de protocolo primitivos “msg tipoA” e “msg_tipoB”. O termo campo de protocolo neste documento pode se referir a quaisquer campos de protocolo primitivo em qualquer nível de tal uma estrutura em árvore.
[00080] Diferentes tipos de modelos podem ser usados. Por exemplo, um tipo de modelo do campo de protocolo pode, por exemplo, ser um de: um tipo de modelo de número, um tipo de modelo de sequência de caracteres ou um tipo de modelo binário. No caso que é encontrado que o campo de protocolo extraído compreende um valor de número, um tipo de modelo de número pode ser aplicado para aquele campo de protocolo. No caso que é encontrado que o campo de protocolo extraído compreende um valor de sequência de caracteres, um tipo de modelo de sequência de caracteres pode ser aplicado para aquele campo de protocolo. Este pode se o caso que (por exemplo, em protocolo de texto), quando na fase de aprendizagem o analisador de protocolo de rede é incapaz de estabelecer que o tipo de dados do campo de protocolo é u tipo de dados de número ou um tipo de dados de sequência de caracteres, um tipo de modelo de dados binários é aplicado como um tipo de modelo mais universal.
[00081] Conforme explicado acima, o conjunto de modelos pode compreender um respectivo modelo para cada campo de protocolo. Um modelo para um campo de protocolo com um tipo de dados de número pode ser de modo diferente construído (i.e. pode ser de um diferente tipo ou ter uma arquitetura de modelo diferente) do que um modelo para um campo de protocolo com um tipo de dados de sequência de caracteres. Já que os modelos podem ser otimizados para cada tipo de dados, o modelo pode ser mais apurado em descrever mensagens de protocolo normais, legitimas ou não intrusivas do que modelos que não leva em conta o tipo de dados dos campos de protocolo.
[00082] Exemplos de diferentes tipos de tipos de modelos para diferente tipos de tipos de dados são explicados abaixo. Para o tipo de dados de número, dois tipos de modelos podem ser aplicados, um primeiro modelo para campos de protocolo representando comprimentos e um segundo modelo para campos de protocolo representando enumerações.
[00083] Se o campo de protocolo representa uma enumeração (por ex., um conjunto de valores), o modelo pode compreender um conjunto S com todos os valores do campo de protocolo que foram recuperados na fase de aprendizagem. Após iniciar com um conjunto vazio, durante a fase de aprendizagem cada valor que é identificado para o campo de protocolo pode ser adicionado ao conjunto. Em uma fase de detecção de intrusão, a mensagem de protocolo pode ser classificada como anômala, quando o valor do correspondente determinado campo de protocolo, por exemplo, não faz parte do conjunto S.
[00084] Se o campo de protocolo representa um comprimento, o modelo pode ser construído em uma aproximação de uma distribuição dos valores do campo de protocolo durante a fase de aprendizagem. Durante a fase de aprendizagem, a média μ e a variância o2 da aproximação de uma distribuição podem ser calculadas nas bases da média de amostra e da variância de amostra de todos os valores que foram determinados conforme um conteúdo daquele campo de protocolo. Com a média μ e a variância o2 da aproximação de uma distribuição, uma probabilidade pode ser calculada para todos os valores.
[00085] Durante a fase de detecção de intrusão, quando uma probabilidade de um determinado valor do campo de protocolo é menor do que um dado limite, a mensagem de protocolo com este valor pode ser classificada anômala.
[00086] Um modelo para um campo de protocolo do tipo Boolean pode, por exemplo, monitorar um valor de Boolean médio sobre um número de amostras e comparar o valor médio com um pré-determinado limite. Um exemplo de tal modelo é descrito abaixo:
[00087] Durante a fase de aprendizagem a probabilidade Pt é computada de modo que um valor do campo é verdadeiro, e uma probabilidade Pf (1 -Pt) é computada de modo que o valor do campo é falso.
[00088] 2 - Durante a detecção de intrusão uma sequência de n amostras para o valor do campo é considerada e então um probabilidade binomial de observar tal uma sequência de valores, dado Pt e Pf é computada. A probabilidade é então comparada com um determinado limite t e um alerta é acionado se p_sample < t. Por exemplo, suponha que durante a fase de aprendizagem nós observamos suma quantidade igual de valores verdadeiros e falsos. Então Pt~l/2ePf~l/2. Nós configuramos uma probabilidade limite para sequências de 5 valores para 0,1. Agora, considere que durante a fase de detecção de intrusão nós observamos a sequência [false, false, false, false, false], A probabilidade binomial de p_sample = P(true=0) = 0,03125 < 0,1. Neste caso nós acionamos um alerta. Um exemplo de um tipo de modelo para sequências de caracteres que pode tratar sequências de caracteres ASCII e Unicode é descrito abaixo. Primeiro, um tipo de modelo para sequências de caracteres ASCII é descrito.
[00089] O tipo de modelo para sequência de caracteres ASCII compreende dois valores Boolean e uma lista. O primeiro valor Boolean (letras) é configurado para verdadeiro se nós vimos letras, o segundo valor Boolean (dígitos) é configurado para verdadeiro se nos vimos dígitos, e o conjunto (símbolos) mantém controle de todos os símbolos que nós vimos. Dado um campo de sequência de caracteres s, a função/(s) é definida que diz se a sequência de caracteres contém letras, números e que símbolos. Por exemplo, para a sequência de caracteres “nome de usuário?#!” nos temos:
Figure img0001
[00090] Durante a fase de aprendizagem, uma sequência de caracteres s o modelo M é atualizado como a seguir:
Figure img0002
[00091] Os caracteres da sequência são avaliados um após o outro. Para cada caractere o motor de associação verifica o tipo, e no caso que o caractere é ou uma letra ou um dígito, o motor de associação atualiza o modelo consequentemente configurando o correspondente sinalizador para “verdadeiro”. No caso que o caractere corrente é um símbolo, ele é adicionado ao conjunto de símbolo corrente. No caso que o símbolo já está presente, ele não é adicionado duas vezes.
[00092] Durante a fase de detecção de intrusão, dada uma sequência de caracteres s, um alerta pode ser acionado se :
Figure img0003
[00093] Os caracteres da sequência são de novo avaliados um após o outro. O processo de verificação é direto. Se o caractere corrente é ou uma letra (ou um digito), o motor de associação verifica que caracteres letras (ou dígitos) foram observados antes para o dado campo. Quando esta verificação falha, um alerta é acionado. No caso que o caractere é um símbolo, o motor de associação verifica que dado símbolo foi observado antes. Quando esta verificação falha, um alerta é acionado.
[00094] No começo, o modelo M é definido como a seguir:
Figure img0004
[00095] Outro exemplo de um tipo de modelo para sequência de caracteres, como pode ser usado para sequências de caracteres Unicode, é descrito abaixo. Para sequência de caracteres Unicode, a técnica de modelagem e detecção pode ser similar à modelagem para sequências de caracteres ASCII. Os caracteres Unicode que não são ASCII são tratados como letras ASCII, i.e. se uma sequência de caracteres contém um caractere Unicode, o valor booleano “letras” é configurado como verdadeiro. Em adição o conjunto de textos Unicode (por ex. Latin, Cyrillic, Arabic) conforme visto durante a fase de aprendizagem, é memorizado. Com esta informação adicional é detectado, por exemplo, se caracteres Unicode estranhos (que provavelmente pertencem a um script diferente do que os caracteres vistos na fase de aprendizagem) estão presentes em uma sequência de caracteres.
[00096] Em alguns mais detalhes, dado um campo de sequência de caracteres Unicode s, nós definimos a função f (s) que diz se a sequência de caracteres contém letras, números, que símbolos e que textos Unicode. Por exemplo, para a sequência de caracteres “mu3soafa?#!” nós temos:
Figure img0005
[00097] Para sequências de caracteres Unicode o modelo M é iniciado e atualizado efetuando a mesma ou operações similares como para sequências de caracteres ASCII e tratando o campo “textos” adicional, de forma similar ao campo “símbolos”.
[00098] Anda alguns exemplos de um tipo de modelo para campos de protocolo binários é fornecido abaixo:
[00099] Para os tipos de dados binários um modelo pode ser aplicado a partir de sistemas de detecção de intrusão baseado em anomalias conhecidas com base em uma análise de uma carga útil.
[000100] Um exemplo de modelo binário é com base análise de 1-gram. Um n-gram em uma sequência de n bytes consecutivos.
[000101] Dado um campo binário b de comprimento de 1 bytes, nós primeiro computamos um vetor f contendo a frequência relativa de cada byte. Em outras palavras, dado um valor de byte v, o elemento de f correspondendo ao v é dado por:
Figure img0006
[000102] Durante a fase de aprendizagem, um vetor de frequências relativas é aplicada para computar uma média e desvio padrão para cada valor de byte. Por conseguinte, dada uma sequência de n campos binários bl.bn, e seus associados vetores de frequência de byte relativa (fl.fh), dois vetores μ e o são computados que contêm respectivamente o meio e desvio padrão de cada valor de byte (de 0 à 255). Esses dois vetores neste exemplo, formam os modelos binários.
[000103] Durante a fase de tese, dado um valor de campo binário s, um associado vetor de frequências relativas fs é computado primeiro. Então, uma apropriada função F (por ex. uma distância Euclidiana normalizada) é aplicada para determinar a distância entre fs e o modelo conforme construído durante a fase de aprendizagem. Se a distância resultante excede um pré- determinado limite, um alerta pode se refere acionado. Para dividir o conjunto de aprendizado em subconjuntos um algoritmo de aglomeração pode ser aplicado, tal como um Mapa de Auto Organização (SOM), nos valores de entrada (bl.bn). Um modelo separado (i.e. uma matriz par μ, o) pode então ser construído para cada subconjunto.
[000104] Durante a fase de detecção de intrusão, um algoritmo de aglomerado está sendo executado no valor de campo binário (s). O teste conforme descrito acima pode então ser aplicado no modelo associado ao aglomerado resultante.
[000105] Um terceiro exemplo de um modelo binário é um assim chamado dispositivo de emulação de rede. Um dispositivo de emulação de rede é um algoritmo que é capaz de determinar se instruções executáveis perigosas estão contidas dentro de um conjunto de bytes. Dada uma sequência de bytes, o algoritmo primeiro traduz valores de byte existentes nas instruções de montagem relativas (desmontagem). Depois, ele tenta encontrar sequências de instruções que podem ser reconhecidas como perigosas ou suspeitas (por exemplo, sequências longas de instruções NOP, que são tipicamente encontradas dentro de códigos fechados maliciosos de ataques conhecidos). No caso tais sequências serem encontradas, um alerta é acionado. Note que este tipo de modelo binário não requer uma fase de treinamento.
[000106] No caso que um campo binário campo binário contém um assim chamado Objeto Grande Binário (BLOB) no qual dados são organizados de acordo com a estrutura que não é especificada em uma especificação de protocolo da rede, a mesma abordagem descrita neste documento pode ser aplicada para ainda dividir o BLOB em seus campos constituintes, até campos básicos serem extraídos e processados (por ex. campos numéricos, campos de sequência de caracteres, campos de Boolean, etc.). Por exemplo, um campo de protocolo binário pode conter uma imagem de GSE ou de JPEG, para a qual existe uma especificação, mas tal especificação não é parte da própria especificação de protocolo da rede. Neste caso, a especificação de imagens de GSE ou de JPEG poderia ser usada para ainda dividir o valor de campo em seus campos constituintes básicos. Um modelo pode então ser selecionado e construído consequentemente para os campos do objeto constituintes. Outro tal caso acontece quando o campo binário contém uma região de memória inteira de um dos hospedeiros comunicando por ex., os mapas de memória de PLCs trocados como parte do protocolo de Modbus. A estrutura desta região de memória pode ser definida em outros documentos (por ex., nas especificações do vendedor de PLC), ou pode ser inferida observando bastantes exemplos de dados. Tal informação pode ser usada para ainda dividir a região de memória e seus campos básicos que poderiam então ser processados de acordo com as técnicas ilustradas neste documento.
[000107] Além disso, para o tipo de dados de sequência de caracteres um modelo pode ser aplicado como é descrito em "Bolzoni, D. e Etalle, S. (2008), Boosting Web Intrusion Detections Systems by infering Positive Signatures. In: Confederated International Conferences On the Move to Meaningful Internet Systems (OTMf\ Para o tipo de dados binários uns submodelos podem ser aplicados a partir de Sistema de Detecção de Intrusão baseado em anomalias conhecidas com base em uma análise da carga útil. Um exemplo pode ser encontrado em '''Anomalous payload-based nework intrusion detection’' (RAID, páginas 203-222, 2004) por Ke Wang e Salvatore J. Stolfo. Neste trabalho os autores apresentam um sistema, com o nome de PAYL, que alavanca análise de n-gram para detectar anomalias. Um n-gram em uma sequência de n bytes consecutivos. A frequência relativa e desvio padrão de 1 -grams (sequências de 1 byte) são analisadas e armazenadas em modelos de detecção construídos durante a fase de aprendizagem. Então, na fase de detecção de intrusão, um apropriado modelo é selecionado (usando o valor de comprimento da carga útil) e usado para comparar o tráfego entrante.
[000108] Outro exemplo pode ser encontrado em "POSEIDON: a 2-tier Anomaly-based Rede” (IWIA, páginas 144-156. IEEE Computador Society, 2006) por Damiano Bolzoni, Emmanuele Zambon, Sandro Etalle, e Pieter Hartel. Neste documento os autores constroem no topo do PAYL um sistema melhorado descartando um comprimento de carga útil para selecionar (e construir) o modelo de detecção, mas uso em vez disso uma rede neural que pré-processa os dados de carga útil e cuja saída é usada para selecionar o modo de detecção apropriado.
[000109] Um ainda exemplo adicional pode ser encontrado em Michalis Polychronakis, Kostas G. Anagnostakis, e Evangelos P. Markatos. Comprehensive Shellcode Detection using Runtime Heuristics. Em Proceedings of the 26th Annual Computer Security Applications Conference (ACSAC). Dezembro de 2010, Austin, TX, USA. Neste documento os autores apresentam uma “dispositivo de emulação de rede “. Este componente de software implementa heurísticas e simula via software um CPU física. Um dispositivo de emulação de rede pode testar se os dados de entrada contém código executável (e prejudicial). Em uma modalidade, o processo de análise pode compreender as etapas de : i) coletar pacotes de dados de uma rede de comunicação de dados; ii) desfazer fragmentação de pacotes de IP; iii) remontar segmento de TCP; iv) recuperar dados de aplicação; e v) recuperar mensagens de protocolo.
[000110] Como colocado antes, é possível selecionar diferentes tipos de modelos de acordo com a semântica do campo que o modelo está associado. Também é possível ajustar um ou mais parâmetros de modelo (especificar para cada tipo de modelo) de acordo com a semântica para ampliar ou estreitar a região segura definida pelos modelos. Aqui alguns exemplos são fornecidos para usar a semântica do campo para selecionar o tipo de modelo ou para ajustar os parâmetros do modelo.
[000111] No caso de um campo numérico que representa o tipo de mensagem de protocolo, um modelo do tipo enumeração numérica pode ser usado. Tal tipo de modelo permite ter certeza que somente os tipos de mensagens enumeradas no modelo são definidas como a região segura. No caso que o modelo é construído automaticamente durante a fase de aprendizagem, todos os tipos de mensagem observados são considerados como seguros. No caso que o modelo é construído manualmente, o conjunto de mensagens permitidas pode ser construído de acordo com políticas de segurança específicas. Por exemplo, uma segurança política pode impor que somente operações de leitura são efetuadas em um determinado hospedeiro. Neste caso o conjunto de mensagens permitidas vai conter somente mensagens lidas.
[000112] No caso de um campo numérico que representa a velocidade de um motor de associação, no contexto de processo industrial, um modelo de intervalo numérico pode ser usado. Tal um tipo de modelo permite ter certeza que a velocidade do motor de associação não será configurada para um valor inferior ou superior que o que é considerada segura. No caso que o modelo é construído automaticamente durante a fase de aprendizagem, os valores mínimo / máximo permitidos podem ser configurados para as velocidades mínima / máxima observada durante a fase de aprendizagem (intervalo exato). No caso o modelo é construído manualmente, o intervalo mínimo e valores máximos podem ser configurados com base, mas especificações técnicas do motor de associação, para ter certeza que a velocidade permanece em condições operacionais toleráveis.
[000113] No caso de um campo numérico que representa o comprimento de um campo relacionado à segurança (por ex. o comprimento de um buffer de sequência de caracteres), um modelo do tipo de distribuição numérica pode ser usado. Mais ainda, já que o campo é muito relevante com a segurança, como isto pode ser o alvo de um ataque de sobrecarga de buffer, um alto limite de probabilidade pode ser configurado. Nesta maneira, a área segura definida pelo modelo é restrita aos valores que têm uma alta propriedade de ser gerada pela mesma distribuição numérica observada durante a fase de aprendizagem. Em outras palavras, se o valor de campo de comprimento é muito grande com relação ao que foi anteriormente observado durante a fase de aprendizagem, o valor é considerado como anômalo, e, por conseguinte um ataque possível. Por exemplo, o código fechado e usado para realizar um ataque de sobrecarga de buffer pode ser maior do que o conteúdo normal do buffer, assim sendo gerando um valor anômalo para o campo de comprimento do buffer.
[000114] No caso de um campo de sequência de caracteres que representa um nome de pessoa, um modelo do tipo sequência de caracteres pode ser selecionado e o limite padrão para o número de caracteres de símbolo não incluído no modelo pode ser configurado para um nível muito baixo. Já que um nome de pessoa não é esperado conter muitos símbolos, configurar o limite padrão para um nível muito baixo assegura que um sinal de detecção de intrusão é gerado imediatamente no caso que o valor observado contém símbolos que estão presentes nos modelos. Isto pode ser o caso de um assim chamado ataque de injeção de SQL que alavanca caracteres especiais tal como asas únicas ou duplas, vírgula, etc.
[000115] A Figura 4, de forma esquemática, representa as etapas do processo de detecção de intrusão: etapa bl : analisar o tráfego de dados para extrair pelo menos um campo de protocolo de uma mensagem de protocolo do tráfego de dados, etapa b2: associar o campo de protocolo extraído com um modelo para aquele campo de protocolo, o modelo sendo selecionado a partir de um conjunto de modelos, etapa b3: avaliar se uns conteúdos do campo de protocolo extraído estão em uma região segura conforme definido pelos modelos, e etapa b4:gerar um sinal de detecção de intrusão (por ex. seguido de filtragem do campo de protocolo extraído ou mensagem de protocolo caracterizada pelo fato de compreender o campo de protocolo, gerar um alarme para um usuário, ou qualquer outra ação de detecção de intrusão) no caso de ser estabelecido que os conteúdos do campo de protocolo extraído estão fora da região segura.
[000116] Em uma modalidade, o sinal de detecção de intrusão pode ainda ser gerado quando a análise não pode estabelecer o campo como condizente com o protocolo ou quando o campo extraído não pode ser associado com quaisquer dos modelos do conjunto de modelos.
[000117] A Figura 5, de forma esquemática, retrata, como um exemplo, uma visão geral de conceitos propostos neste pedido de patente. O processo inicia com análise de um tráfego de rede (500) para extrair pelo menos um campo de protocolo de uma mensagem de protocolo. A segunda etapa compreende associar o campo de protocolo extraído com um modelo para aquele campo de protocolo (501), o modelo sendo selecionado a partir de um conjunto de modelos. O conjunto de modelos pode compreender diferentes tipos de modelos, o conjunto de modelos é representado na Figura 5 por 513. a seleção do tipo de modelo para um campo de protocolo extraído pode ser orientada por ambos o tipo de valor do campo de protocolo (representado por 511) e uma semântica associada ao campo de protocolo (representada por 512). O conjunto de diferentes tipos de modelos (513) é também fornecido como entrada, os diferentes tipos de modelos podem incluir uns modelos de intervalo numérico, uns modelos de conjunto numérico (enumeração), uns modelos de distribuição numérica, uns modelos de sequência de caracteres ASCII, uns modelos de sequência de caracteres Unicode, uns modelos de Boolean, uns modelos binários baseados em n-gram, um dispositivo de emulação de rede, um conjunto de assinaturas de detecção de intrusão, etc. O processo de associar um campo de protocolo analisado com seu correspondente modelo (de um determinado tipo de modelo) também pode ser melhorado levando em consideração a dependência de um campo que descreve uma operação com um campo que descreve um argumento de tal operação (conforme representado por 509). Mais em geral, qualquer dependência de um valor de campo em outro valor de campo (como representado por 510) pode ser levado em conta quando associando um campo de protocolo analisado com seu correspondentes modelos, em tal uma maneira que múltiplos modelos são construídos para o mesmo campo de acordo com o valor de um outro campo na mesma mensagem. Em uma fase de aprendizagem, no caso de um modelo do selecionado tipo de modelo não existe para um campo de protocolo analisado, tal modelo pode ser criado (etapa 515). De forma similar, no caso que um modelo já existe, o modelo pode ser atualizado na fase de aprendizagem para incluir o valor de campo analisado corrente na região segura definida pelo modelo (etapa 516). No caso que a análise não pode estabelecer um campo observado em uns dados da rede como condizente com a especificação de protocolo, um sinal de detecção de intrusão pode ser gerado (etapa 508). Durante a fase de detecção, no caso que não é possível associar ao campo analisado um modelo existente do tipo de modelo selecionado, um sinal de detecção de intrusão pode ser gerado (etapa 504). Por outro lado, no caso é possível associar ao campo analisado um modelo existente do tipo de modelo selecionado, o valor de campo é avaliado com relação à região segura definida pelo modelo (etapa 503). No caso que o valor do campo de protocolo analisado não está dentro da região segura definida pelos modelos, um sinal de detecção de intrusão pode ser gerado (etapa 505). Finalmente, no caso que um sinal de detecção de intrusão é gerado por causa de qualquer das razões descritas acima, etapas adicionais podem ser consideradas, tal como remover de um tráfego de rede a mensagem de protocolo associada com o campo de protocolo com valor anômalo (etapa 506), ou elabora e emitir uma mensagem de alerta (etapa 507).
[000118] E para ser entendido que as modalidades divulgadas são meramente exemplares da invenção, que podem ser incorporadas em várias formas. Por conseguinte, detalhes estruturais e funcionais específicos aqui divulgados não são para serem interpretados como limitante, mas meramente como uma base para as reivindicações e como um representativo base para ensinar alguém com qualificação na arte para de modo variado empregar a presente invenção em virtualmente qualquer estrutura apropriadamente detalhada. Além disso, os termos e frases usados aqui não são pretendidos serem limitante, mas apropriadamente, para fornecer uma descrição entendível da invenção. Elementos das modalidades mencionadas acima podem ser combinados para formar outras modalidades.
[000119] Os termos “um” ou “uma”, como usado aqui, são definidos como um ou mais do que um. O termo outro, como usado aqui, é definido como pelo menos um segundo ou mais. Os termos incluindo e/ou tendo, como usado aqui, são definidos como caracterizados pelo fato de compreender (ou seja, não excluir outros elementos ou etapas). Quaisquer sinais de referência nas reivindicações não devem ser interpretados como limitando o escopo das reivindicações ou da invenção. O mero fato que determinadas medidas são citadas em reivindicações dependentes mutuamente diferentes não indicam que uma combinação dessas medidas não possa ser usada para vantagem. O escopo da invenção é somente limitado pelas seguintes reivindicações.

Claims (18)

1. Método de detecção de intrusão para detectar uma intrusão no tráfego de dados em uma rede de comunicação de dados, o método compreendendo: - analisar (b1) o tráfego de dados para extrair pelo menos um campo de protocolo de uma mensagem de protocolo do tráfego de dados; - associar (b2) o campo de protocolo extraído com um respectivo modelo para aquele campo de protocolo, o modelo sendo selecionado a partir de um conjunto de modelos, o conjunto de modelos compreendo diferentes modelos para campos de protocolo diferentes; - avaliar (b3) se uns conteúdos do campo de protocolo extraído estão em uma região segura conforme definido pelos modelos; e - gerar (b4) um sinal de detecção de intrusão no caso de ser estabelecido que os conteúdos do campo de protocolo extraídos estão fora da região segura, em que, em uma fase de aprendizado, um modelo é construído para o campo de protocolo extraído, caracterizado pelo fato de que a fase de aprendizado compreende: - fornecer uma pluralidade de tipos de modelos, - determinar um tipo de dado do campo de protocolo extraído, - selecionar um tipo de modelo para o campo de protocolo extraído da pluralidade de tipos de modelos nas bases de uma característica do campo de protocolo extraído, a característica compreendendo um determinado tipo de dado, e - construir o modelo para o campo de protocolo extraído nas bases do tipo de modelo selecionado.
2. Método de detecção de intrusão de acordo com a reivindicação 1, caracterizado pelo fato de que o conjunto de modelos compreende um modelo para um campo de protocolo de operador e um modelo para um campo de protocolo de argumento, a associação e avaliação sendo efetuadas para o campo de protocolo de operador e para campo de protocolo de argumento.
3. Método de detecção de intrusão de acordo com a reivindicação 2, caracterizado pelo fato de que o conjunto de modelos ainda mais compreende um modelo para um campo de protocolo de triagem, a associação e avaliação ainda mais sendo efetuadas para o campo de protocolo de triagem.
4. Método de detecção de intrusão de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que a mensagem de protocolo compreende pelo menos um campo de protocolo primitivo e pelo menos um campo de protocolo composto de tal forma que a mensagem de protocolo compreende uma estrutura em árvore de campos de protocolo.
5. Método de detecção de intrusão de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que a característica do campo de protocolo compreende uma semântica do campo de protocolo, o método compreendendo: - determinar uma semântica do campo de protocolo extraído, e - selecionar o tipo de modelo usando a determinada semântica.
6. Método de detecção de intrusão de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que o conjunto de modelos compreende um respectivo modelo para cada campo de protocolo do conjunto de campos de protocolo.
7. Método de detecção de intrusão de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que o modelo para o campo é determinado em uma fase de aprendizagem, a fase de aprendizagem compreendendo: - analisar o tráfego de dados para extrair pelo menos um campo de protocolo do protocolo aplicado no tráfego de dados; - associar o campo de protocolo extraído com o modelo para aquele campo de protocolo, o modelo sendo selecionado do conjunto de modelos e - atualizar o modelo para o campo de protocolo extraído usando uns conteúdos do campo de protocolo extraído.
8. Método de detecção de intrusão de acordo com a reivindicação 7, caracterizado pelo fato de que se nenhuma associação pode ser feita entre o campo de protocolo extraído e um dos modelos, - criar um novo modelo para o campo de protocolo extraído e adicionar o novo modelo ao conjunto de modelos.
9. Método de detecção de intrusão de acordo com qualquer uma das reivindicações 1 a 8, caracterizado pelo fato de que o sinal de detecção de intrusão é ainda gerado - quando a análise não pode estabelecer o campo como condizente com o protocolo, ou - quando o campo extraído não pode ser associado com quaisquer dos modelos do conjunto de modelos.
10. Método de detecção de intrusão de acordo com qualquer uma das reivindicações 1 a 9, caracterizado pelo fato de que o protocolo é pelo menos um de, um protocolo de camada de aplicação, um protocolo de camada de sessão, um protocolo de camada de transporte ou um protocolo de nível inferior da pilha de protocolo.
11. Método de detecção de intrusão de acordo com qualquer uma das reivindicações 1 a 10, caracterizado pelo fato de que o modelo para o campo de protocolo compreende pelo menos um de - um conjunto de valores de campo de protocolo aceitáveis, - uma distribuição numérica de valores de campo de protocolo; - uma definição de uma gama de valores de campo de protocolo aceitáveis - uma definição de letras, dígitos, símbolos, e textos aceitáveis; e - um conjunto de assinaturas de intrusão pré-definidas.
12. Método de detecção de intrusão de acordo com qualquer uma das reivindicações 1 a 11, caracterizado pelo fato de que o conjunto de modelos compreende dois modelos para um campo de protocolo, um modelo específico dos dois modelos sendo associado com um campo de protocolo com base no valor de um outro campo de protocolo.
13. Sistema de detecção de intrusão para detectar uma intrusão no tráfego de dados em uma rede de comunicação de dados, o sistema compreendendo: - um analisador (21) para analisar o tráfego de dados para extrair pelo menos um campo de protocolo de uma mensagem de protocolo do tráfego de dados; - um motor de associação (23) para associar o campo de protocolo extraído com um respectivo modelo para aquele campo de protocolo, o modelo sendo selecionado a partir de um conjunto de modelos, o conjunto de modelos compreendendo modelos diferentes para campos de protocolo diferentes; - um tratador de modelo (24) para avaliar se conteúdos do campo de protocolo extraído estão em uma região segura conforme definido pelos modelos; e - um atuador (22) para gerar um sinal de detecção de intrusão no caso de ser estabelecido que os conteúdos do campo de protocolo extraídos estão fora da região segura, em que o sistema é arranjado para, em uma fase de aprendizado, construir um modelo para o campo de protocolo extraído, caracterizado pelo fato de que a fase de aprendizado compreende: - fornecer uma pluralidade de tipos de modelo, - determinar um tipo de dado do campo de protocolo extraído, - selecionar um tipo de modelo para o campo de protocolo extraído da pluralidade de tipos de modelo nas bases de uma característica do campo de protocolo extraído, a característica compreendendo o tipo de dado determinado, e - construir o modelo para o campo de protocolo extraído nas bases do tipo de modelo selecionado.
14. Sistema de detecção de intrusão de acordo com a reivindicação 13, caracterizado pelo fato de que o conjunto de modelos compreende um modelo para um campo de protocolo de operador e um modelo para um campo de protocolo de argumento, o motor de associação sendo arrumado para efetuar a associação e avaliação para o campo de protocolo de operador e o campo de protocolo de argumento.
15. Sistema de detecção de intrusão de acordo com a reivindicação 14, caracterizado pelo fato de que o conjunto de modelos ainda compreende um modelo para um campo de protocolo de triagem, o motor de associação ainda mais sendo arrumado para efetuar a associação e avaliação para o campo de protocolo de triagem.
16. Sistema de detecção de intrusão de acordo com qualquer uma das reivindicações 13 a 15, caracterizado pelo fato de que a mensagem de protocolo compreende pelo menos um campo de protocolo primitivo e pelo menos um campo de protocolo composto, de tal forma que a mensagem de protocolo compreende uma estrutura em árvore de campos de protocolo.
17. Sistema de detecção de intrusão de acordo com qualquer uma das reivindicações 13 a 16, caracterizado pelo fato de que a característica do campo de protocolo compreende uma semântica do campo de protocolo, o sistema sendo arrumado para: - determinar uma semântica do campo de protocolo extraído, e - selecionar o tipo de modelo usando a determinada semântica.
18. Sistema de detecção de intrusão de acordo com qualquer uma das reivindicações 13 a 17, caracterizado pelo fato de ser ainda arrumado para determinar o modelo para o campo em uma fase de aprendizagem, a fase de aprendizagem compreendendo: - analisar o tráfego de dados para extrair pelo menos um campo de protocolo do protocolo aplicado no tráfego de dados; - associar o campo de protocolo extraído com o modelo para aquele campo de protocolo, o modelo sendo selecionado do conjunto de modelos e - atualizar o modelo para o campo de protocolo extraído usando uns conteúdos do campo de protocolo extraído.
BR112014001691-7A 2011-07-26 2012-07-26 Método e sistema de detecção de intrusão BR112014001691B1 (pt)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161511685P 2011-07-26 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.
US61/511685 2011-07-26
NL2007000180 2011-07-26
US61/511,685 2011-07-26
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 (2)

Publication Number Publication Date
BR112014001691A2 BR112014001691A2 (pt) 2020-10-27
BR112014001691B1 true BR112014001691B1 (pt) 2022-06-21

Family

ID=47601337

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014001691-7A BR112014001691B1 (pt) 2011-07-26 2012-07-26 Método e sistema de detecção de intrusão

Country Status (11)

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

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
JP2015535997A (ja) * 2012-09-28 2015-12-17 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. アプリケーションセキュリティ検査
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 Общество с ограниченной ответственностью "СолидСофт" Способ защиты веб-приложений при помощи интеллектуального сетевого экрана с использованием автоматического построения моделей приложений
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
CN110612525B (zh) 2017-05-10 2024-03-19 甲骨文国际公司 通过使用交流话语树启用修辞分析
US11960844B2 (en) * 2017-05-10 2024-04-16 Oracle International Corporation Discourse parsing using semantic and syntactic relations
US11165802B2 (en) * 2017-12-05 2021-11-02 Schweitzer Engineering Laboratories, Inc. Network security assessment using a network traffic parameter
US11641370B2 (en) * 2018-03-08 2023-05-02 Forescout Technologies, Inc. Attribute-based policies for integrity monitoring and network intrusion detection
NL2020552B1 (en) * 2018-03-08 2019-09-13 Forescout Tech B V 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
LT3674823T (lt) * 2018-12-28 2022-08-10 Nozomi Networks Sagl Infrastruktūros anomalijų aptikimo būdas ir aparatas
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 深圳市维度统计咨询股份有限公司 一种基于大数据的网络数据采集系统
DE112021005121T5 (de) * 2020-09-29 2023-09-07 Fanuc Corporation Netwerk-Relais-Vorrichtung
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
US11792213B2 (en) 2021-05-18 2023-10-17 Bank Of America Corporation Temporal-based anomaly detection for network security
US11799879B2 (en) 2021-05-18 2023-10-24 Bank Of America Corporation Real-time 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
ATE374493T1 (de) * 2002-03-29 2007-10-15 Global Dataguard Inc Adaptive verhaltensbezogene eindringdetektion
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
WO2005047862A2 (en) * 2003-11-12 2005-05-26 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
US8135994B2 (en) * 2006-10-30 2012-03-13 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
US8448234B2 (en) * 2007-02-15 2013-05-21 Marvell Israel (M.I.S.L) Ltd. 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 北京启明星辰信息技术股份有限公司 一种协议格式异常检测方法及系统
US8844033B2 (en) * 2008-05-27 2014-09-23 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for detecting network anomalies using a trained probabilistic model
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
US9088601B2 (en) * 2010-12-01 2015-07-21 Cisco Technology, Inc. Method and apparatus for detecting malicious software through contextual convictions, generic signatures and machine learning techniques
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
US9672355B2 (en) * 2011-09-16 2017-06-06 Veracode, Inc. Automated behavioral 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
WO2014144893A1 (en) * 2013-03-15 2014-09-18 Jones Richard B 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
CN103748853A (zh) 2014-04-23
NL2007180C2 (en) 2013-01-29
EA201490333A1 (ru) 2014-06-30
US9628497B2 (en) 2017-04-18
US20140090054A1 (en) 2014-03-27
IL230440A0 (en) 2014-03-31
IL254829A0 (en) 2017-12-31
JP2014522167A (ja) 2014-08-28
ES2581053T3 (es) 2016-08-31
BR112014001691A2 (pt) 2020-10-27
US20140297572A1 (en) 2014-10-02
EP2737683A1 (en) 2014-06-04
IL254829B (en) 2018-06-28
US11902126B2 (en) 2024-02-13
EA037617B1 (ru) 2021-04-22
US11012330B2 (en) 2021-05-18
IL230440A (en) 2017-10-31
EP2737683B1 (en) 2016-03-02
JP6117202B2 (ja) 2017-04-19
WO2013015691A1 (en) 2013-01-31
US20210344578A1 (en) 2021-11-04
CA2842465A1 (en) 2013-01-31
CN103748853B (zh) 2017-03-08
US20170195197A1 (en) 2017-07-06

Similar Documents

Publication Publication Date Title
US11902126B2 (en) Method and system for classifying a protocol message in a data communication network
US11991199B2 (en) Malicious traffic detection with anomaly detection modeling
Rieck et al. Language models for detection of unknown attacks in network traffic
Maggi et al. Protecting a moving target: Addressing web application concept drift
Prasse et al. Malware detection by analysing network traffic with neural networks
Düssel et al. Cyber-critical infrastructure protection using real-time payload-based anomaly detection
Krueger et al. ASAP: Automatic semantics-aware analysis of network payloads
Sija et al. A survey of automatic protocol reverse engineering approaches, methods, and tools on the inputs and outputs view
Jero et al. Leveraging textual specifications for grammar-based fuzzing of network protocols
US20230252145A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
US20230048076A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
Ahmed Online network intrusion detection system using temporal logic and stream data processing
Urmila et al. Dynamic multi-layered intrusion identification and recognition using artificial intelligence framework
Balzarotti Testing network intrusion detection systems.
Todd et al. Alert verification evasion through server response forging
GB2581011A (en) Anomalous network node behaviour identification
EA042211B1 (ru) Способ и система для классифицирования сообщения протокола в сети передачи данных
Verbruggen et al. Creating firewall rules with machine learning techniques
Huang Automatic Field Extraction of Extended TLV for Binary Protocol Reverse
CN116708001B (zh) 工业控制系统私有协议漏洞探测方法及装置
Wang et al. Break the Wall from bottom: Automated Discovery of Protocol-Level Evasion Vulnerabilities in Web Application Firewalls
KR101557856B1 (ko) 로그 분석 시스템 검증장치
Leithner Reverse Engineering for Input Modeling
Heesakkers Constraint-based detection of advanced threats to ICS
Gupta et al. New Fuzzy Logic Based Intrusion Detection System

Legal Events

Date Code Title Description
B11Z Dismissal: petition dismissal - article 216, par 2 of industrial property law

Free format text: PROMULGA-SE O ARQUIVAMENTO DA PETICAO DE ENTRADA NA FASE NACIONAL POR INTEMPESTIVIDADE DE APRESENTACAO DA PROCURACAO CONFORME APRESENTADO NO ART. 216 2O DA LPI (LEI 9279/1996) E DA RESOLUCAO INPI-PR NO 77/2013, ART. 31. DESTA DATA, CORRE O PRAZO DE 60 (SESSENTA) DIAS PARA EVENTUAL RECURSO DO INTERESSADO CONFORME APRESENTADO NO ART. 212 DA LPI (LEI 9279/1996) E DA RESOLUCAO INPI-PR NO 77/2013, ART. 31, PARAGRAFO UNICO.

B11M Decision cancelled [chapter 11.13 patent gazette]

Free format text: ANULADA A PUBLICACAO CODIGO 11.6.1 NA RPI NO 2518 DE 09/04/2019 POR TER SIDO INDEVIDA.

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 26/07/2012, OBSERVADAS AS CONDICOES LEGAIS