Aplicação do método KDD para a detecção de - mtc-m16c:80

Propaganda
Anais do I WORCAP, INPE, São José dos Campos, 25 de Outubro de 2001, p. 15 - 17
Aplicação do método KDD para a detecção de eventos anômalos no
tráfego de rede
Emiliano F. Castejon*, Antonio Montes**
Laboratório Associado de Computação e Matemática Aplicada
Instituto Nacional de Pesquisas Espaciais (INPE)
(*)Mestrado, Bolsa CAPES, e-mail: [email protected],
(**) Orientador, e-mail [email protected]
Resumo
Neste artigo é apresentada a aplicação do método KDD (Knowlege Discovery in Databases) sobre o
conjunto de dados proveniente da captura de tráfego de rede com a finalidade de fornecer indicações da
ocorrência de eventos anômalos que possam evidenciar tentativas de ataque ou intrusão sobre a rede em
monitoramento..
Palavras-Chave: detecção, intrusão, KDD, data-mining
Introdução
Nos últimos anos vem crescendo consideravelmente o número de incidentes relativos a tentativas de intrusão
e ataque a sistemas computacionais. Dentre estes, tem-se destacado ataques que envolvem inserção de tráfego
anômalo na rede, como por exemplo tentativas de denial of service, onde o atacante tenta remotamente
desabilitar sistemas computacionais explorando vulnerabilidades locais ou criando sobrecarga através da
utilização excessiva de recursos.[1] Outra forma de atividade comumente observada é a chamada port scanning
ou varredura, que geralmente é a fase inicial de tentativas de intrusão, onde o atacante tenta mapear a rede alvo
de forma a relacionar hosts e serviços nela disponibilizados.
Sistemas que detectam eventos anômalos no tráfego de rede ainda são primitivos e utilizam algoritmos que
podem ser eventualmente driblados por um atacante[4]. Neste documento é proposto o desenvolvimento de um
modelo de um sistema detector que se baseie em análise por anomalia[2] e que seja capaz de indicar a ocorrência
de eventos anômalos de caráter genérico ocorridos na rede sob monitoração, mesmo na situação onde os eventos
em questão possuam um grande footprint, ou seja, o tempo entre o inicio e o final do evento é grande e envolve
um grande número de hosts e serviços a eles associados o que demanda alta quantidade de recursos de
armazenamento para análise.[6]
Aquisição de Dados
A captura do tráfego de rede é efetuada pelo módulo sensor do sistema SHADOW[8] que é posicionado na
rede de modo a ter contato com todo o tráfego desejado. Os dados são então compactados e armazenados em
disco ficando disponíveis para análise posterior. Estes dados passam por um processo de redução de dados úteis
através do descarte de campos do cabeçalho do protocolo IP e demais protocolos nele encapsulados, como
mostrado nas figuras 1 e 2 onde somente os campos em negrito serão utilizados. Isto permite uma drástica
redução de recursos necessários para o armazenamento.
Figura 2 – Redução de dados de cabeçalho TCP
Figura 1 – Redução de dados de cabeçalho IP
4
8
16
32 bits
16
Ver.
IHL
Type of service
Total length
Source port
Identification
Time to
live
Flags
Protocol
Acknowledgement number
Header checksum
Offset
Destination address
Option + Padding
Destination port
Sequence number
Fragment offset
Source address
32 bits
Resrvd U A P R S F
Checksum
Window
Urgent pointer
Option + Padding
Data
Data
Depois de selecionados, os dados são então inseridos em um banco SQL (PostGreSQL) [7] que fornece
interface a linguagem C/C++ além de possuir métodos de compactação internos, que aqui são de grande
importância devido à enorme quantidade de dados que é adquirida diariamente pela captura de tráfego de rede.
Anais do I WORCAP, INPE, São José dos Campos, 25 de Outubro de 2001, p. 15 - 17
Modelo de Análise
Para efetuar a detecção de eventos anômalos sobre a nova base de dados é utilizado o modelo de análise
denominado KDD (Knowledge Discovery in Databases) [5] que usa técnicas de data mining relacionadas a
detecção de anomalias e vem sendo aplicado na área de segurança de sistemas computacionais. Desde sua
formulação em 1995 este modelo vem obtendo bons resultados em testes e experimentos na área de avaliação de
sistemas de detecção de intrusão realizados pelo DARPA(http://www.ll.mit.edu/IST/ideval).
O modelo KDD pode ser visto como uma seqüência lógica de passos que são iniciados pela separação de
dados úteis e o seu correspondente pré-processamento. Em tais dados, os padrões seqüenciais e de mais alta
freqüência são destacados e comparados a padrões associados a dados de característica não intrusiva
(previamente criados), levando à extração das principais características desejadas [3]. O processo de extração
das características do tráfego sob monitoramento é composto basicamente pelas três fases (não necessariamente
seqüenciais) descritas a seguir.
Primeira Fase: Geração de Padrões
Para a geração de padrões a partir de um conjunto de dados de tráfego são feitas todas as possíveis
combinações, que associam a ocorrência de dois pacotes seqüenciais à ocorrência de um terceiro pacote, dentro
de uma janela de tempo deslizante que varre todo o conjunto de dados. Estas combinações, que associam a
ocorrência de três eventos no tráfego produzem padrões como o mostrado na figura 3 a seguir:
(serviço=http , flag = S0),(serviço=http , flag = S0) Æ (serviço = http , flag = S0)
Figura 3 - Exemplo de associação de eventos
Nesta forma de codificação a ocorrência de cada um dos três pacotes é representada por um valor numérico
que é composto por todos os atributos relevantes dos dados do cabeçalho. Para minimizar o gasto de memória
física necessária e para melhorar o desempenho da análise, tais eventos são codificados em números inteiros ou
binários, tornando possível que a comparação entre padrões e eventos seja feita através de simples operações
aritméticas sobre números inteiros ou binários. A título ilustrativo, um exemplo desta codificação é mostrado na
Tabela 1. Nesta tabela os atributos de maior significância para a análise desejada são codificados em dígitos que
são posicionados em casas de maior valor significativo (à esquerda). Fixada a codificação dos eventos, a
codificação final do padrão é feita por simples agregação dos dígitos pertencentes à codificação dos eventos. Tal
agregação é feita de forma a manter os dígitos referentes a atributos de maior importância em casas de maior
valor significativo, como mostrado na figura 4.
(serviço=http , flag = SO),(serviço=http , flag = S)
Tabela 1 – Exemplo de Codificação
Associação
(flag = SF, serviço = http, src_bytes = 200
(serviço = icmp_echo, dst_host = host_b)
(flag = S0, serviço = http, src_host = host_a)
(flag = SF, serviço = icmp_echo, dst_host =
host_a, src_host = host_c)
Codif.
11001
02100
21010
12120
(serviço = http , flag = SO)
(21),(21)
(21)
(2 2 2 1 1 1)
CODIFICAÇÃO FINAL
Figura 4 - Exemplo de Codificação de padrões
Segunda Fase: Comparação aos Padrões da Linha Base
Visando a redução de falsos positivos, os padrões resultantes da fase anterior são comparados aos padrões
associados a comportamento intrusivo de modo que somente os padrões semelhantes a esses, serão considerados
pela próxima fase. De maneira simplificada, o processo de criação deste conjunto de padrões se faz com a
utilização de dois conjuntos de dados provenientes de captura de tráfego previamente tratados com as técnicas
descritas anteriormente(primeira fase). Um conjunto (denominado N) é proveniente da captura de tráfego normal
e o outro (denominado I) é proveniente de captura de tráfego com características intrusivas (gerado pela inserção
manual ou por meio de ferramenta de ataque). Para cada padrão I é calculada sua diferença em relação a cada
Anais do I WORCAP, INPE, São José dos Campos, 25 de Outubro de 2001, p. 15 - 17
padrão N. O menor resultado de todas as comparações é mantido e passa a ser a pontuação intrusiva final para
aquele padrão do conjunto I. Terminada a fase de comparações, cada padrão I cuja pontuação intrusiva é
diferente de zero é movido para o grupo final de padrões intrusivos que serão utilizados durante a busca por
eventos
Terceira Fase: Extração de Características
Nesta fase cada um dos padrões com características intrusivas resultantes da fase 2 são varridos e com a
utilização de três operadores básicos (operadores de contagem, média e porcentagem) têm sua ocorrência
contabilizada. Ao final do processo é gerada uma tabela que associa a janela de tempo dentro da qual foi feita a
análise, a ocorrência total de padrões e a ocorrência percentual de cada tipo de padrão, evidenciando assim as
características intrusivas do fluxo de dados sob monitoramento.
Conclusão
Com a implementação do modelo proposto neste documento será possível efetuar a detecção tanto da
ocorrência de eventos anômalos simulada em testes em ambiente fechado (utilizados principalmente para a
criação da linha base de conhecimento) quanto daquelas detectadas pela análise de trafego real obtido pela
captura realizada com a utilização de um módulo sensor de um sistema como o SHADOW instalado
estrategicamente em uma rede. E, de posse de tais dados será possível a comparação de seqüências de eventos
reais detectados com o surgimento de eventos relacionados com a área de segurança de sistemas (novas
vulnerabilidades, ferramentas de varreduras e exploits, dentre outros).
Principais Referências
[1] Computer Attacks: What They Are and How to Defend Against Them. ITL Bulletins published by the
Information Technology Laboratory (ITL) of the National Institute of Standards and Technology
(NIST).URL: http://csrc.nist.gov/publications/nistbul/05-99.pdf
[2] Bejtlich, Richard (TaoSecurity). Interpreting Network Traffic: A Network Intrusion Detector’s Look at
Suspicious Events. v 2.8, 14 May 2000.
URL:http://packetstorm.securify.com/papers/IDS/intv2-8.pdf
[3] Lee, Wenke. Mining in a Data-flow Environment: Experience in Network Intrusion Detection. Computer
Science Department, Columbia University.
URL: http://www.acm.org/pubs/articles/proceedings/ai/312129/p114-lee/p114-lee.pdf
[4] Staniford, Stuart (Silicon Defence). Practical Automated Detection of Stealthy Portscans. The CCS IDS
Workshop – Athens. November 1, 2000.
URL: http://packetstorm.securify.com/papers/IDS/spice-ccs2000.pdf
[5] U. Fayyad, G. Piatetsky-Shapiro, and P. Smyth. The KDD process of extracting useful knowledge from
volumes of data. Communications of the ACM, 39(11):27-34, Novembro 1996
[6] Allen, Julia. State of the Practice of Intrusion Detection Technologies. Networked Systems Survivability
Program. January 2000. Techinical Report CMU/SEI-99-TR-028
URL: http://www.sei.cmu.edu/pub/documents/99.reports/pdf/99tr028.pdf
[7] PostGreSQL - Object-Relational DBMS
URL: http://postgresql.crimelabs.net/
[8] NSWC Shadow
URL:http://www.nswc.navy.mil/ISSEC/CID/
Download