Escolar Documentos
Profissional Documentos
Cultura Documentos
Banca Examinadora
Campinas, SP
Setembro/2010
FICHA CATALOGRÁFICA ELABORADA PELA
BIBLIOTECA DA ÁREA DE ENGENHARIA E ARQUITETURA - BAE - UNICAMP
ii
Resumo
v
Abstract
vii
“Valeu a pena? Tudo vale a pena
Se a alma não é pequena.
Quem quer passar além do Bojador
Tem que passar além da dor.”
(Mar Português, Fernando Pessoa)
ix
À minha esposa Juliana, aos meus pais José
Roberto e Helena e à minha irmã Letícia.
xi
Agradecimentos
A Deus e a Nossa Senhora Aparecida.
A minha esposa Juliana, pelo amor, carinho e compreensão. Obrigado por me apoiar
desde o primeiro dia, principalmente nos momentos mais difíceis. Esta conquista, você
sabe, também é sua.
Aos meus pais, José Roberto e Helena, que sempre deram total prioridade aos meus
estudos. A vocês dois e a minha irmã, Letícia, agradeço pelo apoio, amor e carinho.
Ao meu orientador Prof. Leonardo pelo suporte, pelas diversas oportunidades e por
toda a confiança depositada.
Ao meu co-orientador Prof. Mario, que me acompanha desde a iniciação científica,
também agradeço pelo suporte, pelas oportunidades e pela confiança no meu trabalho.
Saiba que a minha opção pela vida acadêmica é culpa sua!
Ao Prof. Joel Rodrigues, meu orientador durante o período sanduíche no Instituto de
Telecomunicações em Portugal, agradeço pela oportunidade e por sua preocupação em me
fazer sentir em casa, mesmo estando tão longe de casa.
Ao meu grande amigo Rodrigo Miani, pelas revisões, discussões e ponderados
conselhos, o que influenciou diretamente neste trabalho. Agradeço por ser sempre um bom
companheiro, presente em todas as horas, mas com um péssimo defeito: ser são paulino.
Ao meu grande amigo e padrinho de casamento José Henrique, sempre prestativo,
seja para resolver enormes problemas, seja para tomarmos uma cerveja e fazermos um
churrasco.
Ao meu grande amigo Marcelo Cubas, parceiro nos bons momentos e em várias
missões impossíveis. Agradeço pelo incentivo constante e pelos inúmeros conselhos.
Aos amigos do LaRCom, pelos ótimos momentos. Em especial: Ekler, Márlon,
Dhérik, Zanoni, André Rosot, Felipe, André Panhan, Maurício e Gean. Valeu, pessoal!
Aos amigos do Instituto de Telecomunicações-Portugal, agradeço pela
hospitalidade. Em especial, agradeço ao João Alfredo e ao Pedro Rosa pela amizade que
construímos. Ainda volto à Covilhã para tomar uma mini no Leões com vocês!
xiii
À Fundação de Amparo à Pesquisa do Estado de São Paulo, FAPESP, pelo suporte
financeiro que permitiu a realização deste trabalho (Processo número 05/52973-6).
xiv
Sumário
1 Introdução ....................................................................................................................... 1
xv
2.6 Trabalhos relacionados .......................................................................................... 25
5 Implementação e resultados.......................................................................................... 79
xvi
Lista de Figuras
Figura 3.2 - Monitoramento de dias úteis no servidor Proxy da UEL, objeto ipInReceives.35
Figura 3.3 - Monitoramento de fim de semana com os respectivos DSNS no servidor Proxy
da UEL, objeto ipInReceives. ............................................................................................... 36
Figura 3.4 - Monitoramento de dias úteis com os respectivos DSNS no servidor Proxy da
UEL, objeto ipInReceives. .................................................................................................... 37
Figura 4.2 - Visão geral do modelo proposto para tratamento de anomalias. ...................... 44
xvii
Figura 4.12 - Caminhos de propagação de anomalias no fluxo de entrada do grafo de
dependências......................................................................................................................... 66
Figura 5.5 - Objetos monitorados dentro do contexto do ambiente de rede da UEL. .......... 87
Figura 5.8 - Curva ROC para o servidor Proxy, anomalias do grupo A. ............................. 90
Figura 5.9 - Curva ROC para o servidor Web, anomalias do grupo A. ............................... 91
Figura 5.11 - Curva ROC para o servidor Proxy, anomalias do grupo B............................. 93
Figura 5.12 - Curva ROC para o servidor Web, anomalias do grupo B............................... 93
xviii
Figura 5.13 - Curva ROC para o Firewall, anomalias do grupo B. ...................................... 94
Figura 5.20 - Taxas de falsos positivos para anomalias do grupo B. ................................. 100
Figura 5.21 - Visão da rede que mostra a propagação da primeira anomalia apresentada. 103
Figura 5.23 - Alarmes de primeiro nível no objeto ifInOctets, porta 3016, no switch BD. 104
Figura 5.24 - Alarmes de primeiro nível no objeto ifOutOctets, porta 3001, no switch BD.
............................................................................................................................................ 104
Figura 5.26 - Alarmes de primeiro nível no objeto ifInOctets, porta 1, switch Transit...... 106
Figura 5.28 - Visão da rede que mostra a propagação da segunda anomalia apresentada. 108
Figura 5.29 - Alarmes de primeiro nível no objeto ifOutOctets, porta 1, switch Transit. .. 110
xix
Figura 5.31 - Alarmes de primeiro nível no objeto ifInOctets, porta 3001, switch BD. .... 111
Figura 5.32 - Alarmes de primeiro nível no objeto ifOutOctets, porta 3011, switch BD. .. 111
Figura 5.33 - Alarmes de primeiro nível nos objetos ipInReceives, ipInDelivers e tcpInSegs,
servidor Proxy. ................................................................................................................... 112
Figura 5.34 - Alarmes de primeiro nível nos objetos ipOutRequests e tcpOutSegs, servidor
Proxy................................................................................................................................... 113
Figura 5.35 - Alarmes de primeiro nível no objeto ifInOctets, porta 3011, switch BD. .... 113
Figura 5.36 - Alarmes de primeiro nível no objeto ifOutOctets, porta 4011, switch BD. .. 114
Figura 5.37 - Alarmes de primeiro nível no objeto ifInOctets, porta 50, switch do
Departamento de Computação............................................................................................ 114
xx
Lista de Tabelas
Tabela 4.1 - Algoritmo utilizado para definir se um desvio de comportamento deve ser
considerado como anomalia. ................................................................................................ 41
Tabela 4.2 - Alarmes gerados para o objeto ipInReceives, servidor Proxy da UEL de
29/03/2009 a 04/04/2009. ..................................................................................................... 51
Tabela 4.3 - Algoritmo para tradução dos diagramas de Case em grafos de dependências. 59
xxi
Glossário
ACM Association for Computing Machinery
AIR Active Integrated Fault Reasoning
ALAD Application Layer Anomaly Detector
ARIMA Autoregressive Integrated Moving Average
ATI Assessoria de Tecnologia de Informação da UEL
BGP Border Gateway Protocol
BLGBA Baseline para Gerenciamento de Backbone Automático
CSI-KNN Combined Strangeness and Isolation measure K-Nearest
Neighbors
CUSUM Cumulative Sum
DC Departamento de Computação da UEL
DDoS Distributed Denial of Service
DNS Domain Name System
DoS Denial of Service
DSNS Digital Signature of Network Segment
EJB Enterprise Java Beans
EWMA Exponentially Weighted Moving Average
FTP File Transfer Protocol
GBA Gerenciamento de Backbone Automático
GLR Generalized Likelihood Ratio
HTTP Hypertext Transfer Protocol
ICMP Internet Control Message Protocol
IEEE Institute of Electrical and Electronics Engineers
IETF Internet Engineering Task Force
IMAPIT Integrated Measurement Analysis Platform for Internet Traffic
IP Internet Protocol
IPFIX IP Flow Information eXport
xxiii
MIB Management Information Base
P2P Peer to Peer
PCA Principal Component Analysis
PDU Protocol Data Unit
PHAD Packet Header Anomaly Detector
PSO-KM K Means based on Particle Swarm Optimization
PTF Passive TCP/IP Fingerprinting
RFC Request for Comments
RMON Remote Network Monitoring
RTP Real-time Transport Protocol
SMTP Simple Mail Transfer Protocol
SNMP Simple Network Management Protocol
SOFM Self-Organized Feature Map
SVM Support Vector Machine
TCP Transmission Control Protocol
TCP/IP Transmission Control Protocol/Internet Protocol
TTL Time to Live
UDP User Datagram Protocol
UEL Universidade Estadual de Londrina
UNICAMP Universidade Estadual de Campinas
VoIP Voice over IP
xxiv
Lista de Símbolos
M Matriz que contém dados do histórico analisado pelo BLGBA
para geração do DSNS
I Número de linhas da matriz M
N Número de colunas da matriz M
mi,j Elemento da matriz M
gri Maior elemento da linha i da matriz M
smi Menor elemento da linha i da matriz M
ampi Diferença entre o maior (gri) e o menor (smi) elemento da linha
i da matriz M
Limk Limite da k-ésima classe
Bli Valor contido no DSNS para o instante de amostragem i
α Fator de tolerância no algoritmo de Definição Parametrizada de
Anomalia
γ Número de violações consecutivas toleradas no algoritmo de
Definição Parametrizada de Anomalia
δ Número de violações toleradas dentro do intervalo de histerese
no Módulo de Análise de Objeto SNMP
G Grafo, G=(V,A)
V Conjunto de vértices de um grafo
A Conjunto de arestas de um grafo
Oi Conjunto de objetos definidos como iniciais
Of Conjunto de objetos definidos como finais
Oa Conjunto de objetos que apresentaram alarmes de primeiro
nível
Pilha Pilha utilizada na busca em profundidade
C(o) Função que retorna todos os objetos correlacionados ao objeto
o
xxv
wn Semana a ser monitorada com configuração escolhida pelo
Módulo de Configuração Automática
w1 a wn-1 Semanas de treinamento do Módulo de Configuração de
Automática
T Taxa de detecção
F Taxa de falsos positivos
E Eficiência
H Conjunto de valores de intervalo de histerese utilizados no
treinamento do Módulo de Configuração Automática
hi Elemento do conjunto H
D Conjunto de valores de δ utilizados no treinamento do Módulo
de Configuração Automática
di Elemento do conjunto D
P Conjunto de valores para parâmetros formados pela
combinação dos conjuntos H e D
pi Elemento do conjunto P
S Conjunto de alarmes de segundo nível
si Elemento do conjunto S
L Conjunto de anomalias inseridas pelo administrador de redes
li Elemento do conjunto L
Ji,j Conjunto de pares que combinam alarmes contidos no conjunto
S
eli Elemento de rede monitorado
xxvi
Trabalhos Publicados Pelo Autor
xxvii
International Journal of Computer Science and Network Security, v. 6, n. 5b, p. 194-
202, 2006.
8. ZARPELÃO, Bruno Bogaz; MENDES, Leonardo de Souza; BOTTOLI, Maurício;
BREDA, Gean Davis; PROENÇA JR., Mario Lemes. Correlação de Objetos
SNMP na Detecção de Anomalias em Servidores de Rede, Anais do XXII
Simpósio Brasileiro de Telecomunicações (SBrT'05), p. 1007-1012, 2005.
9. ZARPELÃO, Bruno Bogaz; MENDES, Leonardo de Souza; PROENÇA JR., Mario
Lemes. Anomaly Detection Aiming Pro-Active Management of Computer
Network Based on Digital Signature of Network Segment, Proceedings of 4th
Latin American Network Operations and Management Symposium, p. 53-64, 2005.
10. PROENÇA JR., Mario Lemes; ZARPELÃO, Bruno Bogaz; MENDES, Leonardo de
Souza. Anomaly Detection for Network Servers using Digital Signature of
Network Segment. Proceedings of Advanced Industrial Conference on
Telecommunications 2005, p. 290-295, 2005.
xxviii
1 Introdução
1
baseada nas assinaturas das anomalias. Na detecção baseada nas assinaturas, os sistemas
possuem uma base de dados com a descrição das características das anomalias que podem
ser detectadas. Os indicadores de funcionamento da rede são constantemente monitorados e
quando uma situação semelhante a um registro desta base é encontrada, um alarme é
disparado. Estes sistemas apresentam poucos alarmes falsos, mas não têm a capacidade de
detectar anomalias novas e desconhecidas, comuns atualmente devido ao constante
crescimento das redes e surgimento de novas tecnologias. (THOTTAN; JI, 2003)
(PATCHA; PARK, 2007) (KIND et al., 2009)
3
O primeiro passo a ser dado na detecção de anomalias é a coleta das informações da
rede para identificação dos problemas. Em nosso trabalho, utilizamos apenas informações
coletadas dos objetos de gerência presentes na MIB-II (Management Information Base)
(RFC 1213, 1991) através do protocolo SNMP. Tanto o SNMP quanto a MIB-II são
padrões de gerência para redes IP definidos pela IETF (Internet Engineering Task Force),
sendo suportados pela grande maioria dos dispositivos de rede disponíveis no mercado.
Para definir o comportamento normal das informações coletadas nos objetos SNMP,
utilizamos o modelo BLGBA (Baseline para Gerenciamento de Backbone Automático),
proposto por Proença Junior (2005). A aplicação deste modelo é realizada para cada objeto
SNMP monitorado e resulta em perfis de comportamento normal, denominados baselines
ou DSNS (Digital Signature of Network Segment). Cada baseline ou DSNS é específico
para um dia da semana e contém estimativas para cada instante do dia, traçando um perfil
detalhado do comportamento normal de um objeto SNMP em um elemento de rede.
4
causando a geração de um alarme de segundo nível quando a anomalia é
confirmada para o elemento de rede.
• Terceiro nível de análise: é executado no Módulo de Localização de
Anomalias, que tem como função oferecer uma visão panorâmica do
problema ao administrador de rede. Neste módulo, os alertas de segundo
nível gerados para os diferentes elementos de rede monitorados são cruzados
com base na topologia da rede analisada. As informações da topologia da
rede são inseridas manualmente pelo administrador de redes no formato de
um grafo de dependências entre os equipamentos monitorados. Desta forma,
é possível mostrar ao administrador de rede como a anomalia está se
propagando pela rede, facilitando a sua solução.
Esta tese está organizada da seguinte forma: o capítulo 2 traz os diferentes conceitos
que envolvem a área de detecção e localização de anomalias, além de diferentes propostas
para detecção e localização de anomalias, apresentadas em publicações recentes coletadas
em bases de organizações importantes como IEEE (Institute of Electrical and Electronics
Engineers) e ACM (Association for Computing Machinery). O capítulo 3 apresenta os
conceitos do modelo de caracterização de tráfego utilizado neste trabalho, conhecido como
BLGBA. O capítulo 4 detalha a proposta de sistema de detecção de anomalias desta tese. O
capítulo 5 mostra detalhes da implementação, o processo de avaliação e os resultados
obtidos com a aplicação da proposta no ambiente real da UEL (Universidade Estadual de
Londrina). Por fim, o capítulo 6 apresenta as considerações finais e os trabalhos futuros.
6
2 Principais definições
7
os ataques terroristas de 11 de setembro de 2001 nos Estados Unidos, o
portal de notícias da rede CNN sofreu esta anomalia. A razão foi o altíssimo
número de usuários que começaram a buscar notícias simultaneamente no
portal (JUNG et al., 2002).
• Babbling node: um nó da rede entra em estado de falha por tempo
indefinido, enviando pacotes aleatoriamente para vários pontos da rede. Um
exemplo de anomalia do tipo babbling node ocorre quando uma placa de
rede com problemas envia uma grande quantidade de pacotes de controle ou
sinalização para toda a rede (AL-KASASSBEH; ADDA, 2009).
• Tempestade de broadcasts: uma enorme quantidade de pacotes de broadcast
começa a trafegar pela rede, causando congestionamentos que podem levar à
interrupção das operações da rede. Falhas em dispositivos que iniciam o
envio de pacotes de broadcast para outros ativos da rede, fazendo com que
estes outros ativos também enviem broadcasts e formem uma reação em
cadeia, causam tempestades de broadcasts. Como exemplo, há casos de
softwares de controle de impressoras HP Laserjet 3, que após a remoção da
impressora da estação, causavam tempestades de broadcasts na busca pela
impressora em toda a rede (AL-KASASSBEH; ADDA, 2009).
• Congestionamentos: ocorrem com o aumento brusco de tráfego em um
determinado ponto da rede, que causa dificuldade de processamento destes
pacotes, os quais acabam sendo entregues com atraso ou são descartados. A
queda de um enlace, por exemplo, dificulta o escoamento do tráfego que
chega a determinados pontos da rede, causando congestionamentos.
Ocorrências do tipo flash crowd, babbling node e tempestade de broadcasts
também causam congestionamentos.
• Bugs nos softwares de roteamento: os softwares presentes em equipamentos
de roteamento podem não estar preparados para lidarem com pacotes que
chegam com determinados problemas, como más formações.
Consequentemente, há um comportamento não previsto no roteamento dos
pacotes, causando alteração nos níveis de tráfego medidos na rede
(ROUGHAN et al., 2004);
8
• Erros em configurações: dispositivos como firewalls, se configurados
incorretamente, podem barrar a entrada de uma grande quantidade de
pacotes na rede, causando mudanças repentinas nos níveis de tráfego
monitorados. Erros na configuração de servidores podem levá-los a não
responder adequadamente às requisições enviadas pelos clientes, causando
congestionamentos (THOTTAN; JI, 2003).
9
• Escaneamento de portas (port scan): apesar de ser uma técnica utilizada por
administradores de rede para executar tarefas de gerência, pode também ser
utilizada por agentes maliciosos para descobrir vulnerabilidades nas redes
escolhidas como alvo. Quando o escaneamento de portas é realizado de
forma maliciosa, pode causar congestionamentos e possibilitar futuros
ataques ainda mais sérios através das vulnerabilidades descobertas (COLE et
al., 2005).
Há diferentes formas de coletar informações de uma rede, e a escolha por uma delas
passa por questões como a quantidade de recursos disponíveis para realizar o
monitoramento e o tipo de problemas que se deseja identificar. A eficiência na detecção de
anomalias está relacionada à escolha de um conjunto apropriado de dados para análise, que
retrate de maneira fiel as características do funcionamento da rede monitorada. Os tipos de
anomalias que serão detectadas dependem das características dos dados utilizados na
detecção (ESTEVEZ-TAPIADOR et al., 2004) (THOTTAN; JI, 2003). Serão apresentadas
as seguintes fontes de informações, as quais são normalmente utilizadas na detecção e
localização de anomalias: estatísticas obtidas através do protocolo SNMP, estatísticas de
fluxos de pacotes, estatísticas coletadas através de sondas (probes), cabeçalhos dos pacotes
e topologia das redes.
10
diferentes dispositivos de rede como roteadores, servidores, switches, impressoras entre
outros. As informações que podem ser coletadas utilizando o protocolo SNMP variam de
estatísticas como a quantidade de bytes que ingressaram uma determinada interface a
indicadores como a temperatura interna de um equipamento. O SNMP é definido como um
protocolo da camada de aplicação e utiliza o protocolo de transporte UDP para efetuar a
troca de dados entre agentes e gerentes.
Na Figura 2.1, são apresentadas algumas das interações entre o gerente e um agente,
previstas no protocolo SNMP. A interação GET request é utilizada pelo gerente para
requisitar uma determinada informação ao agente que, por sua vez, utiliza a interação GET
response para retornar esta informação ao gerente. Os TRAPs são espécies de alarmes que
os agentes enviam ao gerente, reportando alguma ocorrência especial e também fazem parte
das operações de monitoramento. Entre as situações que podem ser reportadas, temos
reinicialização do elemento de rede gerenciado, queda de enlace, (re)estabelecimento do
enlace, entre outras. A interação SET request é uma operação de controle que possibilita ao
gerente alterar valores de objetos de gerência no agente. Com a operação SET, o gerente
pode, por exemplo, desabilitar uma interface de um switch.
11
As informações que podem ser obtidas através do protocolo SNMP ficam
armazenadas em bases de dados no dispositivo gerenciado, denominadas MIB
(Management Information Base). Elas contêm variáveis ou objetos de gerência,
responsáveis por armazenar as estatísticas de funcionamento do equipamento. O objeto de
gerência ipInReceives, por exemplo, é responsável por armazenar a informação de quantos
pacotes IP foram recebidos pelo elemento de rede analisado. As informações na MIB são
organizadas de maneira hierárquica. Para requisitar as informações contidas em um
determinado objeto, a requisição enviada pelo gerente deve conter o identificador deste
objeto, que representa o caminho que deve ser percorrido na hierarquia de informações da
MIB, até que o objeto desejado seja atingido. A Figura 2.2 mostra a árvore de informações
de uma MIB. Para requisitar, por exemplo, o objeto ipInReceives, que é o terceiro objeto do
grupo ip, é necessário passar o identificador de objeto 1.3.6.1.2.1.4.3.
12
2.2.2 Fluxos de pacotes
No monitoramento de fluxos de pacotes, cada interface de um roteador é monitorada
e os pacotes coletados são agrupados utilizando os seguintes dados presente no cabeçalho
do pacote:
Em situações de tráfego intenso, a tarefa de manter todos os dados dos fluxos ocupa
grande parte dos recursos de armazenamento e processamento dos roteadores. Para evitar
este problema, o NetFlow prevê a configuração de uma taxa de amostragem, na qual pode
ser definida a quantidade de pacotes que devem ser coletados em relação ao total que
realmente trafegou pela interface observada. Porém, a definição correta desta taxa de
13
amostragem ainda é um desafio. Uma taxa de amostragem baixa pode ser interessante em
situações de sobrecarga do roteador, pois preserva os recursos. Contudo, em situações de
normalidade, a taxa de amostragem baixa subutiliza os recursos disponíveis e coleta menos
dados do que realmente poderia ser coletado, diminuindo a eficácia da análise (ESTAN et
al., 2004).
A aplicação destas regras unidas à amostragem de pacotes pode não ser eficiente,
causando erros nas estatísticas levantadas sobre os fluxos monitorados. Durante a
amostragem de pacotes, por exemplo, os pacotes de um fluxo podem não ser coletados
mesmo que ele esteja ativo, fazendo com que a regra 2 seja aplicada. Na próxima vez que
um pacote deste fluxo for incluído na amostragem, o fluxo será contabilizado novamente de
maneira equivocada, já que o sistema o reconhecerá como um novo fluxo.
14
Outra ferramenta bastante usada é o traceroute, que envia pacotes UDP e espera pacotes de
resposta dos gateways, de forma que possa montar o caminho percorrido entre dois pontos
e calcular os atrasos desta rota.
15
indicam possíveis anomalias, como pacotes com TTL pequeno, pacotes contendo endereços
IP privados, pacotes com flags TCP inválidas e pacotes excessivamente pequenos. Termos
encontrados no payload dos pacotes também podem ser úteis para evidenciar possíveis
intrusões na rede monitorada.
Com o aumento da utilização das redes sem fio, principalmente aquelas baseadas na
ausência de controle centralizado como as redes ad hoc, as informações sobre a topologia
das redes se tornaram importantes para as atividades de gerência. A composição destas
redes é modificada frequentemente e o acompanhamento destas variações pode ser um
elemento chave na detecção de comportamentos inadequados (ESTEVEZ-TAPIADOR et
al., 2004).
16
na caracterização do comportamento normal era tornar os sistemas independentes das
características das anomalias que poderiam ser detectadas.
Ainda hoje, os sistemas de detecção são classificados nestas duas categorias. Esta
seção apresentará a descrição, as vantagens e as desvantagens destas duas categorias de
sistemas de detecção de anomalias, detalhando algumas soluções utilizadas na detecção
baseada no comportamento normal da rede, que é o foco neste trabalho. As soluções que
serão detalhadas se baseiam em técnicas de aprendizado, processamento de sinais,
especificação e mineração de dados.
17
2.3.2 Detecção baseada na caracterização do comportamento normal
A detecção baseada na caracterização do comportamento normal compara as
informações coletadas da rede às características das atividades consideradas normais. O
perfil de normalidade é obtido após um estudo do comportamento prévio da rede. Uma
situação é considerada anômala quando o seu grau de desvio em relação ao perfil de
normalidade é significativo (COLE et al., 2005) (ESTEVEZ-TAPIADOR et al., 2004)
(PATCHA; PARK, 2007) (PROENÇA JUNIOR, 2005) (THOTTAN; JI, 2003).
18
desvios em relação a este perfil. Estes limites são construídos, por exemplo, a partir da
análise de grandes quantidades de diferentes níveis de desvio padrão do tráfego real em
relação à estimativa gerada. Quando a movimentação da rede se desvia do comportamento
definido no perfil de operações normais, ultrapassando os limites de tolerância, uma
anomalia é detectada.
19
2.3.2.3 Detecção baseada em processamento de sinais
A detecção baseada em processamento de sinais utiliza técnicas de processamento
de sinais para detectar anomalias em séries temporais que reúnem estatísticas coletadas de
fluxos de dados ou de objetos SNMP. A partir destas técnicas, os sinais considerados
normais são separados dos sinais anômalos presentes nas séries analisadas. Algoritmos de
wavelet, transformadas de Fourier e algoritmos estatísticos como ARIMA (Autoregressive
Integrated Moving Average) são algumas das técnicas utilizadas para analisar de maneira
on line os dados coletados da rede (BARFORD et al., 2002) (LAKHINA et al., 2004)
(THOTTAN; JI, 2003) (WU; SHAO, 2005).
20
2.4 Localização de anomalias
A utilização de sistemas de detecção de anomalias que analisam individualmente os
elementos da rede gera conjuntos muito grandes de alarmes, os quais são frequentemente
redundantes. Em redes de comunicações, um único problema pode causar a geração de
múltiplos alarmes. Eles são resultantes do fato que um único problema normalmente se
propaga afetando vários dispositivos da rede, causando a geração de vários alertas
simultâneos para a mesma situação. A análise destes alertas depende de fatores como as
dependências entre os dispositivos monitorados, os serviços disponíveis na rede e a
presença simultânea de outros problemas.
Para suprir estas lacunas da abordagem baseada em regras, outras informações são
adicionadas às soluções propostas. Representações do modelo e das dependências do
sistema em análise podem ser incluídas na base de conhecimento, de maneira a melhorar a
qualidade dos diagnósticos e conferir capacidade de lidar com problemas novos.
22
2.4.2 Sistemas baseados na modelagem da rede
Estes sistemas realizam a correlação dos alertas baseados em representações formais
das redes monitoradas, focando principalmente nos relacionamentos entre os elementos que
compõem a rede. Muitos destes sistemas podem ser definidos como orientados a eventos,
nos quais a análise se inicia a partir da geração de um alerta e, conforme outros eventos vão
ocorrendo, percorre todo o modelo através de suas ramificações. Desta forma, as possíveis
causas do problema são localizadas. Geralmente, modelam a rede através de abordagem
orientada a objetos ou utilizando grafos. As classes ou vértices representam os nós da rede e
os relacionamentos ou arestas mostram que há conexão entre dois nós (STEINDER;
SETHI, 2004b).
23
nos grafos de causalidade. Quando a comparação retorna uma resposta positiva, é
encontrada a causa do problema (STEINDER; SETHI, 2004b).
24
de tráfego para cada caminho fim-a-fim, os quais podem incluir diferentes enlaces
(COATES et al., 2002).
O trabalho de Roughan et al. (2004) apresenta uma proposta que explora a união de
duas fontes de dados para melhorar o desempenho do sistema: o protocolo de gerência
SNMP e o protocolo de roteamento BGP (Border Gateway Protocol). A partir da
correlação entre desvios de comportamento encontrados nestas duas fontes de dados, foi
alcançada uma diminuição na taxa de falsos positivos. A análise dos dados coletados nos
objetos SNMP foi realizada com o método Holt Winters e a análise dos dados do protocolo
BGP foi realizada com o método EWMA (Exponentially Weighted Moving Average).
As propostas que utilizam redes de Bayes também são comuns, como o trabalho de
Kline et al. (2008), que propõe um algoritmo chamado S3. O primeiro componente do
26
algoritmo S3 aplica wavelets para detectar mudanças de comportamento em séries
temporais, que são formadas pelas contagens de pacotes nos fluxos de entrada e saída da
rede. O segundo componente busca correlações entre as séries temporais formadas pelos
fluxos de entrada e saída. Esta ação é baseada na premissa de que há simetria entre os
tráfegos de entrada e saída em situações normais. O último componente utiliza uma rede de
Bayes para identificar a ocorrência da anomalia. As redes de Bayes são modelos gráficos
capazes de representar relações de causa entre diferentes variáveis. Com este fim, as redes
bayesianas, como também são conhecidas, são aplicadas na verificação da relação entre os
resultados encontrados com a aplicação dos dois primeiros componentes do algoritmo S3.
Shon e Moon (2007) propõem o uso de uma ferramenta comumente utilizada para
reconhecimento de padrões e classificação, as SVM (Support Vector Machines).
Primeiramente, os pacotes são coletados da rede e filtrados em tempo real pela ferramenta
denominada PTF (Passive TCP/IP Fingerprinting), que permite que pacotes mal formados
sejam identificados e descartados. No conjunto de pacotes filtrados pelo PTF são aplicados
dois processos. O primeiro visa determinar o perfil dos pacotes normais utilizando uma
técnica de mineração de dados conhecida como SOFM (Self-Organized Feature Map). O
segundo processo utiliza algoritmos genéticos para selecionar quais campos dos pacotes
apresentam maior probabilidade de evidenciar a ocorrência de anomalias. O resultado da
execução destes processos é inserido na SVM para que seja efetuado o aprendizado e,
posteriormente, sejam detectadas anomalias.
27
Mahoney e Chan (2002) apresentaram dois sistemas que utilizam o cabeçalho dos
pacotes como fonte de dados para a detecção de anomalias. O primeiro sistema é o PHAD
(Packet Header Anomaly Detector), que monitora 33 campos dos cabeçalhos dos pacotes
nas camadas de enlace, rede e transporte. O segundo sistema é o ALAD (Application Layer
Anomaly Detector) que monitora as conexões abertas com aplicações em servidores, onde
os dados analisados são o endereço IP da origem e do destino da conexão, a porta TCP de
destino e os flags TCP. Em ambos os sistemas, há um período de treinamento no qual os
valores considerados normais para os campos são definidos através de análise estatística.
Depois, durante o monitoramento, para cada desvio de comportamento detectado é
assinalado um anomaly score, utilizado na geração dos alarmes.
O trabalho de Tang et al. (2009) se distingue dos apresentados até o momento por
ter como objetivo a localização de anomalias em redes overlay. Estas redes são altamente
escalonáveis, impedindo o uso de mapas sintoma-anomalia estáticos. O framework
denominado AIR (Active Integrated Fault Reasoning) realiza uma alternância balanceada
entre medições ativas e passivas, na busca pelas causas-raiz das anomalias. O
monitoramento ativo é disparado somente se o monitoramento passivo não é suficiente para
alcançar o resultado pretendido.
29
mais próximos da borda da rede, a fim de monitorar o comportamento no nível de caminhos
fim-a-fim e inferir problemas no nível de enlace. Algoritmos gulosos são utilizados para
minimizar a quantidade necessária de caminhos monitorados na realização das inferências.
30
3 Caracterização de tráfego: modelo BLGBA e DSNS
31
segundo do dia também é analisado individualmente, para que o DSNS resultante respeite a
variação do tráfego ao longo do dia.
amp i =
(gri − sm i ) (3.2)
5
O próximo passo é obter os limites Limk de cada uma das classes. Estes limites são
calculados em (3.3), onde Ck representa a k-ésima classe (k = 1...5).
32
86400
análise das linhas da matriz M, teremos um Bli para cada linha formando o DSNS
coleta
resultante.
33
Figura 3.1 - Monitoramento de fim de semana no servidor Proxy da UEL, objeto
ipInReceives
ipInReceives.
34
Figura 3.2
2 - Monitoramento de dias úteis no servidor Proxy da UEL, objeto
ipInReceives
ipInReceives.
35
A Figura 3.3 e a Figura 3.4, que complementam a Figura 3.1 e a Figura 3.2,
respectivamente, apresentam o tráfego real e os DSNS, gerados a partir da aplicação do
BLGBA. O tráfego real é apresentado nas cores verde e vermelho, enquanto o DSNS é
apresentado na cor azul. O DSNS está bem ajustado ao tráfego real, acompanhando todas as
variações causadas pelas mudanças ligadas ao horário de expediente dos funcionários da
universidade. O DSNS foi gerado após a análise de 12 semanas de tráfego. O trabalho de
Proença Junior (2005) determinou, após a realização de testes de regressão linear, Bland e
Altman e de análise de resíduos, que este é o número de semanas considerado ótimo para
geração de DSNS.
36
Figura 3.4 - Monitoramento de dias úteis com os respectivos DSNS no servidor
Proxy da UEL, objeto ipInReceives.
37
4 Detecção de anomalias em três níveis
39
da política seguida pelo administrador ao analisar os eventos. O problema desta abordagem
é que ela depende totalmente do conhecimento do administrador, que pode cometer erros
durante a sua análise. Como alternativa a esta abordagem, Lakhina et al. (2004) substituem
o papel do administrador presente no cenário de Soule et al. (2005) pela aplicação de
métodos como o EWMA (Exponentially Weighted Moving Average) e a análise de Fourier.
Os desvios identificados por estas técnicas formam, portanto, a base de anomalias que é
utilizada para avaliar o sistema de detecção de anomalias.
40
Tabela 4.1 - Algoritmo utilizado para definir se um desvio de comportamento deve
ser considerado como anomalia.
41
natural. Estes dados são apenas contagens de pacotes ou bytes, que analisadas fora do
contexto onde estão inseridas não conseguem mostrar se há anomalias no tráfego da rede.
Os três níveis de análise trazem informações sobre o contexto onde os dados coletados
estão inseridos, possibilitando a análise do comportamento da rede e a consequente
detecção das anomalias.
42
Figura 4.1 - Fluxo da informação e níveis de análise no sistema proposto.
43
MIB-SNMP Módulo de
Módulo de
Configuração
Módulo de
Configuração
Automática
Configuração
Automática
Automática
GBA Le switch
Leituras
leituras
Módulo de Análise
de Objeto SNMP
A coleta dos dados é realizada pelo módulo denominado GBA Le switch, que coleta
as observações em tempo real e as armazena em disco. O módulo denominado GBA Gera
DSNS/baseline é o responsável pela caracterização de tráfego e armazenamento em disco
dos DSNS. É importante mencionar que é gerado um DSNS específico para cada dia da
semana e para cada objeto SNMP. Maiores detalhes da geração do DSNS estão presentes
no capítulo 3.
Para cada objeto SNMP monitorado em um elemento de rede teremos uma instância
do Módulo de Análise de Objeto SNMP, que executa o primeiro nível de análise. Este
módulo, que está inserido dentro do Módulo de Detecção de Anomalias, realiza a
comparação entre as leituras reais e o DSNS, a fim de descobrir desvios de comportamento
44
no objeto SNMP. Estes desvios serão reportados ao sistema através de alarmes de primeiro
nível.
45
4.3.1 Módulo de Análise de Objeto SNMP
O Módulo de Análise de Objeto SNMP é responsável por comparar o DSNS aos
dados reais coletados em um objeto SNMP, a fim de identificar a ocorrência de desvios de
comportamento e gerar alarmes quando estes desvios forem significativos. Os alarmes
gerados, denominados alarmes do primeiro nível, são enviados ao Módulo de Correlação.
46
ponto (d) não tem geração de alarme, pois o evento anterior também envolveu violação do
limite superior. No ponto (e), como o último alarme foi gerado para o limite superior, há a
geração de um novo alarme para o limite inferior. Observa-se nesta situação que foram
gerados apenas 3 alarmes. Se fossem gerados alarmes para toda violação de limite, teriam
sido gerados 5 alarmes, ou seja, 66% a mais.
A Figura 4.4 ilustra a primeira proposta. Como não há dois limites, não é possível
exigir a alternância entre eventos superiores e inferiores para a geração de alarmes.
Portanto, para evitar a geração de alarmes em toda flutuação de tráfego acima do DSNS, foi
criado um mecanismo de estabelecimento de novos limites. Quando uma leitura ultrapassa
47
pela primeira vez o valor determinado pelo DSNS, como no ponto (a) da Figura 4.4, é
definido um novo limite com esta leitura e é gerado um alarme. Caso a leitura se situe
abaixo do DSNS, como no ponto (b), nenhuma ação é tomada. Caso as próximas leituras
sejam superiores ao DSNS e inferiores ao limite definido anteriormente como no ponto (c)
da Figura 4.4, há a renovação do limite, mas não há a geração de um alarme. Para que um
novo alarme seja gerado, uma nova leitura tem de ultrapassar o limite estabelecido no
momento, assim como ocorre no ponto (d) da Figura 4.4.
48
A proposta final do algoritmo para o Módulo de Análise de Objeto SNMP busca
solucionar estes dois problemas. Esta proposta final inclui uma regra adicional em relação à
primeira proposta apresentada. Ao invés de gerar alarmes para toda a violação de limite
ocorrida, a proposta final gera alarmes somente quando o número de violações supera um
dado patamar, diminuindo o número de alarmes gerados. O número de violações toleradas
pelo algoritmo é definido em um parâmetro denominado δ. Quanto maior o δ, maior o
número de violações necessárias e menor a sensibilidade do algoritmo. Seguindo na direção
inversa, quanto menor o δ, mais sensível é o algoritmo e mais alarmes são gerados. A
inclusão do parâmetro δ permite que haja uma calibragem do algoritmo para diferentes
cenários e situações, atendendo ao requisito mencionado anteriormente.
49
Figura 4.5 – Diagrama de atividades para o algoritmo do Módulo de Análise de Objeto
SNMP.
50
Tabela 4.2 - Alarmes gerados para o objeto ipInReceives, servidor Proxy da UEL de
29/03/2009 a 04/04/2009.
Por fim, é importante observar que os alarmes gerados pelo algoritmo construído
para o Módulo de Análise de Objeto SNMP não devem causar a notificação imediata do
administrador, já que eles não indicam a ocorrência de uma anomalia e sim de um desvio
de comportamento em um objeto SNMP. Mesmo assim, a sinalização dos alarmes gerados
fica disponível em arquivos de logs e na forma de gráficos referentes à movimentação da
rede, para que os administradores possam fazer uma análise posterior mais precisa sobre os
eventos ocorridos, caso seja necessário. Informações como momento de geração,
quantidade e frequência dos alarmes e valores do tráfego real e do DSNS podem ser úteis
no planejamento da rede para que situações anômalas futuras passíveis de prevenção sejam
evitadas.
51
estão relacionados para emitir um alarme de segundo nível que agregue as informações
presentes em cada um destes alarmes de primeiro nível.
Alguns objetos SNMP reagem de modo diferente ao mesmo evento. Enquanto uns
refletem com maior clareza a anomalia, outros não apresentam qualquer desvio de
comportamento. Isto ocorre porque a anomalia pode se propagar de diferentes maneiras
dentro do elemento de rede, dependendo se ele está recebendo, gerando ou roteando tráfego
anômalo. Estes detalhes no comportamento dos objetos SNMP durante a ocorrência de uma
anomalia devem ser considerados ao construirmos as regras de correlação dos alarmes. Os
objetos SNMP apresentam relacionamentos entre si, que devem ser explorados para que o
caminho da anomalia dentro do dispositivo de rede seja mapeado e a probabilidade de
ocorrência de falsos positivos seja diminuída.
52
SNMP utilizados na proposta. Utilizando os conceitos apresentados sobre os objetos
SNMP, é apresentado o grafo de dependências proposto para representar as relações entre
estes objetos. Por fim, é apresentado o algoritmo que utiliza o grafo de dependências para
analisar os alarmes de primeiro nível e gerar um alarme de segundo nível que traga um
mapa de comportamento da anomalia dentro do dispositivo de rede.
A MIB-II possui 220 objetos SNMP, que oferecem diversas medições relacionadas
aos parâmetros de funcionamento das redes TCP/IP. Dois objetivos nos levaram a realizar
um estudo sobre as características destes objetos, de forma a aplicá-los neste trabalho:
53
camada de enlace pertencem ao grupo interface, os objetos da camada de rede pertencem
ao grupo ip, e os objetos da camada de transporte pertencem aos grupos tcp e udp. Dentro
de cada um destes grupos, foram priorizados os objetos que contabilizam, em diferentes
situações, os PDUs (Protocol Data Unit) manipulados pelo elemento de rede monitorado.
As quatro listagens a seguir trazem estes objetos e suas definições.
54
• ipForwDatagrams: quantidade de datagramas IP ingressantes que foram
encaminhados ou roteados para outro destino.
• ipInUnknownProtos: quantidade de datagramas IP descartados por causa de
um protocolo desconhecido ou não suportado;
• ipInDiscards: quantidade de datagramas IP que foram descartados mesmo
sem apresentar erros. Deve ser observado que este contador não contabiliza
os datagramas descartados enquanto esperavam a remontagem.
• ipInDelivers: quantidade de datagramas IP entregues com sucesso aos
protocolos clientes do protocolo IP.
• ipOutRequests: quantidade de datagramas IP que saíram do dispositivo, sem
contabilizar os datagramas encaminhados;
• ipOutDiscards: quantidade de datagramas IP que foram descartados na saída
mesmo sem apresentar qualquer erro;
• ipOutNoRoutes: quantidade de datagramas IP descartados porque não foram
encontradas rotas para sua transmissão ao destino.
• ipReasmReqds: quantidade de fragmentos IP recebidos que deveriam ser
remontados no elemento de rede analisado;
• ipReasmFails: quantidade de falhas detectadas pelo algoritmo de
remontagem.
• ipFragOKs: quantidade de datagramas IP que foram fragmentados com
sucesso neste elemento de rede
• ipFragFails: quantidade de datagramas IP para os quais não foi possível
aplicar a fragmentação;
• ipFragCreates: quantidade de fragmentos gerados no elemento de rede
analisado;.
A terceira lista traz objetos do grupo tcp:
55
• tcpRetransSegs: quantidade de segmentos que contém um ou mais bytes que
estão sendo retransmitidos.
• tcpInErrs: quantidade de segmentos recebidos que contém erros.
• tcpOutRsts: quantidade de segmentos enviados contendo o flag RST.
A última lista apresentada traz objetos do grupo udp:
56
Figura 4.7 - Diagrama de Case para o grupo ip.
57
Os diagramas de Case possuem três tipos de setas horizontais:
58
representadas por pares ordenados (x, y) . No grafo de dependências proposto, um par
ordenado (x, y) define que uma anomalia pode se propagar do objeto SNMP representado
pelo vértice x ao objeto SNMP representado pelo vértice y.
59
aresta direcionada partindo de cada vértice contido no conjunto x para o vértice y;
fimSetaVertical(seta vertical): função que responde se a seta vertical já foi inteiramente
analisada;
tratarSetaFiltroSubtração(seta horizontal): função que dispara a criação de vértices e
arestas no grafo para a seta horizontal do tipo filtro ou subtração recebida;
tratarSetaAdição(seta horizontal): função que dispara a criação de vértices e arestas no grafo
para a seta horizontal do tipo adição recebida;
proximaSetaEncontrada: variável que armazena a próxima seta encontrada que deve ser analisada no
momento;
conjuntoUltimasSetasAdição: variável que armazena o conjunto com as últimas setas horizontais
de adição encontradas, desde a última vez em que se encontrou uma seta de filtro;
ultimaSetaFiltro: variável que armazena a última seta de filtro encontrada;
setaHorizontalInicioFluxoSecundario: variável que armazena a seta que inicia um fluxo
secundário.
01. /*programa principal*/
02. ENQUANTO existem setas verticais
03. SE fluxoPrincipal ENTÃO
04. setaHorizontal := proximaSetaEncontrada;
05. FAÇA
06. SE (tipo(setaHorizontal) = adição) ENTÃO
07. tratarSetaAdição(setaHorizontal);
08. conjuntoUltimasSetasAdição := setaHorizontal;
09. SE (tipo(setaHorizontal) = filtro) ENTÃO
10. tratarSetaFiltroSubtração(setaHorizontal);
11. ultimaSetaFiltro := setaHorizontal;
12. conjuntoUltimasSetasAdição := null;
13. SE (tipo(setaHorizontal) = subtração) ENTÃO
14. tratarSetaFiltroSubtração(setaHorizontal);
15. ENQUANTO NÃO (fimSetaVertical(fluxoPrincipal));
16. SENÃO
17. SE fluxoPrincipal já analisado ENTÃO
18. //a seta horizontal que dá inicio ao fluxo secundário
19. /*trabalha como uma seta de filtro até que uma próxima seta
20. * de filtro seja encontrada*/
21. ultimaSetaFiltro := setaHorizontalInicioFluxoSecundario;
22. FAÇA
23. setaHorizontal := proximaSetaEncontrada;
24. SE (tipo(setaHorizontal) = adição) ENTÃO
25. tratarSetaAdição(setaHorizontal);
60
26. conjuntoUltimasSetasAdição := setaHorizontal;
27. SE (tipo(setaHorizontal) = filtro) ENTÃO
28. tratarSetaFiltroSubtração(setaHorizontal);
29. ultimaSetaFiltro := setaHorizontal;
30. conjuntoUltimasSetasAdição := nulo;
31. SE (tipo(setaHorizontal) = subtração) ENTÃO
32. tratarSetaFiltroSubtração(setaHorizontal);
33. ENQUANTO NÃO(fimSetaVertical(fluxoSecundário);
34. /*rotina de tratamento das setas encontradas no diagrama de Case*/
35. PROCEDIMENTO tratarSetaFiltroSubtração (setaHorizontal)
36. //vértice para objeto representado pela seta de adição;
37. v1 := criarOuBuscarVertice(setaHorizontal);
38. v2 := coletarVerticeCorrespondente(ultimaSetaFiltro);
39. v3 := coletarVerticesCorrespondentes(conjuntoUltimasSetasAdição);
40. criarArestaDirecionada(v2, v1);
41. criarArestasDirecionadas(v3, v1);
42. FIM PROCEDIMENTO;
43. /*rotina de tratamento das setas encontradas no diagrama de Case*/
44. PROCEDIMENTO tratarSetaAdição (setaHorizontal)
45. //vértice para objeto representado pela seta de adição;
46. v1 := criarOuBuscarVertice(setaHorizontal);
47. FIM PROCEDIMENTO;
61
A análise mais profunda dos possíveis caminhos de propagação de uma anomalia
em um elemento de rede se inicia no levantamento dos possíveis comportamentos de um
elemento de rede que esteja participando de uma anomalia. Basicamente, são três os
comportamentos possíveis:
v27 S
v7 E,Ec
v9 E v8 E
v30 S,Ec
v6 E,Ec v31 S,Ec
Camada de enlace
v4 E,Ec v5 E,Ec
v32 S,Ec v33 S,Ec
v34 S,Ec
v1 E v2 E v3 E v35 S,Ec
63
Figura 4.11 - As camadas do protocolo TCP/IP e os fluxos de dados.
64
interface do dispositivo. A partir daí, o tráfego anômalo pode se propagar de duas formas.
Na primeira, o elemento de rede processa os pacotes com poucos erros ou descartes e a
anomalia reflete no caminho composto pelos objetos ipInReceives, ipInDelivers e tcpInSegs
ou udpInDatagrams. Estes dois últimos objetos são considerados como pontos finais. Há
também a possibilidade do tráfego anômalo conter grandes quantidades de pacotes com
erros ou o elemento já estar passando por sobrecarga, descartando os pacotes. Neste caso, a
propagação da anomalia pode se encerrar já na camada de rede, refletindo no ipInReceives
e em objetos de erros como o ipInAddrErrors ou ipInDiscards, que são os objetos finais. O
tráfego anômalo pode se propagar até a camada de transporte onde apresentaria os erros,
tendo objetos relacionados a erros como o tcpInErrs e udpNoPorts como objetos finais.
65
v17 E v21 S v22 S
E
v18 E v19 v20 E v24 S
v16 E
v23 S
v27 S
v7 E,Ec
v9 E v8 E
v30 S,Ec
v6 E,Ec v31 S,Ec
v4 E,Ec v5 E,Ec
v32 S,Ec v33 S,Ec
v34 S,Ec
v1 E v2 E v3 E v35 S,Ec
66
v17 E v21 S v22 S
Camada de
transporte E
v18 E v19 v20 E v24 S
v16 E
v23 S
Camada de rede
E v13 E v E
v10 E,Ec v11 E,Ec v12 14 v25 S
v28 S,Ec v26 S
v15 Ec
v29 S,Ec
v27 S
v7 E,Ec
v9 E v8 E
v30 S,Ec
v6 E,Ec v31 S,Ec
Camada de enlace
v4 E,Ec v5 E,Ec
v32 S,Ec v33 S,Ec
v34 S,Ec
v1 E v2 E v3 E v35 S,Ec
67
erros de cabeçalho ou endereços IP inválidos, o comportamento dos objetos ipInHdrErrors
e ipInAddrErrors serão afetados, por isso, eles são considerados objetos finais. Outro
objeto considerado final na camada de rede está relacionado a erros na fragmentação de
pacotes, o ipFragFails. Por fim, temos os objetos finais que contemplam as situações de
erro na camada de enlace: ifOutDiscards e ifOutErrors.
E
v18 E v19 v20 E v24 S
v16 E
v23 S
Camada de rede
E v13 E v E
v10 E,Ec v11 E,Ec v12 14 v25 S
v28 S,Ec v26 S
v15 Ec
v29 S,Ec
v27 S
v7 E,Ec
v9 E v8 E
v30 S,Ec
v6 E,Ec v31 S,Ec
Camada de enlace
v4 E,Ec v5 E,Ec
v32 S,Ec v33 S,Ec
v34 S,Ec
v1 E v2 E v3 E v35 S,Ec
68
O estudo do posicionamento dos objetos SNMP e dos possíveis caminhos de
propagação das anomalias levou à definição da estratégia de correlação baseada nas
relações de dependência entre os objetos. Outra questão a ser tratada é a estratégia de
análise dos alarmes de primeiro nível segundo o momento em que eles foram gerados. No
algoritmo proposto é utilizada a técnica baseada em janelas (STEINDER; SETHI, 2004b).
O monitoramento de cada objeto SNMP é dividido em janelas fixas de 5 minutos,
denominadas janelas de correlação. O tempo de 5 minutos foi escolhido por ser
normalmente utilizado em outros sistemas de detecção de anomalias como os propostos por
Barford et al. (2002), Soule et al. (2005) e Thottan e Ji (2003). Todos os alarmes de
primeiro nível gerados na mesma janela de correlação são analisados conjuntamente. Em
suma, a janela de correlação tem como seu maior objetivo estabelecer um referencial de
tempo para a execução da correlação no Módulo de Correlação.
69
Tabela 4.4 - Algoritmo de busca em profundidade para o Módulo de Correlação.
PROGRAMA PRINCIPAL
01. INICIO
02. PARA cada o ∈ (Oi ∩ Oa ) FAÇA
03. buscaProfundidade(o);
04. FIM PROGRAMA PRINCIPAL;
===============================
05. PROCEDIMENTO buscaProfundidade(o)
06. INICIO
07. marcar o como visitado;
08. empilhar o em Pilha;
09. SE ( o ∈ O f ) ENTÃO
10. anomalia detectada;
11. PARA cada (o′ ∈ C (o )) FAÇA
12. INICIO
13. SE o’ não está marcado ENTÃO
14. buscaProfundidade(o’);
15. FIM PARA;
16. desempilhar Pilha;
17. FIM PROCEDIMENTO;
70
política de gerência do administrador. Conforme os valores dos parâmetros são alterados, a
sensibilidade do sistema é trabalhada, modificando as taxas de detecção, de falsos positivos
e as situações consideradas como anomalias. Porém, não é possível delegar esta tarefa de
calibragem dos parâmetros aos administradores, já que as redes atuais formam sistemas
complexos, compostos por vários equipamentos, onde cada um deles apresenta uma série
de objetos de gerência para serem monitorados. Configurar o Módulo de Detecção de
Anomalias para cada elemento a ponto de fazê-lo operar dentro da política de gerência
desejada para o administrador demandaria muito tempo. Como solução para este problema,
apresentamos nesta seção uma proposta desenvolvida para a configuração automática dos
parâmetros das instâncias do Módulo de Análise de Objeto SNMP.
Destas classificações, são geradas as duas métricas que utilizaremos para avaliar
quais valores devem ser aplicados aos parâmetros de sensibilidade do sistema. A primeira
métrica é a taxa de falsos positivos, que é identificada em (4.1) por F. Ela é calculada a
partir da divisão entre a quantidade de alarmes que receberam a classificação de falso
positivo pelo total de alarmes gerados.
71
# alarmes _ falsos _ positivos
F= (4.1)
# total _ alarmes
Resultado da detecção
Alarme
Falso positivo ou
Positivo verdadeiro
falso alarme
Normal
Normal Anomalia
Natureza do evento
# anomalias _ detectadas
T= (4.2)
# total _ anomalias
Para avaliar qual é o melhor conjunto de valores para os parâmetros, utilizamos uma
métrica denominada eficiência (E), apresentada em (4.3), que soma a taxa de detecção (T) e
o complemento da taxa de falsos positivos (1-F). O pior valor que pode ser obtido para E é
E=0. Neste caso, temos T=0, indicando que nenhuma das anomalias ocorridas foi
detectada, e F=1, indicando que todos os alarmes gerados pelo sistema são falsos positivos.
O melhor valor que pode ser obtido para E é E=2. Neste caso, temos T=1, indicando que
todas as anomalias ocorridas foram detectadas e F=0, indicando que nenhum dos alarmes
gerados é falso positivo.
72
E = T + (1 − F ) (4.3)
73
1 H={h1, h2, ..., hn} D={d1, d2, ..., dn}
E(s1;L) = T(s1;L)+(1-F(s1;L))
E(s2;L) = T(s2;L)+(1-F(s2;L))
4 ... L={l1, l2, ..., ln}
E(sn;L) = T(sn;L)+(1-F(sn;L))
6 px = (hm, dn)
74
4.5 Módulo de Localização de Anomalias
No passado, as redes de computadores eram mais simples e formadas por poucos
elementos. A gerência destas redes era realizada por administradores experientes, que
recorriam a ferramentas automatizadas em situações pontuais. Atualmente, para atender a
crescente demanda por serviços, as redes têm se tornado sistemas heterogêneos e
complexos, impossibilitando uma abordagem de gerência baseada apenas na experiência de
administradores humanos (SAAMAN; KARMOUCH, 2008).
75
dependências entre os elementos de rede são conhecidas. A topologia da
rede será modelada em um grafo, no qual cada equipamento é representado
como um vértice e as arestas representam os enlaces que conectam estes
equipamentos;
A Figura 4.17 mostra o cenário de rede da UEL para o qual foi construído o grafo da
topologia apresentado na Figura 4.18. Cada equipamento é representado como um vértice.
Há equipamentos que possuem mais de uma interface, como é o caso do switch Black
Diamond (endereço IP: 172.XX.0.1) e do firewall (endereço IP: 189.XX.XX.2). Por isso,
são colocados atributos nas arestas, que identificam quais interfaces são usadas pelo enlace
representado pela aresta. Estes atributos são formatados como um par ordenado (m,n). m
representa a interface utilizada pelo equipamento que está na origem da aresta, enquanto n
representa a interface utilizada pelo equipamento que está no final da aresta. Como
exemplo, temos os equipamentos com endereços IP 172.XX.0.1 e 172.XX.XX.1. Há uma
aresta que tem sua origem em 172.XX.0.1 e seu final em 172.XX.XX.1. O atributo desta
aresta é (4011,50). Isto indica que a conexão entre estes dois equipamentos é estabelecida
76
através da interface 4011 do equipamento com endereço IP 172.XX.0.1 e da interface 50 do
equipamento com endereço IP 172.XX.XX.1.
172.XX.XX.11
,2) (3,1)
0 01
(50,4 (3
011)
172.XX.0.1
(2,3016)
(3016,2)
172.XX.XX.9
Com base neste grafo, é realizada uma análise dos alertas de segundo nível gerados
na mesma janela de cinco minutos. Os alarmes de segundo nível são analisados aos pares.
Suponhamos um conjunto de alarmes de segundo nível S = {s1 , s2 , K sn } . Para este
J n, 2 = {s n s 2 }.
rede eli, relacionado ao alarme si, para o elemento de rede elj, relacionado ao alarme sj.
Certificamos que a anomalia se propagou entre os dois elementos de rede quando as
seguintes condições são atendidas:
78
5 Implementação e resultados
O restante do capítulo traz resultados obtidos a partir de testes realizados com dados
coletados na rede da Universidade Estadual de Londrina. Foram utilizadas as métricas de
taxa de detecção e de falsos positivos para avaliar o Módulo de Detecção de Anomalias e o
Módulo de Configuração Automática. São apresentados ainda casos de anomalias que
ocorreram na rede da UEL, detalhando o comportamento do sistema de detecção de
anomalias e os benefícios trazidos com a sua aplicação.
Uma propriedade importante deste cenário é que ele reúne equipamentos com
características de operação diferentes, que podem se concentrar na camada de enlace, de
rede ou de transporte do protocolo TCP/IP. Primeiramente, temos os switches, que
concentram as suas operações na camada de enlace. Da mesma forma, temos os servidores,
que ao estabelecer conexões com seus clientes, concentram suas operações na camada de
transporte e o firewall, que concentra suas operações na camada de rede. Todos estes
equipamentos necessitam de ações direcionadas a estas características durante o
monitoramento e detecção de anomalias. Apresentando esta diversidade, o cenário
escolhido traz os requisitos necessários para que possamos desenvolver um sistema de
detecção e localização de anomalias que atinja os nossos objetivos.
80
Figura 5.1 - Elementos de rede monitorados para o desenvolvimento e testes do
sistema de detecção de anomalias.
81
o responsável por acessar os arquivos de leituras gerados pelo GBA Le switch e
transformá-los em objetos Java que são transmitidos para outros módulos;
• GBA EJB Baselines: é um componente escrito em Java, que utiliza a tecnologia
EJB, assim como o GBA EJB Leituras. Ele é responsável por acessar os
arquivos de DSNS gerados pelo GBA Gera Baseline e transformá-los em
objetos Java que são transmitidos para outros módulos;
• GBA Gera Grafico: é um módulo que também utiliza a tecnologia EJB e a
linguagem Java. Ele gera gráficos que podem conter as leituras e os valores de
DSNS para diferentes períodos de tempo.
«executável» «executável»
GBA Le switch GBA Gera Baseline
«grava» «grava»
«arquivo» «arquivo»
Leituras DSNS
«lê» «lê»
«EJB» «EJB»
GBA EJB Leituras GBA EJB Baselines
«acessa»
«acessa»
«EJB»
GBA Gera Grafico
82
GBA EJB Leituras, GBA EJB Baselines e GBA Gera Graficos são implantados em um
servidor de aplicação GlassFish, hospedado na Universidade Estadual de Londrina (UEL).
83
com os alarmes gerados e executa a rotina de configuração automática dos
parâmetros do sistema.
84
de Case para os grupos interface, ip, tcp e udp. Porém, ele não deve ser aplicado em sua
totalidade para o monitoramento de todos os elementos de rede, por duas razões principais:
85
Figura 5.4 - Grafo de dependências utilizado nos testes.
A Figura 5.5 mostra os objetos monitorados em cada elemento de rede e como eles
interagem dentro do contexto do ambiente de rede da UEL. Os objetos marcados em
vermelho apresentaram problemas durante o monitoramento. Nos servidores da UEL, os
objetos do grupo interface apresentam muitos erros de leitura quando há coletas em
intervalos menores que 30 segundos. Foi necessário eliminar estes objetos do
monitoramento, construindo o cenário apresentado na Figura 5.6.
A Figura 5.7 traz o grafo de dependências para a topologia da rede, que será usado
no Módulo de Localização de Anomalias. É possível observar portas iguais a “0” em alguns
atributos de arestas. Isto ocorre quando não há objetos do grupo interface sendo
monitorados no equipamento em questão.
86
BD – 172.XX.0.1
Servidor Proxy – 172.XX.XX.11 Firewall – 189.XX.XX.2
tcpInSegs udpInDatagrams udpInDatagrams
tcpOutSegs
udpOutDatagrams udpOutDatagrams
ipForwDatagrams ifOutOctets.3
ipForwDatagrams
ipInReceives ipInReceives
ifOutOctets.2
ifInOctets.2
ifOutOctets.2
ifInOctets.2 ifInOctets.3
ifOutOctets.3011 ifInOctets.3011
ifOutOctets.3001 ifInOctets.3001 ifOutOctets.1 ifInOctets.1
udpOutDatagrams
ipInDelivers ipOutRequests
DC – 172.XX.XX.1
ipInReceives
ifOutOctets.2 ifInOctets.4011 ifOutOctets.50
ifInOctets.2
ifOutOctets.3016 ifInOctets.3016
87
BD – 172.XX.0.1
udpOutDatagrams
ipInDelivers ipOutRequests
ipInDelivers ipOutRequests
ifOutOctets.4011 ifInOctets.50
ipInReceives ifInOctets.3016
172.XX.XX.11
,0) (0,1)
01
(50,4 (30
011)
172.XX.0.1
(0,3016)
(3016,0)
172.XX.XX.9
88
5.4 Resultados do Módulo de Detecção de Anomalias
Estes resultados têm por objetivo mostrar o potencial de detecção do Módulo de
Detecção de Anomalias. Para tanto, foram usados gráficos conhecidos como Curvas ROC
(Receiver Operating Characteristic) (SOULE et al., 2005). Para construir este gráfico, o
sistema deve ser testado com diferentes níveis de sensibilidade. Neste trabalho, isto é
alcançado com a variação do valor do δ para um determinado valor de intervalo de
histerese. As taxas de detecção e de falsos positivos verificadas para cada um dos níveis de
sensibilidade testados são inseridas no gráfico. O eixo y traz as taxas de detecção e o eixo x
traz as taxas de falsos positivos. Quanto mais próxima do ponto (0,1) é a curva, mais
eficiente é o sistema de detecção. Este gráfico também é útil para verificarmos qual
configuração de sensibilidade apresenta o melhor desempenho.
A seguir são apresentadas as curvas ROC construídas durante os testes. Tabelas com
os valores dos resultados para cada configuração de sensibilidade testada podem ser
encontradas no Anexo A.
89
comportamentos semelhantes. Isto mostra que, mesmo com intervalos de histerese
diferentes, é possível encontrar valores para δ que tragam resultados semelhantes. Por
exemplo, com histerese igual a 60 segundos e δ igual a 2, é obtida uma taxa de detecção de
80% e uma taxa de falsos positivos de 10%. Com histerese igual a 120 e δ igual a 3, são
obtidos resultados semelhantes, com a taxa de detecção em 76% e a taxa de falsos positivos
em 11%. Mesmo com intervalo de histerese de 300 segundos, que é bem maior que o inicial
de 60 segundos, são obtidas para o δ igual a 4 a taxa de detecção igual a 75% e a de falsos
positivos igual a 13%. Os resultados para o Proxy são satisfatórios, já que em determinadas
configurações foram alcançadas simultaneamente uma taxa de detecção próxima a 80% e a
de falsos positivos próxima a 10%.
0,70
0,60 HISTERESE = 60
0,50 HISTERESE = 120
0,40 HISTERESE = 180
0,30
HISTERESE = 240
0,20
0,10 HISTERESE = 300
0,00
0,00 0,10 0,20 0,30 0,40 0,50
Taxa de falsos positivos
90
servidor Web. Algumas configurações resultaram em taxas de detecção e de falsos
positivos por volta de 90% e 15%, respectivamente.
0,60
HISTERESE = 60
0,50
HISTERESE = 120
0,40
0,30 HISTERESE = 180
0,70
0,60 HISTERESE = 60
0,50 HISTERESE = 120
0,40 HISTERESE = 180
0,30
HISTERESE = 240
0,20
0,10 HISTERESE = 300
0,00
0,00 0,10 0,20 0,30 0,40 0,50
Taxa de falsos positivos
A Figura 5.11 mostra os resultados para o Servidor Proxy, agora levando em conta
as anomalias do grupo B. Os resultados são bastante satisfatórios, já que foram alcançadas
boas taxas, como é o caso da configuração com intervalo de histerese igual a 240 segundos
e δ igual a 6, onde foi atingida uma taxa de detecção igual a 92% e uma taxa de falsos
positivos igual a 15%. Como no grupo B de anomalias os desvios mais curtos não são
considerados anomalias, não foi encontrado um valor de δ para o intervalo de histerese
igual a 60 segundos que ofereça bons resultados para as taxas de detecção e de falsos
positivos simultaneamente. As melhores taxas de detecção são acompanhadas por taxas de
falsos positivos bastante elevadas.
A Figura 5.12 traz os resultados para o Servidor Web, utilizando como referência o
grupo B de anomalias. É possível observar que os resultados são levemente superiores aos
obtidos para o servidor Proxy. Para as configurações com intervalo de histerese igual a 240
segundos e δ igual a 6 e 7, o sistema alcançou taxas de detecção iguais a 92% e 87% e taxas
de falsos positivos de 12% e 6%, respectivamente. Estes resultados são bastante
satisfatórios.
92
Servidor Proxy, anomalias do grupo B
1,00
0,90
0,80
Taxa de detecção
0,70
HISTERESE = 60
0,60
0,50 HISTERESE = 120
0,40 HISTERESE = 180
0,30
HISTERESE = 240
0,20
0,10 HISTERESE = 300
0,00
0,00 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80
Taxa de falsos positivos
0,70
0,60 HISTERESE = 60
0,50 HISTERESE = 120
0,40 HISTERESE = 180
0,30
0,20 HISTERESE = 240
0,10 HISTERESE = 300
0,00
0,00 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90
Taxa de falsos positivos
93
dos respectivos valores do DSNS. Estas características de desvios dificultam as operações
do Módulo de Detecção de Anomalias, fazendo, neste caso, com que as taxas de falsos
positivos sejam altas.
0,70
HISTERESE = 60
0,60
0,50 HISTERESE = 120
0,40 HISTERESE = 180
0,30 HISTERESE = 240
0,20 HISTERESE = 300
0,10
0,00
0,00 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90
Taxa de falsos positivos
A Figura 5.15 traz o comparativo para o Servidor Web. Podemos observar que os
resultados para o grupo de anomalias B são levemente superiores aos resultados para o
grupo de anomalias A. O grupo A possui anomalias mais sutis, mais fáceis de serem
confundidas com uma variação natural em relação ao grupo B, e por isso suas taxas de
falsos positivos são um pouco mais elevadas para taxas de detecção semelhantes.
94
Comparação - Servidor Proxy
1,00
0,90
0,80
0,70
Taxa de detecção
0,60
0,50
0,40 grupo A
0,30 grupo B
0,20
0,10
0,00
0,00 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80
Taxa de falsos positivos
0,70
0,60
0,50
0,40 grupo A
0,30 grupo B
0,20
0,10
0,00
0,00 0,10 0,20 0,30 0,40 0,50 0,60 0,70 0,80 0,90
Taxa de falsos positivos
95
A Figura 5.16 traz a comparação realizada para o Firewall. Os resultados para o
grupo B de anomalias são levemente superiores aos encontrados para o grupo A. No
Firewall, este fato também ocorre porque as anomalias do grupo A são mais sutis e difíceis
de serem detectadas, levando a um desempenho inferior em relação ao encontrado para as
anomalias do grupo B.
Comparação - Firewall
1,00
0,90
0,80
0,70
Taxa de detecção
0,60
0,50 grupo A
0,40
grupo B
0,30
0,20
0,10
0,00
0,00 0,20 0,40 0,60 0,80 1,00
Taxa de falsos positivos
Após apresentar estes resultados, há algumas conclusões que podem ser levantadas.
O Módulo de Detecção de Anomalias apresentou bom desempenho, mesmo levando em
conta anomalias com diferentes características e equipamentos diversos. Em vários casos,
foi possível obter, simultaneamente, taxas de detecção próximas a 90% e taxas de falsos
positivos próximas a 15%. O ponto negativo ficou nos resultados do Firewall, que foram
inferiores aos obtidos para os outros dois equipamentos testados. O Módulo de Detecção de
Anomalias encontrou dificuldades para lidar com os desvios de comportamento deste
equipamento, que são mais discretos. Na comparação entre os resultados para os grupos A e
B de anomalias, foi observada uma leve superioridade nos resultados do grupo B. Isto
ocorre porque as anomalias do grupo B são mais fáceis de serem distinguidas do tráfego
normal, facilitando o trabalho do Módulo de Detecção de Anomalias.
96
5.5 Resultados do Módulo de Configuração Automática
Os experimentos conduzidos nesta seção têm como objetivo avaliar o desempenho
do Módulo de Configuração Automática. Para tanto, as configurações definidas por este
módulo ao longo de quatro semanas para o Servidor Proxy, o Servidor Web e o Firewall
foram aplicadas e então analisadas segundo as taxas de detecção e de falsos positivos
obtidas. Foram utilizados os grupos de anomalias A e B, assim como ocorreu nos testes que
avaliaram o desempenho do Módulo de Detecção de Anomalias.
97
Taxa de detecção (anomalias do grupo A)
1
0,95
taxa de detecção
0,9
0,85
A Figura 5.19 traz a taxa de detecção para o grupo B de anomalias, onde novamente
temos bons resultados para as configurações selecionadas pelo Módulo de Configuração
Automática. Para o Firewall, 3 das 4 taxas de detecção coletadas foram iguais a 100%,
enquanto para o servidor Proxy elas se situaram na faixa entre 90 e 100% e para o servidor
Web na faixa entre 80 e 90%.
98
Taxa de falsos positivos (anomalias do
grupo A)
0,6
Servidor Proxy
0,5
Servidor Web
taxa de falsos positivos
0,4 Firewall
0,3
0,2
0,1
0
1 2 3 4
semanas
0,95
taxa de detecção
0,9
0,85
Servidor Proxy
0,8
Servidor Web
0,75 Firewall
0,7
1 2 3 4
semanas
Servidor Web
0,5
Firewall
0,4
0,3
0,2
0,1
0
1 2 3 4
semanas
100
segundos segundos segundos
δ=1 δ=2 δ=1
Histerese = 120 Histerese = 60 Histerese = 60
3 segundos segundos segundos
δ=1 δ=2 δ=1
Histerese = 60 Histerese = 60 Histerese = 60
4 segundos segundos segundos
δ=1 δ=2 δ=1
101
também o switch Black Diamond, o Firewall e o switch Transit, que estão no caminho de
acesso entre o servidor Web e a Internet, conforme é ilustrado na Figura 5.21.
O tráfego anômalo partiu do servidor Web para o switch do núcleo da rede da UEL,
o switch BD. Neste switch, o tráfego anômalo ingressou através da porta 3016, que recebe a
conexão do servidor Web. A Figura 5.23 mostra o gráfico para o objeto ifInOctets na porta
3016 do switch BD. Foram gerados cinco alarmes de primeiro nível e, consequentemente,
foram gerados também cinco alarmes de segundo nível, indicando uma anomalia no fluxo
de entrada da porta 3016.
A Figura 5.24 mostra que o tráfego anômalo partiu em direção ao Firewall através
da porta 3001 do switch BD, após ingressar neste switch através da porta 3016. O gráfico
mostra a significativa diferença entre os dados coletados no objeto ifOutOctets e o seu
respectivo DSNS. Foram gerados 4 alarmes de primeiro nível, que, consequentemente,
causaram a geração de 4 alarmes de segundo nível.
102
Figura 5.21 - Visão da rede que mostra a propagação da primeira anomalia
apresentada.
103
Figura 5.23 - Alarmes de primeiro nível no objeto ifInOctets, porta 3016, no switch
BD.
Figura 5.24 - Alarmes de primeiro nível no objeto ifOutOctets, porta 3001, no switch
BD.
104
Figura 5.25 - Alarmes de primeiro nível nos objetos ipInReceives e
ipForwDatagrams no Firewall.
A Figura 5.26 mostra o tráfego anômalo ingressando no switch Transit, antes de ser
encaminhado para a Internet. No gráfico do objeto ifInOctets, na porta 1, é possível
observar também a grande diferença entre os dados coletados e o DSNS. Foram gerados 5
alarmes de primeiro nível, os quais causaram a geração de 5 alarmes de segundo nível,
indicando uma anomalia no fluxo de entrada da porta 1 do switch Transit.
Ao todo, para este caso de anomalia, foram gerados 31 alarmes de primeiro nível,
que se transformaram em 22 alarmes de segundo nível. Estes alarmes resultaram em apenas
dois alarmes de terceiro nível, que apresentaram toda a propagação da anomalia pela rede.
A Figura 5.27 mostra os grafos de dependências e como a anomalia se comportou. O rótulo
(1), na figura, destaca a propagação da anomalia no fluxo de saída do servidor Web. O
rótulo (2) destaca a propagação do tráfego anômalo do servidor Web para o switch BD. O
105
rótulo (3) mostra o tráfego anômalo saindo do switch BD e ingressando no Firewall,
enquanto o rótulo (4) destaca a propagação da anomalia pelo fluxo de encaminhamento do
Firewall. Finalmente, temos o rótulo (5) destacando a entrada do tráfego anômalo no
Switch Transit, que está ligado à Internet.
Figura 5.26 - Alarmes de primeiro nível no objeto ifInOctets, porta 1, switch Transit.
A Figura 5.30 apresenta os alarmes de primeiro nível gerado no Firewall para esta
ocorrência. Ao todo foram gerados 19 alarmes de primeiro nível, sendo 9 alarmes para o
objeto ipInReceives e 10 alarmes para o objeto ipForwDatagrams. Como consequência,
106
foram gerados 9 alarmes de segundo nível, reportando uma anomalia no fluxo de
encaminhamento do Firewall.
BD – 172.XX.0.1
udpOutDatagrams
ipInDelivers ipOutRequests
ipInDelivers ipOutRequests
(3) (5)
Servidor Web – 172.XX.XX.9 ifOutOctets.3001 ifInOctets.3001 ifOutOctets.1 ifInOctets.1
A Figura 5.31 mostra que o tráfego anômalo está ingressando no switch BD, após
atravessar o Firewall. São apresentados os 14 alarmes de primeiro nível gerados para o
objeto ifInOctets, na porta 3001, que está conectada ao Firewall. Consequentemente, foram
gerados 14 alarmes de segundo nível reportando uma anomalia de entrada da porta 3001 do
switch BD.
107
Figura 5.28 - Visão da rede que mostra a propagação da segunda anomalia
apresentada.
108
A Figura 5.36 e a Figura 5.37 mostram a propagação da anomalia do switch BD
para o switch do Departamento de Computação. O gráfico da Figura 5.36 mostra os 15
alarmes de primeiro nível gerados para o objeto ifOutOctets na porta 4011 do switch BD,
que é responsável por conectar este equipamento ao switch do Departamento de
Computação. Foram gerados 15 alarmes de segundo nível apontando uma anomalia no
fluxo de saída da porta 4011 do switch BD. A Figura 5.37 traz os 15 alarmes de primeiro
nível gerados para o objeto ifInOctets na porta 50 do switch do DC. Eles resultaram em 15
alarmes de segundo nível que indicam uma anomalia no fluxo de entrada da porta 50 do
switch do DC.
Neste estudo de caso, foi gerado um total de 176 alarmes de primeiro nível, 122
alarmes de segundo nível e apenas 15 alarmes de terceiro nível. A correlação realizada no
segundo nível de análise promove uma redução de cerca de 30% no total de alarmes,
enquanto a correlação de terceiro nível promove uma redução de 87% do total de alarmes
em relação à quantidade de alarmes de segundo nível e de 91% em relação à quantidade de
alarmes de primeiro nível. Além da forte redução na quantidade de alarmes que são
enviados ao administrador de rede, é importante observar que os alarmes de terceiro nível
mostram um cenário completo da anomalia, facilitando a visualização e a solução do
problema.
109
Figura 5.29 - Alarmes de primeiro nível no objeto ifOutOctets, porta 1, switch
Transit.
110
Figura 5.31 - Alarmes de primeiro nível no objeto ifInOctets, porta 3001, switch BD.
Figura 5.32 - Alarmes de primeiro nível no objeto ifOutOctets, porta 3011, switch
BD.
111
Figura 5.33 - Alarmes de primeiro nível nos objetos ipInReceives, ipInDelivers e
tcpInSegs, servidor Proxy.
112
Figura 5.34 - Alarmes de primeiro nível nos objetos ipOutRequests e tcpOutSegs,
servidor Proxy.
Figura 5.35 - Alarmes de primeiro nível no objeto ifInOctets, porta 3011, switch BD.
113
Figura 5.36 - Alarmes de primeiro nível no objeto ifOutOctets, porta 4011, switch
BD.
Figura 5.37 - Alarmes de primeiro nível no objeto ifInOctets, porta 50, switch do
Departamento de Computação.
114
do problema em toda a rede, com a geração de relatório mais completo, que facilita a
solução do problema.
BD – 172.XX.0.1
(6) udpOutDatagrams
ipInDelivers ipOutRequests
(5)
ipInDelivers
(7) ipOutRequests
(4)
(1)
(3)
Servidor Web – 172.XX.XX.9 ifOutOctets.3001 ifInOctets.3001 ifOutOctets.1 ifInOctets.1
ipInDelivers ipOutRequests
DC – 172.XX.XX.1
(8) (9)
ifOutOctets.4011 ifInOctets.50
ipInReceives ifInOctets.3016
115
6 Conclusão
O principal objetivo deste trabalho foi a construção de uma proposta para detecção
de anomalias baseada na caracterização do comportamento normal da rede. Ela utiliza
dados coletados em objetos SNMP para detectar as anomalias e proporcionar ao
administrador de rede uma visão panorâmica do problema, evitando que ele seja
sobrecarregado por alarmes redundantes que são gerados em diferentes pontos da rede e
reportam o mesmo problema. O sistema proposto também teve como objetivo
disponibilizar facilidades para a configuração de seus níveis de sensibilidade a fim de
tornar possível a adaptação a diferentes políticas de gerência. As principais contribuições
obtidas com esta proposta foram:
117
para a realização da configuração automática do nível de sensibilidade,
diminuindo a necessidade de intervenção humana;
• Desenvolvimento e testes em um ambiente real de rede: a proposta foi
desenvolvida e implementada na ferramenta GBA, utilizando dados reais
coletados da rede da Universidade Estadual de Londrina (UEL) para a
realização de testes que validaram a proposta;
• Levantamento de métodos e trabalhos relacionados: foi apresentado um
extenso levantamento das técnicas normalmente empregadas na detecção de
anomalias e dos diversos trabalhos científicos que fizeram uso destas
técnicas para propor os sistemas de detecção;
Com relação aos testes realizados, o primeiro ponto abordado foi o potencial de
detecção, avaliado por meio de gráficos conhecidos como curvas ROC (SOULE et al.,
2005). A fim de construir as curvas ROC, o sistema de detecção foi aplicado com diferentes
níveis de sensibilidade. Para cada um dos níveis de sensibilidade testados, foi coletada a
taxa de falsos positivos e a taxa de detecção. A reunião destes resultados em um único
gráfico formou as curvas ROC. Além disso, os testes foram realizados sobre dois grupos
distintos de anomalias, a fim de simular políticas de gerência diferentes. O grupo A de
anomalias representou a política de gerência na qual o administrador de rede deseja ser
informado sobre a ocorrência da grande maioria dos desvios, enquanto o grupo B de
118
anomalias representava uma política de gerência mais permissiva, na qual apenas desvios
de comportamento mais significativos deveriam ser considerados anomalias. Os testes
foram realizados durante o mês de abril de 2009 em três equipamentos de rede da UEL:
servidor Proxy, servidor Web e Firewall.
Outro ponto avaliado durante os testes foi a configuração automática dos parâmetros
do sistema. Novamente, os testes foram realizados considerando os grupos de anomalias A
e B. Os resultados demonstraram que o sistema foi capaz de se adaptar às necessidades do
administrador de redes ao selecionar configurações de parâmetros que ofereceram boas
taxas de falsos positivos e de detecção. As taxas de detecção resultantes das configurações
automaticamente escolhidas pelo sistema ficaram na maioria dos casos entre 80 e 100%,
enquanto as taxas de falsos positivos ficaram entre 5 e 20%. Estas taxas estão próximas aos
melhores resultados encontrados nos testes de potencial de detecção, mostrando que a
proposta de configuração automática foi eficaz.
Nos dois casos de anomalias reais apresentados, foi observado que a propagação do
tráfego anômalo afeta objetos de diferentes equipamentos da rede de maneira semelhante.
119
Utilizando os grafos de dependência dos objetos SNMP e os dados sobre a topologia da
rede, o sistema explorou as dependências entre os objetos e equipamentos monitorados e foi
capaz de indicar ao administrador de rede, nos dois casos, como a anomalia estava se
propagando.
O processamento em três níveis dos dados coletados nos diversos objetos SNMP
resultou em uma pequena quantidade de alarmes, que apresentaram, por outro lado,
informações bastante significativas. Se fossem analisados apenas os objetos SNMP
individualmente, o administrador de redes teria recebido 207 alarmes nos dois casos
estudados. Realizando a analise em três níveis, foram gerados 17 alarmes, que resumem as
informações dos 207 alarmes gerados para os objetos. A utilização dos grafos de
dependências melhorou a qualidade e diminuiu a quantidade dos alarmes gerados, evitando
a sobrecarga do administrador de rede.
120
pesquisa. A utilização do sistema de detecção de anomalias proposto nesta tese pode ser um
primeiro passo na construção de sistemas autogerenciáveis, que sejam capazes, por
exemplo, de restringir automaticamente os recursos disponíveis para um usuário quando há
abusos.
Por fim, podemos dizer que o modelo de dependências de objetos SNMP proposto
neste trabalho não se restringe aos objetos contidos na MIB-II. Outras MIBs podem ser
modeladas da mesma forma para que os comportamentos das anomalias sejam mapeados
em diversos ambientes e situações.
121
7 Bibliografia
BARFORD, P.; KLINE, J.; PLONKA, D.; RON, A. A signal analysis of network
traffic anomalies, Internet Measurement Workshop; Proceedings of the second
ACM SIGCOMM Workshop on Internet measurement, Marseille, France,
Pages: 71 – 82, 2002, ISBN:1-58113-603-X.
CASE, J. D.; PARTRIDGE, C. Case Diagrams: A First Step to Diagrammed
Management Information Bases, ACM SIGCOMM Computer
Communication Review, v. 19, issue 1, ACM Press New York, NY, USA, 1989.
CHAO, C. S.; YANG, D. L.; LIU, A. C. A Time-aware Fault Diagnosis System in
LAN, Proceedings of IEEE/IFIP International Symposium on Integrated
Network Management, 2001, p. 499-512, maio 2001.
COATES, M.; HERO III, A. O.; NOWAK, R.; YU, B. Internet Tomography, IEEE
Signal Processing Magazine, v. 19, n. 3, p. 47-65, 2002.
123
COLE, E.; KRUTZ, R.; CONLEY, J. W. Network Security Bible, Wiley Publishing,
2005.
DENNING, D. E. An Intrusion Detection Model, IEEE Transactions on Software
Engineering, v. 13, n. 2, p. 222-232, 1987.
EJB - Enterprise JavaBeans Technology, disponível via WEB no endereço:
http://java.sun.com/products/ejb/ em 27/03/2010.
ELLIS, D. Worm anatomy and model, Proceedings of the 2003 ACM workshop on
rapid malcode, p. 42-50, 2003.
ESTAN, C.; KEYS, K.; MOORE, D.; VARGHESE, G. Building a better NetFlow,
ACM SIGCOMM Computer Communication Review, v. 34, n. 4, pp. 245-256,
2004.
ESTEVEZ-TAPIADOR, J. M.; GARCIA-TEODORO, P.; DIAZ-VERDEJO, J. E.
Anomaly detection methods in wired networks: a survey and taxonomy,
Computer Communications 27, Elsevier, pp. 1569-1584, 2004.
FARRAPOSO, S.; OWEZARSKI, P.; MONTEIRO, E. A Multi-Scale Tomographic
Algorithm for Detecting and Classifying Anomalies, Proceedings of IEEE
International Conference on Communications 2007, 363-370, 2007.
GERSTING, J. L. Mathematical Structures for Computer Science, 5. ed., W H
Freeman, 2002.
GIARRATANO, J. C.; RILEY, G. D. Expert Systems: Principles and
Programming, 4. ed., Course Technology, 2004.
HAJJI, H. Statistical Analysis of Network Traffic for Adaptive Faults Detection,
IEEE Transaction on Neural Networks, v. 16, n. 5, pp. 1503-1063, 2005.
JAKOBSON, G.; WEISSMAN, M. D. Alarm correlation, IEEE Network, p. 52-59,
Novembro, 1993.
JIANG, J.; PAPAVASSILIOU, S. Detecting Network Attacks in the Internet via
Statistical Network Traffic Normally Prediction, Journal of Network and
Systems Management, v. 12, p. 51-72, mar. 2004.
JUNG, J.; KRISHNAMURTHY, B.; RABINOVICH, M. Flash Crowds and Denial
of Service Attacks: Characterization and Implications for CDN’s and Web
Sites, Proceedings of the 11th International Conference on World Wide Web, p.
124
293-304, 2002.
KIM, S. S.; REDDY, A. L. N. Statistical techniques for detecting traffic anomalies
through packet header data, IEEE/ACM Transactions on Networking, V. 16,
n. 3, 2008.
KIND, A.; STOECKLIN, M. P.; DIMITROPOULOS, X. Histogram-Based Traffic
Anomaly Detection, IEEE Transactions on Network Service Management, V.
6, n. 2, 2009.
KLINE, J.; NAM, S.; BARFORD, P.; PLONKA, D.; RON, A. Traffic Anomaly
Detection at Fine Time Scales with Bayes Net, The Third International
Conference on Internet Monitoring and Protection, p. 37-46, 2008.
KRÜGEL, C.; TOTH, T.; KIRDA, E. Service Specific Anomaly Detection for
Network Intrusion Detection, Proceedings of Symposium on Applied
Computing 2002, SAC 2002. pp. 201-108, 2002.
KUANG, L.; ZULKERNINE, M. An Anomaly Intrusion Detection Method using
the CSI-KNN algorithm, Proceedings of the 2008 ACM Symposium on
Applied Computing, p. 921-926, 2008.
LAKHINA, A.; CROVELLA, M.; DIOT, C. Characterization of Network-Wide
Traffic Anomalies in Traffic Flows, Proceedings of the 4th ACM SIGCOMM
Internet Measurement Conference (IMC’04), pp. 201-206, 2004.
LI, J.; MANIKOPOULOS, C. Early Statistical Anomaly Intrusion Detection of
DOS Attacks Using MIB Traffic Parameters, Proceedings of the 2003 IEEE
Workshop on Information Assurance, United States Military Academy, p. 53-
59, jun. 2003.
LI, M.; YU, S.; HE, L.; Detecting Network-wide Traffic Anomalies based on
Spatial HMM, Proceedings of 2008 IFIP International Conference on Network
Parallel Computing, p. 198-203, 2008.
LIM, S. Y.; JONES, A. Network Anomaly Detection System: The State of Art of
Network Behaviour Analysis, Proceedings of International Conference on
Convergence and Hybrid Information Technology 2008, p. 459-465, 2008.
MAHONEY, M. V.; CHAN, P. K. Learning Nonstationary Models of Normal
Network Traffic for Detecting Novel Attacks, The Eighth ACM SIGKDD
125
International Conference on Knowledge Discovery and Data Mining, pp. 376-
385, 2002.
MAURO, D. R.; SCHMIDT, K. J. Essential SNMP, O’Reilly, 2001.
NET-SNMP – Net-SNMP disponível via WEB no endereço http://www.net-snmp.org
(24/07/2010).
NGUYEN, H. X.; THIRAN, P. Network Loss Inference with Second Order
Statistics of End-to-End Flows, Proceedings of the 7th ACM SIGCOMM
conference on Internet measurement, p. 227-240, 2007.
PANDA, D.; RAHMAN, R.; LANE, D. EJB 3 in Action, Manning, 2007.
PATCHA, A.; PARK, J-M. An overview of anomaly detection techiniques: existing
solutions and latest technological trends, v. 51, n. 12, p. 3448-3470, 2007.
PATHCHAR, disponível via Web no endereço
http://www.caida.org/tools/utilities/others/pathchar/ (08/02/2010).
PROENÇA JUNIOR, M. L. “Baseline Aplicado a Gerência de Redes”, tese de
doutorado, Faculdade de Engenharia Elétrica e de Computação, Universidade
Estadual de Campinas, Campinas, 2005.
REALI, G.; MONACELLI, L. Fault Localization in Data Networks, IEEE
Communications Letters, v. 13, n. 3, p. 161-163, 2009.
RINGBERG, H.; SOULE, A.; REXFORD, J.; DIOT, C. Sensitivity of PCA for
traffic anomaly detection, Proceedings of the 2007 ACM SIGMETRICS
international conference on Measurement and modeling of computer systems,
pp. 109-120, 2007.
RFC 1157 – INTERNET ENGINEERING TASK FORCE (IETF). A Simple
Network Management Protocol (SNMP), RFC 1157, 1990.
RFC 1213 – INTERNET ENGINEERING TASK FORCE (IETF). Management
Information Base for Network Management of TCP/IP-based internet:
MIB-II, RFC 1213, 1991.
RFC 1757 – INTERNET ENGINEERING TASK FORCE (IETF). Remote Network
Monitoring Management Information Base, RFC 1757, 1995.
RFC 3954 – INTERNET ENGINEERING TASK FORCE (IETF). Cisco Systems
NetFlow Services Export Version 9, RFC 3954, 2004.
126
ROUGHAN, M.; GRIFFIN, T.; MAO, Z. M.; GREENBERG, A.; FREEMAN, B. IP
Forwarding Anomalies and Improving their Detection Using Multiple Data
Sources, Proceedings of the ACM SIGCOMM workshop on Network
troubleshooting: research, theory and operations practice meet malfunctioning
reality, p. 307-312, 2004.
SAMAAN, N.; KARMOUCH, A. Network Anomaly Diagnosis via Statistical
Analysis and Evidential Reasoning, IEEE Transactions on Network and
Service Management, v. 5, n. 2, p. 65-77, 2008.
SEKAR, R.; GUPTA, A.; FRULLO, J.; SHANBHAG, T.; TIWARI, A.; YANG, H.;
ZHOU, S. Specification-based Anomaly Detection: A New Approach for
Detecting Network Intrusions, Proceedings of the 9th ACM Conference on
Computer and Communications Security (CCS 2002), p. 265-274, 2002.
SIRIS, V. A.; PAPAGALOU, F. Application of anomaly detection algorithms for
detecting SYN flooding attacks, Computer Communications 29, Elsevier, pp.
1433-1442, 2006.
SOULE, A.; SALAMATIAN, K.; TAFT, N. Combining Filtering and Statistical
Methods for Anomaly Detection, Proceedings of ACM SIGCOMM Internet
Measurement Conference 2005 (IMC’05), p. 331-344, October 19-21, 2005,
Berkeley, CA, USA.
SHON, T.; MOON, J. A hybrid machine learning approach to network anomaly
detection, Information Sciences, v. 177, no. 18, Sep. 2007, p. 3799-3821.
STALLINGS, W., SNMP, SNMPv2, SNMPv3, and RMON 1 and 2, 3. Addison-
Wesley, 1998.
STEINDER, M.; SETHI, A. S. Probabilistic Fault Localization in Communication
Systems Using Belief Networks, IEEE/ACM Transactions on Networking, v.
12, n. 5, 2004.
STEINDER, M.; SETHI, A. S. A survey of fault localization techniques in
computer networks, Science of Computer Programming, n. 53, 165-194, 2004.
TANG, Y.; AL-SHAER, E.; BOUTABA, R. Efficient Fault Diagnosis Using
Incremental Alarm Correlation and Active Investigation for Internet and
Overlay Networks, IEEE Transactions on Network and Service Management,
127
v. 5, n. 1, p. 36-49, 2009.
THOTTAN, M.; JI, C. Anomaly detection in IP networks, Signal Processing, IEEE
Transactions on Volume: 51, Issue: 8, Aug. 2003, Pages: 2191 – 2204.
VALDES, A.; SKINNER, K. Probabilistic Alert Correlation, Recent Advances in
Intrusion Detection : 4th International Symposium, RAID 2001 Davis, CA,
USA, October 10-12, 2001, Proceedings, p. 54-68, 2001.
WU, N.; ZHANG, J. Factor analysis based anomaly detection Information
Assurance Workshop, 2003. IEEE Systems, Man and Cybernetics Society, June
2003, p. 108-115.
WU, Q.; SHAO, Z. Network Anomaly Detection Using Time Series Analysis,
Proceedings of the Joint International Conference on Autonomic and
Autonomous Systems and International Conference on Networking and Services
(ICAS/ICNS 2005), 2005.
XIAO, L.; SHAO, Z.; LIU, G. K-means Algorithm Based on Particle Swarm
Optimization Algorithm for Anomaly Intrusion Detection, Proceedings of
the 6th World Congress on Intelligent Control and Automation, p. 5854-5858,
2006.
128
Anexo A
Servidor Proxy
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 0,96 0,38 1,58
2 0,89 0,20 1,69
3 0,76 0,11 1,64
4 0,56 0,05 1,51
120 segundos
5 0,33 0,01 1,32
6 0,16 0,00 1,16
7 0,05 0,00 1,05
8 0,00 0,00 1,00
Servidor Proxy
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 0,96 0,41 1,55
2 0,93 0,26 1,68
3 0,83 0,16 1,67
4 0,68 0,09 1,59
5 0,53 0,06 1,47
6 0,37 0,04 1,34
180 segundos
7 0,24 0,03 1,21
8 0,14 0,00 1,14
9 0,07 0,00 1,07
10 0,02 0,00 1,02
11 0,00 0,00 1,00
12 0,00 0,00 1,00
Servidor Proxy
δ Taxa de detecção Taxa de falsos positivos Eficiência
Histerese
1 0,96 0,43 1,53
129
240 segundos 2 0,93 0,28 1,66
3 0,83 0,18 1,65
4 0,71 0,10 1,60
5 0,60 0,06 1,54
6 0,45 0,03 1,42
7 0,34 0,03 1,31
8 0,23 0,01 1,22
9 0,17 0,00 1,17
10 0,09 0,02 1,07
11 0,05 0,00 1,05
12 0,03 0,00 1,03
13 0,01 0,00 1,01
14 0,00 0,00 1,00
15 0,00 0,00 1,00
16 0,00 0,00 1,00
Servidor Proxy
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 0,96 0,44 1,52
2 0,93 0,31 1,63
3 0,87 0,21 1,65
4 0,75 0,13 1,62
5 0,63 0,09 1,54
6 0,50 0,07 1,43
7 0,37 0,06 1,31
8 0,29 0,04 1,26
9 0,24 0,01 1,23
10 0,17 0,00 1,17
300 segundos
11 0,11 0,00 1,11
12 0,07 0,00 1,07
13 0,05 0,00 1,05
14 0,03 0,00 1,03
15 0,02 0,00 1,02
16 0,01 0,00 1,01
17 0,00 0,00 1,00
18 0,00 0,00 1,00
19 0,00 0,00 1,00
20 0,00 0,00 1,00
Servidor Web
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
130
1 0,88 0,16 1,73
2 0,52 0,05 1,47
60 segundos
3 0,19 0,00 1,19
4 0,01 0,00 1,01
Servidor Web
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 0,92 0,28 1,65
2 0,74 0,09 1,64
3 0,49 0,02 1,47
4 0,37 0,01 1,36
120 segundos
5 0,22 0,00 1,22
6 0,09 0,00 1,09
7 0,01 0,00 1,01
8 0,00 0,00 1,00
Servidor Web
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 0,95 0,31 1,64
2 0,81 0,13 1,68
3 0,61 0,05 1,56
4 0,46 0,01 1,45
5 0,36 0,00 1,36
6 0,27 0,00 1,27
180 segundos
7 0,19 0,00 1,19
8 0,11 0,03 1,08
9 0,03 0,00 1,03
10 0,00 0,00 1,00
11 0,00 0,00 1,00
12 0,00 0,00 1,00
Servidor Web
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 0,96 0,34 1,62
2 0,83 0,16 1,67
3 0,64 0,07 1,56
4 0,50 0,02 1,48
240 segundos
5 0,40 0,00 1,39
6 0,32 0,00 1,32
7 0,27 0,00 1,27
8 0,21 0,01 1,20
131
9 0,13 0,00 1,13
10 0,07 0,00 1,07
11 0,04 0,00 1,04
12 0,01 0,00 1,01
13 0,00 0,00 1,00
14 0,00 0,00 1,00
15 0,00 0,00 1,00
16 0,00 0,00 1,00
Servidor Web
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 0,96 0,36 1,61
2 0,86 0,19 1,67
3 0,66 0,09 1,57
4 0,51 0,04 1,47
5 0,43 0,01 1,42
6 0,35 0,00 1,34
7 0,26 0,00 1,26
8 0,19 0,00 1,19
9 0,15 0,00 1,15
10 0,12 0,00 1,12
300 segundos
11 0,08 0,00 1,08
12 0,06 0,00 1,06
13 0,03 0,00 1,03
14 0,01 0,00 1,01
15 0,00 0,00 1,00
16 0,00 0,00 1,00
17 0,00 0,00 1,00
18 0,00 0,00 1,00
19 0,00 0,00 1,00
20 0,00 0,00 1,00
Firewall
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 0,87 0,30 1,56
2 0,61 0,16 1,45
60 segundos
3 0,30 0,10 1,20
4 0,08 0,00 1,08
Firewall
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
132
1 0,91 0,36 1,55
2 0,77 0,23 1,54
3 0,56 0,13 1,43
4 0,39 0,08 1,31
120 segundos
5 0,28 0,03 1,25
6 0,15 0,00 1,15
7 0,02 0,00 1,02
8 0,00 0,00 1,00
Firewall
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 0,92 0,38 1,54
2 0,79 0,26 1,53
3 0,64 0,16 1,48
4 0,49 0,07 1,42
5 0,41 0,03 1,38
6 0,32 0,02 1,30
180 segundos
7 0,23 0,00 1,23
8 0,14 0,00 1,14
9 0,08 0,00 1,08
10 0,02 0,00 1,02
11 0,00 0,00 1,00
12 0,00 0,00 1,00
Firewall
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 0,92 0,41 1,50
2 0,82 0,29 1,53
3 0,67 0,19 1,48
4 0,53 0,12 1,41
5 0,48 0,07 1,41
6 0,40 0,04 1,41
7 0,34 0,02 1,35
240 segundos 8 0,26 0,02 1,32
9 0,17 0,02 1,24
10 0,12 0,00 1,12
11 0,08 0,00 1,08
12 0,02 0,00 1,02
13 0,00 0,00 1,00
14 0,00 0,00 1,00
15 0,00 0,00 1,00
133
16 0,00 0,00 1,00
Firewall
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 0,92 0,45 1,48
2 0,84 0,31 1,54
3 0,67 0,19 1,48
4 0,56 0,12 1,44
5 0,47 0,08 1,39
6 0,38 0,05 1,33
7 0,33 0,04 1,29
8 0,26 0,03 1,23
9 0,20 0,02 1,19
10 0,15 0,00 1,15
300 segundos
11 0,08 0,00 1,08
12 0,05 0,00 1,05
13 0,04 0,00 1,04
14 0,00 0,00 1,00
15 0,00 0,00 1,00
16 0,00 0,00 1,00
17 0,00 0,00 1,00
18 0,00 0,00 1,00
19 0,00 0,00 1,00
20 0,00 0,00 1,00
Servidor Proxy
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,71 1,29
2 1,00 0,56 1,44
120 segundos
3 0,98 0,43 1,55
4 0,92 0,28 1,64
134
5 0,69 0,19 1,50
6 0,43 0,09 1,34
7 0,10 0,00 1,10
8 0,00 0,00 1,00
Servidor Proxy
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,73 1,27
2 1,00 0,61 1,39
3 0,99 0,50 1,49
4 0,98 0,37 1,61
5 0,92 0,26 1,66
6 0,80 0,17 1,63
180 segundos
7 0,58 0,10 1,48
8 0,37 0,04 1,33
9 0,19 0,00 1,19
10 0,06 0,00 1,06
11 0,00 0,00 1,00
12 0,00 0,00 1,00
Servidor Proxy
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,74 1,26
2 1,00 0,63 1,37
3 0,99 0,52 1,48
4 0,99 0,39 1,60
5 0,96 0,29 1,67
6 0,92 0,15 1,78
7 0,75 0,13 1,63
8 0,58 0,07 1,52
240 segundos
9 0,44 0,04 1,39
10 0,27 0,02 1,25
11 0,13 0,00 1,13
12 0,07 0,00 1,07
13 0,02 0,00 1,02
14 0,00 0,00 1,00
15 0,00 0,00 1,00
16 0,00 0,00 1,00
Servidor Proxy
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
135
1 1,00 0,75 1,25
2 1,00 0,65 1,35
3 1,00 0,55 1,45
4 0,98 0,45 1,53
5 0,96 0,36 1,60
6 0,89 0,26 1,63
7 0,73 0,19 1,55
8 0,64 0,14 1,50
9 0,58 0,08 1,49
300 10 0,42 0,03 1,39
segundos 11 0,27 0,05 1,22
12 0,18 0,03 1,15
13 0,13 0,04 1,09
14 0,08 0,00 1,08
15 0,04 0,00 1,04
16 0,02 0,00 1,02
17 0,01 0,00 1,01
18 0,00 0,00 1,00
19 0,00 0,00 1,00
20 0,00 0,00 1,00
Servidor Web
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,61 1,39
2 0,97 0,35 1,62
60 segundos
3 0,55 0,24 1,31
4 0,01 0,67 0,34
Servidor Web
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,71 1,29
2 0,99 0,48 1,51
3 0,97 0,28 1,69
4 0,92 0,18 1,73
120 segundos
5 0,65 0,13 1,52
6 0,30 0,22 1,08
7 0,03 0,00 1,03
8 0,00 0,00 1,00
Servidor Web
136
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,75 1,25
2 0,99 0,55 1,44
3 0,99 0,38 1,61
4 0,95 0,25 1,71
5 0,90 0,16 1,74
180 6 0,78 0,10 1,68
segundos 7 0,62 0,08 1,55
8 0,43 0,11 1,32
9 0,08 0,25 0,83
10 0,02 0,00 1,02
11 0,00 0,00 1,00
12 0,00 0,00 1,00
Servidor Web
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,77 1,23
2 0,99 0,59 1,40
3 0,98 0,42 1,56
4 0,98 0,28 1,71
5 0,96 0,18 1,78
6 0,92 0,12 1,80
7 0,87 0,06 1,81
240 8 0,72 0,06 1,66
segundos 9 0,48 0,08 1,40
10 0,27 0,08 1,19
11 0,16 0,12 1,04
12 0,05 0,00 1,05
13 0,02 0,00 1,02
14 0,00 0,00 1,00
15 0,00 0,00 1,00
16 0,00 0,00 1,00
Servidor Web
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,79 1,21
2 0,99 0,62 1,37
300 3 0,99 0,45 1,54
segundos 4 0,97 0,30 1,67
5 0,96 0,22 1,74
6 0,94 0,16 1,78
137
7 0,80 0,10 1,70
8 0,63 0,06 1,57
9 0,53 0,04 1,49
10 0,43 0,04 1,39
11 0,32 0,03 1,29
12 0,22 0,00 1,22
13 0,11 0,00 1,11
14 0,05 0,00 1,05
15 0,01 0,00 1,01
16 0,00 0,00 1,00
17 0,00 0,00 1,00
18 0,00 0,00 1,00
19 0,00 0,00 1,00
20 0,00 0,00 1,00
Firewall
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
60 segundos 1 1,00 0,68 1,32
2 1,00 0,48 1,52
3 0,73 0,30 1,42
4 0,31 0,13 1,18
Firewall
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,74 1,26
2 1,00 0,62 1,38
3 0,98 0,45 1,53
4 0,92 0,28 1,64
120 segundos
5 0,76 0,21 1,56
6 0,53 0,11 1,42
7 0,08 0,20 0,88
8 0,02 0,00 1,02
Firewall
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,75 1,25
2 1,00 0,64 1,36
180 segundos 3 1,00 0,50 1,50
4 0,96 0,36 1,60
5 0,94 0,27 1,67
138
6 0,84 0,20 1,64
7 0,75 0,09 1,66
8 0,45 0,08 1,37
9 0,31 0,00 1,31
10 0,08 0,00 1,08
11 0,00 0,00 1,00
12 0,00 0,00 1,00
Firewall
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,77 1,23
2 1,00 0,68 1,32
3 1,00 0,56 1,44
4 0,98 0,43 1,55
5 0,98 0,33 1,65
6 0,94 0,26 1,68
7 0,88 0,20 1,68
8 0,71 0,17 1,53
240 segundos
9 0,51 0,13 1,38
10 0,39 0,08 1,31
11 0,27 0,00 1,27
12 0,08 0,00 1,08
13 0,00 0,00 1,00
14 0,00 0,00 1,00
15 0,00 0,00 1,00
16 0,00 0,00 1,00
Firewall
Histerese δ Taxa de detecção Taxa de falsos positivos Eficiência
1 1,00 0,79 1,21
2 1,00 0,69 1,31
3 1,00 0,56 1,44
4 0,98 0,44 1,54
5 0,98 0,34 1,64
6 0,98 0,26 1,72
300 segundos
7 0,86 0,25 1,61
8 0,75 0,23 1,52
9 0,61 0,23 1,38
10 0,47 0,12 1,35
11 0,27 0,08 1,19
12 0,18 0,00 1,18
139
13 0,14 0,00 1,14
14 0,00 0,00 0,00
15 0,00 0,00 0,00
16 0,00 0,00 0,00
17 0,00 0,00 0,00
18 0,00 0,00 0,00
19 0,00 0,00 0,00
20 0,00 0,00 0,00
140