Você está na página 1de 8

E-Sentry+: Um IDS Baseado em Rede com Suporte Especificao em Alto

Nvel de Assinaturas de Ataque


Marlom Alves Konrath1, Josu Sperb2, Eduardo Isaia Filho2,
Luciano Paschoal Gaspary1, Liane Tarouco2
1

Universidade do Vale do Rio dos Sinos


Centro de Cincias Exatas e Tecnolgicas
Av. Unisinos, 950 CEP 93.022-000 So Leopoldo, Brasil
2

Universidade Federal do Rio Grande do Sul


Instituto de Informtica
Av. Bento Gonalves, 9500 CEP 91.591-970 Porto Alegre, Brasil
marlom@bage.unisinos.br

Resumo

O aumento da utilizao das redes de computadores e o crescimento dos servios por elas suportados
tm causado um aumento no nmero de incidentes de segurana. Os sistemas de deteco de intruso
(IDS) tm sido usados, nesse contexto, para identificar atividades maliciosas como sondagens e
ataques. No caso dos IDSs baseados em assinatura, preciso descrever essas atividades para que eles
sejam capazes de monitorar a sua ocorrncia. A maioria dos sistemas, no entanto, no oferece
flexibilidade a esse processo de especificao, alm de exigir a utilizao de notaes em baixo nvel.
Esse trabalho apresenta um sistema de deteco de intruso, o E-Sentry+, que aborda esse problema ao
explorar uma linguagem em alto nvel para a representao de assinaturas.

Abstract

The growth of the use of computer networks and the services supported by it ended up increasing the
number of security incidents. Intrusion detection systems (IDSs) have been used, in this context, to
identify malicious activities such as scans and attacks. Signature-based IDSs require the description of
such activities so that they can monitor their occurrence. Most of the systems, however, do not offer
flexibility to this specification process and require the usage of low-level notations. This work presents
an intrusion detection system, E-Sentry+, which addresses this problem by exploring a high-level
language to signature representation.
Palavras-chave: segurana de redes, sistemas de deteco de intruso, assinaturas de ataques.

1. Introduo
O aumento da utilizao, por parte de empresas e usurios, das redes de computadores, aliado com o
crescimento, em quantidade e complexidade, dos servios por elas suportados, tm causado um
aumento no nmero de incidentes de segurana. O nvel de proteo contra esses incidentes depende
diretamente da quantidade de tempo, da estratgia utilizada e do esforo realizado na construo de
um sistema seguro. Vrias so as tcnicas e ferramentas disponveis para auxiliar esse processo e entre
elas encontram-se os sistemas de deteco de intruso. Segundo Northcutt [1], o objetivo dos IDSs
identificar ameaas direcionadas a uma organizao e, depois, garantir que os sistemas sejam
protegidos contra elas.
A rpida proliferao de novos protocolos e aplicaes torna essa proteo cada vez mais complicada.
De um lado, protocolos com falhas no projeto, na implementao ou pouco testados acabam sendo
utilizados com graves falhas de segurana. Por outro lado, os sistemas de deteco de intruso, na sua
grande maioria, no so suficientemente flexveis para monitorar os novos cenrios que se apresentam.

Essa pouca flexibilidade deve-se, principalmente, s limitaes e complexidade das linguagens para
expressar assinaturas de ataques. A maioria limita-se anlise de apenas um conjunto pr-estabelecido
de protocolos e permite monitorar somente as camadas de rede e transporte. Outra limitao a
impossibilidade de se correlacionar PDUs (Protocol Data Units), isto , o conjunto de regras
aplicado individualmente para cada pacote recebido. No h como informar que uma determinada
troca de mensagens entre duas estaes constitui comportamento anmalo. Somado a isso, a
complexidade das notaes existentes facilita a ocorrncia de erros nas assinaturas e acaba por impedir
que os gerentes de redes criem, rapidamente, suas prprias (para observar comportamentos especficos
de suas redes).
Este artigo prope a utilizao de uma linguagem de alto nvel na especificao de assinaturas de
ataques e apresenta um sistema de deteco de intruso, o E-Sentry+, que utiliza tal abordagem. A
linguagem utilizada para a especificao de ataques a PTSL (Protocol Trace Specification
Language) [2], uma linguagem grfica/textual que permite a definio de traos de protocolo. O
trabalho est organizado da seguinte forma: a seo 2 apresenta trabalhos relacionados. Na seo 3
apresentado o IDS E-Sentry+ e seus aspectos funcionais como arquitetura, mtodo de especificao de
assinaturas, alarmes e notificao dos ataques detectados. A seo 4 descreve os testes realizados com
o sistema. Por fim, na seo 5 so apresentadas as concluses e as observaes finais.

2. Trabalhos Relacionados
A rea da deteco de intruso uma rea ainda imatura. Isso pode ser notado pela ausncia de
padronizaes quanto s terminologias e s classificaes utilizadas. A imaturidade da rea tambm
pode ser observada na afirmao de Northcutt em [1] quando menciona que, atualmente, cerca de 90
por cento das deteces realizadas pelos IDS so falsas positivas. Esse alto nmero de alarmes falsos
demonstra a complexidade da rea e a ausncia de uma base de conhecimento que fornea condies
aos projetistas de criar algoritmos de deteco mais eficazes. Nesta seo aborda-se os trabalhos
relacionados com o IDS que ser apresentado na seo 3. As classificaes aqui utilizadas baseiam-se
nas apresentadas por Campello em [3].
O Bro [4] uma ferramenta desenvolvida no Laboratrio Nacional de Lawrence Livermore. Seu foco
de pesquisa reside na construo de um sistema de deteco de intruso robusto, que suporte o trfego
de redes de alta velocidade e seja protegido de ataques ao prprio IDS. O Bro utiliza-se de uma
linguagem prpria para a especificao de ataques. Segundo Paxson [4], a linguagem do Bro muito
parecida com a linguagem C, embora no possua capacidade de realizar loops. Essa incapacidade
proposital, pois ajuda a evitar sobrecargas que poderiam ocasionar perda de pacotes.
O EMERALD (Event Monitoring Enabling Responses to Anomalous Live Disturbances) [3, 5] a
ferramenta mais recente desenvolvida pela SRI International. Essa ferramenta usa as tcnicas de
comportamento (anomalias) e conhecimento (assinatura) para tentar identificar ataques. Usa ainda um
subsistema de assinaturas chamado P-BEST [6], baseado em mtodos de inteligncia artificial.
O NetSTAT [7, 8] foi produzido na Universidade da Califrnia em Santa Barbara. Ele usa o conceito
de mquinas de estado para representar seqncias de eventos que, se observadas, refletem atividades
no autorizadas. O NetSTAT , de todos os IDSs abordados, o mais parecido com o E-Sentry+. A
especificao de assinaturas, no entanto, limita-se a campos pr-determinados dos protocolos TCP e
IP.
O Snort , segundo Northcutt [1], o sistema de deteco de intruso mais utilizado atualmente. Foi
desenvolvido por Marty Roesch. um IDS de rede considerado leve e seguro. No Brasil, o CAIS
publica assinaturas de ataque para essa ferramenta. O Snort foi originalmente desenvolvido para Unix,
mas, atualmente, possui uma verso para Windows NT. Para a especificao de ataques, o Snort
possui uma linguagem prpria. Essa linguagem, no entanto, no permite correlacionar mensagens na
especificao de ataques, ou seja, o mesmo conjunto de regras aplicado para cada pacote recebido.

3. E-Sentry+
O E-Sentry+ um IDS de anlise passiva, baseado em rede, que se utiliza de uma base de
conhecimento para a especificao dos ataques. Possui arquitetura centralizada e realiza monitorao
contnua. Foi desenvolvido utilizando a linguagem de programao Delphi e, atualmente, possui
apenas uma verso para os sistemas operacionais da famlia Windows.

3.1 A Arquitetura
A arquitetura do E-Sentry+ apresentada na figura 1. O Mdulo de Captura de Pacotes (1)
responsvel por colocar a placa de rede da estao em modo promscuo e capturar os pacotes que
passam pelo segmento. O Filtro de Pacotes (2) descarta os pacotes cujos endereos IP origem ou
destino no pertenam lista de estaes que esto sendo monitoradas. A Mquina de Estados (3)
recebe os pacotes que passaram pelo filtro e os analisa para verificar se correspondem a uma
mensagem que indique troca de estados. Esse mdulo l as assinaturas do arquivo de assinaturas e
grava o log dos traos que ocorreram no arquivo de logs. Nos Arquivos de Assinaturas (5) ficam as
assinaturas dos ataques. Por ltimo, na Interface com o Usurio (6) que ocorre a interao entre o
usurio e a ferramenta.
6. Interface com o Usurio
3. Mquina de Estados
2. Filtro de Pacotes
4. Arquivo de
Logs

1. Mdulo de Captura de Pacotes

5. Arquivos de
Assinaturas

Figura 1: Arquitetura do E-Sentry+

3.2 A Linguagem PTSL


A linguagem PTSL, acrnimo de Protocol Trace Specification Language, foi proposta em [2] e
utilizada pelo sistema de deteco E-Sentry+ para a representao de assinaturas de ataque. Nesta
seo a linguagem ser apresentada e, para ajudar na compreenso, a tcnica de varredura de portas
TCP FIN, assim classificada por McClure em [9], utilizada como exemplo.
Na varredura de portas TCP FIN so enviados vrios pacotes com o flag FIN do cabealho do
protocolo TCP ligado para portas diferentes em uma mquina alvo. A RFC 793 determina que um
reset deve ser respondido para cada pacote enviado a uma porta fechada. Nesse tipo de varredura,
portanto, o emissor envia vrios pacotes: os que forem respondidos com reset correspondem a portas
fechadas; os que no obtiverem resposta sero considerados portas abertas, pois o pacote ter sido
ignorado pela mquina alvo.
A linguagem PTSL pode ser dividida em duas partes principais: a parte grfica e a parte textual. A
parte grfica permite representar apenas parte de um trao, ao passo que, na textual, todo o trao pode
ser representado.
A parte grfica da linguagem PTSL utiliza-se de crculos para a representao dos estados; as
transies, por sua vez, so representadas atravs de setas, que conectam os crculos entre si. Na figura
2 apresentada a representao grfica do trao Varredura TCP FIN. A mquina de estados sempre
representada do ponto de vista da estao cliente.
A seta contnua indica uma mensagem de uma estao cliente para o servidor; a pontilhada, do
servidor para o cliente. Na especificao da Varredura TCP FIN, podemos notar dois estados distintos:
idle e 2. A mquina mudar do estado idle para o estado 2 quando uma mensagem chamada TCP

FIN ocorrer; voltando ao estado idle com um TCP RST. Ao lado da mquina de estados possvel
observar uma regio onde algumas informaes opcionais podem ser informadas.
Trace Varredura TCP FIN
TCP FIN

idle

Version: 1.0
Description: Varredura TCP FIN.
Key: Port Scanning, TCP FIN
Port:
Owner: Marlom Alves Konrath
Last Update: Seg, 15 Out 2001 14:35:07 GMT

TCP RST

Figura 2: Representao grfica da varredura TCP FIN em PTSL


A parte grfica da linguagem, no entanto, no permite a descrio das causas que ocasionam as
mudanas de estados. Apenas na parte textual da linguagem possvel especificar, tecnicamente, o
que deve ocorrer para provocar uma transio de um estado para outro.
A parte textual da linguagem inicia com a palavra reservada TRACE e termina com a palavra
ENDTRACE. A especificao pode ser dividida em quatro subgrupos, sendo eles: um cabealho com
itens opcionais e informativos; a seo de mensagens; a seo de grupos (no utilizada no exemplo) e
a seo de estados.
Primeiramente, permitido ao gerente de rede especificar algumas informaes opcionais, como
verso, descrio, palavras-chave, porta e autor do trao, por exemplo. Logo aps, vem a seo de
mensagens, onde so nomeadas as mensagens que provocam as mudanas de estado. Ela iniciada
com a palavra reservada MESSAGESSECTION e terminada com ENDMESSAGESSECTION. Cada
uma das mensagens nomeada, iniciando com a palavra MESSAGE e terminando com
ENDMESSAGE. Nessa seo so caracterizadas as mensagens que devem ocorrer para causar uma
mudana na mquina de estados. Na mensagem TCP RST, por exemplo, espera-se receber um pacote
com encapsulamento Ethernet/IP comparando-se um bit a partir do centsimo nono e que esse esteja
ligado.
Em seguida seo de mensagens, especificada a seo de estados. A seo de estados comea na
ocorrncia da palavra reservada STATESSECTION e termina com ENDSTATESSECTION. Cada
estado inicia com STATE e termina com ENDSTATE. A palavra reservada FINALSTATE determina
o estado final do trao. Inicialmente, a mquina de estados estar no estado idle. Caso uma mensagem
TCP FIN ocorra, a mquina ir para o estado 2. Da mesma forma, se o trao estiver no estado 2 e
receber um TCP RST, retornar ao estado idle, quando ento o trao terminar.
importante salientar que a linguagem PTSL bem mais abrangente. Alm da seo de estados e
mensagens, existe a seo de grupos. A comparao, alm de binria (BitCounter), tambm pode ser
por campo (FieldCounter) ou simplesmente a procura de uma string independente de sua posio
(NoOffSet). O encapsulamento tambm inclui vrios outros tipos, como Ethernet/IP/TCP ou
Ethernet/IP/UDP. Uma explicao mais detalhada da linguagem pode ser obtida em [2].

TRACE Varredura TCP FIN


VERSION: 1.0
DESCRIPTION: Varredura TCP FIN
KEY: Port Scanning, TCP FIN
PORT:
OWNER: MARLOM ALVES KONRATH
LAST UPDATE: Seg, 15 Out 2001 14:35:07 GMT
MESSAGESSECTION
MESSAGE TCP FIN
Ethernet/IP BitCounter 111 1 1 Flag FIN ligado
ENDMESSAGE
MESSAGE TCP RST
Ethernet/IP BitCounter 109 1 1 Flag RST (Reset) ligado
ENDMESSAGE
ENDMESSAGESSECTION
STATESSECTION
FINALSTATE: idle
STATE idle
TCP FIN GOTOSTATE 2
ENDSTATE
STATE 2
TCP RST GOTOSTATE idle
ENDSTATE
ENDSTATESSECTION
ENDTRACE

Figura 3: Representao textual da varredura TCP FIN em PTSL

3.3 Interface com o Usurio


A figura 4 ilustra a interface principal do E-Sentry+. A ferramenta possui quatro sees distintas: em
Ataques monitorados que esto as assinaturas de ataque e onde estas podem ser modificadas. Em
Hosts Monitorados podem so informados os endereos IP das mquinas que sero monitoradas. J
em Configuraes ficam localizadas as opes relacionadas a respostas que o E-Sentry+ dar ao
detectar a ocorrncia de um trao. Por fim, em Alertas so apresentados os alertas gerados pelo
sistema.

Figura 4: Interface principal do E-Sentry+


Um trao pode ser criado utilizando a notao textual de PTSL ou atravs da utilizao dos recursos
disponveis no E-Sentry+. Durante a criao ou edio de um trao, a janela ilustrada na figura 5
exibida. Ao desenhar as setas que ligam os estados, o usurio levado para outras interfaces, como a
ilustrada na figura 6, para que possa especificar a mensagem que provocar a transio de estados.

Figura 5: Especificao do ataque Varredura TCP FIN


A janela mostrada na figura 6 apresenta os campos de um cabealho TCP/IP, no entanto, outros
cabealhos podem ser utilizados, bastando para isso que o usurio selecione a opo desejada. Quando
os campos do encapsulamento escolhido pelo usurio aparecerem, basta selecionar um deles e
informar o valor que este dever conter.

Figura 6: Definio das Mensagens no E-Sentry+

3.4 Visualizando os Resultados


Durante a fase de monitorao, os alertas gerados pela ferramenta aparecero na janela de Alertas,
conforme pode ser observado na figura 8. Esses alertas tambm ficaro registrados no log (figura 7).

Figura 8: Janela de alertas do E-Sentry+

Figura 7: Visualizando logs no E-Sentry+

4. Validao do IDS
Para a validao do prottipo, dois ambientes foram utilizados. No primeiro caso, duas mquinas em
uma rede com switches foram utilizadas. J no segundo ambiente, trs mquinas em uma rede com
hubs participaram dos testes. A configurao das mquinas apresentada na tabela 5.1 e a as
ferramentas so listadas na tabela 5.2.
Tabela 1 Descrio das mquinas que participaram do testes
Nome
A
B

Endereo IP
10.11.113.92
10.11.113.85

Processador
Pentium 120
Pentium III 800

Memria
32 MB
128 MB

10.11.113.243

Pentium 150

64 MB

Sistema Operacional
Linux 6.2 (kernel 2.2.19-6.2.10)
Windows 2000 Professional (SP2)
Windows 95 C
Linux 6.2 (kernel 2.2.19-6.2.10)

Tabela 2 Descrio das ferramentas utilizadas para os ataques


Nome
nmap
synk4
PortScan

Verso
2.30 BETA 14
1.2 Basic

Uso
Ataques de varreduras de portas SYN e FIN.
ataques de inundao de SYNs.
ataques TCP SYN partindo de mquinas Windows.

No primeiro cenrio foram utilizadas duas mquinas: B e C. O switch possui a caracterstica de enviar
os pacotes apenas para as portas que estes foram endereados. Por isso, a colocao de um sensor em
uma porta do switch no teria efeito, pois ele s veria os pacotes endereados a ele. Uma alternativa
seria realizar um espelhamento de porta. No entanto, optou-se por utilizar a mquina B ao mesmo
tempo como a mquina sendo atacada e mquina onde estava o sensor (E-Sentry+). As ferramentas
utilizadas neste teste foram o nmap e o synk4.
Na rede utilizando hubs as trs mquinas foram utilizadas. A mquina A gerou os ataques, utilizandose das ferramentas nmap e synk4, na mquina B foi instalado e configurado o E-Sentry+ e a mquina
C foi a que recebeu os ataques.
No primeiro teste com o nmap foram realizadas as varreduras TCP SYN e TCP FIN. Na varredura
TCP SYN o E-Sentry+ detectou o ataque, mas na varredura TCP FIN isso no aconteceu. A RFC 793
determina que, quando um pacote for enviado para uma porta fechada a mquina deve responder com
um reset. Entretanto, Mcclure afirma que a varredura TCP FIN funciona especialmente bem para
mquinas utilizando o sistema operacional Unix ou seus descendentes, o que nos leva a crer que o
Windows talvez no implemente a especificao conforme a RFC. Nos ataques realizados com o

synk4, em duas ocasies, nas quais o ataque foi realizado por um perodo maior, a mquina que estava
sendo atacada (B) ficou completamente desestabilizada e foi necessrio reinici-la pressionando o
boto de Reset.
J no segundo teste, as trs mquinas e as trs ferramentas foram utilizadas. No ataque realizado com
o PortScan, o E-Sentry+ detectou o ataque todas as vezes. No ataque realizado com o nmap, a
ferramenta detectou tanto a varredura TCP SYN, como a varredura TCP FIN. Neste segundo teste, a
mquina que estava sendo atacada era uma mquina Linux, o que s refora a afirmao de Mcclure.
Por ltimo, o ataque utilizando o synk4 tambm foi reconhecido pelo E-Sentry+ todas as vezes.

5. Concluses
O presente artigo props a utilizao de uma linguagem de alto nvel na especificao de assinaturas
de ataques e apresentou uma ferramenta, chamada E-Sentry+, que se utiliza de tal abordagem. A
utilizao de uma interface grfica, como a ilustrada na figura 5, torna a tarefa de especificao e o seu
entendimento muito mais fceis. Acredita-se ainda que ela propicie a diminuio da quantidade de
erros em assinaturas.
No entanto, como a linguagem foi projetada para ser utilizada na rea de gerncia de redes no so
permitidas algumas comparaes necessrias para o registro de determinados ataques. Nesse caso, a
proposio de uma extenso da linguagem seria necessria; cabe salientar, todavia, que a grande
diversidade das tcnicas utilizadas na realizao de ataques torna difcil a especificao de uma nica
linguagem capaz de abranger todas as possibilidades.
Como trabalhos futuros destaca-se: (a) a realizao de testes mais detalhados para que se possa
verificar a escalabilidade e desempenho do IDS; (b) a ampliao da capacidade do E-Sentry+ de
detectar ataques atravs da proposio de uma extenso da linguagem PTSL para suportar a anlise de
determinados pontos que a linguagem no contempla; (c) portar o E-Sentry+ para outras plataformas.

Referncias
[1] NORTHCUTT, Stephen. Segurana e preveno em redes. So Paulo: Berkeley Brasil, 2001.
[2] GASPARY, L. P.; BALBINOT, L. F.; STORCH, R.; WENDT, F.; TAROUCO, L. R. Uma
Arquitetura para Gerenciamento Distribudo e Flexvel de Protocolos de alto Nvel e
Servios de Rede In SIMPSIO BRASILERIO DE REDES DE COMPUTADORES, (SBRC),
Santa Catarina. Anais... Santa Catarina: SBC, 2001.
[3] CAMPELLO, Rafael Saldanha.
Sistema de Deteco de Intruso. In: SIMPSIO
BRASILERIO DE REDES DE COMPUTADORES, (SBRC), Santa Catarina. Livro de Mini
Cursos... Santa Catarina: SBC, 2001.
[4] PAXSON, V. Bro: A System for Detecting Network Intruders in Real-Time. Proceedings of
the 7th USENIX Security Symposium, San Antonio, TX, Janeiro 1998.
[5] SRI International. Event Monitoring Enabling Responses to Anomalous Live Disturbances
(EMERALD). Disponvel em http://www.sdl.sri.com/projects/emerald/. (Novembro, 2001).
[6] LINDQVIST, Ulf; PORRAS, Phillip A. Detecting Computer and Network Misuse Through
the Production-Based Expert System Tollset (P-BEST). Proceedings of the 1999 IEEE
Symposium on Security and Privacy, Oakland, California, May 912, 1999.
[7] ECKMANN, S.T.; VIGNA, G.; KEMMERER, R.A. STATL: An Attack Language for Statebased Intrusion Detection. Proceedings of the ACM Workshop on Intrusion Detection, Athens,
Greece, November 2000.
[8] VIGNA, G.; ECKMANN, S.T.; KEMMERER, R.A. STATL: An Attack Language for Statebased Intrusion Detection. Journal of Computer Security, 2001.
[9] MCCLURE, Stuart et al. Hackers Expostos. So Paulo: Makron Books, 2000.