Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
RESUMO
A área de segurança em tecnologia da informação está crescendo cada vez mais devido aos ataques e falhas
existentes nos sistemas computacionais. Os ataques são cada vez mais comuns, podendo esses, trazer
grandes prejuízos para as organizações. O IDS, Intrusion Detection System, é um sistemas de detecção de
intrusão, o qual auxilia na segurança de redes de computadores. Mas de que forma os sistemas de detecção
realmente auxiliam?
O objetivo deste artigo é explicitar o estudo de caso em segurança de redes de computadores, usando como
ferramenta de IDS, o Snort, mostrando sua arquitetura e o seu funcionamento. É demonstrada e analisada
uma arquitetura de redes, simulando uma organização, no qual o Snort é utilizado como ferramenta de IDS.
INTRODUÇÃO
Este projeto objetiva, através da implantação da tecnologia de IDS com a ferramenta Snort, em um
laboratório simulando uma organização, verificar se realmente a mesma auxilia na segurança da
rede de computadores. A principal motivação é proporcionar um estudo em segurança em redes de
computadores, analisando os ataques oriundos da internet e de simulações realizadas dentro e fora
da organização.
Na seção 1, será abordado aspectos sobre segurança em tecnologia da informação. Na seção dois
será apresentado a tecnologia de detecção de intrusão, IDS, os tipos e as estratégias de análise. A
seção 3 visa apresentar a ferramenta Snort, mostrando sua arquitetura e seu funcionamento.
A área de segurança em TI é bastante extensa podendo abranger desde a segurança física até a
segurança lógica, existindo várias metodologias para alcançar um nível satisfatório de segurança.
Atualmente existem normas junto a ISO 2 e IEC 3 e certificações específicas para segurança da
informação, como por exemplo a Security+ emitida pela CompTIA, Computing Technology
Industry Association, uma das principais associações da área de tecnologia.
1
Graduando do curso de bacharelado em Sistemas de Informação (peer.chico@gmail.com), sob a orientação do
professor Cristiano Aguiar (cristianoaguiar@oi.com.br).
2
International Organization for Standardization (ISO) é uma organização internacional que aglomera os grêmios de
padronização/normalização de 148 países. O ISO aprova normas internacionais em todos os campos técnicos, exceto na
eletricidade e eletrônica, áreas para as quais o IEC é responsável.
3
A International Electrotechnical Commission (IEC) é uma organização internacional de padronização de tecnologias
elétricas, eletrônicas e relacionadas. Alguns dos seus padrões são desenvolvidos juntamente com a ISO.
1
Na área de segurança é fundamental saber o que está se protegendo. Segundo Zwicky (2000, p.4),
quando você se conecta na internet, você está colocando em risco os seus dados, ou seja, todas as
informações mantidas no computador, os recursos computacionais, tudo que a rede de
computadores pode oferecer e a reputação, devido a confiança que a empresa pode perder por causa
de uma invasão em relação aos seus clientes e usuários.
-Físicas: o ambiente físico é vulnerável. Pois pode ocorrer uma ato de vandalismo ou
sabotagem se uma pessoa não autorizada tiver acesso ao ambiente físico.
-Mídias: pacotes de discos (cd-rom, dvd-rom), rolos de fitas (fita dat) podem ser roubados
ou danificados por qualquer risco comum;
-Comunicação: esta pode ser interceptadas e forjadas, ou até mesmo danificada fisicamente
caso não passe por toda arquitetura de segurança de rede.
Mesmo executando todos os procedimentos de segurança, não existirá a garantia total de uma
perfeita segurança em redes de computadores. Segundo Wadlow (2000, p.4), a segurança é um
processo. Pode-se aplicar o processo seguidamente à rede e a empresa que a mantêm e, dessa
maneira, melhorar a segurança dos sistemas. Se não iniciar ou interromper a aplicação do processo,
sua segurança será cada vez pior, à medida que surgirem novas ameaças e técnicas de invasões.
Atualmente existem várias propostas para segurança em TI, pois o tema abrange muitas tecnologias,
dispositivos e softwares. As tecnologias mais usadas no momento são de antivírus, criptografia,
autenticação, assinaturas e certificados digitais, e firewall.
A utilização de uma ferramenta para analisar as tentativas de ataques auxilia na segurança de redes
de computadores. Através desta análise é possível saber de onde está partindo uma invasão podendo
2
bloquear a comunicação com a origem, evitando uma possível violação. O IDS, Sistema de
Detecção de Intrusão, detecta e notifica as tentativas de intrusão, analisando e capturando os pacotes
que estão trafegando na rede procurando identificar as evidencias de um ataque em andamento,
podendo emitir alarmes, ou executando uma ação automática, como por exemplo, a desativação do
link, a depender da ferramenta.
Detecção de intrusão significa detectar o uso não autorizado ou ataques em um sistema ou em uma
rede. Por analogia, um IDS está para rede assim como um pacote de software antivírus está para os
arquivos que entram em um sistema: ele inspeciona o conteúdo do tráfego da rede para procurar e
desviar possíveis ataques, exatamente como um pacote de software antivírus inspeciona o conteúdo
de arquivos, anexos de e-mail, etc., para procurar assinaturas de vírus (padrões que correspondem a
software danoso conhecido) ou possíveis ações maldosas (padrões de comportamento que são no
mínimo suspeitos, se não completamente inaceitáveis). (CASWELL 2003, p.2).
Várias ferramentas de IDS estão disponíveis no mercado, tanto de hardware como de software. As
de hardware são um dispositivo independente previamente instalado e configurado, normalmente
sendo proprietários, IDS comercial, podendo ser também um firewall e/ou proxy 4 a depender do
fabricante. As de softwares, normalmente são executados em conjuntos com os firewalls ou proxies,
podendo ser proprietários ou gratuitos. Ambos podem trabalhar independente dos firewalls ou
proxies.
Os IDSs tendem a trabalhar no segmento que tem acesso a internet, detectando invasões externas, e
podem trabalhar também no segmento da rede interna, podendo detectar intrusos na própria
organização. Na figura 1 é apresentado uma implementação de um IDS.
Segundo Caswell (2003, p.3) os IDSs trabalham com as seguintes estratégias de análise:
4
Serviço que oferece o acesso a internet para uma rede local, gerenciando o tráfego de informações, e armazenando
páginas da internet tornando o acesso mais rápido e confiável.
3
Nos IDS existe a possibilidade de ocorrer os falsos positivos e os falsos negativos. Os falsos
positivos acontecem quando pacotes normais são identificados como tentativas de ataques,
distorcendo a análise. Os falsos negativos ocorrem quando pacotes provenientes de ataques não são
identificados, tornando um grande problema.
Caswell (2003, p.3) classificou os IDS por sua funcionalidade onde os mesmos podem trabalhar
analisando o tráfego da rede, baseado em rede, conhecido como NIDS, Network IDS, onde
monitora todo o tráfego do segmento de rede, recebendo todos os pacotes, tendo a capacidade de
monitorar a atividade em diversas máquinas. Analisando uma máquina específica, baseado em host,
HIDS, recebendo pacotes com destino a qual está instalado o IDS. Funcionando como IDS
Distribuído, DIDS, o qual funciona com sensores remotos sendo esses um NIDS ou um HIDS, com
o gerenciamento e armazenamento de logs ocorrendo em uma única máquina centralizada.
SNORT
Segundo Caswell (2003, p.21) o Snort é uma ferramenta de NIDS, Network Intrusion Detection
System, bastante utilizada, pois além de gratuito, o seu código fonte é aberto, open source. Dessa
forma os desenvolvedores podem analisar e acrescentar novas funcionalidades.
O Snort surgiu em 1998 de um projeto chamado APE desenvolvido por Marty Roesch, o qual
insatisfeito com algumas funcionalidades do programa TCPDump, um software de farejamento que
tem como objetivo analisar problemas de desempenho do TCP/IP, ele criou o APE com mais
recursos e funcionalidades. No mesmo ano Marty disponibilizou, já com o nome de Snort, a
primeira versão, sendo na época apenas um software de farejamento. Em 1999 foi introduzido no
Snort a primeira análise baseada em assinatura, dando inicio na área de detecção de intrusão.
O Snort pode ser executado em sistemas Linux, FreeBSD, NetBSD, OpenBSD, Windows, Sparc
Solarios, Power PC, MacOS X e PA-RISC HP-UX, e nas plataformas de hardware Intel, PA-RISC,
PowerPC e Sparc.
A arquitetura do Snort segundo Caswell (2003, p.26) é composta pelo farejador, pré-processador, o
mecanismo de detecção e a saída, representada pelo alertas/registro, conforme figura 2.
4
O farejador, escuta todo tráfego da rede. Para isso é preciso que o dispositivo de rede esteja no
modo promíscuo 5 , o qual todos os pacotes trafegados são capturados. Os farejadores podem ser
usados para análise, diagnóstico e solução de rede, e análise e comparativo de desempenho. A
captura dos dados é independente do protocolo, por exemplo o TCP/IP, IPX e AppleTalk.
O pré-processador é responsável por pegar todos os pacotes brutos, analisando cada comportamento
com os plug-ins disponíveis. A função do pré-processador é alertar, eliminar e modificar os pacotes.
Existem vários plug-ins, como por exemplo, telnet_decode, http_decode, ftp_decode, rpc_decode,
frag2, stream4, portscan.
Os dados detectados pelo mecanismo de detecção geram uma saída, a qual está representado na
figura 2 sendo representada pelo alertas/registro. A saída é bastante flexível, pois utiliza o mesmo
conceito de plug-ins. Existem vários tipos de plug-ins, como por exemplo os de database, onde os
registros e/ou alertas são armazenados em banco de dados (MySql, PostgreSQL, unixODBC, Oracle
e MS-Sql Server).
O Snort trabalhando em segmento de rede onde contém apenas hubs não terá nenhum problema,
pois eles trabalham como um repetidor, em broadcast, replicando os sinais para todas as portas.
Porém em um segmento que tenha um switch é preciso configurar o mesmo para que todos os
pacotes com origem para ele sejam encaminhados para a porta onde se encontra o Snort. Isso por
que o switch tem o recurso de encaminhar os pacotes para a porta específica, não trabalhando em
broadcast, pois o mesmo tem uma tabela contendo todos os endereços MACs 6 do segmento da rede.
Trabalhando como NIDS da rede externa, ele normalmente fica instalado no firewall, ou no proxy.
Capturando todos os pacotes oriundos da internet para rede interna.
ESTUDO DE CASO
O estudo de caso é composto por um laboratório o qual analisará o Snort como ferramenta de IDS.
Este laboratório simulará o funcionamento de uma organização, composta por uma rede interna, e
servidores de acesso a internet.
5
Diz-se que uma placa de rede está no modo promíscuo quando a mesma captura todos os dados trafegados no
segmento. Por padrão as placas de rede são configuradas no modo não-promíscuo, capturando apenas os dados enviados
para a mesma.
6
Media Access Control, é o endereço físico da interface de rede.
5
O laboratório é formado por três computadores simulando uma organização, como mostra a figura
3.
O computador Trinity é o firewall/proxy da rede. Ele é o meio de comunicação da rede interna com
a internet. O computador Morpheus é o servidor de banco de dados, de web, e de logs do Trinity,
armazenando todos os logs do mesmo. O Morpheus representa uma rede DMZ, DeMilitarized Zone,
técnica usada para oferecer uma rede na qual serviços que necessitam do acesso externo para a rede
interna são disponibilizados. O Desktop representa uma rede interna, na qual o acesso de fora para
dentro não é permitido.
A instalação do Snort foi realizada em Trinity, onde através do plug-in de saída database,
armazenaremos os logs no banco de dados MySql instalado em Morpheus. A visualização desses
logs é possível através da utilização do software ACID, Analysis Console for Intrusion Databases,
onde são geradas páginas de relatório, no formato PHP, a partir dos mesmos, sendo executado no
servidor web Morpheus.
Trinity: Duron 1.0 GHz, 256 MB RAM, HD 20GB, Placa de Rede Off-board Realtek 3189, Sistema
Operacional Debian Sarge, Kernel 2.6.8-2-386, Iptables 1.2.11-10, Squid 2.5.9-10sarge2, Snort
2.3.2-3, Libpcap 0.8.3-5.
6
Morpheus: Athlon 1.0 GHz, 256 MB RAM, HD 20GB, Placa de Rede Off-board Realtek 8139,
Sistema Operacional Fedora Core 4, Kernel 2.6.11.-1i386_FC4, Mysql 4.0.24, Apache 2.0.54-5,
ACID 0.9.6b20-5.1..
Desktop: Athlon 1.2 GHz, 1GB RAM, HD 40GB, Placa de Rede On-board, Sistema Operacional
Windows XP Professional SP2.
No período de execução do Snort, foram gerados 193 alertas. Os tipos de alertas mais freqüentes,
conforme a figura 5, foram portscan e http_inspect. O alerta de portscan indica que alguém
pesquisou as portas abertas no sistema. O http_inspect indica que a tentativa de ataque foi a partir
de solicitações http.
7
Figura 5 – Alertas mais freqüentes.
Fonte: Os autores (2006)
Além de verificar os ataques mais freqüentes, é possível visualizar as origens dos ataques, o
protocolo usado e as estatísticas de pacotes TCP, UDP e ICMP, facilitando bastante na visualização
dos logs.
CONSIDERAÇÕES FINAIS
Neste trabalho foram apresentados aspectos sobre segurança em TI, o conceito de IDS e a
ferramenta Snort como detecção de intrusão. O objetivo principal é avaliar a ferramenta como
detecção de intrusão para auxiliar na segurança em TI.
Apesar de o período de análise ter sido pequeno e de não termos utilizados nenhuma ferramenta de
hacking para realizarmos simulações, o Snort pode auxiliar bastante na segurança de TI, verificando
possíveis tentativas de ataques, as técnicas mais utilizadas e a origem de onde está partindo a
mesma. Com isso o administrador pode realizar alguns procedimentos de prevenção, como o
bloqueio de determinado IP ou faixa de IPs.
O projeto se encontra em fase de implementação. O mesmo foi selecionado para a bolsa de pesquisa
BITEC 2006, Bolsa de Apoio ao Desenvolvimento Tecnológico, uma parceria entre o IEL, Sebrae e
CNPq, onde aplicaremos nosso projeto na Rede BandBahia.
8
REFERÊNCIAS BIBLIOGRÁFICAS
CASWELL, Brian; BEALE Jay; FOSTER James C.; POSLUNS Jeffrey., Snort 2 Sistema de
Detecção de Intruso. 1ª Edição. Rio de Janeiro: Editora Alta Books: 2003.
MITNICK, Kevin D; SIMON, William L., A Arte de Invadir. 1ª Edição. São Paulo: Editora
Prentice-Hall: 2005.
RUSSEL, Deborah; GANGEMI G.T,. Computer Security Basics. 1ª Edição. United States of
America: Editora O’ Reilly & Associates: 1992.
TANENBAUM, Andrew S,. Redes de Computadores. 4ª Edição. Rio de Janeiro: Editora Campus:
2003.