PT2548337E - Método de identificação de um protocolo na origem de um fluxo de dados - Google Patents

Método de identificação de um protocolo na origem de um fluxo de dados Download PDF

Info

Publication number
PT2548337E
PT2548337E PT117218099T PT11721809T PT2548337E PT 2548337 E PT2548337 E PT 2548337E PT 117218099 T PT117218099 T PT 117218099T PT 11721809 T PT11721809 T PT 11721809T PT 2548337 E PT2548337 E PT 2548337E
Authority
PT
Portugal
Prior art keywords
classification
protocol
statistical
parameters
server
Prior art date
Application number
PT117218099T
Other languages
English (en)
Inventor
Renaud Dubois
Mathieu Morel
Paul Gompel
Original Assignee
Thales Sa
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 Thales Sa filed Critical Thales Sa
Publication of PT2548337E publication Critical patent/PT2548337E/pt

Links

Classifications

    • 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/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

DESCRIÇÃO
"MÉTODO DE IDENTIFICAÇÃO DE UM PROTOCOLO NA ORIGEM DE UM FLUXO DE DADOS" A presente invenção está relacionada com um processo de identificação de um protocolo na origem de um fluxo de dados do tipo que inclui as etapas seguintes:
Uma captura do fluxo do protocolo a identificar,
Uma classificação estatística do fluxo, incluindo uma extracção dos parâmetros de classificação e uma comparação dos parâmetros de classificação com modelos estatísticos construídos durante uma fase de aprendizagem.
No domínio da segurança dos sistemas de informação, o domínio dos fluxos que entram e que saem de uma rede de defesa ou de uma empresa é crucial. 0 controlo destes fluxos efectua-se geralmente ao nível de um equipamento que é uma porta de acesso, situado na fronteira entre a rede local e o mundo exterior, quer dizer, a rede de Internet: 0 objectivo de um tal controlo é o de se assegurar da conformidade dos fluxos de passagem à política de segurança da empresa. Esta política pode consistir, por exemplo, em autorizar unicamente a navegação na rede, mas interditando as permutas de ficheiros do tipo FTP ou par-a-par (P2P) com o exterior, assim como qualquer ligação directa a servidores distantes SMTP, SSH ou outros. Têm sido desenvolvidos numerosas ferramentas para assegurar o respeito destas políticas de segurança. Os métodos que elas utilizam podem ser classificados em três grandes categorias:
Filtragem de nível rede e transporte por análise protocolar (barreira corta-fogo); - Filtragem por análise do conteúdo dos dados de aplicações do fluxo (servidores "proxy"); e
Análise comportamental elementar para identificar os comportamentos suspeitos (IDS ou IDPS comportamentais). 0 conjunto destas protecções pode, no entanto, ser contornado por um utilizador da rede local, utilizando uma aplicação túnel com um servidor distante controlado.
Este método consiste em encapsular os dados de aplicações de um protocolo interdito no interior de tramas de um protocolo autorizado a atravessar a porta de acesso. 0 servidor controlado distante, controlado pelo utilizador, extrai as tramas encapsuladas e envia-as para o seu destino verdadeiro. 0 protocolo mais utilizado para estabelecer este género de túneis é o protocolo HTTP, porque este último é quase sempre autorizado pelas portas de acesso. Assim, a aplicação GNU httptunnel, http://www. nocrew.org/software/httptunnel.html, Lars Brinkhoff permite encapsular as tramas de um qualquer protocolo (SSH ou P2P, por exemplo) nas consultas HTTP. Os dados úteis são camuflados em certos campos da consulta, com a ajuda de técnicas próximas das da esteganografia.
De maneira similar, a aplicação Stunnel embalador universal de SSL, http://www.stunnel.org/ permite encapsular a maioria dos protocolos numa ligação SSL/TLS, através da porta 443. Os fluxos resultantes são, portanto, identificados pelas ferramentas de filtragem como fluxos HTTP legítimos.
Se se pode esperar que um servidor "proxy" aperfeiçoado detecta uma anomalia nas consultas HTTP geradas por HTTPTunnel, os fluxos gerados por Stunnel são, quanto a eles, encriptados, o que impede qualquer inspecção do conteúdo dos pacotes.
Uma abordagem para identificar o fluxo indesejável que circula num tal túnel é a de determinar o protocolo na origem de um fluxo de dados (isto é, o protocolo encapsulado no caso de um túnel), utilizando um pequeno número de parâmetros dificilmente falsificáveis por um atacante. Uma vez este protocolo identificado, pode aplicar-se a política de segurança da rede local para decidir acerca de filtragem ou não do fluxo.
Para detectar a presença de túneis ilegítimos, a utilização dos números de porta verifica-se inútil, e a inspecção aprofundada do conteúdo dos pacotes é frequentemente fonte de erros, os criadores das aplicações de tunelização são particularmente inventivos quando se trata de esconder os dados num fluxo legítimo, até mesmo impossível se o fluxo está encriptado como no caso dos túneis de HTTP.
Os métodos apresentados abaixo utilizam ferramentas estatísticas para explorar as informações residuais nos fluxos após encriptação ou encapsulação num outro protocolo. Em particular, procura-se identificar uma impressão estatística inerente a cada protocolo a partir de um número reduzido de parâmetros.
Para que um método de classificação de fluxo estatístico seja utilizável, é necessário fazer duas hipóteses: - Cada protocolo ou classe de protocolo (HTTP, SSH, P2P, VoIP, ...) induz um comportamento característico em termos de pacotes de dados gerados, tanto pelo tamanho destes pacotes como pelo tempo inter-pacotes. Por exemplo, um fluxo SSH será composto maioritariamente de «pequenos» pacotes permutados nos dois sentidos (os toques de teclado, mais as suas respostas «eco») , enquanto que um fluxo HTTP típico consistirá numa consulta de tamanho médio, seguida da resposta do servidor em vários pacotes de grande tamanho; e 0 encapsulamento de um protocolo num túnel HTTP/HTTPs ou similar não modifica notavelmente o seu comportamento característico (ou pelo menos os comportamentos dos diferentes protocolos encapsulados permanecem distintos). A utilização de métodos de classificação estatística para identificar o protocolo na origem de um fluxo está descrita na literatura onde são estudados diferentes métodos. Em particular em N. Williams, S. Zander e G. Armitage, A preliminary performance comparison of five machine learning algorithms for practical IP traffic flow classification, ACM SIGICOMM' 06, 2006. O artigo apresenta uma síntese comparativa de vários métodos de classificação aplicados à classificação de fluxos de dados. Williams mostra que de entre numerosos algoritmos (método de Bayes, redes bayesianas, C4.5, árvores de Bayes, SVM, etc.), os com maior desempenho são os SVM e C4.5. A Patente WO 2009/021892 AI descreve um processo e uma instalação de classificação de tráfego nas redes IP. A invenção que aí é descrita implementa um método estatístico baseado numa árvore de decisão (algoritmo C4.5) para determinar o protocolo na origem de um fluxo encriptado. MAHBOD TAVALLAEE ET AL: "Online Classification of Network Flows", COMMUNICATION NETWORKS AND SERVICES RESEARCH CONFERENCE, 2009. CNSR '09. SEVENTH ANNUAL, IEEE, PISCATAWAY, NJ, USA, 11 de Maio de 2009 (11-05-2009), páginas 78-85, descreve um método de classificação de fluxo de pacotes implementando vários níveis de classificação. DUSI M ET AL: "Using GMM and SVM-Based Techniques for the Classification of SSH-Encrypted Traffic", COMMUNICATIONS, 2009. ICC'09. IEEE INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 14 de Junho de 2009 (14-06-2009), páginas 1-6, descreve dois processos de classificação de fluxos encriptados.
Todos estes métodos são eficazes mas produzem um número importante de falsos positivos, quer dizer de classificação de fluxos como interditos enquanto eles são autorizados. A invenção tem por objectivo propor um método de classificação que permite reduzir o número de falsos positivos.
Para este efeito, a invenção tem por objectivo um processo de identificação de um protocolo na origem de um fluxo de dados do tipo supracitado, caracterizado por a classificação estatística incluir: - Uma primeira fase de classificação estatística global incluindo uma etapa de extracção dos parâmetros globais de classificação calculados por aplicação de fórmulas estatísticas sobre uma parte ou a integralidade do fluxo, e uma etapa de tratamento dos parâmetros globais de classificação a partir de um modelo estatístico construído aquando de uma fase de aprendizagem; - Uma segunda fase de classificação sequencial incluindo uma etapa de extracção de parâmetros sequenciais de classificação representativos do encadeamento temporal de pacotes que constituem o fluxo, e uma etapa de tratamento dos parâmetros sequenciais de classificação a partir de um modelo estatístico construído aquando de uma fase de aprendizagem; e
Uma etapa de síntese dos resultados das primeira e segunda fases de classificação para identificar o protocolo na origem do fluxo.
Segundo uma forma de realização particular, o processo inclui uma ou várias das características seguintes: - A etapa de tratamento dos parâmetros globais de classificação a partir de modelos estatísticos construídos aquando de uma fase de aprendizagem inclui a implementação do algoritmo Floresta Aleatória; - Os parâmetros globais de classificação incluem pelo menos um parâmetro de entre: • 0 número de pacotes transmitidos, sentido cliente —» servidor; • 0 número de bytes transmitidos, sentido cliente —» servidor; • A dimensão média dos pacotes IP, sentido cliente —» servidor; • A dimensão máxima dos pacotes IP, sentido cliente —» servidor; • 0 tempo inter-chegadas mínimo entre dois pacotes IP, sentido cliente —» servidor; • 0 tempo inter-chegadas máximo entre dois pacotes IP, sentido cliente —» servidor; • 0 número de bytes transmitidos, sentido servidor —» cliente; • A dimensão máxima dos pacotes IP, sentido servidor —» cliente; • A variância da dimensão dos pacotes IP, sentido servidor —» cliente; e • A razão número de bytes montantes/número total da bytes permutados; A etapa de tratamento dos parâmetros sequenciais de classificação a partir de modelos estatísticos construídos aquando de uma fase de aprendizagem inclui a implementação de Modelos Ocultos de Markov; - A fase de aprendizagem inclui uma etapa de construção de um Modelo Oculto de Markov para cada protocolo identificável e a etapa de tratamento inclui a determinação do Modelo Oculto de Markov cuja probabilidade de que o fluxo tenha sido transmitido pelo protocolo associado seja a maior;
Os parâmetros sequenciais de classificação incluem pelo menos um parâmetro de entre a dimensão do pacote e o tempo inter-pacotes; - A etapa de síntese dos resultados inclui a aplicação da fórmula de Bayes para fornecer a probabilidade da existência de um protocolo Σ/>*ρ('1*)+Σ/>’* ^ I*) μ __fc=l_k=l_ li— 2 onde estando dado um fluxo F e um conjunto de protocolos possíveis [ai, ...an] , Pi e p'± representam respectivamente a probabilidade de F pertencer ao protocolo a± segundo o método Floresta Aleatória implementado na fase e segundo o método do banco de Modelos Ocultos de Markov implementados na fase, • p"i é a probabilidade combinada de F pertencer ao protocolo a±; • p(ilk) (respectivamente p'(i/k)) é a probabilidade de o fluxo pertencer ao protocolo a± sabendo que a primeira fase de classificação, respectivamente a segunda fase de classificação, classificou o fluxo como pertencente ao protocolo ak; - 0 processo inclui, no seguimento da etapa de síntese, uma etapa de filtragem suplementar; - A etapa de filtragem inclui a tomada em conta do histórico dos resultados seguindo uma heurística predeterminada. A invenção tem igualmente por objectivo uma instalação de identificação de um protocolo na origem de um fluxo de pacotes tal como descrito acima, caracterizada por os meios de classificação estatística incluírem: - Primeiros meios de classificação estatística global incluindo meios de extracção de parâmetros globais de classificação calculados por aplicação de fórmula estatística sobre uma parte ou a integralidade do fluxo, e meios de tratamento dos parâmetros globais de classificação a partir de um modelo estatístico construído aquando de uma fase de aprendizagem;
Segundos meios de classificação sequencial incluindo meios de extracção de parâmetros sequenciais de classificação representativos do encadeamento temporal de pacotes que constituem o fluxo, e meios de tratamento dos parâmetros sequenciais de classificação a partir de um modelo estatístico construído aquando de uma fase de aprendizagem; e - Meios de síntese dos resultados dos primeiro e segundo meios de classificação para identificar o protocolo na origem do fluxo. A invenção será melhor entendida com a leitura da descrição que se segue, disponibilizada unicamente a título de exemplo e realizada com referência ao desenho no qual: - A Figura 1 é uma vista esquemática de uma instalação na qual é implementado o processo segundo a invenção; - A Figura 2 é um fluxograma do processo segundo a invenção; - A Figura 3 é um esquema de uma árvore tal como a implementada por uma fase do processo; e A Figura 4 é um esquema de um grafo implementado numa outra fase do processo segundo a invenção.
Na Figura 1 está representado um esquema tipico de uma comunicação estabelecendo um túnel entre um posto local 12 e um servidor distante 14. 0 posto local 12 faz parte de uma rede local 16 por exemplo de uma empresa em que os postos estão interligados entre eles e ligados à rede Internet 18 através de uma porta de acesso 20.
Esta porta de acesso integra uma barreira corta-fogo 22 que em si, como conhecido, é própria para assegurar a gestão e a autorização dos fluxos que entram e que saem da rede local 16.
Como é sabido, em si, a porta de acesso 20 inclui primeiros meios de filtragem interditando a transmissão de dados desde a rede Internet 18 para um dos postos da rede local 16 quando esta transmissão utiliza um certo número de protocolos interditos, tais como o protocolo SSH ou P2P. Em contrapartida, a porta de acesso 20 autoriza a navegação «web» autorizando o tráfego seguindo o protocolo http ou https.
Para o estabelecimento do túnel, um servidor dominado 24 está presente na rede Internet 18 fora da rede local 16 isolado pela porta de acesso 20 e pela barreira corta-fogo 22 da rede Internet 18.
Como conhecido, em si, o posto 12 inclui meios em aplicações para estabelecer um túnel por aplicação 26 entre o posto 12 e o servidor dominado 24. Este túnel por aplicação é próprio para encapsular os dados de aplicações de um protocolo interdito pela porta de acesso 20 no interior de tramas de um outro protocolo autorizado por esta porta de acesso. Para este efeito, os dados de aplicação requeridos pelo posto 12 junto do servidor distante 14 são veiculados do servidor distante 14 para o servidor dominado 24 segundo o protocolo interdito, depois o servidor dominado 24 assegura um encapsulamento dos dados de aplicação no interior de tramas de um outro protocolo autorizado pela porta de acesso 24 e enfim, estes dados são endereçados ao posto 12 utilizando este protocolo autorizado pelo servidor 24. O protocolo autorizado é, por exemplo, o protocolo http enquanto que as tramas de aplicação encapsuladas neste protocolo são transmitidas do servidor 14 para o servidor 24 pelo protocolo SSH ou P2P.
Da mesma forma, os dados de aplicações endereçados do posto 12 ao servidor 14 são transmitidos através do servidor dominado 24 onde os dados são desencapsulados seguindo um processo inverso ao descrito precedentemente.
Segundo a invenção, a porta de acesso 20 inclui, além dos primeiros meios de filtragem, meios de análise do protocolo na origem de um fluxo de dados quando estes dados estão encapsulados num protocolo autorizado pela porta de acesso 20.
Assim, a porta de acesso 20 inclui dois meios de filtragem sucessivos dos fluxos, uma primeira filtragem interditando as permutas de dados utilizando um protocolo interdito entre um posto da rede local e a Internet, depois um segundo meio de filtragem interditando as transmissões de dados entre a rede Internet e um posto com um protocolo autorizado no caso onde os dados de aplicação encapsulados no interior das tramas do protocolo autorizado são provenientes de um protocolo interdito.
Para a implementação desta última filtragem, a porta de acesso 20 inclui meios de armazenamento 30A de uma aplicação implementando as etapas sucessivas do processo de análise, uma base de dados 30B contendo dados provenientes de uma aprendizagem prévia utilizada pelo processo e uma base de dados 30C de armazenamento temporário dos fluxos no decurso do tratamento, por exemplo de tipo MySQL. A Figura 2 apresenta o fluxograma do processo implementado.
Constantemente, efectua-se uma escuta da rede na etapa 102 com a ajuda de um programa conhecido em si tal como Tcpdump/Libpcam disponível em http://ww.tcpdump.org/. Esta etapa assegura a intercepção dos diferentes fluxos multiplexados e o seu armazenamento temporário na base 30C.
Na etapa 104, é em seguida efectuada a desmultiplexagem dos diferentes fluxos interceptados por qualquer meio apropriado e por exemplo por uma linguagem de macrocomandos perl. São implementadas duas fases 108, 110 de classificação do fluxo de dados sobre cada um dos fluxos desmultiplexados. A primeira fase 108 de classificação é dita global no sentido de que ela inclui uma etapa 112 de extracção de parâmetros globais de classificação calculados por uma análise estatística sobre uma parte ou sobre a integralidade do fluxo, e uma etapa 114 de tratamento dos parâmetros globais de classificação a partir de modelos estatísticos construídos aquando de uma fase prévia de aprendizagem. A segunda fase 110 de classificação estatística é dita sequencial no sentido de que ela inclui uma etapa 116 de extracção de parâmetros sequenciais de classificação representativos do encadeamento temporal de pacotes sucessivos que constituem o fluxo, e uma etapa 118 de tratamento dos parâmetros sequenciais de classificação a partir de modelos estatísticos construídos aquando de uma fase prévia de aprendizagem.
Estes parâmetros extraídos nas etapas 112 e 116 assim como algumas informações elementares sobre cada fluxo (timestamp, endereços IP fonte e destino, etc.) são armazenados na base de dados 30C.
As ferramentas de tratamento propriamente ditas que implementam as etapas de tratamentos 114, 118 são desenvolvidas em Java, ou qualquer outra linguagem adaptada. Os resultados de classificação são igualmente armazenados na base de dados 30C.
Na etapa 112, são extraídos para cada fluxo parâmetros globais calculados por uma análise estatística sobre uma parte ou sobre a integralidade do fluxo (por exemplo, a dimensão média dos pacotes, etc.). Os parâmetros globais são o resultado de tratamentos estatísticos efectuados sobre os valores elementares destes parâmetros recolhidos sobre cada um dos pacotes que constituem a parte do fluxo analisada. Trata-se, por exemplo, médias de desvios padrão, de variâncias, etc...
Estes parâmetros são escolhidos por serem quantificados qualquer que seja o fluxo TCP considerado.
Eles são deduzidos dos dados contidos nas camadas 1 a 4 do modelo OSI.
Adicionalmente, para que o contornar do sistema seja mais difícil, os parâmetros são escolhidos de forma a serem difíceis de modificar por um atacante. Por exemplo, os sinalizadores TCP não são considerados. Apenas são extraídos os parâmetros derivados das dimensões dos pacotes e dos tempos inter-pacotes. Trata-se, por exemplo, da dimensão média dos pacotes do cliente para o servidor, da variância dos tempos inter-pacotes, etc.
No presente requerimento, pelo termo «pacote» entende-se, a título de exemplo, no sentido de «pacote TCP transportando dados de aplicações». Todavia, o processo não está limitado ao caso dos protocolos utilizando a pilha TCP/IP e o processo pode ser implementado qualquer que seja o modo de transmissão.
De entre todos os parâmetros possíveis, apenas entre 5 e 15 parâmetros, de preferência uma dezena, são retidos para assegurar a rapidez da classificação ulterior. Estes parâmetros são escolhidos como sendo os mais discriminantes em relação ao protocolo na origem do fluxo, ou seja como um subconjunto de parâmetros com um poder discriminante máximo, mantendo na mesma um fraco valor de intra-correlação.
Noutros termos, estes parâmetros são tais que eles dependem fortemente do protocolo do fluxo, sendo no entanto muito pouco ligados entre eles. Esta última condição serve para não sobre-ponderar certos parâmetros aquando da classificação.
Estes são com vantagem, para a fase 108, a totalidade ou parte dos parâmetros seguintes: • O número de pacotes transmitidos, sentido cliente —» servidor; • O número de bytes transmitidos, sentido cliente —» servidor; • A dimensão média dos pacotes IP, sentido cliente —» servidor; • A dimensão máxima dos pacotes IP, sentido cliente —» servidor; 1 1 O tempo inter-chegadas minimo entre dois pacotes IP, sentido cliente —» servidor; • O tempo inter-chegadas máximo entre dois pacotes IP, sentido cliente —» servidor; • 0 número de bytes transmitidos, sentido servidor —» cliente; • A dimensão máxima dos pacotes IP, sentido servidor —» cliente; • A variância da dimensão dos pacotes IP, sentido servidor —» cliente; • A razão número de bytes montantes/número total da bytes permutados. A etapa de tratamento de parâmetros globais 114 implementa, com vantagem, o algoritmo Floresta Aleatória aplicado sobre os dez parâmetros para classificar cada fluxo.
Este algoritmo foi inventado por Leo Breiman e Adele Cutler em 2001, e está descrito em detalhe em L. Breiman, Random Forests, Machine Learning 45(1) : 5-32, 2001. O algoritmo Floresta Aleatória consiste de uma floresta de árvores de decisões aleatórias.
Um exemplo de árvore de decisão está apresentado na Figura 3. Cada nó de uma tal árvore representa um teste sobre um dos parâmetros, designado aqui, parami 4, parami 8, parami 2 e parami 1 em relação a um valor discriminante, aqui 5,5; 0,1; 91,6 e 10,1. Cada folha da árvore representa um protocolo, aqui HTTP, P2P, SSH, HTTP e TELNET.
Para classificar um fluxo dado, a árvore é percorrida, a partir da raiz, descendo pelos ramos segundo os resultados dos testes. A folha à qual se chega é o resultado da classificação.
Toda a dificuldade do emprego de árvores de decisão reside na construção destas árvores. Esta efectua-se a partir da base de aprendizagem, utilizando um algoritmo que determina recursivamente, para cada nó, o melhor parâmetro a considerar e o valor discriminante mais pertinente para este parâmetro. Assim fazendo, procura minimizar-se a entropia entre inter-classes resultante da separação seguindo este valor. O algoritmo Floresta Aleatória consiste em utilizar não uma mas várias árvores, uma vintena na prática, e introduzindo um factor imprevisível diferente aquando da aprendizagem para cada árvore de maneira que todas as árvores sejam diferentes. Este factor imprevisível concerne a escolha do parâmetro a testar para cada um dos nós .
Para determinar o protocolo encapsulado num fluxo, o fluxo é classificado por cada uma das árvores da floresta. A percentagem de árvores que conduziram a cada um dos protocolos possíveis é interpretada como a probabilidade de que o fluxo pertença a este protocolo. Em particular, o protocolo escolhido por uma maioria de árvores constitui o resultado da classificação e da etapa 114 . 0 método de classificação dos fluxos descrito precedentemente fornece bons resultados. No entanto, ele utiliza exclusivamente os dez parâmetros globais precedentemente referidos para classificar os fluxos. Em particular, toda a informação que diga respeito aos encadeamentos temporais de pacotes é perdida, dado que estes parâmetros são médias, variâncias, valor mínimo ou máximo, calculados sobre o conjunto do fluxo. Ora, a «assinatura» de um protocolo está igualmente no desenrolar temporal das permutas de dados e nomeadamente no encadeamento temporal de pacotes.
Assim, um toque de tecla no protocolo SSH será quase sistematicamente seguido de um pacote «eco» do servidor. Em contrapartida, com o protocolo HTTP, uma consulta do cliente será seguida de vários pacotes enviados pelo servidor, etc.
Para explorar estas informações temporais perdidas pelo algoritmo Floresta Aleatória, a fase 110 de classificação sequencial dos fluxos implementa um outro método de análise estatística dos fluxos, que se apoia em modelos ocultos de Markov (HMM). A maioria dos protocolos correntes são gerados por um autómato de estado subjacente nomeadamente para os encadeamentos do tipo: estabelecimento da ligação, permuta de parâmetros, regime «permanente», encerramento da ligação. Adicionalmente, a cada estado deste autómato correspondem permutas de pacotes particulares. A utilização de modelos ocultos de Markov para representar os protocolos é, portanto, apropriada. Na prática, utiliza-se um banco de modelos ocultos de Markov, ou seja, que se constrói um modelo oculto de Markov para representar cada protocolo. Os símbolos observáveis são os pares [dimensão do pacote, tempo inter-pacotes].
Estando dado que as dimensões dos pacotes e os tempos inter-pacotes podem tomar um grande número de valores, efectua-se uma quantificação vectorial destes parâmetros para os transformar em valores discretos. Para isto, utilizam-se os pacotes dos fluxos de uma base de aprendizagem, e determinam-se os centróides de quantificação utilizando o algoritmo K-médias. A inicialização deste último faz-se escolhendo aleatoriamente pontos numa bola em torno do centro de gravidade. Os pacotes cliente —» servidor e servidor —» cliente são quantificados de maneira independente (o algoritmo K-médias é efectuado duas vezes).
Está representado na Figura 4 um exemplo de modelo oculto de Markov simples. Este modelo é assim constituído por um conjunto de estados, incluindo um ou vários estados iniciais. Para cada estado, é possível um conjunto de transições para outros estados, sendo cada transição ponderada por uma probabilidade. No decorrer do tempo, vão haver deslocações entre os estados ocultos de Markov.
Os modelos ocultos de Markov considerados são ditos «ocultos», porque a sucessão dos estados nos quais nos encontramos não é observável. Em contrapartida, observa-se uma série de símbolos, emitidos aquando das mudanças sucessivas de estado. Assim, a um modelo oculto de Markov está associado um alfabeto A, e a cada estado deste modelo oculto de Markov corresponde uma distribuição de probabilidades de emissão dos símbolos de A. Na Figura abaixo, o alfabeto é {T, t} com T = dimensão do pacote e t = tempo inter-pacotes.
Existem vários tipos de problemas clássicos para os modelos ocultos de Markov: • Sendo dado um modelo oculto de Markov e uma sequência de observação (isto é, uma sucessão de símbolos de A) , qual é a sequência de estados ocultos mais provável correspondente? 1 1
Sendo dado um modelo oculto de Markov e uma sequência de observação, qual é a probabilidade de que este modelo oculto de Markov tenha produzido esta sequência de observações ? • Sendo dado o esqueleto de um modelo oculto de Markov e um conjunto de sequências de observações, quais são as probabilidades de transição e de emissão que maximizam a probabilidade de que este modelo oculto de Markov tenha emitido este conjunto de sequências?
Resolvem-se os dois primeiros problemas com a ajuda do algoritmo de Viterbi, e o terceiro com o de Baum-Welsh. São dadas mais amplas informações sobre estes algoritmos em L. R. Rabiner, A tutorial on Hidden Markov Models and selected applications in speech recognition, Proceedings of the IEEE 77(2): 257-286, 1989. 0 «esqueleto» dos modelos ocultos de Markov que se utilizam para cada protocolo está representado na Figura 4. Ele inclui duas «linhas» de estados. Os estados da linha superior só podem emitir pacotes no sentido cliente —» servidor, enquanto que os estados da linha inferior só podem emitir pacotes no sentido servidor —» cliente.
Fazendo a hipótese de que um protocolo é constituído por uma sucessão de «estados» para os quais as probabilidades de emissão de pacotes [dimensão do pacote, tempo inter-pacotes] são constantes, cada «coluna» dos modelos ocultos de Markov utilizados representa um estado protocolar, e autorizam-se unicamente as transições «para a direita».
Cada modelo oculto de Markov possui, por outro P pl lado, dois estados iniciais 2 situados sobre a primeira coluna.
Sendo dados os esqueletos dos modelos ocultos de Markov precedentes, são calculadas todas as probabilidades de transição e de emissões de símbolos utilizando a base de dados de aprendizagem, aplicando o algoritmo de Baum-Welsh. A inicialização deste algoritmo faz-se a partir de um modelo oculto de Markov cujas probabilidades são uniformes. É construído um modelo oculto de Markov para cada protocolo que se deseja saber reconhecer. A probabilidade de que um fluxo pertença ao protocolo i é dado pela probabilidade de que este fluxo tenha sido produzido pelo modelo oculto de Markov de ordem i. Esta última é calculada pelo algoritmo de Viterbi. Para classificar um fluxo, pesquisa-se, portanto, qual modelo oculto de Markov fornece a maior probabilidade de emissão para este fluxo.
Na prática, utilizam-se os modelos ocultos de Markov com 6 ou 8 estados, e utiliza-se um dicionário de quantificação de 20 a 30 vectores.
As duas fases de classificação paralelas 108, 110 permitem cada uma determinar a probabilidade de que um fluxo dado pertença a cada um dos protocolos possíveis. Na etapa 120, as probabilidades devolvidas por cada uma das fases 108 e 110 são combinadas para se deduzir um resultado final de classificação e um índice de confiança sobre este resultado.
Sendo dado um fluxo F e um conjunto de protocolos possíveis [alf ... an] , dispõem-se de dois vectores de probabilidades [pi ... pn] e [p'i ... p'n] , onde p± e p'± representam respectivamente a probabilidade de que F pertença ao protocolo a± segundo o método Floresta Aleatória implementado na fase 108 e segundo o método do banco de modelos ocultos de Markov implementado na fase 110 .
Os resultados de classificação dos dois métodos são sintetizados na etapa 120 pela fórmula de Bayes: onde
• p"± é a probabilidade combinada de F pertencer ao protocolo a±; 1 1 p(ilk) (respectivamente p'(ilk)) é a probabilidade de o fluxo pertencer ao protocolo a± sabendo que o método Floresta Aleatória (respectivamente o método do banco de modelos ocultos de Markov) classificou o fluxo como pertencendo ao protocolo a1. Estas probabilidades são estimadas por manipulações sobre a base de dados de aprendizagem. A etapa 120 gera na saída um vector de probabilidade [p"i ... p'n]· O resultado de classificação global é, portanto, dado por argmax± (p"±), onde max é a função argumento máximo. O índice de confiança associado é P imax ·
Estes valores são salvaguardados para cada fluxo assim como o hospedeiro na origem da emissão e/ou de receptor deste fluxo de dados. A fim de limitar mais o número de falsos positivos, é aplicado na etapa 122 um modelo de inteligência artificial de filtragem. Segundo uma primeira forma de realização, o modelo inclui heurísticas obtidas por medições experimentais sobre a rede sobre a qual está instalado o dispositivo.
Numa variante, são aplicadas na etapa 122 um certo número de heurísticas ao histórico dos resultados de classificação para levantar ou não um alerta assinalando a utilização de um protocolo interdito. Uma heurística consiste assim, por exemplo, a não levantar o alerta se o índice de confiança sobre a classificação é inferior a um 1 limiar predeterminado, ou se o hospedeiro do qual se trata teve sempre anteriormente um comportamento irrepreensível, ou seja, que se trata de uma primeira detecção de um fluxo encapsulando um protocolo não autorizado desde ou para este hospedeiro. A aplicação destas heurísticas na etapa 124 gera um relatório de análise, actualizado em tempo real, contendo os alertas levantados e o seu nível de criticidade. Este relatório pode ser posto no formato Syslog por exemplo, por razões de interoperabilidades.
Lisboa, 16 de Setembro de 2015

Claims (10)

  1. REIVINDICAÇÕES 1. Processo de identificação de um protocolo na origem de um fluxo de pacotes incluindo as etapas seguintes: uma captura (102) do fluxo do protocolo a identificar, uma classificação estatística do fluxo, incluindo uma extracção dos parâmetros de classificação e uma comparação dos parâmetros de classificação com os modelos estatísticos construídos durante uma fase de aprendizagem, caracterizado por a classificação estatística incluir: uma primeira fase (108) de classificação estatística global incluindo uma etapa (114) de extracção de parâmetros globais de classificação calculados por aplicação de fórmulas estatísticas sobre uma parte ou a integralidade do fluxo, e uma etapa (114) de tratamento dos parâmetros globais de classificação a partir de um modelo estatístico construído aquando de uma fase de aprendizagem; uma segunda fase (110) de classificação sequencial incluindo uma etapa (116) de extracção de parâmetros sequenciais de classificação representativos do encadeamento temporal de pacotes que constituem o fluxo, e uma etapa (118) de tratamento dos parâmetros sequenciais de classificação a partir de um modelo estatístico construído aquando de uma fase de aprendizagem; e - uma etapa (120) de síntese dos resultados das primeira e segunda fases de classificação (108, 110) para identificar o protocolo na origem do fluxo.
  2. 2. Processo segundo a Reivindicação 1, caracterizado por a etapa (114) de tratamento dos parâmetros globais de classificação a partir de modelos estatísticos construídos aquando de uma fase de aprendizagem incluir a implementação do algoritmo Floresta Aleatória.
  3. 3. Processo segundo a Reivindicação 1 ou 2, caracterizado por os parâmetros globais de classificação incluírem pelo menos um parâmetro de entre: • O número de pacotes transmitidos, sentido cliente —» servidor; • O número de bytes transmitidos, sentido cliente —» servidor; 1 1 A dimensão média dos pacotes IP, sentido cliente —» servidor; • A dimensão máxima dos pacotes IP, sentido cliente —» servidor; • 0 tempo inter-chegadas mínimo entre dois pacotes IP, sentido cliente —» servidor; • 0 tempo inter-chegadas máximo entre dois pacotes IP, sentido cliente —» servidor; • 0 número de bytes transmitidos, sentido servidor —» cliente; • A dimensão máxima dos pacotes IP, sentido servidor —» cliente; • A variância da dimensão dos pacotes IP, sentido servidor —» cliente; e • A razão número de bytes montantes/número total da bytes permutados.
  4. 4. Processo segundo uma qualquer das Reivindicações precedentes, caracterizado por a etapa (118) de tratamento dos parâmetros sequenciais de classificação a partir de modelos estatísticos construídos aquando de uma fase de aprendizagem inclui a implementação de modelos ocultos de Markov.
  5. 5. Processo segundo a Reivindicação 4, caracterizado por a fase de aprendizagem incluir uma etapa de construção de um modelo oculto de Markov para cada protocolo identificável e por a etapa (118) de tratamento incluir a determinação do modelo oculto de Markov cuja probabilidade de que o fluxo tenha sido emitido pelo protocolo associado seja a maior.
  6. 6. Processo segundo uma qualquer das Reivindicações precedentes, caracterizado por os parâmetros sequenciais de classificação incluírem pelo menos um parâmetro de entre a dimensão do pacote e o tempo inter-pacotes.
  7. 7. Processo segundo uma qualquer das Reivindicações precedentes, caracterizado por a etapa (120) de síntese dos resultados incluir a aplicação da fórmula de Bayes para fornecer a probabilidade da existência de um protocolo Y,Pkp{i\k)+Y,p'k ρ'(Ί*) I I __fc=l_* = t_ li— 2 onde estando dado um fluxo F e um conjunto de protocolos possíveis [ai, ... an] , Pi e p'± representam respectivamente a probabilidade de F pertencer ao protocolo a± segundo o método Floresta Aleatória implementado na fase (108) e segundo o método do banco de modelos ocultos de Markov implementados na fase (110) . • p"i é a probabilidade combinada de F pertencer ao protocolo a±; • p(ilk) (respectivamente p'(i/k)) é a probabilidade de o fluxo pertencer ao protocolo a± sabendo que a primeira fase de classificação (108), respectivamente a segunda fase de classificação (110), classificou o fluxo como pertencente ao protocolo ak.
  8. 8. Processo segundo uma qualquer das Reivindicações precedentes, caracterizado por ele incluir, no seguimento da etapa de síntese, uma etapa (122) de filtragem suplementar.
  9. 9. Processo segundo a Reivindicação 8, caracterizado por a etapa de filtragem incluir a tomada em conta do histórico dos resultados segundo uma heurística predeterminada.
  10. 10. Instalação de identificação de um protocolo na origem de um fluxo de pacotes incluindo: Meios de captura do fluxo do protocolo a identificar, - Meios de classificação estatística do fluxo, incluindo meios de extracção dos parâmetros de classificação e meios de comparação dos parâmetros de classificação com os modelos estatísticos construídos aquando de uma fase de aprendizagem, caracterizada por os meios de classificação estatística incluírem: - primeiros meios de classificação estatística global incluindo meios de extracção de parâmetros globais de classificação calculados por aplicação de fórmula estatística sobre uma parte ou a integralidade do fluxo, e meios de tratamento dos parâmetros globais de classificação a partir de um modelo estatístico construído aquando de uma fase de aprendizagem; segundos meios de classificação sequencial incluindo meios de extracção de parâmetros sequenciais de classificação representativos do encadeamento temporal de pacotes que constituem o fluxo, e meios de tratamento dos parâmetros sequenciais de classificação a partir de um modelo estatístico construído aquando de uma fase de aprendizagem; e - meios de síntese dos resultados dos primeiro e segundo meios de classificação para identificar o protocolo na origem do fluxo. Lisboa, 16 de Setembro de 2015
PT117218099T 2010-03-17 2011-03-17 Método de identificação de um protocolo na origem de um fluxo de dados PT2548337E (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1001062A FR2957738B1 (fr) 2010-03-17 2010-03-17 Procede d'identification d'un protocole a l'origine d'un flux de donnees

Publications (1)

Publication Number Publication Date
PT2548337E true PT2548337E (pt) 2015-10-16

Family

ID=43416372

Family Applications (1)

Application Number Title Priority Date Filing Date
PT117218099T PT2548337E (pt) 2010-03-17 2011-03-17 Método de identificação de um protocolo na origem de um fluxo de dados

Country Status (8)

Country Link
US (1) US8903749B2 (pt)
EP (1) EP2548337B1 (pt)
ES (1) ES2546129T3 (pt)
FR (1) FR2957738B1 (pt)
MY (1) MY157412A (pt)
PT (1) PT2548337E (pt)
SG (1) SG184120A1 (pt)
WO (1) WO2011114060A2 (pt)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201101875D0 (en) * 2011-02-03 2011-03-23 Roke Manor Research A method and apparatus for communications analysis
US9344384B2 (en) * 2012-11-13 2016-05-17 Netronome Systems, Inc. Inter-packet interval prediction operating algorithm
CN102984076B (zh) * 2012-12-03 2015-08-26 中国联合网络通信集团有限公司 流量业务类型识别方法和装置
US10135847B2 (en) * 2016-05-18 2018-11-20 Salesforce.Com, Inc. Reverse shell network intrusion detection
US10498658B2 (en) * 2017-10-23 2019-12-03 Citrix Systems, Inc. Systems and methods for first packet application classification
CN110233769B (zh) * 2018-03-06 2021-09-14 华为技术有限公司 流量检测方法和设备、样本训练方法和设备、以及介质
CN112511457B (zh) 2019-09-16 2021-12-28 华为技术有限公司 一种数据流类型识别方法及相关设备
CN111641599B (zh) * 2020-05-11 2022-04-15 国家计算机网络与信息安全管理中心 一种VoIP网络流量所属平台的识别方法
US11880431B2 (en) * 2021-04-08 2024-01-23 Hewlett Packard Enterprise Development Lp System and method of classifying data and providing an accuracy of classification

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2023533B1 (fr) 2007-08-10 2011-04-06 Alcatel Lucent Procédé et installation de classification de trafics dans les réseaux IP

Also Published As

Publication number Publication date
ES2546129T3 (es) 2015-09-18
EP2548337A2 (fr) 2013-01-23
EP2548337B1 (fr) 2015-06-17
US8903749B2 (en) 2014-12-02
US20130117205A1 (en) 2013-05-09
FR2957738A1 (fr) 2011-09-23
MY157412A (en) 2016-06-15
WO2011114060A3 (fr) 2011-11-17
FR2957738B1 (fr) 2012-04-20
SG184120A1 (en) 2012-10-30
WO2011114060A2 (fr) 2011-09-22

Similar Documents

Publication Publication Date Title
PT2548337E (pt) Método de identificação de um protocolo na origem de um fluxo de dados
Gao et al. Omni SCADA intrusion detection using deep learning algorithms
Chavan et al. Adaptive neuro-fuzzy intrusion detection systems
Yu et al. An efficient SDN-based DDoS attack detection and rapid response platform in vehicular networks
Najafabadi et al. Machine learning for detecting brute force attacks at the network level
Aickelin et al. Immune system approaches to intrusion detection–a review
Le et al. Data analytics on network traffic flows for botnet behaviour detection
Al-Emadi et al. Using deep learning techniques for network intrusion detection
Jankowski et al. Intrusion Detection in Software Dened Networks with Self-organized Maps: Dened
Soe et al. Rule generation for signature based detection systems of cyber attacks in iot environments
Cui et al. TDDAD: Time-based detection and defense scheme against DDoS attack on SDN controller
Dastanpour et al. Feature selection based on genetic algorithm and SupportVector machine for intrusion detection system
Zaman et al. Lightweight IDS based on features selection and IDS classification scheme
Chou et al. An adaptive network intrusion detection approach for the cloud environment
Koli et al. An advanced method for detection of botnet traffic using intrusion detection system
Hussein et al. Machine learning for network resilience: The start of a journey
Fathi-Kazerooni et al. Tracking user application activity by using machine learning techniques on network traffic
Komárek et al. Passive NAT detection using HTTP access logs
Li et al. Machine learning for detecting the WestRock ransomware attack using BGP routing records
Allard et al. Tunneling activities detection using machine learning techniques
Kareem et al. Entropy-based distributed denial of service attack detection in software-defined networking
Deng et al. Identifying tor anonymous traffic based on gravitational clustering analysis
Divyasree et al. DAD: Domain adversarial defense system against DDoS attacks in cloud
Li et al. Improved automated graph and FCM based DDoS attack detection mechanism in software defined networks
Hussein et al. Machine Learning for Network Resiliency and Consistency