ads-f f detecÇÃo de a b t evidÊncia de d -stg/2008-2/bfol.pdf · 2008-12-01 · sanchez-palencia...

52
Universi Gradua ADS-FUSION: FU ANOMALIAS BAS D B Orientador: Prof. PhD Djam Co-orientado: Prof. MSc. E idade Federal de Pernambuco ação em Ciência da Computação Centro de Informática 2008.2 USÃO DE DADOS PARA DETE SEADO NA TEORIA DA EVIDÊ DEMPSTER-SHAFER Trabalho de Graduação BRUNO FILIPE DE OLIVEIRA LINS mel Sadok ([email protected]) Eduardo Feitosa ([email protected]) Recife, 2008 ECÇÃO DE ÊNCIA DE

Upload: dinhnhi

Post on 18-Dec-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Universidade Federal de PernambucoGraduação em Ciência da Computação

ADS-FUSION: FUSÃO DE ANOMALIAS BASEADO NA

D

B Orientador: Prof. PhD Djamel Sadok ([email protected])Co-orientado: Prof. MSc. Eduardo Feitosa

Universidade Federal de Pernambuco Graduação em Ciência da Computação

Centro de Informática 2008.2

USÃO DE DADOS PARA DETECÇÃO DE ASEADO NA TEORIA DA EVIDÊNCIA DE DEMPSTER-SHAFER Trabalho de Graduação

BRUNO FILIPE DE OLIVEIRA LINS

Djamel Sadok ([email protected]) Prof. MSc. Eduardo Feitosa ([email protected])

Recife, 2008

ETECÇÃO DE

VIDÊNCIA DE

Universidade Federal de Pernambuco Graduação em Ciência da Computação

Centro de Informática 2008.2

ADS-FUSION: FUSÃO DE DADOS PARA DETECÇÃO DE ANOMALIAS BASEADO NA TEORIA DA EVIDÊNCIA DE

DEMPSTER-SHAFER Trabalho de Graduação

BRUNO FILIPE DE OLIVEIRA LINS Orientador: Prof. PhD Djamel Sadok ([email protected]) Co-orientado: Prof. MSc. Eduardo Feitosa ([email protected])

Recife, 2008

Projeto de Graduação apresentado no Centro de Informática da Universidade Federal de Pernambuco por Bruno Filipe de Oliveira Lins, orientado pelo Prof. PhD. Djamel Sadok, como requisito parcial para a obtenção do grau de Bacharel em Ciência da Computação

FOLHA DE APROVAÇÃO

ADS-FUSION: FUSÃO DE DADOS PARA DETECÇÃO DE ANOMALIAS BASEADO NA TEORIA DA EVIDÊNCIA DE

DEMPSTER-SHAFER

BRUNO FILIPE DE OLIVEIRA LINS

APROVADO EM 01 DE DEZEMBRO DE 2008 BANCA EXAMINADORA:

_______________________________________________

Prof. Djamel Fawzi Hadj Sadok, PhD – UFPE (Orientador)

_______________________________________________

Prof. Nelson Souto Rosa, Dr – UFPE (Orientador)

AGRADECIMENTOS

Este agradecimento não é apenas dedicado aos que contribuíram para a realização deste

trabalho, mas a todos que fizeram parte desses LONGOS anos de graduação. Gostaria de

deixar claro que os nomes citados não estão em ordem de preferência ou importância.

Agradeço aos meus pais, Marcilio Severino Lins e Bernardete Rosa de Oliveira Lins, que

tanto se esforçaram que eu sempre pudesse ter do melhor. Aos meus irmãos, Ana Carolina de

Oliveira Lins e Hugo Leonardo de Oliveira Lins, e meu sobrinho Eduardo Lucas Lins dos

Santos, por todos os momentos de alegria (incluindo as brigas) que vivenciamos todos esses

anos.

Agradeço a todos os familiares que sempre me apoiaram nessa caminhada, tios, tias,

primos e minha querida avó. Agradeço também aos tios, tias, primas e primos postiços que

sempre foram de grande importância na minha vida.

Àqueles amigos da UFPE que me acompanharam por esses anos de muita luta e acima

de tudo, muitas FARRAS, sem eles, eu provavelmente não estaria onde estou hoje. Agradeço

em especial a: Ademir Carvalho (Do Janga), André Guedes (debão), André Schaffer

(bahiano), David Levy (xêxinha), Felipe Cavalcanti (moxinho), Filipe Cesar (Gravatá),

Fernando Kakimoto (japa), Francisco Magalhães (chicrito) Henrique Seabra (rick), Jesus

Sanchez-Palencia (jê aranha), Rebeka Gomes (rosalvão-ou-beka), Rilter Tavares (rilter

seabra), Rodrigo Melo (digão), Thiago Lacerda (xeroso) e Viviane Souza (vivi).

Aos amigos do GPRT, Nadia, Manu, Nacha, Rafa, Mestre, Antonello, Kalil, Arthur,

Rover, Chacal, Rodrigo Germano, Ramide, Leo, Guto, entre todos os outros (mas não menos

importantes) um muito obrigado. Dentre os membros do GPRT não posso deixar de agradecer

de uma forma especial a Professora Judith Kelner por todas as oportunidades, ensinamentos e

puxões de orelha, o Professor Djamel Sadok, que além de orientador se mostrou um

facilitador nestes anos de GPRT e ao Eduardo Feitosa (feitosinha), meu co-orientador e amigo

que tanto fez para a realização e conclusão deste trabalho.

Agradeço também a Julia Machado, minha namorada, por todos os felizes momentos

juntos e pela compreensão e companheirismo. Você é parte fundamental deste processo de

crescimento.

Por fim, peço desculpas aos importantes amigos não citados (Amigos da Católica, do

Inocoop e de Gaibu), vocês são sem sobra de duvidas, muito importantes.

RESUMO

Uma breve análise no atual tráfego das redes, em especial a Internet, revela o contínuo

crescimento de anomalias de tráfego causadas por atividades de spoofing, spam, proliferação

de vírus e worms, e ataques de negação de serviço. A conseqüência é cada vez mais empresas

e instituições sofrem perdas financeiras causadas por este tipo de tráfego.

Este trabalho tem por objetivo estudar o uso da teoria da evidência de Dempster-

Shafer para elaboração de um mecanismo de fusão de dados capaz de agregar diferentes

ferramentas (sensores) de detecção de tráfego anômalo visando aumentar o grau de certeza

sobre determinado evento da rede.

A idéia central deste trabalho é implementar um modelo estatístico que seja capaz de

lidar com as incertezas das detecções de anomalia minimizando, desta forma, o número de

falsos positivos, aumentando a eficiência da detecção.

ABSTRACT

A brief analysis performed on the current network traffic, specifically on the Internet, reveals

that traffic anomalies caused by spoofing, spam, viruses and worms dissemination and denial

of service attacks are continually increasing. Due to that, lots of companies and institutions

are having undesirable expenses, caused by such type of traffic.

This work aims at studying the usage of the Dempster-Shaffer evidence theory, in

order to create a mechanism of data fusion able to aggregate distinct anomalous detection

tools (sensors), which increases the assurance level of some network event.

As the main idea, this work implements a statistical model that is able to deal with

anomalies’ detection uncertainties, aiming at reducing the false positive rate and therefore

increasing the detection efficiency.

Sumário 1. Introdução ..................................................................................................................... 12

1.1. Objetivo ................................................................................................................. 13

1.2. Estrutura do Documento ........................................................................................ 13

2. Conceitos Básicos ........................................................................................................ 14

2.1. Fusão de Dados .................................................................................................... 14

2.1.1. Classificação .................................................................................................. 16

2.2. Teoria da Evidência de Dempster-Shafer .............................................................. 16

2.2.1. Frame de Discernimento ................................................................................ 17

2.2.2. Função de Massa ........................................................................................... 19

2.2.3. Função de Crença .......................................................................................... 20

2.2.4. Plausibilidade ................................................................................................. 21

2.2.5. Intervalos de Crença ....................................................................................... 21

2.2.6. Combinação das Funções de Crença ............................................................. 21

2.2.7. Peso de Conflito ............................................................................................. 23

3. Trabalhos relacionados ................................................................................................. 25

3.1. A novel approach for a Distributed Denial of Service Detection Engine ................. 25

3.2. Anomaly Detection Using the Dempster-Shafer Method ........................................ 26

3.3. DS Evidence Theory and its Data Fusion Application in Intrusion Detection .......... 28

4. Projeto e Implementação do ADS-Fusion ..................................................................... 30

4.1. Protótipo ADS-Fusion ............................................................................................ 30

4.2. Módulo de coleta ................................................................................................... 31

4.3. Sensores de Análise .............................................................................................. 32

4.3.1. TCPModel ...................................................................................................... 33

4.3.1.1. Threshold Adaptativo .................................................................................... 34

4.3.1.2. Integração ao modelo de fusão de dados ..................................................... 35

4.3.2. Profiling .......................................................................................................... 35

4.3.2.1. Definição de Classes de Comportamento ..................................................... 37

4.3.2.2. Integração ao modelo de fusão de dados ..................................................... 38

4.4. Mecanismo de Fusão de Dados ............................................................................ 39

5. Avaliação e Resultados ................................................................................................ 43

5.1. Ambiente de Teste ................................................................................................. 43

5.2. Resultados ............................................................................................................ 44

5.2.1. Ataque TCP SYN Flood .................................................................................. 44

5.2.2. SPAM ............................................................................................................. 46

5.2.3. Ataque TCP SYN de baixa carga.................................................................... 47

6. Conclusão ..................................................................................................................... 49

6.1. Dificuldades Encontradas ...................................................................................... 49

6.2. Trabalhos Futuros.................................................................................................. 50

Referências ......................................................................................................................... 51

10

Índice de Figuras

Figura 2.1: Modelo típico de arquitetura de sistema de fusão de dados. .............................. 15 Figura 2.2: Conjunto de todas as possíveis hipóteses do conjunto � � ��, �, �, �. .............. 18 Figura 3.1: Arquitetura para detecção de DDoS usando TDS. ............................................. 26 Figura 3.2: Fluxo de dados de um sistema baseado em aprendizagem. .............................. 27 Figura 3.3: Arquitetura do sistema de detecção. .................................................................. 27 Figura 3.4: Modelo IDSDMF. ............................................................................................... 28 Figura 3.5: Processo de correlação entre alertas. ................................................................ 29 Figura 4.1: Arquitetura do ADS-Fusion. ............................................................................... 31 Figura 4.2: Saída no formato de fluxos para o Profiling. ....................................................... 32 Figura 4.3: Representação de Socks. .................................................................................. 33 Figura 4.4: Trecho da análise do TCPModel. ....................................................................... 35 Figura 4.5: Etapas do método Profiling. ............................................................................... 36 Figura 4.6: Fluxo de processamento do módulo de fusão. ................................................... 39 Figura 5.1: Ambiente de Teste. ............................................................................................ 43 Figura 5.2: Cenário de ataque TCP SYN flood. .................................................................... 44 Figura 5.3: Detecção do Profiling e TCPModel. ................................................................... 45 Figura 5.4: Detecção do tráfego de SPAM. .......................................................................... 47 Figura 5.5: TCP SYN de baixa carga. .................................................................................. 48

11

Índice de Tabelas

Tabela 2.1. Rede de crenças para m1 e m2 .......................................................................... 22 Tabela 2.2. Rede de crenças para m3 e m4 .......................................................................... 23 Tabela 4.1: Convenção das distribuições livres. .................................................................. 37 Tabela 5.1: Resultados da Fusão para o ataque TCP SYN Flood........................................ 46 Tabela 5.2: Resultados da Fusão para o tráfego SPAM. ..................................................... 47 Tabela 5.3: Resultados da Fusão para o ataque de baixa carga. ........................................ 48

12

1. INTRODUÇÃO

No atual cenário de segurança das redes de computadores, em especial a Internet, problemas

causados por novos ataques, aumento do tráfego e até má configuração dos protocolos de

roteamento vem crescendo consideravelmente. Esses problemas são, em geral, conhecidos

como anomalias de tráfego [1] e as atividades de detecção e prevenção vão além do

tradicional gerenciamento de incidentes de segurança.

Uma anomalia é o desvio de uma condição típica ou normal. Detecção de anomalia

parte da premissa de que qualquer coisa fora do comportamento normal é, por definição,

anômalo e constitui um ataque [1]. No contexto do tráfego de rede, anomalias podem ser

causadas pela proliferação de códigos maliciosos (vírus e worms), ataques de negação de

serviço, spam, falhas de roteamento, entre outras. Tais anomalias desperdiçam recursos das

redes, causando prejuízos financeiros e degradando o desempenho e a confiabilidade. Muitas

vezes, estes prejuízos podem extrapolar os perímetros da rede e afetar parte ou mesmo toda a

internet. Desta forma, a identificação eficiente e rápida é um importante desafio para tornar a

internet mais segura e eficiente.

Nos últimos anos, enumeras técnicas, ferramentas e soluções de segurança vêm sendo

adaptadas, desenvolvidas ou melhoradas com o intuito de detectar, prevenir e minimizar os

efeitos causados pelas anomalias do tráfego de rede. Firewalls, regras de filtragem e sistemas

antivírus são exemplos de soluções legadas “reprogramadas” para atuar no combate a

determinados tipos de anomalias. Contudo, essas soluções têm baixo poder de contra resposta

e/ou apresentam resultados não muito eficazes na prevenção de anomalias. Mesmos sistemas

especialistas como IDS (Intrusion Detection Systems) [2][3][4] e IPS (Intrusion Prevention

Systems) [5] geram grande quantidade de falsos positivos (tráfego anômalo classificado como

normal), inadequação a determinadas anomalias ou mesmo questões de abrangência e

escalabilidade.

Atualmente, técnicas para caracterizar o tráfego Internet, métodos para descobrir o

tráfego gerado por aplicações, abordagens para desenvolver sistemas de detecção de anomalia

mais precisos e soluções específicas para lidar com certos tipos de tráfego não solicitados (por

exemplo, spam e P2P) despontam na tentativa de tornar automática, rápida e precisa

identificação e redução de anomalias como, por exemplo, técnicas baseadas em modelos

13

matemáticos [6][7][8] e estatísticos [9][10] e, principalmente, na análise comportamental do

tráfego [11][12][13][14].

Contudo, normalmente, essas técnicas operam de forma isolada e não permitem ou não

são preparadas para funcionar de modo colaborativo. É neste contexto que técnicas de fusão

de dados podem e devem ser usadas para aprimorar e até mesmo agrupar métodos de detecção

de anomalias visando uma melhor e mais precisa detecção de anomalias na rede.

1.1. Objetivo

Este trabalho visa comprovar a eficácia da metodologia de fusão de dados na construção de

sistemas de detecção de anomalias. Para tanto, será empregada a teoria da evidência de

Dempster-Shafer (TDS) para construção de um protótipo de fusão de dados, chamado ADS-

Fusion, capaz de tratar as incertezas e imprecisões de métodos estatísticas e baseados no

comportamento do tráfego objetivando maximizar o processo de detecção de anomalias.

A idéia central do trabalho é permitir a fusão das saídas de sensores de anomalias

distribuídos pela rede visando incrementar a eficiência da detecção de ataques e,

conseqüentemente, aumentar a probabilidade de detecção e diminuir o número de alertas

falsos.

Para assegurar a robustez, precisão e eficiência do protótipo, serão realizados testes de

validação em ambiente controlado com a injeção de anomalias ao trafego normal.

1.2. Estrutura do Documento

O restante deste trabalho está organizado da seguinte forma.

O capítulo 2 introduz os conceitos básicos relacionados à fusão de dados e a teoria da

evidência de Dempster-Shafer. No capítulo 3 são apresentados alguns trabalhos relacionados

encontrados na literatura que fazem uso da TDS para fusão de dados, apontando suas

vantagens e desvantagens.

O capítulo 4 descreve o protótipo ADS-Fusion, seus componentes e seu

funcionamento. No capítulo 5 são apresentados testes e resultados. Por fim, conclusões e

trabalhos futuros serão expostos no capítulo 6.

14

2. CONCEITOS BÁSICOS

Este capítulo está dividido em duas seções onde são descritos os conceitos básicos

empregados no presente trabalho. A primeira tem como objetivo introduzir conceitos básicos

da fusão de dados e a segunda expõe os conceitos fundamentais a compreensão da teoria da

evidência de Dempster-Shafer.

2.1. Fusão de Dados

Fusão de dados pode ser definida como o processo de combinar vários dados a fim de

produzir informações mais valorosas para o usuário. Os dados podem provir de uma ou mais

fontes. As fontes podem ser semelhantes ou desiguais, desde que o sistema tenha a capacidade

de lidar com dados heterogêneos ou conflitantes.

Fusão de dados pode ser utilizada em diversas aplicações como, por exemplo,

detecção, reconhecimento, identificação, monitoramento, tomada de decisão, etc. Estes

objetivos podem ser encontradas em muitos domínios, tal como robótica, medicina, pesquisas

espaciais, entre outros.

O uso de um eficiente esquema de fusão pode gerar vantagens significativas como:

• Melhoria na confiança nas decisões devido ao uso de informações extras;

• Melhoria do desempenho de contramedidas;

• Melhoria no desempenho em condições adversas.

Segundo [15], processos de fusão são freqüentemente classificados como de baixo,

intermediário ou alto nível de fusão, dependendo do processamento ou fase em que se realiza

a fusão.

• Baixo Nível - combina várias fontes de dados brutos para produzir novos dados

brutos.

• Nível Intermediário – combina várias fontes de dados brutos para produzir

inferências lógicas ou padrões de características.

• Alto Nível – combina dados oriundos de fontes especialistas (experts) que geram

decisões a serem combinadas ou informações relevantes para a tomada da decisão.

15

Usar dados de vários sensores combinados para gerar inferências mais precisas pode

ser uma ótima solução quando se trabalha com dados imprecisos ou com muitas fontes de

análise [16]. Esse tipo de sistema pode ser comparado ao funcionamento normal do ser

humano. Vários sensores (tato, olfato, visão, paladar, audição), além da percepção dos fatos,

são combinados em nosso cérebro para que possamos tomar nossas decisões e atuar da forma

que nosso cérebro considerar adequada.

De forma resumida, a fusão de dados tem como objetivo trabalhar sobre uma vasta

gama de dados para associar, correlacionar, estimar e combinar os vários fluxos de dados,

gerando, dessa forma, uma informação mais significativa para o estudo.

Muitos são os modelos e arquiteturas propostos para modelar um sistema de fusão de

dados. A figura 2.1 ilustra um modelo baseado em [17] que resume as principais

funcionalidades dos principais sistemas de fusão de dados.

Figura 2.1: Modelo típico de arquitetura de sistema de fusão de dados.

• Coleta de dados: Conjunto de sensores responsáveis pela coleta dos dados a

serem analisados. Podem ser heterogêneos ou não.

• Padronizador de dados: Diferentes sensores podem gerar dados com diferenças

temporais, unidades de medidas e espaço, necessitando então serem padronizados.

• Estimador de Estado: Com base em modelos de comportamento do sistema e

baseado nos dados disponibilizados pelos sensores, este módulo funde os dados e

estima o estado do sistema.

• Classificador e Identificador: Responsável por identificar e classificar os

diferentes eventos monitorados.

• Avaliador de estado: Maior nível em um sistema de fusão de dados é responsável

por determinar o estado do sistema.

16

2.1.1. Classificação

Segundo [18], os métodos de fusão de dados podem ser classificados em três categorias:

Modelos Físicos, Classificação Paramétrica e Algoritmos Cognitivos. Modelos físicos

tentam recriar o ambiente observado e, desta forma, fazer previsões adequadas a partir de

inferências (modelos) pré-computadas do ambiente real. Outra característica desses modelos é

a tentativa de decompor elementos em descrição de componentes a fim de facilitar seu

entendimento. O trabalho desenvolvido por Chatzigiannakis et al [19] é um bom exemplo.

Na classificação paramétrica, os algoritmos trabalham basicamente com uma

associação direta dos dados para gerar uma classificação dos dados. Esses podem ser

divididos em modelos estatísticos como inferências bayesianas e a teoria de Dempster-Shafer

e modelos baseados em informações técnicas e teóricas como redes neurais e modelos

baseados em entropias.

Por fim, os algoritmos cognitivos são basicamente métodos que tentam simular o

comportamento do cérebro humano. Esses métodos são basicamente subdivididos em

métodos experts (métodos com uma base de conhecimento específica para determinada área)

e métodos baseados nos conjuntos de teorias fuzzy. Um modelo expert bastante utilizado, por

exemplo, são os NIDS (Network Intrusion Detection System).

2.2. Teoria da Evidência de Dempster-Shafer

A teoria da evidência é um dos modelos mais conhecidos para a representação da incerteza

em sistemas baseados em conhecimento. Originada dos trabalhos de Arthur Pentland

Dempster [20][21] sobre probabilidade inferior e superior, foi refinada e ampliada por Glenn

Shafer [22]. Por isso o nome Teoria da evidência de Dempster-Shafer ou TDS.

O foco da TDS é solucionar os problemas encontrados em modelar a incerteza quando

se trabalha com métodos meramente probabilísticos. A teoria de Dempster-Shafer mostrasse

bastante interessante, pois, diferentemente das teorias probabilísticas bayesianas, não

necessita de um conhecimento a priori das distribuições de probabilidade dos elementos

estudados, podendo, desta forma, atribuir valores de crença a subconjuntos das possibilidades

e não só aos eventos simples.

Outro fator importante é o fato que a crença não atribuída a nenhum evento em

particular, é atribuída ao ambiente e não ao restante das evidências. Além disso, é possível

combinar funções de crença gerando novas funções de crença, de forma independente a

ordem do surgimento de novas evidências exigindo apenas que as hipóteses primitivas sejam

mutuamente exclusivas e exaustivas.

17

Para melhorar o entendimento da teoria da evidência é necessário compreender certos

e importantes conceitos como domínio do problema ou frame de discernimento, probabilidade

básica atribuída, intervalo de crença, entre outros. Visando simplificar este processo, serão

utilizados exemplos simples acompanhados de explanações.

Exemplo 1. Uma determinada empresa adquiriu um sistema de detecção de anomalias

(ADS - Anomaly Detection System) para, em tempo real, monitorar a rede e alertar sobre

possíveis incidentes de segurança. De acordo com suas definições de projeto, o ADS é

formado por vários sensores de anomalias e é, assim, capaz de informar o estado atual da

rede, através do seguinte nomenclatura:

• Estado Normal {N}

• Rede sob ataque TCP {T}

• Rede sob ataque UDP {U}

• Rede sob ataque ICMP {I}

É óbvio supor que existem muitos outros problemas e que esta qualificação pouco

ajudaria a equipe de segurança da rede em um caso real, mas para efeito de simplicidade,

apenas esses quatro estados da rede serão avaliados.

2.2.1. Frame de Discernimento

A TDS pressupõe um conjunto de hipóteses primitivas chamado de Frame de

Discernimento, Quadro de Discernimento ou Domínio do problema, denotado por Θ. Para

que um conjunto de hipóteses seja considerado um frame de discernimento é necessário que o

mesmo apresente algumas características fundamentais:

1 Θ deve ser exaustivo, ou seja, deve conter todas as possíveis hipóteses primitivas. 2 Todas as hipóteses pertencentes ao Θ devem ser mutuamente exclusivas. Usando o exemplo 1, o frame de discernimento é o seguinte:

Θ = {Normal {N}, Ataque TCP {T}, Ataque UDP {U}, Ataque ICMP {I}}

Como mencionado anteriormente, a TDS permite que a partir de uma única coleção de

evidências, vários conjuntos alternativos de hipóteses possam ser derivados (Figura 2.2). Para

cada um desses conjuntos é associado um intervalo de confiança chamado de intervalo de

crença.

18

Supondo que o ADS seja capaz de identificar ataques simultâneos (ataques

compostos), de acordo com o exemplo 1, o ataque seria expresso, por exemplo, pelo conjunto

{Ataque TCP, Ataque UDP}.

Supondo ainda que o sistema de detecção observe uma evidência que confirme com

um determinado grau um diagnóstico de ataque composto, o conjunto {Ataque TCP, Ataque

UDP} receberá certa quantidade de crença proporcional ao grau de confirmação observado da

evidência.

Supondo agora que uma nova evidência foi percebida e que ela caracteriza que a rede

não está em estado normal {N}, ou seja, essa evidência confirma o conjunto {Ataque TCP,

Ataque UDP, Ataque ICMP}. Cada subconjunto, gerado pela disjunção dos elementos de Θ

pode ser interpretado como uma nova hipótese, dando origem à 2|Θ| possíveis hipóteses, como

ilustrado na figura 2.2.

Figura 2.2: Conjunto de todas as possíveis hipóteses do conjunto � � ��, �, �, �. É importante salientar que na maioria dos casos, nem todos os 2|Θ| são de interesse para

o caso estudado. Além do fato de que seguindo as propriedades de exaustão e mutua exclusão

pode-se então, encontrar um único subconjunto com a resposta correta.

19

2.2.2. Função de Massa

Na TDS, a indicação de crença em determinada hipótese, dada um evidência, é associada a

um valor no intervalo [0,1]. A relevância dada a cada um dos elementos do domínio do

problema é representada por uma função denominada de atribuição de probabilidade básica

(bpa - basic probability assignment) ou função de massa e notada por . A função de massa

representa a quantidade total de crença na evidência que remete um grupo de hipóteses.

Diferente da probabilidade básica onde a função de densidade associa a cada uma das

hipóteses primitivas um número do intervalo !0,1$ de maneira que a soma totalize 1, na TDS,

a função de massa associa para qualquer subconjunto de Θ e não somente as hipóteses

primitivas um valor no intervalo de !0,1$ de maneira que a soma dessas atribuições seja 1.

Desta forma, permite atribuir certa quantidade de crença a qualquer elemento

representado na figura 2.1 e não apenas aos elementos primitivos �%, �&, �', �(. A função )*+, representa a medida da crença atribuída à evidência *+, onde *+ pertence a 2|Θ|. Essa

crença não pode ser subdividida entre os subconjuntos de *+ e não inclui parte da crença

atribuída a seus subconjuntos.

A crença básica que não foi atribuída aos subconjuntos de 2|Θ|chamada de crença não

atribuída, notada por )Θ, representa a crença que “sobra”. Se )*+, � x e não atribui

crença a mais nenhum subconjunto próprio de Θ, então )Θ, � 1 - x. O resto da crença é

todo atribuído a Θ e não a negação de *+, como no modelo de Bayes.

Formalmente, para que uma função )*+, seja uma bpa ela necessita satisfazer: )., � 0 )*+, / 0, 0 *+ 1 2|Θ| 2 )*+, 3 1

45 6 7|Θ|

Exemplo 2. A fim de deixar mais claro, uma possível forma de distribuição de

probabilidade seria: a, m)�N, � 0,2 b, m)�T, � 0,4 c, m)�U, � 0,3 d, m)�I, � 0,1 e, m)Ev, � 0, 0 Ev 1 2|Θ| , Ev ? �N, Ev ? �T, Ev ? �U, Ev ? �i

20

Exemplo 3. Considerando que o ADS, em determinado momento, classifique o estado

de nossa rede como NORMAL e suporte essa evidência, chamada de E1, com 60%. Dada tal

evidência nossa função de massa calcula: a, m)�N, � 0,6 b, m)Θ, � 1 - m)�N, � 1 - 0,6 � 0,4 Percebe-se que Θ contém {N} e também seu complemento ({T}, {U}, {I}). Diferente

da probabilidade Bayesiana, em TDS não se pode atribuir o restante da evidência ao

complemento de *B. Em outras palavras, não se pode afirmar que a crença não atribuída a *B é

atribuída a *BCCC, pois não existe nenhuma evidência que comprove isso. Sabe-se apenas que é

possível suportar *B com uma confiança de 0,6.

2.2.3. Função de Crença

Função de crença, denotada por DEF),, mede o total de crença atribuída a um determinado

subconjunto de Θ. Na prática, DEF)*+, é a soma das probabilidades básicas atribuídas a todos

os subconjuntos de *+ de Θ. Para obter o total de crença atribuída Ev1, deve-se adicionar a )*5B, os valores de )*+7,, para todo subconjunto próprio *+7 de *+B.

É importante ressaltar que a TDS permite a representação de um grau de crença zero a

todo subconjunto de possibilidades do quadro de discernimento, tendo então: a, m)Θ, � 1 b, m)Ev, � 0 , 0 Ev ? Θ Esse tipo de representação é conhecido como Função de crença vacuosa.

Em uma TDS os principais elementos de estudos são aqueles subconjuntos de Θ cuja

probabilidade básica não nula. A esses elementos dar-se o nome de elementos focais da

função de crença sobre 2Θ. A união de todos os elementos focais, para uma função de crença,

é chamada de núcleo.

Exemplo 4. Usando: a, m)�N, � 0,3 b, m)�T, � 0,2 c, m)�U, � 0,1 d, m)�T, U, � 0,2 e, m)Θ, � 0,2 f, m)Ev, � 0, 0 Ev 1 2H , Ev ? �N, Ev ? �T, Ev ? �U, Ev ? �T, U

21

Então pode-se encontrar a DEF)�&, ', como sendo )�&, ', I )�&, I )�',,

logo, DEF)�&, ', � 0,1 I 0,2 I 0,3 � 0,6.

2.2.4. Plausibilidade

A função de plausibilidade ou probabilidade superior, Jℓ),, determina a quantidade

máxima de crença que pode ser atribuída a um determinado subconjunto de 2Θ. Tem-se que Jℓ)*+, representa o mesmo que 1 - DEF)*+CCCC,. Desde que DEF)*+, I DEF)*+CCCC, K 1, tem-se

que DEF)*+, K Jℓ)*+, 0 *+ L Θ.

2.2.5. Intervalos de Crença

Como visto anteriormente, a plausibilidade representa o quanto se pode acreditar em uma

determinada hipótese e DEF)*+, representa a crença atual em *+. Sabendo-se que DEF)*+, K Jℓ)*+, é conveniente representar a crença em *+ como sendo o intervalo representado por !DEF)*+,; Jℓ)*+,$. A esse intervalo dar-se o nome de intervalo de crença, representado por N)*+,.

Tal intervalo exprime a faixa de probabilidade na qual se pode acreditar em uma

determinada hipótese *+, sem correr o risco de graves erros com suposições.

2.2.6. Combinação das Funções de Crença

O processo de acúmulo de evidências usando a TDS requer um modelo que combine o

suporte a uma hipótese, ou sua negação, baseando-se em várias observações.

Convencionalmente usa-se a notação B O 7 para indicar os efeitos de combinação

entre duas atribuições de probabilidade básica B O 7. De forma semelhante, representam-

se as combinações entre funções de crenças DEF)*+B, e DEF)*+7, como sendo DEF)*+B, ODEF)*+7,.

Tendo m1 e m2 como duas bpa de um frame de discernimento Θ, tem-se então a sua

combinação como resultado de uma soma ortogonal e uma normalização, definida por: )Θ, � 0

B O 7 � P 2 BQ RS T 4U 4U T H)V, · m7)B,, 0 E+ L Θ

Onde P é a constante de normalização definida por BBYZ, e K é a soma dos bpa das

ocorrências de Ø. O conjunto vazio aparece sempre que se tenta combinar hipóteses

disjuntas, ou seja, ocorrência de hipóteses conflitantes entre si.

22

Exemplo 5. Fazendo uma pequena modificação no frame de discernimento do

exemplo 1, tem-se uma rede que está sempre sobre ataque e apresenta como resultado de seus

IDSs os seguintes estados:

• Ataque TCP Syn Flood �Ts • IP Scan �IPs • Ataque TCP Fin Scan �Tf • Port Scan �Ps Suponha então que para um determinado instante, observa-se uma m1 que evidência

{Ts, IPs}, com um grau de 0,5. Enquanto que uma m2 desconfirma a presença de um TCP Syn

Flood na rede, ou seja, pelos conceitos da TDS já vistos, confirma {IPs, Tf, Ps} com uma

valor de 0,6. Então se pode gerar uma nova estrutura pela combinação de B O 7

representada a seguir:

Tabela 2.1. Rede de crenças para m1 e m2

bc

bd

{IPs, Tf, Ps}

(0,6)

Θ

(0,4)

{Ts , IPs}

(0,5)

{IPs}

(0,3)

{Ts, IPs}

(0,2)

Θ

(0,5)

{IPs, Tf, Ps}

(0,3)

Θ

(0,2)

Logo,

• mB e m7 )�IPs, � 0,3 • mB O m7 )�IPs, Tf, Ps, � 0,3 • m7 e m7 )�Ts, IPs, � 0,2 • m7 e m7 � m7 )�Θ, � 0,2 • m7 e m7 � 0, para qualquer outro subconjunto de Θ Note que para esse exemplo P � 1, já que g � 0.

Com os valores obtidos na tabela 2.1, pode-se encontrar facilmente DEFB O DEF7, para

todos os elementos de Θ Por exemplo:

• belB e bel7 )�Ts, IPs, �mB e m7 )�Ts, IPs, I mB e m7 )�Ts, I m7 e m7 )�IPs,

23

• belB e bel7 )�Ts, IPs, � 0,2 I 0 I 0,3 • belB e bel7 )�Ts, IPs, � 0,5

Exemplo 6. Suponha que agora no mesmo instante do exemplo 5, tem-se uma nova

evidência que suporta {Ts} com grau de 0,8. Pelas normas da TDS deve-se então fazer uma

nova rede com a combinação da nova evidência i com a evidência j, onde 4 � B O 7, do exemplo anterior.

Tabela 2.2. Rede de crenças para m3 e m4

bk

bl

{IPs} (0,3)

{Ts, IPs} (0,2)

{IPs, Tf, Ps} (0,3)

Θ (0,2)

{Ts} (0,8)

Ø (0,24)

{Ts} (0,16)

Ø (0,24)

{Ts} (0,16 Θ

(0,2) {IPs} (0,06)

{Ts, IPs} (0,04)

{ IPs, Tf, Ps } (0,06)

Θ (0,04)

Visto que neste exemplo o Ø aparece duas vezes com o valor de 0,24, então:

• K � 0,24 I 0,24 � 0,48 • 1 – K � 0,52 Então,

• miemj)�Ts, � )p,Bqrp,Bq,p,s7 � 0,615 • miemj)�IPs, � p,pqp,s7 � 0,115 • miemj)�IPs, Tf, Ps, � p,pqp,s7 � 0,015 • miemj)�Ts, IPs, � p,pjp,s7 � 0,077 • miemj)Θ, � p,pjp,s7 � 0,077 • mi O mj � 0, para quaisquer outro subconjunto de Θ

2.2.7. Peso de Conflito

Como visto anteriormente, para efetuar uma normalização defini-se X como sendo BBYZ, onde

K é a soma dos bpa’s de todas as instâncias Ø, ou seja, combinação de ocorrências disjuntas.

24

O valor log )v, B corresponde ao peso de conflito entre bel1 e bel2, denotado wxy)DEFB, DEF7,.

Se não existe conflito entre as evidências, como no exemplo 5, então K = 0, logo wxy)DEFB, DEF7, � 0. No entanto, se o caso for o contrário e bel1 e bel2 são completamente

disjuntas, então K = 1 e wxy)DEFB, DEF7, � ∞. Em tais condições a combinação DEFB O DEF7

não é possível.

Em alguns casos, mesmo o que a combinação DEFB O DEF7 seja possível, o resultado

dessa combinação pode ser indesejável utilizando-se da regra de Dempster. Nesses casos, o

resultado pode não ser o esperado, chegando, em alguns casos, a contrariar até mesmo o

óbvio. Nesses casos, no entanto, o peso de conflito é fundamental. Pode-se verificar que

quando o valor do peso de conflito supera um valor aproximado de 0.6, os resultados são

geralmente indesejáveis.

25

3. TRABALHOS RELACIONADOS

Como solução, o uso de elementos sensores estrategicamente ou não distribuídos pelas redes

junto a mecanismos de avaliação e tomada de decisão têm sido cada vez mais estudados e

implementados na luta contra anomalias de tráfego. A questão é como agregar os mais

diversos e diferentes resultados sobre o estado de uma rede de forma a obter uma resposta

rápida, concisa e correta.

Visando mostrar a importância do uso da teoria da evidência como técnica de fusão de

dados aplicada a detecção de anomalias, esse capítulo apresenta e discute três trabalhos

relacionados ao tema.

3.1. A novel approach for a Distributed Denial of Service Detection Engine

A arquitetura proposta por Siartelis et al [17] descreve a utilização da teoria da evidência de

Dempster-Shafer na elaboração de um sistemas de detecção de ataques distribuídos. Fazendo

uso dos dados fornecidos por múltiplos sensores, este trabalho emprega a TDS como

arcabouço para a criação de um mecanismo (engine) de fusão de dados multisensor visando a

geração de um eficiente sistema de detecção de ataques DDoS.

De modo geral, a arquitetura é formada por um conjunto de diferentes sensores,

espalhados em pontos diferentes da rede, operando de forma autônoma, mas que

compartilham suas crenças sobre o verdadeiro estado da rede, ou seja, se ela está ou não sob

ataque. Os autores assumem que a rede pode ser vista como um sistema com comportamento

estocástico sem qualquer modelo funcional. Desta forma, é possível tentar inferir sob o estado

do sistema sem conhecimento prévio, sendo necessários apenas os dados informados pelos

sensores, que podem ter obtido suas “evidências” baseadas em critérios totalmente diferentes.

A figura 3.1 ilustra a arquitetura proposta.

A arquitetura permite que ferramentas IDS, detectores de ataques, coletores de tráfego

e até mesmo sistema de contabilização e medida de tráfego possam ser usados como sensores.

O protótipo apresentado utiliza o IDS SNORT [23] e um coletor de dados SNMP como

sensores. O primeiro é um famoso IDS que gera estatísticas do tráfego da rede através de

tráfego no formato pcap. O outro permite coletar informações como a quantidade de bytes por

segundo, pacotes por segundo, número de fluxos ativos e fluxos com falhas.

26

Figura 3.1: Arquitetura para detecção de DDoS usando TDS.

De modo simplificado, uma vez configurado, cada sensor emprega sua própria

“inteligência” baseada na técnica de análise que utiliza, para gerar as crenças (bpa) sobre o

tráfego avaliado. Feito isso, os bpas são repassados ao mecanismo de fusão de dados para

tomada de decisão.

A principal vantagem desta arquitetura é que a TDS não necessita de qualquer

conhecimento prévio do comportamento da rede para gerar resultados. Além disso, a

possibilidade de usar vários sensores ou filtros, baseados em diferentes mecanismos de

classificação é extremamente interessante e tem se mostrado uma tendência na área de

segurança. Como desvantagens, é necessário um profundo conhecimento do funcionamento

dos sensores para que as crenças geradas nas hipóteses sejam condizentes com o real estado

da rede. Outro ponto importante é que como os resultados dependem diretamente do

desempenho dos sensores, o uso de sensores muito simples pode acabar por não contribuir

para o estabelecimento do estado da rede.

3.2. Anomaly Detection Using the Dempster-Shafer Method

O método proposto por Chen e Aickelin [24] descreve a utilização da fusão de dados em um

sistema para detecção de trafego anômalo. Utilizando-se da TDS, os autores desenvolveram

um sistema de detecção de anomalias capaz de tratar informações com diferentes

características e garantir uma maior eficiência de detecção. O sistema possui um mecanismo

capaz de “aprender” as características fundamentais do ambiente e, desta forma, gerar

inferências sobre o estado da rede.

27

Com o conhecimento do padrão de funcionamento da rede, é possível determinar a

crença em cada análise gerada por cada um dos vários sensores distribuídos pela rede, mesmo

que esses sensores utilizem diferentes metodologias de análises.

A figura 3.2 ilustra a detecção de anomalias baseado em processos de aprendizagem.

Figura 3.2: Fluxo de dados de um sistema baseado em aprendizagem.

O sistema permite que diferentes tipos de sensores de anomalias possam ser

espalhados pela rede de forma a gerar dados que reflitam suas visões em relação ao estado da

rede. Diante destes dados módulos específicos são capazes de determinar a crença em cada

uma dessas inferências e repassar esta informação para um módulo de combinação de dados,

baseado na TDS, que tem o poder de tomar decisões.

Estes módulos específicos são sistemas baseados em aprendizagem que, após uma fase de treinamento, são capazes de estabelecer parâmetros que condizem com as características do ambiente e, desta forma, determinam o bpa de cada dado extraído dos sensores. Na figura 3.3 é possível visualizar a arquitetura geral do sistema proposto.

Figura 3.3: Arquitetura do sistema de detecção.

28

Em resumo, diante de um processo de treinamento o sistema é capaz de estabelecer

limiares de padrões dos sensores de detecção, estabelecer a crença nessas análises e com

regras de combinações de valores de massa (bpa) identificar o estado da rede.

A solução proposta não necessita de um conhecimento profundo dos mecanismos de

análise de dados dos sensores utilizados e capacidades do sistema para lidar com problemas

com muitas características inerentes, como acontece em problemas reais. Entretanto, um fator

que chama bastante atenção no sistema proposto é o fato de que a geração das funções de

crença para a determinação dos bpa é feita de forma adaptativa, necessitando assim de uma

grande quantidade de dados para que possa ser efetuada uma fase de treinamento. Cerca de

90% dos dados é utilizada para treinamento e geração das funções de crença, ou seja, nesse

método é necessário um grande esforço para que o sistema venha a se tornar eficiente.

3.3. DS Evidence Theory and its Data Fusion Application in Intrusion Detection

O IDSDMF, proposto por Tian et al. [25], é um modelo que descreve o uso de um mecanismo

de fusão de dados baseado na teoria da evidência de Dempster-Shafer visando minimizar o

número de falsos positivos encontrados nos alertas gerados pelos IDSs espalhados pela rede.

A figura 3.4 ilustra o modelo da rede com o IDSDMF.

Switch

Firewall

Internet

IDSDMF

1

2

1

1

2

1

2

Network IDS

Host IDS

Figura 3.4: Modelo IDSDMF.

29

Este modelo faz uso de diferentes tipos de IDS como SNORT e E-TRUST,

preocupando-se apenas com a padronização nos modelos de alertas gerados [26]. Diante de

diferentes alertas gerados por diferentes IDSs, o IDSDFM correlaciona estes dados de acordo

com seu grau de similaridade e de acordo com as regra de combinação de massa da TDS

define o bpa para cada uma dessas evidências. A figura 3.5 demonstra o processo de

correlação entre diferentes eventos, gerados por IDSs distintos.

Figura 3.5: Processo de correlação entre alertas.

A principal vantagem desse modelo é a diminuição significativa no número de falsos

positivos, além do uso de ferramentas simples e de fácil configuração como IDSs. No entanto,

o processo de relação de similaridade entre diferentes alertas pode ser um grande desafio para

esta solução.

30

4. PROJETO E IMPLEMENTAÇÃO DO ADS-FUSION

Este capítulo descreve os componentes do protótipo ADS-Fusion, bem como seu

funcionamento e o processo de desenvolvimento. Primeiro, uma visão geral do protótipo é

apresentada. Em seguida, cada um dos componentes (módulos) será explicado e, por fim, o

processo de funcionamento e integração entre os módulos serão detalhados.

4.1. Protótipo ADS-Fusion

O ADS-Fusion foi projetado com o objetivo de estudar técnicas de detecção de anomalia e

desenvolver um sistema capaz de aumentar a eficiência da detecção através da fusão de dados.

Na prática representa um software capaz de, baseado em saídas geradas por ferramentas de

detecção de anomalias, fundir dados e produzir uma inferência com um grau de certeza maior

que as certezas geradas individualmente pelos módulos de detecção.

A idéia central é utilizar a teoria da evidência de Dempster-Shafer para lidar com a

incerteza ou imprecisão dos resultados das análises realizadas por sensores espalhados pela

rede e, dessa forma, a aumentar o grau de certeza sobre atividades intrusivas e maliciosas,

permitindo que as mais corretas e precisar ações sejam tomadas para elevar a segurança da

rede.

Semelhante a diversas arquiteturas de segurança, o ADS-Fusion é composto por: um

módulo de coleta, sensores de análise ou filtros, e um mecanismo de fusão de dados,

responsável por definir o estado real da rede. Afigura 4.1 ilustra a estrutura do ADS-Fusion.

O módulo de coleta é responsável pela monitoração do tráfego da rede e geração de

arquivos em formato padronizado. Estes arquivos serão repassados para os diversos sensores e

filtros da rede para que os mesmos possam processá-los e inferir o estado da rede. Os sensores

são os componentes responsáveis por analisar os dados gerados pelos módulos de coleta e

detectar possíveis anomalias existentes no tráfego da rede. Outro papel fundamental destes

sensores é definir, a partir de seus mecanismos de classificação, a crença em cada uma das

inferências geradas.

Por fim, o mecanismo de fusão que é responsável pela tomada da decisão. Fazendo

uso dos recursos das regras de combinação da TDS, correlaciona às diferentes análises dos

vários filtros gerando inferências mais precisas e com um maior grau de exatidão.

31

. . .

REDE

Coleta

Sensor 1 Sensor NSensor 2

Fusão de

DadosAnálise 1 Análise N

Análise 2

Inferência

Análise Final

Figura 4.1: Arquitetura do ADS-Fusion.

4.2. Módulo de coleta

Antes de iniciar a explanação sobre o módulo de coleta é necessário afirmar que, por decisão

de projeto, a implementação do protótipo só emprega tráfego off-line, isto é, utiliza traces

com o tráfego já capturado da rede em formato .PCAP para efetuar todas as análises. O

objetivo é justamente facilitar a análise do desempenho do sistema. O módulo de coleta foi

todo desenvolvido usando a biblioteca PCAP [27]

A função do módulo de coleta é ler os arquivos de tráfego da rede e gerar as saídas

necessárias ao funcionamento dos diversos sensores. Para implementação do ADS-Fusion,

foram escolhidos dois sensores (Profiling e TCPModel, explicados posteriormente na seção

4.2) que necessitam de entradas de tráfego especiais. O primeiro utiliza fluxos e o segundo

socks. A figura 4.2 ilustra a saída em fluxos gerada pelo módulo de coleta para o sensor

Profiling.

32

#ini_sec ini_mic end_sec end_mic src_ip src_port dst_ip dst_port n_bytes n_frames app prot

1224856206,447841,1224856208,697463,192.168.0.66,137,192.168.0.255,137,384,4,0000,17

1224856201,425805,1224856207,785994,192.168.0.159,1900,239.255.255.250,1900,41670,100,0000,17

1224856229,4405,1224856229,4405,192.168.0.125,138,192.168.0.255,138,240,1,0000,17

1224856243,830101,1224856244,603069,192.168.0.139,42757,129.42.58.216,443,1273,7,0000,6

1224856244,7517,1224856244,563433,129.42.58.216,443,192.168.0.139,42757,1890,5,0000,6

1224856249,135561,1224856249,135561,192.168.0.139,60006,192.168.0.105,53,85,1,0000,17

Figura 4.2: Saída no formato de fluxos para o Profiling.

As colunas representam, respectivamente, o timestamp do primeiro pacote do fluxo

em segundos (ini_sec), em microsegundos (ini_mic), o timestamp do último pacote do fluxo

em segundos (end_sec), em microsegundos (end_mic), o endereço IP de origem (src_ip), a

porta de origem (src_port), o endereço IP de destino (dst_ip), a porta de destino (dst_port),

número de bytes do fluxo (n_bytes), número de pacotes do fluxo (n_frame), aplicação (app) e

protocolo de transporte (prot).

4.3. Sensores de Análise

Os sensores são componentes de análise responsáveis pela geração das hipóteses sobre o

possível estado real da rede. Estes sensores podem variar de pequenos mecanismos de

detecção de anomalias (IDS para host, por exemplo) a complexos sistemas especialistas,

como os propostos em [28] e [29].

Para implementação do protótipo foram escolhidas duas soluções para detecção de

anomalias no tráfego de rede. A primeira é um método estatístico proposto em [30]

denominado TCPModel e a segunda é um método de análise baseado no comportamento da

rede, proposto em [13], denominado Profiling. A escolha destes dois sensores de detecção foi

baseada em critérios bem simples. O TCPModel foi escolhido por se tratar de um mecanismo

especialista em detecção de ataques DDoS. O Profiling, além de detectar um grande número

de anomalias, é um sistema baseado em comportamento que não necessita de conhecimento

prévio do comportamento da rede.

A utilização dessas diferentes técnicas de análise é utilizada visando uma maior

abrangência no acompanhamento do estado da rede estudada. Detalhes sobre os mecanismos

utilizados serão explanados a seguir.

33

4.3.1. TCPModel

O TCPModel [30] é um sistema, desenvolvido em Java, especialista na detecção de ataques

DDoS. Baseado no comportamento de troca de mensagens do protocolo TCP entre dois hosts,

é capaz de avaliar se existe algum comportamento anormal na rede através da razão entre a

taxa de envio e recebimento de pacotes.

A premissa de detecção implementada no TCPModel foi proposta por [28] e para

analisar a razão entre entrada e saída de pacotes TCP foi implementado um algoritmo

denominado Threshold Adaptativo. Quando a razão ultrapassa um determinado limiar

considerado normal, um alarme é disparado. Para analisar a entrada e saída de pacotes o

TCPModel agrupa os pacotes em fluxos que possuem IP e porta de destino comuns,

denominados socks e exemplificados na figura 4.3.

Figura 4.3: Representação de Socks.

Agrupando os pacotes em socks, o TCPModel utiliza-se de um conjunto de métricas

para definir o estado normal de uma comunicação de protocolo TCP e é capaz de reconhecer

modificações neste padrão. Um fator importante neste método de análise é que por se tratar de

um algoritmo adaptativo ele é capaz de se moldar a possíveis modificações no comportamento

da rede.

34

4.3.1.1. Threshold Adaptativo

Considerando Xn a relação entre pacotes enviados e recebidos para um determinado

intervalo de tempo n dentro de um sock qualquer, e µn-1 como sendo a média ou a expectativa

do valor para o intervalo anterior nessa mesma média, então pode-se definir a fórmula abaixo

como sendo a que verifica se o limiar de troca de pacotes foi excedente ao considerado

comum. Pz / ){ I 1,|}zYB

Equação 4.1 – Verificação do limiar do algoritmo Threshold Adaptativo.

Na equação 4.1, o parâmetro { define a taxa percentual aplicada ao valor esperado

para que se defina um ataque. A aplicação direta dessa equação é extremamente rápida na

detecção das anomalias, mas gera um grande número de falsos positivos. A solução

encontrada para resolver esse problema foi à generalização da equação 4.1, visando adequá-la

ao processo de detecção de anomalias, representada na equação 4.2.

~)v, � �1, vz / )α I 1,µC�YB 0, vz � )α I 1,µC�YB �

Equação 4.2 – Função de indicação do Threshold Adaptativo

A equação 4.2 é utilizada como um indicador para a verificação final do algoritmo,

retornando 1 sempre que o limiar for ultrapassado e 0 caso contrário. A verificação final

analisa a quantidade de intervalos consecutivos necessários para que uma notificação de

ataque seja disparada (Equação 4.3).

2 ~)v�, � gz�YzYZrB

Equação 4.3 – Teste de sinalização do Threshold Adaptativo

Percebe-se que na equação 4.3 o parâmetro g � 1 é o indicador no número de

intervalos consecutivos para que o alerta seja disparado. Outro ponto importante do sistema

de equações adotado pelo Threshold Adaptativo é a forte dependência com os parâmetros { e |. Se for levado em consideração que estes parâmetros têm uma relação com o estado da rede

analisada, faz-se necessário a utilização de um modelo para definição desses valores. O

Alisamento exponencial ou EWMA (Exponentially Weighted Moving Average) foi à

metodologia adotada e pode ser vista em detalhes em [30].

35

4.3.1.2. Integração ao modelo de fusão de dados

Para integrar o TCPModel ao modelo de fusão de dados proposto, fez-se necessário a

criação de um mecanismo capaz de definir valores de crenças (bpa) a cada hipótese resultante

do processo de análise.

A geração de bpa pelo TCPModel é bastante simples. Baseia-se na distância entre os

valores obtidos na aplicação da equação 4.2. Sempre que o retorno da função for igual a 1, o

sistema considera que a rede pode estar sobre ataque e, desta forma, calcula o bpa baseado na

distancia de ){ I 1,|}zYB para vz, quanto maior for ){ I 1,|}zYB maior a crença no ataque.

A figura 4.4 abaixo contém um trecho da saída gerada pelo TCPModel.

58.33.126.229:5576 -> 192.168.0.163:0 Pkt Send: 92 PktRec: 0 TimeSend: 1227656198.961773 TimeRec: 1227656198.961773 threshold: 6.0 State: BAD

Figura 4.4: Trecho da análise do TCPModel.

O trecho contém a detecção de uma conexão anômala entre os endereços IP

58.33.126.229 e 192.168.0.163 com um threshold de troca de pacotes calculado em 6.

Supondo que nesta rede o threshold estabelecido como normal tem valor igual a 5, qualquer

conexão que ultrapassar este limiar será considerada anômala. A conexão estabelecida acima

ultrapassa esse valor e terá seu bpa calculado sobre o percentual da diferença. Fixando a

crença do estado normal da rede sempre em 0.5 é possível determinar a crença do ataque

como sendo a soma entre a crença normal e o percentual de aumento )6 � 5 � 1,2 ; x ��E �E��E�Ey�� � �� Ey�x �E�wEy���F �E 20%,, obtendo, desta forma,

um bpa = 0,6.

4.3.2. Profiling

A metodologia proposta por Xu et al. [13] visa a identificação de anomalias de tráfego. O

método faz uso de técnicas de mineração de dados e informação teórica (entropia) para

automaticamente descobrir padrões de comportamento significantes no tráfego de dados. A

metodologia (aqui denominada de profiling) automaticamente descobre comportamentos do

tráfego massivo e fornece meios plausíveis para entender e rapidamente reconhecer tráfego

anômalo.

36

Basicamente, examina padrões de comunicação dos computadores (endereços e

portas) que são responsáveis por um significativo número de fluxos em um determinado

período de tempo.

O processo do profiling basicamente inclui a extração de clusters significativos e a

classificação do comportamento deles baseado no relacionamento entre os clusters. Por

exemplo, para um dado endereço IP de origem (srcIP) i, o processo do profiling inclui a

extração dos fluxos com srcIP i dentro de um cluster (denominado de cluster srcIP) e a

caracterização do padrões de comunicação (ou seja, comportamento) usando medições de

teoria da informação (entropia) sobre as três dimensões de fluxos restantes, ou seja, endereço

IP de destino (dstIP), porta de origem (srcPrt) e porta de destino (dstPrt).

A figura 4.5 ilustra melhor os passos dessa metodologia.

Figura 4.5: Etapas do método Profiling.

A primeira etapa consiste em analisar um conjunto de fluxos baseado nas tuplas bem

conhecidas para decidir sobre um cluster de interesse. O objetivo é extrair os clusters

significativos de dimensões específicas, isto é, endereços IP de origem e destino e portas de

origem e destino. Então, os clusters mais significativos são extraídos de uma dimensão fixa

(por exemplo, endereço IP de origem) e o conceito de entropia é usado para medir a

quantidade de incerteza relativa (RU - Relative Uncertainly) contida nos dados.

37

A segunda etapa é responsável por descobrir relações entre os clusters, ou seja,

encontrar padrões de comportamento comuns para o perfil do tráfego. Visando alcançar este

objetivo, a metodologia propõe uma classificação do comportamento baseado nos modelos de

comunicação dos computadores de usuários finais e serviços. Desta forma, para cada cluster,

uma RU é computada e usada como parâmetro para criar classes de comportamento (BC -

Behavior Classes). Com essas classes é possível identificar qual delas representa tráfego

anômalo ou indesejado.

Visando melhorar o entendimento do processo de definição de classes de

comportamento, a seguir serão fornecidos detalhes do procedimento.

4.3.2.1. Definição de Classes de Comportamento

Considerando um cluster de conjunto mais significativo, por exemplo, de srcIP (IP de

origem), em um determinado intervalo de tempo, todos os fluxos de cada grupo mais

significativo compartilham a mesma chave, ou seja, IP de origem. Enquanto isso, cada uma

das suas três dimensões “livres” (no caso IP de destino, porta de origem e porta de destino)

pode possuir qualquer valor, logo os fluxos podem possuir diferentes distribuições de

probabilidade para cada uma das dimensões livres. Desta forma, pode-se associar uma

incerteza relativa (RU).

Para cada cluster extraído em relação a uma dimensão qualquer é definido os

elementos X, Y e Z para as suas dimensões “livres” seguindo o padrão da tabela 4.1. Cada

conjunto desses gerado pode ser representado pelo vetor RU [RUx, RUy, RUz], onde o RU de

cada conjunto pode ser calculado pela fórmula definida em [13].

Tabela 4.1: Convenção das distribuições livres.

Chave do Grupo

Dimensões Livres X Y Z

srcIP srcPort dstPort dstIP dstIP srcPort dstPort srcIP

srcPort dstPort srcIP dstPort dstPort srcPort srcIP dstPort

Visando uma forma mais conveniente de agrupamento entre os clusters mais

significativos, cada dimensão é dividida em três possíveis categorias, rotulada como: 0

(baixo), 1 (médio), 2 (alto), seguindo os seguintes critérios:

38

�)�', � � 0)D��vx,, �E 0 K �� K � 1) E��x,, �E � � �� � 1 - �2)�F�x,, �E 1 - � K �� K 1 � Para os valores de ε, [13] define ε = 0,2 para as dimensões srcPort e dstPort, e ε=0,3

para srcIP e dstIP. Tem-se então que este processo de rotulação define 27 diferentes tipos de

rótulos (ou diferentes BCs) que podem ser identificados por IDs. Para determinar o ID de um

determinado conjunto utiliza-se a equação 4.4: (� � �)�'�,. 37 I ���'��. 3B I �)�'�,. 3p(� 1 �0,1,2,3, … ,26 (4)

Equação 4.4 – Equação de geração de ID de BCs

Por exemplo, se considerado a análise da chave srcIP e considerando-se que a relação

com as chaves srcPort, dstPort, dstIP seja representada pela tupla [0 , 2 , 0], ou seja, relação

srcPort = baixa, dstPort = alto e dstIP = baixo. Então o �� � ! �)���,, �)���,, �)���,$ pode ser representado como �� � 0 · 37 I 2 · 3B I 0 · 3p � 0 I 6 I 0 � 6, então, neste

caso BC = 6.

É importante salientar que um mesmo identificador de um BC (BC = 6, como no

exemplo anterior) tem significados distintos quando o grupo extraído tem como chave outras

chaves de grupo como srcPort ou dstIP.

4.3.2.2. Integração ao modelo de fusão de dados

Depois de agrupados, classificados e estabelecido os BCs dos fluxos, o Profiling detecta a

presença de um ataque avaliando os BCs, a freqüência de repetição entre os mesmos e a

quantidade de fluxos associados a essa classificação.

Por exemplo, caso o Profiling análise o dstIP como chave de grupo. Esta análise será

dividida em interações (espaços predefinidos de tempo). Suponha que na interação #1 os

fluxos com IP de destino 10.108.40.X (150 fluxos) sejam classificados com o BC = 24 e que

essa classificação para essa chave de grupo represente um ataque DDoS. Na interação #2 o

BC para este mesmo IP se manteve e o número de fluxos aumentou para 250, então é possível

aumentar a crença nessa inferência. No entanto, se na interação seguinte o BC tivesse alguma

alteração, a avaliação teria de ser modificada e a sua crença tem de seguir o aumento ou a

diminuição do número de fluxos analisados.

39

4.4. Mecanismo de Fusão de Dados

O mecanismo de fusão de dados é responsável pela tomada de decisões, definindo quando um

determinado evento é classificado como anômalo ou normal. Tem como principal finalidade

tratar as incertezas e imprecisões dos métodos de análise. Baseado na teoria da evidência de

Dempster-Shafer, este módulo é capaz de manipular as hipóteses geradas pelos diversos

filtros encontrados na rede e combinar a crença em cada uma dessas hipóteses inferindo assim

o real estado da rede. De um modo geral este é o módulo responsável por agrupar a “visão” da

rede pela perspectiva de cada um dos filtros e inferir o comportamento geral baseado na

crença individual dos sensores.

Por se tratar de um módulo baseado na teoria da evidencia de Dempster-Shafer, se fez

necessário o uso de uma biblioteca capaz de dar suporte as estruturas e algoritmos utilizados

no calculo das funções básicas como função de crença DEF), e plausibilidade Jℓ)*+,. Por

este motivo foi utilizada a API EvidenZ [31], uma implementação gratuita em C++.

O funcionamento do módulo de fusão de dados pode ser resumido em quatro estágios.

O ponto de partida é a leitura das análises feitas pelos sensores ativos da rede. Após este

estágio é executado um processo de sincronização responsável por relacionar os elementos

apontados pelos sensores de forma que os relatos de mesmos eventos possam ser combinados.

O passo seguinte à sincronização é a combinação dos eventos, fazendo uso das regras de

combinação de função de crença. Após combinados os eventos é então possível tomar uma

inferência condizente ao real estado da rede.

A figura 4.6 ilustra o fluxo de eventos do módulo de fusão de dados.

Figura 4.6: Fluxo de processamento do módulo de fusão.

40

A seguir descrição detalhada dos estágios de funcionamento do módulo de fusão.

• Leitura das Análises: Este processo consiste na leitura dos arquivos gerados

pelo TCPModel e Profiling. Estes arquivos são subdivididos em interações de

análise (subdivisões temporais do período da análise) e contém os elementos

analisados e suas devidas classificações.

• Sincronização: O processo de sincronização consiste em relacionar os eventos

relatados por cada uma das análises. Este processo se faz importante, pois é

necessário garantir que cada uma das classificações a serem combinadas condiga

ao mesmo período de tempo. Tomando como exemplo uma análise do tráfego de

uma rede qualquer coletado no intervalo de dez minutos, se em um instante t

qualquer, o TCPModel detectar um ataque DDoS a um dos hosts da rede. É

importante que este evento seja combinado com a análise do Profiling deste

mesmo tempo t, para que o ADS-Fusion possa gerar uma inferência mais exata.

Para que esta sincronização possa ser feita, foram realizadas pequenas

modificações na geração dos resultados dos sensores para que os mesmos

relacionem as análises uma variável temporal.

• Combinação: Sendo o processo central do módulo de fusão de dados, a

combinação é utilizada como “pistas” para a geração das inferências do estado

real da rede. Para que seja possível combinar as saídas dos filtros, os atributos

das saídas são transformados em elementos da EvidenZ, que basicamente

contém o estado identificado (NORMAL ou ANÔMALO) e a crença neste

estado (bpa).

• Geração das inferências: Nessa fase o ADS-Fusion determina se a rede está

sob o efeito de uma anomalia ou não. Para tanto é necessária a definição do

quadro de discernimento, elemento que contém os possíveis estados da rede, e a

hipótese a ser avaliada.

Visando simplificar a validação, o quadro de discernimento gerado contém apenas

dois possíveis elementos que representam o estado da rede. Então:

Θ � � %���V� , V%Ô�V��

41

Considerando que a rede encontra-se por um maior tempo em estado NORMAL, a

hipótese a ser questionada será sempre se o estado da rede é NORMAL. Desta forma, com o

auxilio da EvidenZ, serão calculados a função de crença, DEF),, e a plausibilidade, Jℓ),, da

hipótese � � �%���V�, lembrando que esse cálculo leva como base a combinação das

análises feita na etapa anterior. De posse destes dois elementos é possível determinar o

intervalo de crença, N)�,, que expressa à faixa de valores no qual é possível acreditar na

hipótese H, ou seja, se é possível acreditar no estado normal da rede.

O trecho de código a seguir é responsável pela combinação e geração das inferências.

Em seguida, serão detalhadas partes de seu funcionamento.

int main() {

...

VarFactory<std::string> vf;

VarT& rede = vf.new_var();

rede.add_reals((VarT::start(), "NORMAL" , "ANOMALO"));

...

(1)

VarDomainT vs1(vf, (VarDomainT::start(), &rede ));

ConfigurationSetT cs1(vs1);

cs1.add_configs((ConfigurationSetT::start(),

ConfigurationT(vs1, (ConfigurationT::start(), "NORMAL"))));

ConfigurationSetT cs1_all(vs1);

Player p1(0.2);

PotentialT player1(vs1);

player1.add(cs1, p1);

...

(2)

VarDomainT vs2(vf, (VarDomainT::start(),&rede));

ConfigurationSetT cs2(vs2);

cs2.add_configs((ConfigurationSetT::start(),

ConfigurationT(vs2, (ConfigurationT::start(), "ANOMALO"))));

ConfigurationSetT cs2_all(vs2);

Player p2(0.7);

player2.add(cs2, p2);

...

(3)

ConfigurationSetT csfinal(global_vs);

ConfigurationT conffinal(global_vs, (ConfigurationT::start(), "NORMAL" ));

csfinal.add_config(conffinal);

PotentialT final = player1.get_comb(player2);

...

(4)

42

std::cout << final << std::endl;

std::cout << "Config set " << csfinal

<< "bel = " << final.bel(csfinal, e) << std::endl

<< "pls = " << final.pls(csfinal, e) << std::endl

<< "ign = " << final.ign(csfinal, e) << std::endl

<< "prob = " << final.prob(conffinal, e) << std::endl

<< std::endl;

(5)

return 0; }

Na primeira parte (1) é responsável por definir a estrutura “VarFactory” de forma a

tornar possível a definição do quadro de discernimento [rede.add_reals((VarT::start(),

"NORMAL" , "ANOMALO"))] utilizado no problema. Neste caso é os estado NORMAL e

ANOMALO como os possíveis estados da rede.

As duas etapas seguintes (2 e 3) definem o que a API define como “Player”, estruturas

que representam as hipóteses geradas pelos filtros. Nestas estruturas são definidas a avaliação

do estado da rede e o valor de crença atribuída a cada hipótese.

A quarta parte (4) consiste na geração da hipótese a ser avaliada pelo modelo de fusão

e combinação das hipóteses. Como mencionado anteriormente, o ADS-Fusion sempre

questionará se a rede encontra-se em estado normal.

O quinta e última parte é caracterizada pela utilização das funções da EvidenZ onde

serão calculados as funções de crença, plausibilidade para que o intervalo de crença possa ser

definido e o ADS-Fusion possa inferir o estado real da rede.

43

5. AVALIAÇÃO E RESULTADOS

Esta seção descreve o processo de avaliação de resultados utilizado neste projeto, assim como

as métricas de avaliação, descrição do ambiente de teste e ferramentas utilizadas na geração

do tráfego analisado.

5.1. Ambiente de Teste

Para realizar os testes do ADS-Fusion foram utilizadas as instalações do GPRT (Grupo de

Pesquisas em Redes e Telecomunicações) da Universidade Federal de Pernambuco (UFPE)

visando criar um ambiente controlado que se assemelha ao real e capaz de permitir ataques

DDoS. Foram utilizados 52 PCs desktops, 2 switches com 24 portas 10/100/1000 Mbps e 2

servidor (processador Athlon XP 4200+ 64bits, com 2Gbytes de RAM e 160Gbytes de HDD),

sendo um a implementação do ADS-Fusion). Windows XP e Ubuntu Linux foram os sistemas

operacionais utilizados. A figura 5.1 apresenta a topologia da rede do ambiente de teste.

Figura 5.1: Ambiente de Teste.

44

5.2. Resultados

Uma vez que um dos sensores escolhidos na implementação do protótipo ADS-Fusion é

especializado em ataques DDoS baseados no protocolo TCP, a gama de ataques para

validação teve que ser reduzida e não incluiu ataques típicos dos protocolos UDP e ICMP.

Os ataques testados foram: TCP SYN flood, tráfego SPAM e um TCP SYN de baixa

carga.

5.2.1. Ataque TCP SYN Flood

O ataque TCP SYN flood foi gerado através de um script que emprega a ferramenta

Packit [34]. O script gera pacotes com endereço MAC, endereço IP de origem, porta de

origem e porta de destino randômico. Cada pacote possui 1500 bytes de tamanho. A taxa de

geração de pacotes é escolhida aleatoriamente, podendo variar entre 1000 e 8000 pacotes por

segundo.

O ataque ocorreu no dia 20 de Novembro de 2008 entre as 13h50min e 14h00min,

horário de um grande número de acessos a rede. Foram gerados dois ataques: o primeiro às

13h55min com duração de 30 segundos e o segundo as 13h58min com duração de 20

segundos.

A figura 5.2 ilustra o cenário de ataque onde é possível notar claramente o aumento no

número de fluxos (de aproximadamente 1450 fluxos por segundo para 8500 fluxos por

segundo) durante os períodos de ataque.

Figura 5.2: Cenário de ataque TCP SYN flood.

45

O tráfego gerado foi capturado e transformado em fluxos para análise de ambos os

sensores (TCPModel e Profiling).

A Figura 5.3 ilustra a detecção de anomalias efetuada por ambos os sensores durante o

primeiro ataque TCP SYN flood (às 13h55min, o que corresponde ao intervalo de tempo entre

200 e 300 segundos do trace capturado da Figura 5.2).

É facilmente percebido pela figura acima que ambos os métodos detectam o TCP SYN

flood. Contudo, o sensor Profiling apresenta uma resposta mais rápida. No ponto 1 da figura,

o TCPModel “demora” a atingir a carga máxima do ataque. No ponto 2, um resquício do

ataque (provavelmente pacotes perdidos pela rede) é percebido somente pelo Profiling. Por

outro lado, o TCPModel apresenta-se mais estável durante o período do ataque.

Figura 5.3: Detecção do Profiling e TCPModel.

Uma vez que ambos os sensores foram capazes de detectar o ataque, o ADS-Fusion foi

empregado para aumentar a precisão da detecção. Os resultados apresentados na tabela 5.1

exprimem tanto a crença individual dos sensores quanto do mecanismo de fusão sobre o

estado NORMAL da rede e não sobre o estado de ataque.

46

Tabela 5.1: Resultados da Fusão para o ataque TCP SYN Flood.

Tempo Profiling TCPModel ADS-Fusion 200-210 80% 83% 98,3% 210-220 78% 81% 97,9% 220-230 74% 72% 96,36% 230-240 82% 86% 98,74% 240-250 36% 58% 36,09% 250-260 16% 12% 8% 260-270 19% 13% 9,26% 270-280 53% 46% 87,31% 280-290 8% 78% 17,6% 290-300 81% 79% 98%

A primeira coluna representa a linha temporal da análise do primeiro ataques TCP

SYN (100 segundos). As coluna do Profiling e do TCPModel exprimem a crença atribuída ao

tráfego normal de acordo com as técnicas utilizadas para detecção. Percebe-se que entre os

intervalos entre 240-250 e 260-270 (período de duração do ataque), ambos os métodos foram

capazes de detectar o ataque e o resultado da fusão de ambas as crenças (coluna ADS-Fusion)

apenas corroborou com as técnicas, aumentando a precisão do tráfego avaliado não ser

normal.

Os intervalos entre 270-280 e 280-290, como explicado anteriormente, uma grande

quantidade de fluxos originados pelo ataque foi detectada pelo sensor Profiling, onde a crença

na atividade normal caiu de 53% para 8%, enquanto que o sensor TCPModel não registrou

essa anomalia. Para o mecanismo de fusão essas crenças são conflitantes, mas mesmo assim

podem ser combinadas. Para o intervalo entre 270-280, a crença na normalidade do tráfego é

alta, mas para intervalo seguinte, a crença, influenciada pelo Profling, aumentou a crença em

que o tráfego não seja normal.

5.2.2. SPAM

Visando não somente avaliar ataques, foi realizada a injeção de tráfego SMTP visando à

criação de “SPAM” para o servidor de email externo. Mais uma vez foi utilizada a ferramenta

Packit para gerar tráfego forjado com duração de 60 segundos.

A figura 5.4 mostra que somente o sensor Profiling foi capaz de detectar a anomalia.

Tal fato pode ser explicado da seguinte forma: para o TCPModel, o tráfego de e-mail é um

tráfego legítimo tendo em vista que faz uso do mecanismo de handshake para estabelecer

conexões. Por outro lado, o Profiling detecta a anomalia uma vez que o número de fluxos

enviados ao mesmo destino cresce consideravelmente.

47

Figura 5.4: Detecção do tráfego de SPAM.

No processo de fusão dos dados, a não adequação do TCPModel influencia

diretamente os resultados. A tabela 5.2 demonstra os resultados.

Tabela 5.2: Resultados da Fusão para o tráfego SPAM.

Tempo Profiling TCPModel ADS-Fusion 80-100 80% 81% 98,10%

100-120 19% 34% 13,27% 120-140 22% 81% 21,24% 140-160 37% 78% 23,07% 160-180 41% 82% 44,69% 180-200 78% 80% 97,8%

Os intervalos entre 100-120 a 140-160 representam o ataque e a detecção pelos

sensores. Uma vez que o TCPModel não registrou essa anomalia, uma combinação padrão da

TDS não seria capaz representar a anomalia. A solução encontrada foi trabalhar com crença

especialista, ou seja, foi atribuído um peso maior as evidências geradas pelo Profiling. Na

prática, o TCPModel não gerá alertas e, então, sua inferência relacionada a anomalia não entra

na combinação.

5.2.3. Ataque TCP SYN de baixa carga

O último ataque testado foi um TCP SYN de baixa carga, ou seja, foi empregada uma taxa de

aproximadamente 48 pacotes por minuto. Uma vez que este tipo de ataque é difícil de

detectar, pois gera uma pequena quantidade de fluxos, o Profiling não é capaz de detectá-lo.

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

80 130 180

Profiling

TCPModel

48

Por outro lado, o TCPModel consegue perceber o número de pacotes TCP SYN destinados ao

mesmo endereço e assim é capaz de detectar o ataque.

A figura 5.5 ilustra a detecção do ataque.

Figura 5.5: TCP SYN de baixa carga.

De modo similar ao SPAM, mais uma vez um dos sensores não foi capaz de detectar o

ataque. Novamente, o uso de crença especialista foi utilizado. A tabela 5.2 exemplifica os

resultados da combinação.

Tabela 5.3: Resultados da Fusão para o ataque de baixa carga.

Tempo Profiling TCPModel ADS-Fusion 0-5 78% 83% 98,13% 5-10 62% 21% 24,99%

10-15 74% 24% 20,12% 15-20 73% 67% 95,54%

0

10

20

30

40

50

60

70

80

0 5 10 15 20

TCPModel

Profiling

49

6. CONCLUSÃO

Hoje em dia, anomalias continuam causando inúmeros prejuízos a empresas e instituições.

Ataques de negação de serviço, scans, worms, vírus e outros tipos de males ainda geram

problemas a milhares de administradores de rede e até mesmo a usuários comuns. Apesar do

desenvolvimento e aperfeiçoamento das técnicas de detecção, o número de falso positivo

destes mecanismos ainda é preocupante. Desta forma, este estudo contribui com a discussão

do uso da teoria da evidência de Dempster-Shafer aplicada como técnica de fusão de dados.

De forma geral este trabalho apresentou uma visão geral do mecanismo de fusão de

dados e elementos da teoria da evidência, além de descrever estudos com fusão de dados

visando à detecção de anomalias de rede.

Também desenvolveu um protótipo de ferramenta capaz de agregar dados sobre

anomalias baseado na inferência de sensores espalhados na rede e inferir o real estado da rede

monitorada. A validação do protótipo foi realizada utilizando-se dados sintéticos contendo

diversos ataques gerados na rede do GPRT-UFPE.

Apesar dos resultados estarem em estado inicial e ainda existir um longo caminho até

uma solução completa e definitiva, percebe-se que é possível e definitivamente positivo o uso

da teoria da evidência como técnica de fusão de dados.

6.1. Dificuldades Encontradas

No decorrer da elaboração deste trabalho foram encontrados alguns desafios que, em muitos

momentos, tornou lento e cansativo o ritmo de desenvolvimento, mas que ao serem

transpostos geraram bons frutos ao trabalho final.

Entre os desafios encontrados podemos citar:

• Problemas no funcionamento da API com elementos da teoria da evidência de

Dempster-Shafer. Foi necessário um estudo aprofundado para compreensão e

manipulação das bibliotecas. Devido à quase inexistente referência e a baixa

qualidade da documentação, a curva de aprendizado foi muito maior do que a

planejada. Em compensação, após o total entendimento, que agregou um peso

maior ao projeto. Além disso, fomos capazes de contribuir no fórum da

ferramenta.

• Outra dificuldade foi à definição de eficientes sensores para a detecção de

anomalias capazes de serem adaptados para a geração das crenças.

50

6.2. Trabalhos Futuros

Pode-se como trabalhos futuros:

• Modificar o ADS-Fusion para ser capaz de operar com coleta e análise de dados em

modo on-line, gerando assim alertas em tempo real.

• Implementar outros tipos de regras de conflito para o módulo de fusão TDS como, por

exemplo, os propostos em [32][33], visando um melhor tratamento na resolução de

conflitos de evidências.

• Desenvolver ou adaptar outros sensores de forma a aumentar a abrangência de

anomalias que possam ser detectadas, contribuir com uma maior eficácia do ADS-

Fusion.

51

REFERÊNCIAS

[1] Sundaram, A. (1996) An Introduction to Intrusion Detection. ACM Crossroads 2.4. [2] Anderson, J.P. (1980) Computer Security Threat Monitoring and Surveillance. Technical

report, Fort Washington, Pennsylvania, Abril. [3] Lunt, T. F. (1993) A survey of intrusion detection techniques. Em Computers and

Security, 12, páginas 405-418. [4] Sherif, J.S., e Dearmond, T.G. (2002) Intrusion detection: systems and models. Em

Eleventh IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[5] Debar, H., Dacier, M., e Wespi, A. (1999) Towards a taxonomy of intrusion-detection systems. Computer Networks 31.

[6] Gao, J., Hu, G., Yao, X., e Chang, R. (2006) Anomaly Detection of Network Traffic Based on Wavelet Packet. Em Asia-Pacific Conference on Communications (APPC´06).

[7] Ramanathan, A. (2002) Wades: A tool for distributed denial of service attack detection. M.S. thesis, Texas A&M University.

[8] Li, L., e Lee, G. (2005) DDoS attack detection and wavelets. Em Telecommunication Systems, Vol. 28, No. 3-4, páginas 435-451, Março.

[9] Abry, P., Borgnat, P., e Dewaele, G. (2007) Sketch based anomaly detection, identification and performance evaluation. Em IEEE/IPSJ SAINT Measurement Workshop, páginas 80-84.

[10] Scherrer, A., Larrieu, N., Owezarski, P., Borgnat, P., e Abry, P. (2007) Non-Gaussian and Long Memory Statistical Characterizations for Internet Traffic with Anomalies. IEEE Transactions on Dependable and Secure Computing, volume 4, páginas 56-70.

[11] Lakhina, A., Crovella, M., e Diot, C. (2005) Mining anomalies using traffic feature distributions. ACM SIGCOMM Computer Communication Review, 35(4), páginas 217-228. ACM Press.

[12] Karagiannis, T., Papagiannaki, K., e Faloutsos, M. (2005) BLINC: Multilevel traffic classification in the dark. ACM SIGCOMM Computer Communication Review, 35(4), páginas 229-240. ACM Press.

[13] Xu, K., Zhang, Z-L., e Bhattacharrya, S. (2005) Profiling internet backbone traffic: Behavior models and applications. ACM SIGCOMM Computer Communication Review, 35(4), páginas 169-180. ACM Press.

[14] Bernaille, L., Teixeira, R., Akodjenou, I., Soule, A., e Salamatian, K. (2006) Traffic Classification on the Fly. ACM SIGCOMM Computer. Communication Review, 36(2), páginas 23-26, Abril. ACM Press.

[15] Dasarthy, Decision Fusion, IEEE Computer Society Press, 1994 [16] Waltz, E., and Llinas, J. (1990) Multisensor Data Fusion. Artech House Boston, London. [17] Siaterlis, C., Maglaris, B., e Roris, P. (2003) A novel approach for a Distributed Denial of

Service Detection Engine. Relatório Técnico, Network Management and Optimal Design (NETMODE) Lab; National Technical University of Athens.

[18] Hall, D. (1992) Mathematical Techniques in Multisensor Data Fusion. Artech House, Norwood, Massachussets.

[19] Chatzigiannakis, V., Papavassiliou, S., Androulidakis, G., e Maglaris, B. (2006) On the realization of a generalized data fusion and network anomaly detection framework. Em

52

Fifth International Symposium on Communication Systems, Networks and Digital Signal Processing (CSNDSP’06), Patra, Greece, July.

[20] Dempster, A. P. (1967) Upper and Lower Probabilities Induced by a Multivalued Mapping. Em Annals Mathematics Statistics, 38, páginas 325-339.

[21] Dempster, A. P. (1967) Upper and Lower Probability Inferences Based on a Sample from a Finite Univariate Population. Em Biometrika, 54, páginas 515-528.

[22] Shafer, G. (1976) A mathemathical theory of evidence. Princeton, Princeton University Press.

[23] Caswell, B., e Roesch, M. (2008) Snort: The open source network intrusion detection system. Disponível em: <http://www.snort.org>

[24] Chen, Q., and Aickelin, U. (2006) Anomaly Detection Using the Dempster-Shafer Method. Em International Conference on Data Mining, DMIN 2006, Las Vegas, Nevada, USA.

[25] Tian, J., Zhao, W, Du, R., e Zhang, Z. (2005) D-S Evidence Theory and its Data Fusion Application in Intrusion Detection. Em The Sixth International Conference on Parallel and Distributed Computing Applications and Technologies. Páginas 115 - 119

[26] Intrusion Detection Working Group, “Intrusion detection message exchange format data model and extensible markup language (XML) document type definition.” Internet-Draft, January 2003.

[27] PCAP Public Repository. Disponível em: <http://www.nrg.ee.lbl.gov> [28] Mirkovic, J., Prier, G., e Reiher, P. (2002) Attacking DDoS at the Source. Em

Proceedings of 10th IEEE International Conference on Network Protocols, páginas 312-321, Paris, França, Novembro.

[29] Mirkovic, J., Robinson, M., Reiher, P., e Kuenning, G. (2003) Forming Alliance for DDoS Defenses. Em Proceeding of the New Security Paradigms Workshop (NSPW 2003), ACM Press, páginas 11-18, Agosto.

[30] Aschoff, R. R. (2007) ChkModel: Um Mecanismo de Defesa Contra Ataques DDoS. Trabalho Final de Graduação. Centro de Informática. Universidade Federal de Pernambuco.

[31] LRDE-EPITA. EvidenZ. Disponível em: < http://www.lrde.epita.fr/cgi-bin/twiki/view/Projects/Evidenz>

[32] Sentz, K. e Ferson, S. (2002) Combination of Evidence in Dempster-Shafer Theory. Relatório Técnico. Disponível em: <http://www.sandia.gov/epistemic/Reports/SAND2002-0835.pdf>

[33] Campos, F. F (2005) Uma extensão a matemática da evidência. Tese de Doutorado. Centro de Informática. Universidade Federal de Pernambuco.

[34] Intrusense Packit. - Network Injection and Capture. Disponível em: <http://www.intrusense.com/software/packit >