-
CENTRO UNIVERSITRIO DE ARARAQUARA UNIARA NCLEO DE EDUCAO A
DISTNCIA NEAD
CURSO DE PS-GRADUAO MBA-GESTO SEGURANA DA INFORMAO
VELISLEI ADILSON TREUK
ANLISE PRTICA DO IDS SNORT Anlise prtica da ferramenta
integrando com MySQL, Apache, PHP e ACID
ARARAQUARA 2014
-
VELISLEI ADILSON TREUK
ANLISE PRTICA DO IDS SNORT Anlise prtica da ferramenta
integrando com MySQL, Apache, PHP e ACID
Trabalho de concluso de curso apresentado ao Centro Universitrio
de Araraquara como requisito para obteno do ttulo de MBA-Gesto
Segurana da Informao. Orientador: Prof(a). Me(a).Renata Mirella
Farina.
ARARAQUARA 2014
-
DECLARAO
Eu, Velislei Adilson Treuk, RG: 4.390.336-5, aluno regularmente
matriculado no Curso de MBA-Gesto de Segurana da Informao do Centro
Universitrio de
Araraquara-UNIARA, declaro ser o autor do texto apresentado como
Trabalho de Concluso de Curso-TCC com o ttulo Anlise prtica do IDS
Snort.
Afirmo, tambm, ter seguido as normas da ABNT referentes s citaes
textuais que utilizei e das quais eu no sou autor, dessa forma,
creditando a autoria a seus verdadeiros autores (Lei n.9.610,
19/02/1998).
Atravs dessa declarao dou cincia de minha responsabilidade sobre
o texto apresentado e assumo qualquer responsabilidade por
eventuais problemas legais, no tocante aos direitos autorais e
originalidade do texto.
Araraquara, 25 de junho de 2014.
_______________________________________
Velislei Adilson Treuk
-
TERMO DE APROVAO
VELISLEI ADILSON TREUK
ANLISE PRTICA DO IDS SNORT Anlise prtica da ferramenta
integrando com MySQL, Apache, PHP e ACID
MONOGRAFIA PARA CONCLUSO DO CURSO DE MBA-GESTO DE SEGURANA DA
INFORMAO
Comisso Julgadora
Presidente e Orientador
................................................................................
2 Examinador
..............................................................................................
3 Examinador
..............................................................................................
Nota: _________ Araraquara, 25 de junho de 2014.
-
Dedico, Aos meus pais, que souberam acreditar num potencial
ainda desconhecido, em meio a dvida e dificuldades da vida, que
esta criatura frgil poderia se tornar em um ser capaz de vencer as
dificuldades da vida.
-
AGRADECIMENTOS
A Deus por proporcionar a oportunidade da existncia e a
capacidade da compreenso.
A minha famlia, pela pacincia em todos os momentos de ausncia
para elaborao deste trabalho, e pela compreenso pela minha falta de
ateno nos momentos em que estive fisicamente presente mas que me
empenhava para que pudesse realizar esta pesquisa, me auxiliando
nos momentos de dificuldades em que me deparei.
professora Renata, por todo auxlio tcnico, empenho e
motivao.
A todos que de alguma forma me ajudaram, motivando e torcendo
para que esse trabalho fosse realizado com sucesso.
-
Sou tua criana, Senhor, e esta terra bela, rica e abundante, em
cujo seio me puseste para dormir, somente o bero de onde engatinho
para ti.
Mikhail Naimy
-
RESUMO
Esta pesquisa pretende demonstrar o uso de tcnicas de
proteo(hardening) em servidores de redes Windows e Linux, com a
utilizao de uma ferramenta Open Source, com o objetivo de reduzir
os riscos as informaes contidas nestes servidores.
A situao atual das organizaes com relao a vulnerabilidade das
informaes em suas redes, principalmente quando se olha para o
enorme crescimento e a velocidade com que ele acontece, o
astronmico crescimento do uso de ferramentas para tentar bloquear
trfegos com potencial maliciosos ou no condizente com os interesses
organizacionais efetuado por seus funcionrios.
Mostra tambm que a utilizao de softwares de proteo, do tipo Open
Source, uma forma inteligente de se usar os recursos financeiros
disponveis, demonstrando sua eficincia e o enorme potencial quando
corretamente utilizada. Pretendo tambm demonstrar as dificuldades
encontradas na criao e aplicao de filtros a fim de se minimizar
falsos positivos nos trfegos indesejveis dentro desta rede, pois a
enorme variedade de tecnologias de comunicao (hardwares), o
astronmico volume de informao que podemos estar monitorando e a
quantidade de pessoas e departamentos da empresa em questo que
podem estar, de alguma maneira, envolvidos torna esta tarefa,
aparentemente simples, uma enorme dor de cabea para o administrador
da rede.
Esta dissertao aborda o desafio de se tratar a grande variedades
de informaes, as diferentes situaes em diferentes departamentos que
podemos encontrar, eles so numerosos, porque os sistemas de
informao de hoje no foram construdos com os requisitos de segurana
desde seu incio, o desafio de se administrar tudo isto quando
pessoas envolvidas esto despreparadas ou resistentes a sua aplicao,
pois muitas vezes tais filtros de trfegos podem de alguma forma
estar dificultando o desempenho de suas funes.
Palavras-chave: Snort, MySQL, Apache, PHP, ACID, IDS, HIDS, IPS,
Vulnerabilidade, Segurana de rede, Servidores;
-
ABSTRACT
This research aims to demonstrate the use of technical
protection (hardening) in Windows and Linux network servers, using
an Open Source tool, with the aim of reducing the risks of the
information contained on these servers. The current situation of
organizations regarding the vulnerability of information on their
networks, especially when looking at the huge growth and the speed
at which it happens, the astronomical increase in the use of tools
to try to block traffic for malicious or potentially inconsistent
with the interests organizational performed by its employees.
Also shows that the use of protection software, the type Open
Source, is a clever way to use
the available financial resources, demonstrating its efficiency
and great potential when used correctly. I also intend to
demonstrate the difficulties in creating and applying filters in
order to minimize false positives in undesirable traffic within
this network because the huge variety of communication technologies
(hardware), the astronomical amount of information that can be
monitoring the amount of people and departments of the company in
question that may be involved somehow makes this seemingly simple
task, a huge headache for the network administrator.
This paper addresses the challenge of addressing the huge
variety of information, the different situations in different
departments we can see, they are numerous, because the information
systems of today were not built with security requirements since
its inception, the challenge of administering all this when people
involved are unprepared or resistance to its application as it
often trades such filters can somehow be hindering the performance
of their duties.
Keywords: Snort, MySQL, Apache, PHP, ACID IDS, HIDS, IPS,
Vulnerability, Network Security, Servers;
-
LISTA DE FIGURAS
Figura 1. Anatomia de um ataque3 29
Figura 2. Rede rodando Snort e MySQL 37 Figura 3. Rede bsica IDS
38
Figura 4. Logotipo do Snort12
40
Figura 5. Funcionamento esquemtico do Snort 45
Figura 6. Layout da rede de testes do Snort no Windows 47
Figura 7. Execuo de varredura de portas com Nmap no Windows
49
Figura 8. Layout fsico da rede de teste Snort com Linux 51
Figura 9. Topologia da rede de testes NIDS x HIDS 56
Figura 10. Grfico do relatrio de captura NIDS x HIDS 60
Figura 11. Relatrio de captura da varredura Nmap na pgina do
ACID 61
Figura b1. Teste de execuo do Apache, exibio da configurao do
Php 72
Figura b2. Pagina ACID, forma de criao de tabelas MySQL pelo
ACID 82 Figura b3. Aparncia da pgina do ACID aps a instalao 83
-
LISTA DE TABELAS
Tabela 1. Opes de configurao no monitoramento do Snort 43
Tabela 2. Consultando a numerao de portas de rede no Windows
47
Tabela 3. Relatrio de monitorao resumido no Snort com o Windows
48
Tabela 4. Relatrio de captura de pacotes de rede pelo Snort com
o Windows 49
Tabela 5. Relatrio de captura via console do Snort no Linux
52
Tabela 6. Relatrio de captura de pacotes icmp pelo Snort 53
Tabela 7. Relatrio comparativo de captura de pacotes ICMP (NIDS
x HIDS) 57 Tabela 8. Comparativo do relatrio de captura de pacotes
Nmap (NIDS x
HIDS) 58
Tabela a1. Editando arquivo de configurao do Snort 67
Tabela a2. Criao do arquivo Whitelist.rule do Snort 69
-
LISTA DE ABREVIATURAS
ABNT Associao Brasileira de Normas tcnicas
AIX Sistema operacional
CID Confidencialidade, Integridade, Disponibilidade
DDoS Distributed Denial-Of-Service
DNS Domain Name System
HIDS Host-based Intrusion Detection System
HP-UX Sistema operacional
ICMP Internet Control Message Protocol
IDS Intrusion Detection System
IP Internet Protocol
NIDS Network Intrusion Detection System
RAM Randon Access Memory
TCP Transmission Control Protocol
UDP User Datagram Protocol
VPN Virtual Private Network
-
SUMRIO
RESUMO...................................................................................................................................7
ABSTRACT...............................................................................................................................8
LISTA DE
FIGURAS...............................................................................................................9
LISTA DE
TABELAS............................................................................................................10
LISTA DE
ABREVIATURAS...............................................................................................11
1.
INTRODUO...........................................................................................................15
1.1.Apresentao da
Pesquisa.......................................................................................15
1.2.Problematizao da
pesquisa..................................................................................16
1.3.Justificativa do
estudo.............................................................................................17
1.4.Objetivos.................................................................................................................18
1.5.Mtodo de
pesquisa.................................................................................................18
2. REVISO
BIBLIOGRFICA...................................................................................20
2.1 O que
Informao?...............................................................................................20
2.2 Era da
Informao...................................................................................................21
2.3 Era da Informao e
Internet...................................................................................21
2.4 Segurana da
Informao........................................................................................22
2.5 Por que a segurana da
informao?.......................................................................23
2.6 Restries de
Segurana..........................................................................................24
2.7
Vulnerabilidade.......................................................................................................24
2.7.1 Vulnerabilidades em Sistemas de
Computao........................................25
a)Confidencialidade...............................................................................26
b)Integridade..........................................................................................26
c)Disponibilidade...................................................................................27
2.8 Anatomia de um
ataque...........................................................................................27
-
3. FERRAMENTAS
IDS................................................................................................30
3.1 O que um
IDS.......................................................................................................30
3.2 Rede IDS ou
NIDS..................................................................................................31
3.3 Host IDS ou
HIDS...................................................................................................31
3.4 HIDS x
NIDS..........................................................................................................32
3.5
Assinaturas..............................................................................................................33
3.6
Alertas.....................................................................................................................33
3.7
Logs.........................................................................................................................34
3.8 Alarmes
Falsos........................................................................................................34
3.9
Sensor......................................................................................................................35
3.10 Falhas nos
IDS......................................................................................................35
4. SISTEMAS DE DETECO DE INTRUSO COM
SNORT..............................37 4.1 Deteco de Intruso e
Snort.............................................................................38
4.2 Regras de filtragem no
Snort.............................................................................40
4.3 Declarao de
variveis.....................................................................................42
4.4 Opes de
execuo.........................................................................................43
4.5 Componentes do
Snort......................................................................................44
5. TESTANDO O
SNORT..............................................................................................46
5.1 Testando o Snort com o
Windows..........................................................................46
5.2 Snort com
Linux......................................................................................................51
5.3 Testando o Snort no
Linux......................................................................................52
6. DESEMPENHO DO
SNORT.....................................................................................55
6.1 Testando e comparando o
Snort..............................................................................55
6.1.1 Envio de pacotes icmp a
vtima............................................................................56
6.1.2 Varredura de portas da vtima via
Nmap.............................................................58
6.1.2.1 Resultados obtidos exibidos no
ACID..................................................61
-
CONCLUSO.........................................................................................................................62
REFERNCIAS
BIBLIOGRFICAS..................................................................................64
APNDICE
A..........................................................................................................................66
APNDICE
B..........................................................................................................................70
-
15
Captulo 1
INTRODUO
Esta pesquisa pretende ser capaz de construir um sistema de
deteco de intruso completo, com todas as etapas de instalao e
integrao das diferentes ferramentas que podem trabalhar de forma
direta com o Snort. No fim fazer uma comparao da capacidade de
deteco do Snort instalado e configurado como HIDS em uma mquina
Windows, e NIDS em um servidor Linux, ambas monitorando o mesmo
ataque. A pesquisa em um servidor Linux ser mais detalhada,
incluindo banco de dados MySql, servidor Web Apache, linhas de
cdigo PHP e o analisador ACID, j que a maioria dos servidores so
baseados em tecnologia Linux.
1.1. Apresentao da Pesquisa
Ataques a computadores pessoais, servidores de rede ou o uso de
mtodos especializados para contornar a poltica de segurana de uma
organizao, hoje, so cada vez mais comuns em nosso dia-a-dia e uma
dor de cabea para as organizaes. Ento como identificar esses
ataques e como reagir diante de uma situao como esta? Gerar um
alerta, bloquear a atividade suspeita ou executar ambos em
conjunto?
A proposta desta pesquisa um estudo do uso de IDSs do tipo Open
Source para prevenir, alertar e reagir a tais ataques. Estes IDS
podem vir de vrias formas, vises, preos, e funes. Por razes obvias
escolhemos, em nossa opinio, o melhor IDS Open Source gratuito para
realizar nosso estudo. O trabalho aqui apresentado baseado em um
sistema popular de deteco de intruso de rede (NIDS) chamado SNORT.
O SNORT detecta ataques
-
16
comparando o trfego de rede em tempo real, buscando por
assinaturas que podem significar ataques potencialmente perigosos e
j conhecidos.
O objetivo desta pesquisa estudar a eficcia dos IDSs quando
aplicada correspondncia do trfego da Internet contra assinaturas
potencialmente maliciosas, regras no SNORT.
Nesta pesquisa, fizemos um estudo do uso do Snort para proteo de
redes Windows e Linux, sua eficcia e seu uso em conjunto com outros
softwares para torn-lo ainda mais eficiente e simplificado,
tentando tirar o mximo proveito que softwares gratuitos e Open
Source podem oferecer. O Snort unido ao Apache, MySQL, Php e ACID
torna-se ainda mais poderoso e uma excelente opo para defender os
dados de seus servidores.
1.2. Problematizao da pesquisa
Esta pesquisa sobre a utilizao do aplicativo Snort. A segurana
de servidores com a utilizao do software em questo, ao contrrio de
rede ou solues de segurana de servidores ou sistema com as
caractersticas de uma aplicao prpria de segurana ou dos elementos
circundantes(sistema operacional de rede, firewalls, etc). A
abordagem global da segurana usaria caractersticas de todos os
componentes que integram o ambiente de aplicaes em
servidores(servidor web, banco de dados, sistema operacional), mas
o estudo aqui limitado a questes diretamente relacionadas com a
aplicao. Isto no significa que todas as defesas de vulnerabilidade
deve ser responsabilidade do prprio aplicativo.
Iniciamos brevemente com algumas das questes relevantes ao
entendimento da pesquisa, tais como: o que informao, o que era da
informao, o que e por que devemos ter a segurana da informao, sobre
a vulnerabilidade, disponibilidade da informao, etc.
-
17
Em seguida entraremos no assunto focal de nosso estudo
realizando um busca detalhada do software, suas caractersticas,
conceitos, funcionamento e configuraes necessrias ao seu
funcionamento, bem como a criao de regras(filtros) de deteco de
trfegos,
1.3. Justificativa do estudo
A segurana da informao um campo muito complexo de pesquisa com
uma grande quantidade de reas desconhecidas e inexploradas. No
entanto, um importante campo para explorar. Meu interesse nesta rea
se deve a necessidade de se considerar o problema diariamente, o
qual por ocasio de invases j ocorridas dentro da empresa afetaram
minhas atividades diretamente. O problema das ameaas a integridade
e disponibilidade das informaes foi um desafio para mim por muitos
anos. Pelo tempo que eu me familiarizei com outros problemas de
segurana da informao, tais como arrombamentos, ataques de negao de
servio, etc. Desde o primeiro momento proteo dos sistemas de
informao foi o desafio mais importante, o que me motivou a
pesquisar sobre este tipo de atividade. Durante a vivncia de
invases em sistemas sob minha responsabilidade senti enorme e
imediata necessidade em descobrir ferramentas que pudessem reverter
o problema, nesta situao procurei por documentos relativos a
existncia e ao uso dessas ferramentas. Para minha frustrao os
documentos que encontrei, apesar de existirem e serem bastante
significativos, no resolveram de imediato meu problema, eles eram
incompletos ou complexos demais para minhas necessidades e
entendimentos. Bem, diante disto percebi que se passei por esta
experincia era porque havia uma lacuna a ser preenchida, e um
trabalho a respeito enriqueceria meus conhecimentos sobre o assunto
alm de somar com mais uma pesquisa na rea, o que poderia contribuir
para a soluo de problemas na rea de das demais pessoas que possam
estar passando pela mesma dificuldade.
-
18
1.4. Objetivos
O objetivo primordial desta pesquisa realizar um estudo da
eficcia de softwares Open Source gratuitos a fim de reduzir
vulnerabilidades de segurana em servidores de rede, preservando
assim, as informaes nas organizaes. Parte deste trabalho consistiu
em descobrir e formular questes e estratgias de pesquisa
especficas.
Lidar com as vulnerabilidades mais comuns de qualquer organizao
no uma tarefa fcil, pois as variveis envolvidas so muitas, algumas
impensveis at este momento, o que determinou os limites e os rumos
desta pesquisa.
Comecei com um estudo sobre os conceitos bsicos de informao,
vulnerabilidade, disponibilidade e integridade, etc. Conceitos que
achei relevante a um entendimento bsico dos meus objetivos, para
depois aprofundar-se no objetivo final deste trabalho:
- Estudo de aplicaes IDS do tipo Open Source, mais
especificamente o software Snort, em servidores Windows e Linux
utilizados em conjunto com Apache, MySQL e ACID, todos gratuitos,
com a finalidade de garantir a segurana das informaes em uma
organizao, descobrindo sua eficcia, confiabilidade e segurana nesta
tarefa.
- Em uma segunda parte deste trabalho ser demonstrado, em uma
pesquisa de laboratrio, sua instalao, configurao e aplicao bsica em
servidores Windows e Linux;
1.5. Mtodo de pesquisa
Para chegar aos objetivos, acima propostos, usando uma forma de
pesquisa vlida, dentro de uma metodologia de pesquisa clara e
adequada fundamental. De acordo com o trabalho: Metodologia da
Pesquisa e estatstica elementar da autora: Fabiana Luci De
Oliveira,
-
19
A metodologia de pesquisa implica conhecimentos e habilidades
necessrios ao pesquisador para a orientao do processo de
planejamento e construo do problema, investigao, seleo de
conceitos, hipteses, tcnicas de coleta e observao de dados
adequados. Diante disto podemos tambm entender que uma metodologia
de pesquisa deve ser uma forma sistemtica e bem estruturada em que
uma pesquisa ou problema resolvido. Isso inclui os mtodos
subjacentes de pesquisa escolhido, perguntas feitas, os dados
coletados e as tcnicas utilizadas para a anlise de dados. A
metodologia adotada por esta pesquisa foi uma combinao de mtodos e
processos, que estavam dentro das limitaes fsicas e racionais do
autor, cada um dos quais foi considerado mais adequado para o
determinado momento da pesquisa ou tarefa.
Esta pesquisa se inicia com uma busca generalizada sobre
problemas e conceitos de segurana de informaes, formas de ataques e
tipos de invases em trabalhos pblicos de Universidades, buscando
formas, conceitos e solues encontradas, para tomar como base. Aps
esta etapa, passei a procurar por conceitos mais abrangentes e
especficos em livros e manuais sobre o assunto, alguns livros,
foram, inclusive, adquiridos para maior entendimento do assunto, os
resultados podem ser vistos no captulo 3. Em seguida, no captulo 4,
passei a pesquisar por caractersticas de funcionamento, configuraes
e formas de utilizao do software no prprio site do fabricante para
depois passar para prxima etapa deste trabalho. Ento, passei a
testar o produto em laboratrio, instalando e configurando em
servidores reais e estudando seu comportamento. No descrevi aqui as
formas de instalao do produto e das diversas ferramentas usadas em
conjunto para os testes por achar que foge um pouco do foco da
pesquisa, mesmo porque h muitos documentos sobre o assunto
publicado na internet. Mas, mesmo assim, como tive de executar tais
instalaes e configuraes, as mesmas esto descritas, passo a passo,
nos apndices A e B no final deste trabalho. O resultado dos testes
obtido esta descrito no capitulo 5 desta pesquisa, o qual o leitor
poder avaliar.
No captulo 6 novos testes foram executados, e da mesma forma
descritos para avaliao. Desta vez os testes so comparativos,
comparamos os resultados obtidos na captura de pacotes
potencialmente maliciosos, no Windows e no Linux, tambm em
configuraes do tipo NIDS(Linux) e HIDS(Windows).
-
20
Captulo 2
REVISO BIBLIOGRFICA
Primeiro de tudo, eu gostaria de introduzir brevemente algumas
das questes que acho relevante ao entendimento de minha pesquisa,
tais como: o que informao, o que era da informao, o que e por que
devemos ter a segurana da informao, sobre a vulnerabilidade,
disponibilidade da informao, etc.
2.1 O que Informao?
Desde os primrdios da civilizao, a informao tem sido um
componente indispensvel em todas as atividades humanas,
principalmente no processo produtivo8. Definir o significado do que
realmente informao no uma tarefa fcil. Intuitivamente, a informao
pode ser definida como uma sequncia de smbolos, que tm algum
significado para a pessoa que o recebe. As pessoas se comunicam
atravs da troca de informaes entre eles.
A importncia da informao pode ser avaliada quantitativamente, em
funo do contexto. s vezes, a informao pode ser avaliada atravs de
quantia monetria que pode significar tais smbolos, e esse aspecto
faz troca de valores contidos na informao, os quais podem ser muito
altos ou de grande importncia na sociedade humana de hoje.
-
21
2.2 Era da Informao
A sociedade humana est passando por uma transformao fundamental:
a passagem da sociedade industrial para a sociedade da informao.
Tecnologias da era da informao permeiam cada vez mais todas as
atividades industriais e sociais e esto acelerando a globalizao das
economias.
Competitividade industrial do mundo, os seus postos de trabalho,
a sua qualidade de vida e a sustentabilidade do crescimento
dependem dele, estar na vanguarda do desenvolvimento implantar
tecnologias da era da informao. Ao mesmo tempo, as tecnologias que
sustentam o desenvolvimento da sociedade da informao esto em rpida
evoluo. Avanos no tratamento da informao e comunicao esto abrindo
novas possibilidades. H uma mudana de sistemas autnomos de
informaes e processos em rede8.
2.3 Era da Informao e Internet
J se encontravam as suas premissas no que Toffler(1980) chamou
de a nova civilizao, resultante do terceiro grande fluxo de mudana
na histria da humanidade a terceira onda que impe um novo cdigo de
comportamento: Essa nova civilizao traz consigo novos estilos de
famlia; modos de trabalhar, amar e viver diferentes; uma nova
economia; novos conflitos polticos; e alm de tudo isso igualmente
uma conscincia alterada 8.
As comunicaes e meios de comunicao tm um enorme impacto em
nossas vidas, as tecnologias de informao e de comunicao esto se
tornando cada vez mais importante.
-
22
Internet como um ponto focal do agrupamento das de redes est se
tornando o meio mais popular para a transferncia de informaes. As
informaes e seus controles sobre elas no esto de forma alguma
restritos a um pequeno grupo de especialistas. Na era da informao
todo mundo precisa e utiliza informaes, sejam leigos ou
especialistas. por isso que Internet no apenas uma ferramenta da
era moderna, tambm o sintoma desta era. Troca de informao rpida em
quase todos os segmentos da nossa vida diria ajudou a internet a
passar de um meio de especialistas em informtica para o hbito mais
popular de nossos tempos.
2.4 Segurana da Informao
Segurana sempre foi uma parte importante da nossa vida
cotidiana. Ao longo da histria as pessoas tm tentado proteger sua
propriedade e privacidade. Com o avano da tecnologia e o
crescimento da indstria, segurana da informao tornou-se um aspecto
ainda mais importante.
A segurana da informao, definida como uma rea de conhecimento
dedicada proteo de ativos de informao contra acessos no
autorizados, alteraes indevidas ou sua indisponibilidade 8. De uma
forma mais simples, a segurana dada por contas de usurio e nveis de
privilgios a ser atribudas aos mesmos. Com relao s configuraes de
sistemas globais, portanto, os administradores devem ser capazes de
gerenciar as contas de usurio que foram, por exemplo, registradas
pelos prprios usurios, como mencionado acima: gerenciar contas de
usurio. Baseando-se nestas contas, os usurios devem autenticar-se
antes de serem autorizados a trabalhar com o sistema, ou seja, de
alguma forma provarem sua autenticidade. Se um usurio for ser
identificado com sucesso, o conjunto correspondente de privilgios
sero liberados para o mesmo. Para a implementao prtica, senhas so
um meio comum de verificar a identidade de um usurio antes que
acessos sejam concedidos a um sistema de informao ou
-
23
servio de acordo com a autorizao do usurio. A ABNT NBR ISO/IEC
17799:2005 sugere que outras tecnologias para identificao de usurio
e autenticao, como biomtrica, por exemplo, verificao de digitais,
verificao de assinatura, e uso de tokens(chaves eletrnicas), por
exemplo, e cartes inteligentes, esto disponveis, e convm que sejam
consideradas, se apropriado, alm disso o gerenciamento seguro de
chaves secretas e privadas. Convm que a autenticidade de chaves
pblicas seja tambm considerada9.
2.5 Por que a segurana da informao?
Wilson Oliveira descreve em seu livro Segurana da informao que
nenhuma rea da informtica to vasta e apreciada como a segurana da
informao: o ponto principal da segurana leva a um outro ponto
principal, o ser humano, isso mesmo, todo o processo de segurana se
inicia e tem o seu trmino num ser humano2. No adianta nada
gastarmos fortunas em equipamentos e sistemas de segurana se no
conhecermos quem utilizar os nossos sistemas, e quem pode ter
acesso a eles mesmo sem autorizao.
Mesmo na poca em que no havia computadores e nenhuma informao de
Internet, o controle sobre a informao foi um fator significativo
para a prosperidade do negcio. Agora, mais do que nunca, uma vez
que todo tipo de transao esta cada vez mais dependente da
tecnologia da informao, sua proteo torna-se ainda mais prioritria.
O mesmo verdadeiro para fazer negcios na Internet. Cada negcio deve
ser seguro e confivel para ser bem sucedido. necessrio encontrar
maneiras de prevenir violaes de segurana de informao e permitir que
elas se realizem de forma segura e confivel.
O sistema de segurana da informao deve sempre integrar vrios
mtodos de proteo, que vo desde medidas de segurana e administraes
fsicas para implementao das ferramentas de proteo sofisticadas.
-
24
2.6 Restries de Segurana
Segurana absoluta s possvel mediante o controle absoluto em
tudo. Neste caso, todas as atividades teriam que ser registradas e
controladas em tempo real para no permitir o uso fraudulento ou,
pelo menos, detectar e bloquear o trfego indesejado o mais rpido
possvel.
No entanto, apesar da necessidade extrema na segurana, temos de
respeitar um valor mdio dessas medidas para que elas no se tornem
uma dificuldade em vez de uma viabilidade. Isso significa que, tais
medidas podem ter impactos negativos, chegando mesmo a se tornar
pior que o prprio trfego malicioso. Um controle extremo pode tambm
impactar na privacidade de forma inaceitvel o que pode interferir,
tambm, no fluxo livre de criao das necessidades profissionais, uma
autonomia de demandas. Assim, a segurana no deve ser implementada
utilizando todos os mecanismos possveis, caso contrrio, ela poderia
causar mais prejuzos que o prprio trfego no autorizado.
Assim, uma anlise de ameaas deve ser aplicada a fim de
investigar a situao ameaada para fornecer decises sobre o nvel de
segurana necessrio. Precisamos perceber que a rejeio ao uso do
sistema pode ser ainda pior do que falta de uma segurana
perfeita.
2.7 Vulnerabilidade
O significado de vulnerabilidade, em geral, importante que seja
entendida, em geral os dicionrios de bolso descrevem como:
Adjetivo vulnervel: exposto a ser atacado ou ferido.
-
25
Assim, a vulnerabilidade substantivo a propriedade de algum ou
alguma coisa possivelmente ser prejudicada. Esta propriedade
refere-se a uma entidade que pode ser prejudicada por algum tipo de
dano ou perigo. Observe tambm que a vulnerabilidade se refere a um
evento potencial que ainda no ocorreu e talvez no possa ocorrer ou
mesmo nunca ocorra. Isso implica em duas dimenses adicionais: um
fator de tempo e uma probabilidade. Em poucas palavras, uma
vulnerabilidade declara que algo est exposto a um dano que pode
ocorrer no futuro. Uma boa discusso sobre vulnerabilidade pode ser
encontrada no documento: ESTUDO DE VULNERABILIDADE REGIONAL S
MUDANAS CLIMTICAS do Governo do estado de Minas1.
2.7.1 Vulnerabilidades em Sistemas de Computao
Vulnerabilidade em sistemas de Computao descrever o dano
potencial ameaador a um sistema de TI. A causa deste dano pode ser
atribudo a qualquer uma das quatro categorias: camada de utilizao,
camada de administrao, camada fsica e a camada de software6.
A camada de software inclui vulnerabilidades que originam do
comportamento indesejado de aplicaes. Um exemplo disso a
vulnerabilidade das vrias verses do sistema operacional Windows,
que permite que atacantes remotos possam executar comandos
arbitrrios em qualquer sistema vulnervel.
A camada fsica inclui vulnerabilidades que resultam do acesso
fsico ao hardware no qual os aplicativos so executados. Um exemplo
o chamado "ataque de arranque a frio. Ter acesso fsico memria de
acesso aleatrio (RAM) de um computador permite que um atacante
possa recuperar uma senha mantida na RAM durante uma execuo
aplicaes, mesmo depois que a mquina tenha sido desligada.
-
26
A camada de administrao inclui vulnerabilidades causadas por
procedimentos e polticas, que pode resultar em um prejuzo para o
sistema. Muitas vezes, as vulnerabilidades so o resultado de
polticas ruins. Um exemplo disto so os baixos requisitos de conta
do usurio(senhas), sem comprimento mnimo e sem a necessidade de
caracteres especiais. Isto leva aos usurios a usar palavras simples
e combinaes como: 'meuacesso' ou '1234', onde ser a primeira
combinao a ser verificado por um invasor 7.
A ltima, e, provavelmente, a mais prejudicial classe de
vulnerabilidades so causadas pelos usurios. No importa o quanto um
software seja infalvel, o hardware esteja protegido, por mais
rgidas possam ser as polticas de segurana, se um usurio escreve a
senha da conta em um endereo de favorito, ou em algum arquivo texto
ou ainda o envie em um formulrio qualquer, o sistema continua
altamente vulnervel.
Computador e segurana da informao, muitas vezes concentram-se
nos objetivos de confidencialidade, integridade e disponibilidade
(CID) de segurana7.
a)Confidencialidade
A meta de segurana que gera a necessidade de proteo contra
tentativas intencionais ou acidentais de dados no autorizada para
realizar leituras. Abrange dados de armazenamento, durante o
processamento, e quando em trnsito. Um exemplo de violao de
confidencialidade a interceptao de informaes bancrias online sobre
uma suposta conexo segura.
b)Integridade
A meta de segurana que gera a necessidade de proteo contra as
tentativas ou intencionais ou acidentais de violar a integridade
dos dados (propriedade que garante que os dados no foram alterados
sem autorizao) ou a integridade do sistema (qualidade que um
-
27
sistema tem quando se realiza sua destina funo de forma intacta,
livre de manipulao no autorizada). Um exemplo de falha de
integridade a modificao das entradas do sistema de nome de domnio
(DNS), que leva os clientes a se comunicam com o servidor
errado.
c)Disponibilidade
A meta de segurana que gera a necessidade de proteo contra
tentativas intencional ou acidental de realizar acessos e causar
uma negao de servio ou de dados. Um exemplo de falha na
disponibilidade o ataque de negao de servio (DDoS) que derruba
servidores Web.
2.8 Anatomia de um ataque
Como esta pesquisa pretende estudar a forma de proteo, usando
software Open Source importante compreender as formas de ataque a
uma rede. Os passos bsicos de um ataque ciberntico incluem
reconhecimento (encontrar vulnerabilidades); intruso (penetrao
efetiva da rede); insero de malware(softwares secretamente
implantados); e clean-up (limpar seus rastros)3.
Os Malwares que se costumam utilizar nestes ataques vem em vrias
formas, algumas mais
nefastas do que os outras, que vo desde propagandas irritantes
at assaltos potencialmente devastadores.
Na fase final do ciclo de ataque, o sistema infectado de provas
forenses da invaso, , ento polido a fim de apagar seus rastros, de
forma que o atacante seja to discreto quanto possvel. Por exemplo,
um atacante pode usar as credenciais de um usurio de confiana da
rede para no acionar alarmes ao acessar o sistema, ou usar
aplicativos comuns, para inserir arquivos
maliciosos ou extrair informaes. A meta principal desta etapa
apagar qualquer vestgio do
-
28
ataque ao sistema. Isto pode ser feito pela eliminao manual ou
automatizada da linha de comando, desativao de alarmes, bem como a
atualizao ou aplicao de remendos de software desatualizado aps o
ataque. Alm disso, muitas vezes desencadeado vrus e worms(vermes
digitais) para destruir provas potencialmente incriminatrias. Na
figura 1 podemos ver um organograma da anatomia de um ataque3.
-
29
Figura 1. Anatomia de um ataque3
-
30
Captulo 3
FERRAMENTAS IDS
Antes de entrarmos em detalhes da deteco de intruso com Snort,
acho necessrio entendermos algumas definies relacionadas com a
segurana. Uma compreenso bsica destes termos necessria para digerir
outros conceitos de segurana que iremos tratar.
3.1 O que um IDS
Segundo Rafeeq Ur Rehman(Intrusion Detection Systems with Snort)
a deteco de intruso um conjunto de tcnicas e mtodos que so usados
para detectar atividades suspeitas tanto na rede como a nvel de
host. Pode ser um software, hardware ou a combinao de ambos, usados
para detectar a atividade do intruso. Snort uma ferramenta IDS do
tipo Open Source disponvel para o pblico em geral. Um IDS pode ter
diferentes capacidades, dependendo da complexidade e sofisticao de
sua rede. IDS so ferramentas que usam uma combinao de hardware e
software. Vamos ver que, um IDS pode utilizar assinaturas, tcnicas
baseadas na anomalia ou ambos5.
-
31
3.2 Rede IDS ou NIDS
NIDS so sistemas de deteco de intruso instalados em uma rede
onde os pacotes de dados, que viajam na mdia de rede, so capturados
e armazenados em um banco de dados para uma anlise do trfego em
busca de sinais de atividades maliciosas5. Ao detectar a presena de
um pacote potencialmente malicioso, um alerta gerado ao
administrador, o pacote pode, tambm, ser registrado em arquivo ou
banco de dados para uma posterior investigao forense.
3.3 Host IDS ou HIDS
Sistemas de deteco de intruso baseados em host ou HIDS so
instalados como agentes em um host10. Este tipo de sistema monitora
a atividade de trafego de um host individualmente. Enquanto um NIDS
monitora o trfego da rede um HIDS monitora somente a prpria mquina,
e podem ser usados em conjunto com, um complementando o outro.
Alguns desses sistemas so reativos, o que significa que voc
configura para informar possveis ataques somente quando algo
aconteceu, outros so pr-ativos, pois capturam o trfego de rede que
vem para uma srie especial em que o HIDS est instalado e gera
alerta em tempo real.
-
32
3.4 HIDS x NIDS
Ser que precisamos de um NIDS ou um HIDS? A resposta um HIDS
quando pretendemos proteger somente uma mquina e um NIDS para
proteger uma rede completa. A administrao de uma soluo HIDS
necessita de muito menos conhecimento especializado enquanto NIDS
necessita de mais ateno e conhecimento especializado na configurao
e implantao para no se tornarem um ponto dificuldade a rede, ou
seja, ao invs de ajudar vai atrapalhar. HIDS vo registrar somente
as atividades de uma mquina na rede o que fica fcil de criar
filtros especficos para este trfego conhecido, j em um NIDS vai
registrar todo o trfego das todas as mquinas da rede, a quantidade
e a variedade de trfego pode ser enorme, sem contar a grande variao
de atividade desconhecida de cada usurio, onde pode ser uma
atividade normal ou maliciosa.
Devemos tambm levar em considerao a faixa de rede e custo. Se o
preo uma questo a se considerar, e sempre o , algumas solues NIDS
so consideravelmente mais caro quando comparado com uma soluo HIDS.
Apesar deste estudo estar mostrando o uso de um IDS Open Source,
gratuito, temos de considerar o hardware necessrio a implementao de
um NIDS. Um NIDS necessita de hardware dedicado, e forma um sistema
que pode verificar os pacotes que viajam em um ou mais segmentos
desta rede, com a finalidade de descobrir se alguma atividade mal
intencionada ou anormal ocorreu.
Temos de considerar ainda que um HIDS vai ser instalado em um
nica mquina e monitorar um tipo de sistema operacional, j um NIDS
pode estar monitorando uma ampla gama de sistemas, tais como
Windows, Solaris , Linux, HP-UX, AIX, etc, dentro desta rede, o que
com certeza, vai dificultar ainda mais este trabalho.
-
33
3.5 Assinaturas
Assinatura o padro o qual voc esta a procura ou monitorando
dentro do pacote de dados trafegando pela rede (impresso digital do
pacote). A assinatura utilizada para a deteco de um ou vrios tipos
de ataques. Por exemplo, a presena de content:nome-carto-crdito em
um pacote, dentro do Payload(carga de uma transmisso de dados),
indo para o seu servidor web pode indicar uma atividade de
intruso.
Assinaturas podem estar presentes em diferentes partes de um
pacote de dados, dependendo da natureza do ataque. Normalmente os
IDS dependem de assinaturas para identificar a atividade do
intruso. Alguns IDS especficos precisam de atualizaes do fornecedor
para adicionar novas assinaturas quando um novo tipo de ataque
descoberto. Em outros, como o Snort, voc pode criar suas prprias
assinaturas.
3.6 Alertas
Os alertas so qualquer tipo de notificao ao usurio de uma
atividade de intruso. Quando um IDS detecta um intruso, ele tem que
informar administrador de rede sobre o potencial ataque. Alertas
podem ser na forma de janelas pop-up, mensagens a um console, o
envio de e-mail e assim por diante. Os alertas tambm podem ser
armazenados em arquivos de registro ou bancos de dados para serem
analisados, mais tarde, por especialistas em segurana.
-
34
3.7 Logs
Quando um potencial ataque identificado uma mensagem gerada,
estas mensagens, bem todo atividade no aplicativo podem ser
registradas em um arquivo texto ou binrio. Normalmente estes
aplicativos possuem um diretrio padro, mas estes diretrios podem
ser alterados conforme necessidades do usurio. Estes registros
ficam disponveis, em caso de necessidade, para uma verificao
posterior, de ataques, falhas, alteraes, etc.
3.8 Alarmes falsos
Os alarmes falsos so alertas gerados erroneamente indicando a
captura de um pacote potencialmente malicioso, quando na realidade
no . Por exemplo, hosts internos mal configurados podem, por vezes,
transmitir mensagens que acionam uma regra resultando na gerao de
um falso alerta. Para evitar falsos alarmes, voc tem que modificar
e ajustar diferentes regras padro. Em alguns casos pode ser
necessrio desabilitar algumas das regras para evitar alarmes
falsos.
-
35
3.9 Sensor
A mquina na qual um sistema de deteco de intruso esta executando
tambm chamado o sensor IDS uma vez que este o elemento da rede que
fica na escuta do trfego (sente o trfego) da rede. Podemos definir
que o sensor IDS a mquina que esta rodando o aplicativo.
3.10 Falhas nos IDS
Apesar dos IDS serem uma ferramenta muito eficaz para deteco de
intruso nas redes, algumas falhas podem ocorrer no monitoramento de
sua rede quando o utilizamos na prtica.
Uma dessas falhas o falso positivo, ou seja, uma emisso de
alerta de intruso no verdadeira. A outra so os falsos negativos,
que so ataques verdadeiros na rede, que no detectados pelo IDS.
Ambos ocorrem devido inconsistncia na gerao de regras no IDS, no
caso de falsos positivos podemos estar fixando uma determinada
impresso digital desta rede como maliciosa, mas que na realidade no
o . Fazendo um levantamento da caracterstica de comportamento deste
trfego onde podem conter impresses digitais potencialmente
maliciosas, podemos descobrir que na realidade a intruso no
aconteceu. Tais situaes, tambm, podem ser aproveitadas de forma
maliciosa, ou seja, um atacante pode injetar uma enorme quantidade
de trfego com a inteno de acionar muitos falsos positivos, gerando
confuso na anlise deste trfego por parte do administrador. Com
isto, o intruso pode, ento,
-
36
executar um ataque positivo, mas que no ser detectado em funo da
confuso anteriormente gerada.
J os falsos negativos podem ter uma consequncia imediata, pois
se no foram reconhecidos pelo mecanismo de defesa, possivelmente o
atacante teve xito em sua intruso na rede.
-
37
Captulo 4
SISTEMAS DE DETECO DE INTRUSO COM SNORT
Nossa pesquisa comeou com uma introduo a conceitos de rede,
internet e segurana relacionada terminologia de deteco de intruso,
bem como de segurana de rede. Mais abaixo, na segunda parte desta
pesquisa, vamos descrever as formas de funcionamento e instalaes do
Snort12 em ambiente Windows e Linux, bem como seu gerenciamento, e
sua utilizao com banco de dados MySQL14, Apache15, PHP16 e ACID17
(Controle de Anlise para Intruso de Banco de Dados). Na figura 2
podemos ter uma ideia da estrutura desta configurao.
Figura 2. Rede rodando Snort e MySQL
-
38
O Snort tem a capacidade de registrar os dados coletados(como
alertas e outras mensagens de log) em um banco de dados, como j
mencionado acima. MySQL usado como o motor do banco de dados onde
todos os dados so armazenados.
Usando o servidor web Apache e ACID, voc poder analisar esses
dados. A combinao de Snort, Apache, MySQL, Php e ACID torna possvel
registrar os dados da deteco de intruso em um banco de dados e, em
seguida, visualizar e analisar mais tarde, atravs de uma interface
web. Na figura 3 podemos ver uma rede bsica rodando os softwares
que mencionamos.
Figura 3. Rede bsica IDS
4.1 Deteco de Intruso e Snort
Segurana um grande problema para todas as redes nas atuais
organizaes. Pessoas mal intencionadas fizeram muitas tentativas bem
sucedidas de derrubar redes de grandes organizaes de alto perfil e
servios web. Muitos mtodos foram desenvolvidos para garantir
-
39
o funcionamento da infraestrutura de rede e comunicao atravs da
Internet, entre eles o uso de firewalls, criptografia e redes
privadas virtuais (VPN). A deteco de intruso uma adio relativamente
nova para tais tcnicas. Mtodos de deteco de intruso comearam a
aparecer nos ltimos anos. Usando mtodos de deteco de intruso, voc
pode coletar e usar informaes de tipos conhecidos de ataques e
descobrir se algum est tentando atacar a rede ou mquinas da rede em
particular. As informaes coletadas desta forma podem ser usadas
para fortalecer a segurana da rede, bem como para fins legais em
investigaes de crimes cibernticos. Atualmente temos softwares de
cdigo aberto e comerciais, ambos disponveis para esta finalidade.
Muitas ferramentas de avaliao de vulnerabilidades tambm esto
disponveis no mercado que podem ser usados para avaliar os
diferentes tipos de falhas de segurana presentes na sua rede. Um
sistema de segurana abrangente composto por vrias ferramentas,
incluindo:
Firewalls que so usados para bloquear entrada indesejada, bem
como a sada de dados sem autorizao. H uma gama de produtos de
firewall disponveis no mercado, tanto em Open Source e como em
softwares comerciais. Os softwares firewall comerciais mais
populares so de Checkpoint(http://www.checkpoint.com),
Cisco(http://www.cisco.com) e Netscreen
(http://www.netscreen.com)10. O mais popular firewall Open Source o
firewall baseado em Netfilter/Iptables e pode ser adquirido em:
http://www.netfilter.org.
Dos sistemas de deteco de intruso (IDS) que esto sendo usados
para descobrir se algum invadiu ou est tentando invadir sua rede o
Snort mais popular, e est disponvel no endereo:
http://www.snort.org.
Ferramentas de avaliao de vulnerabilidade so usadas para
localizar e fechar buracos de segurana presentes na sua rede. As
informaes coletadas a partir de ferramentas de avaliao de
vulnerabilidade so usadas para definir regras sobre firewalls para
que essas falhas de segurana sejam alteradas de forma a fortalecer
a segurana contra usurios maliciosos da Internet. Existem muitas
ferramentas de avaliao de vulnerabilidade, incluindo
Nmap(http://www.nmap.org) 18 e Nessus(http://www.nessus.org)
10.
-
40
Todas estas ferramentas podem trabalhar em conjunto e trocar
informaes entre si. Alguns produtos fornecem sistemas completos que
consistem em todos esses produtos agrupados.
Snort software Open Source de sistema de deteco de intruso de
rede(NIDS), que est disponvel sem custo. Como j mencionado acima,
NIDS o tipo de sistema de deteco de intruso (IDS), que usado para
monitorar o trfego de dados em toda rede de uma organizao. Existem
tambm os sistemas de deteco de intruso baseados em host, que esto
instalados em uma mquina especfica, para monitorar somente o trfego
daquela mquina. Apesar de todas as investidas os mtodos de deteco
de intruso ainda so novos, o Snort est classificado entre os
sistemas de alta qualidade disponveis hoje11.
Figura 4. Logotipo Snort12
4.2 Regras de filtragem no Snort
O Snort usa arquivos texto para criar as regras de filtragem a
fim de detectar os trfegos potencialmente maliciosos dentro da rede
monitorada. Para quem j trabalhou com listas de acessos em
roteadores ou servidores Linux no vai ter dificuldades com elas.
Basicamente essas regras seguem a estrutura:
-
41
->
->
Apesar do Snort fornecer arquivos de regras para download, j
pr-formatados nada impede de criarmos nossas prprias regras,
ajustadas as nossas necessidades, onde muitas possibilidades de
ataques rede que ainda no implementadas mas que podero ser no
futuro, ento temos de ser capazes de ajustar nossas regras a essas
novas formas de ataque.
Abaixo analisamos algumas regras mais comuns, para maiores
detalhes consulte o manual do snort13:
Alerte trfego com: -> ():
alert icmp any any -> 192.168.1.4 any (msg: "HEARTBEAT";)
Alerte trfego com: -> ():
alert icmp any any -> any any (msg: "Ping with TTL=100";)
Alerte trfego com: ->
alert udp any any -> any 100:1000
Alerte trfego com: -> \ (< onde pct com TTL=100;>):
-
42
alert icmp any any -> 192.168.1.113/32 any \(msg: "Ping with
TTL=100"; ttl:100;)
Alerte -> ( any any \(msg: "Ping with TTL=100"; ttl:
100;)
Alerte -> ():
alert icmp ![192.168.2.0/24,192.168.8.0/24] any -> any any
(msg: "Ping with TTL=100"; ttl: 100;)
Alerte trfego com -> ():
alert tcp any any any 139 (msg:Carto VISA; content:VISA;)
4.3 Declarao de variveis
O Snort permite, tambm, que declaremos variveis que sero
interpretadas pelo software no momento do carregamento dos arquivos
de configurao e filtragem, abaixo segue alguns exemplos, para
maiores detalhes convm consultar o manual do snort13:
-
43
Var, ipvar, portvar
o var RULES_PATH rules/
o portvar MY_PORTS [22,80,1024:1050]
o ipvar MY_NET [192.168.1.0/24,10.1.1.0/24]
o alert tcp any any -> $MY_NET $MY_PORTS (flags:S; msg:"SYN
packet";)
o include $RULE_PATH/example.rule
o ipvar FAIXA 10:100
o alert tcp any any -> any $FAIXA (msg:"Trfego na faixa de
porta";)
4.4 Opes de execuo
O Snort possui muitas variaes de monitorao que podem ser
indicadas no momento da ativao ou via configurao no arquivo
/Snort/snort.conf, na tabela 1 esta descrito algumas opes, usadas
nos testes desta pesquisa, retiradas do manual do fabricante13:
Tabela 1. Opes de configurao no monitoramento do Snort
Opo Descrio
-iX Monitorar trfego da Interface(-i) nmero(X)
-l Indica que monitoramento vai ser gravado em um log para o
diretrio informado
-v v - apresenta no console o estado do snort
-
44
-b b - os pacotes que contm o trfego com contedo classificado so
guardados no formato tcpdump(ferramenta utilizada para monitorar
trfego).
-c c - indica que vai ser usado arquivo de regras.
-A console -A console: Envia alertas "estilo rpido" para o
console (tela).
-K Chaves
-d Apresenta os dados da camada aplicao presentes em cada pacote
capturado.
-T Chaves Razes para diretrio especificado
-W Lista placas de rede disponveis
Abaixo segue alguns exemplos de execuo:
c:\Snort\bin>snort W
c:\Snort\bin>snort v i2
c:\Snort\bin>snort -i2 -s -l c:\snort\log\ -c
c:\snort\etc\snort.conf
c:\Snort\bin>snort -i2 -s -l c:\snort\log\ -c
c:\snort\etc\snort.conf T
c:\Snort\bin>snort -A console -i2 -c c:\snort\etc\snort.conf
-l c:\snort\log -K ascii
4.5 Componentes do Snort
Snort logicamente dividido em vrios componentes. Estes
componentes trabalham juntos para detectar ataques de maliciosos e
para gerar a sada em um formato adequado a
-
45
partir do trfego detectado pelo sistema. Um IDS baseado em
Haxixe consiste dos seguintes componentes principais:
Decodificador de pacotes
Pr-processadores
Motor de Deteco
Registro e Sistema de Alerta
Mdulos de sada
Figura 5 mostra como esses componentes so organizados. Qualquer
pacote de dados que vem a partir da Internet entra no
descodificador de pacotes. Em seu caminho para os mdulos de sada,
ele pode ser descartado, registrado em um arquivo de log ou ter um
alerta gerado.
Figura 5. Funcionamento esquemtico do Snort
-
46
Captulo 5
TESTANDO O SNORT
Como j mencionamos acima, o Snort possui muitas varveis de
configurao, plataformas e formas de execuo, neste captulo ser
demonstrado uma forma bsica de utilizao nas duas plataformas mais
conhecidas, Windows e Linux. O teste demonstrado um teste bsico, e
no descreve a forma de instalao das diversas ferramentas usadas e,
em alguns casos, necessrias. A instalao destas ferramentas, bem
como do prprio Snort foi descrita no Apndice A e B.
5.1 Testando o Snort com o Windows
Nosso teste em questo foi feito em laboratrio de informtica com
a configurao fsica da figura 6 abaixo.
Inicialmente executamos o comando C:\Snort\bin>snort W para
verificarmos a numerao das portas instaladas na mquina Windows,
como estamos usando um notebook para nossos testes temos mais de
uma forma de conexo com a rede, sem fio e cabeada.
-
47
Figura 6. Layout da rede de testes do Snort no Windows
Tabela 2. Consultando a numerao de portas de rede no Windows
C:\Snort\bin>snort -W
,,_ -*> Snort!
-
48
alert ICMP any any -> 192.168.1.4 any
Para o teste em questo vamos executar o Snort com o comando
c:\Snort\bin>snort v i1 : finaliza
Com uma mquina virtual simulamos um ataque enviando pacotes ICMP
para nossa mquina monitorada:
C:\ping t 192.168.1.4
Na finalizao obtemos o relatrio resumido na tabela 3 abaixo:
Tabela 3. Relatrio de monitorao resumido no Snort
...
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
04/19-11:06:05.578645 192.168.1.6 -> 192.168.1.4 ICMP TTL:128
TOS:0x0 ID:294 IpLen:20 DgmLen:60 Type:8 Code:0 ID:512 Seq:45568
ECHO
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
04/19-11:06:05.578848 192.168.1.4 -> 192.168.1.6 ICMP TTL:64
TOS:0x0 ID:3783 IpLen:20 DgmLen:60 Type:0 Code:0 ID:512 Seq:45568
ECHO REPLY
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
*** Caught Int-Signal
==========================================================================
Run time for packet processing was 210.587000 seconds Snort
processed 494 packets. Snort ran for 0 days 0 hours 3 minutes 30
seconds Pkts/min: 164 Pkts/sec: 2
==========================================================================
Packet I/O Totals: Received: 494 Analyzed: 494 (100.000%)
==========================================================================
Breakdown by protocol (includes rebuilt packets): Eth: 494
(100.000%) VLAN: 0 ( 0.000%) IP4: 461 ( 93.320%) Frag: 0 ( 0.000%)
ICMP: 332 ( 67.206%) UDP: 56 ( 11.336%)
-
49
TCP: 73 ( 14.777%)
ARP: 33 ( 6.680%) ...
Total: 494
Novamente de uma mquina virtual simulamos um ataque agora
utilizando o Nmap18 para fazer uma varredura em nossa mquina. O
Nmap um software de varredura de rede, muito utilizado para testes
de segurana, gratuito, de fcil instalao e pode ser adquirido no
site: http://nmap.org/download.html, bem como sua documentao e
manuais de utilizao. A execuo da varredura de portas em nossa
mquina pode ser visto na figura 7.
Figura 7. Execuo de varredura de portas com Nmap no Windows
Tabela 4. Relatrio de captura de pacotes de rede pelo Snort com
o Windows
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
04/19-11:15:35.703141 192.168.1.4 -> 192.168.1.6 ICMP TTL:64
TOS:0x0 ID:5506 IpLen:20 DgmLen:70 Type:3 Code:3 DESTINATION
UNREACHABLE: PORT UNREACHABLE ** ORIGINAL DATAGRAM DUMP:
192.168.1.6:1125 -> 192.168.1.4:55520 UDP TTL:128 TOS:0x0 ID:675
IpLen:20 DgmLen:42 Len: 14 Csum: 22370 (14 more bytes of original
packet) ** END OF DUMP
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
04/19-11:15:35.709878 192.168.1.6:1126 -> 192.168.1.4:30643
UDP TTL:128 TOS:0x0 ID:676 IpLen:20 DgmLen:42 Len: 14
-
50
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
04/19-11:15:45.091050 192.168.1.4:57364 -> 192.168.1.1:53 UDP
TTL:64 TOS:0x0 ID:5507 IpLen:20 DgmLen:63 Len: 35
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
04/19-11:15:45.134338 192.168.1.1:53 -> 192.168.1.4:57364 UDP
TTL:64 TOS:0x0 ID:0 IpLen:20 DgmLen:106 DF Len: 78
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
*** Caught Int-Signal
==========================================================================
Run time for packet processing was 152.668000 seconds Snort
processed 3085 packets. Snort ran for 0 days 0 hours 2 minutes 32
seconds Pkts/min: 1542 Pkts/sec: 20
==========================================================================
Packet I/O Totals: Received: 3084 Analyzed: 3085 (100.032%)
Dropped: 0 ( 0.000%) Filtered: 0 ( 0.000%) Outstanding: 0 ( 0.000%)
Injected: 0
==========================================================================
Breakdown by protocol (includes rebuilt packets): Eth: 3085
(100.000%) VLAN: 0 ( 0.000%) IP4: 3048 ( 98.801%) Frag: 0 ( 0.000%)
ICMP: 27 ( 0.875%) UDP: 59 ( 1.912%) TCP: 2962 ( 96.013%) IP6: 7 (
0.227%) IP6 Ext: 7 ( 0.227%)
UDP6: 7 ( 0.227%)
ARP: 30 ( 0.972%)
Total: 3085
==========================================================================
Snort exiting
-
51
5.2 Snort com Linux
Como j foi mencionado acima, a implementao do Snort com Linux
pode ser muito mais eficaz e definitivamente mais barato, pois
ambos os sistemas so gratuitos e de cdigo aberto, o que nos
possibilita ajustes as nossas necessidades. conhecido que a
utilizao de servidores Linux, alm de mais baratos, so muito mais
viveis na rede, devido seu baixo custo, maior estabilidade, e
ferramentas adequadas a servidores.
No apndice B desta pesquisa esta descrito a instalao, e
configurao detalha do Snort em um servidor Linux o qual foi
executado nos testes de laboratrio. A fim de obter o mximo proveito
do Snort, foi testado sua implementao em conjunto com MySql, Php,
Apache e ACID, ferramentas Open Source e, obviamente,
gratuitas.
O layout de nossa rede fsica de testes esta demonstrado na
figura 8.
Figura 8. Layout fsico da rede de teste Snort com Linux
-
52
5.3 Testando o Snort no Linux
Com as rotinas acima executadas, em nossa pesquisa, j podemos
testar o Snort no modo console com emisso de logs. Para tanto
executamos um teste simples, somente para visualizar as formas de
visualizao emitidas pelo Snort na captura de pacotes icmp. De um
terminal executamos ping continuo com o comando:
$ ping www.google.com.br
Em outro terminal aberto executamos o Snort com o comando
abaixo, deixamos rodar por um tempo e interrompemos com ctrl+C.
$ sudo snort v ieth0
O Relatrio emitido no console pelo Snort foi, de forma resumida,
o visualizado na tabela 5 abaixo:
Tabela 5. Relatrio de captura via console do Snort no Linux
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
04/22-17:57:39.678320 192.168.1.4:46394 -> 200.255.122.6:53
UDP TTL:64 TOS:0x0 ID:0 IpLen:20 DgmLen:73 DF Len: 45
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
04/22-17:57:39.682943 200.255.122.6:53 -> 192.168.1.4:46394
UDP TTL:121 TOS:0x0 ID:31631 IpLen:20 DgmLen:112 Len: 84
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
^C*** Caught Int-Signal 04/22-17:57:40.510084 192.168.1.4 ->
173.194.37.159 ICMP TTL:64 TOS:0x0 ID:0 IpLen:20 DgmLen:84 DF
Type:8 Code:0 ID:2422 Seq:250 ECHO
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
==========================================================================
Run time for packet processing was 19.462665 seconds Snort
processed 176 packets.
-
53
Snort ran for 0 days 0 hours 0 minutes 19 seconds Pkts/sec: 9
=========================================================================
Packet I/O Totals: Received: 176 Analyzed: 176 (100.000%)
Injected: 0
=========================================================================
Breakdown by protocol (includes rebuilt packets): Eth: 176
(100.000%) VLAN: 0 ( 0.000%) IP4: 115 ( 65.341%) Frag: 0 ( 0.000%)
ICMP: 40 ( 22.727%) ...
UDP: 73 ( 41.477%) TCP: 0 ( 0.000%) IP6: 31 ( 17.614%) IP6 Ext:
31 ( 17.614%) ICMP6: 2 ( 1.136%) UDP6: 29 ( 16.477%) ...
ARP: 18 ( 10.227%) ...
Eth Loop: 2 ( 1.136%) Other: 12 ( 6.818%) Bad Chk Sum: 26 (
14.773%) Total: 176
=========================================================================
Snort exiting
Depois usamos o comando abaixo relacionado, para novamente
executar o Snort e ver a diferena ao rodar o mesmo. Com estes
pequenos testes, pudemos visualizar que a captura dos pacotes
icmp's so os mesmos, somente a forma de apresentao ao administrador
da rede que mudou, que ser visto na tabela 6.
Tabela 6. Relatrio de captura de pacotes icmp pelo Snort
$ sudo snort -q -A console -i eth0 -c /etc/snort/snort.conf -l
/var/log/snort/ ^C*** Caught Int-Signal root@Voyager:~# snort -q -A
console -i eth0 -c /etc/snort/snort.conf -l /var/log/snort/
04/22-18:15:22.960885 [Priority: 0] {ICMP} 192.168.1.4 ->
173.194.37.159 04/22-18:15:23.111180 [Priority: 0] {ICMP}
173.194.37.159 -> 192.168.1.4 04/22-18:15:23.116865 [Priority:
0] {ICMP} 192.168.1.4 -> 10.142.176.108 04/22-18:15:23.961478
[Priority: 0] {ICMP} 192.168.1.4 -> 173.194.37.159
04/22-18:15:24.116671 [Priority: 0] {ICMP} 173.194.37.159 ->
192.168.1.4 04/22-18:15:24.961467 [Priority: 0] {ICMP} 192.168.1.4
-> 173.194.37.159 04/22-18:15:25.111700 [Priority: 0] {ICMP}
173.194.37.159 -> 192.168.1.4
-
54
04/22-18:15:25.962137 [Priority: 0] {ICMP} 192.168.1.4 ->
173.194.37.159 04/22-18:15:26.111732 [Priority: 0] {ICMP}
173.194.37.159 -> 192.168.1.4 ^C*** Caught Int-Signal
-
55
Captulo 6
DESEMPENHO DO SNORT
Ao longo do tempo muitas ferramentas de segurana foram criadas
para plataformas Linux/Unix, por razes histricas e muitas vezes por
custo de implementao j conhecidas do leitor. Esta pesquisa no
pretende mudar hbitos, conceitos e tradies, mas somente mostrar as
vrias possibilidades que nossa ferramenta de Deteco de Intruso
fornece e, tambm, mostrar ao leitor que tal implementao pode ser um
opo para fortalecer a segurana dentro de uma organizao com o uso
testado aqui, ou seja, o Snort rodando como HIDS em uma mquina
Windows, em conjunto com um servidor Linux rodando NIDS dentro da
mesma rede. Felizmente, para as intenes desta pesquisa, algumas
funcionalidades do Snort foram portadas para o Windows,
possibilitando assim uma proposta de fortalecimento na
segurana.
6.1 Testando e comparando o Snort
Para finalizar foi criado um ambiente de testes em uma rede
local com 3 mquinas onde as mesmas rodavam Snort com diferentes
plataformas, configuraes e recursos instalados. O objetivo era
comparar o desempenho e medir a eficcia do Snort em situaes mais ou
menos reais e tambm demonstrar a possibilidade de us-lo em conjunto
com redes NIDS e HIDS.
Nossa vtima(PcV) um notebook Acer Intel i3, 2.8 Ghz, memria RAM
de 6Gb, rodando Windows Home Basic com Snort rodando como HIDS.
-
56
Nosso sensor(PcS) de rede um notebook Lenovo T61, com Intel core
2 Duo 2.0 Ghz, com memria RAM de 3Gb, e sistema operacional Linux
Ubuntu 12.0.4, rodando Snort na configurao NIDS. Tambm temos os
recursos Apache, MySQL, Php e ACID rodando nesta mquina;
A Atacante(PcA) um notebook Asus Intel i5, com 2.8Ghz, memria
RAM de 4Gb, rodando Windows 8 e, tambm, rodando Nmap 4.6.5;
A configurao fsica de nossa rede de testes pode ser vista na
figura 9 abaixo:
Figura 9. Topologia da rede de testes NIDS x HIDS
6.1.1 Envio de pacotes icmp a vtima
Inicialmente a mquina atacante(PcA) envia pacotes ICMP de
reconhecimento a nossa mquina vtima(PcV), o relatrio de captura
obtida em ambas as mquinas(PcV, PcS) que monitoravam os pacotes,
foi exibido na tabela 7 abaixo:
-
57
Tabela7. Relatrio comparativo de captura de pacotes ICMP (NIDS x
HIDS)
PcV Mq.Windows(HIDS) PcS Servidor Linux(NIDS)
Run time for packet processing was 235.341
sec
Snort processed 979 pck.
Snort ran for 0 days 0 hours 3 minutes 55 sec
Pkts/min: 326 Pkts/sec: 4
===================================
Packet I/O Totals: Received: 988
Analyzed: 979 ( 99.089%) Dropped: 0 ( 0.000%) Filtered: 0 (
0.000%) Outstanding: 9 ( 0.911%) Injected: 0
===================================
Breakdown by protocol (includes rebuilt pck): Eth: 979
(100.000%) VLAN: 0 ( 0.000%) IP4: 946 ( 96.629%) Frag: 0 ( 0.000%)
ICMP: 482 ( 49.234%) UDP: 109 ( 11.134%) TCP: 355 ( 36.261%) IP6: 3
( 0.306%) IP6 Ext: 3 ( 0.306%) IP6 Opts: 0 ( 0.000%) Frag6: 0 (
0.000%) ICMP6: 0 ( 0.000%) UDP6: 3 ( 0.306%) TCP6: 0 ( 0.000%)
Teredo: 0 ( 0.000%) ICMP-IP: 0 ( 0.000%) EAPOL: 0 ( 0.000%)
IP4/IP4: 0 ( 0.000%) IP4/IP6: 0 ( 0.000%) IP6/IP4: 0 ( 0.000%)
IP6/IP6: 0 ( 0.000%) GRE: 0 ( 0.000%) GRE Eth: 0 ( 0.000%) GRE
VLAN: 0 ( 0.000%) GRE IP4: 0 ( 0.000%) GRE IP6: 0 ( 0.000%) GRE IP6
Ext: 0 ( 0.000%)
Run time for packet processing was 233.224
sec
Snort processed 593 pck.
Snort ran for 0 days 0 hours 3 minutes 53 sec
Pkts/min: 197 Pkts/sec: 2
===================================
Packet I/O Totals: Received: 594
Analyzed: 593 ( 99.832%) Dropped: 0 ( 0.000%) Filtered: 0 (
0.000%) Outstanding: 1 ( 0.168%) Injected: 0
===================================
Breakdown by protocol (includes rebuilt pck): Eth: 593
(100.000%) VLAN: 0 ( 0.000%) IP4: 570 ( 96.121%) Frag: 0 ( 0.000%)
ICMP: 462 ( 77.909%) UDP: 70 ( 11.804%) TCP: 38 ( 6.408%) IP6: 3 (
0.506%) IP6 Ext: 3 ( 0.506%) IP6 Opts: 0 ( 0.000%) Frag6: 0 (
0.000%) ICMP6: 0 ( 0.000%) UDP6: 3 ( 0.506%) TCP6: 0 ( 0.000%)
Teredo: 0 ( 0.000%) ICMP-IP: 0 ( 0.000%) EAPOL: 0 ( 0.000%)
IP4/IP4: 0 ( 0.000%) IP4/IP6: 0 ( 0.000%) IP6/IP4: 0 ( 0.000%)
IP6/IP6: 0 ( 0.000%) GRE: 0 ( 0.000%) GRE Eth: 0 ( 0.000%) GRE
VLAN: 0 ( 0.000%) GRE IP4: 0 ( 0.000%) GRE IP6: 0 ( 0.000%) GRE IP6
Ext: 0 ( 0.000%)
-
58
GRE PPTP: 0 ( 0.000%) GRE ARP: 0 ( 0.000%) GRE IPX: 0 ( 0.000%)
GRE Loop: 0 ( 0.000%) MPLS: 0 ( 0.000%) ARP: 30 ( 3.064%) IPX: 0 (
0.000%) Eth Loop: 0 ( 0.000%) Eth Disc: 0 ( 0.000%) IP4 Disc: 0 (
0.000%) IP6 Disc: 0 ( 0.000%) TCP Disc: 0 ( 0.000%) UDP Disc: 0 (
0.000%) ICMP Disc: 0 ( 0.000%) All Discard: 0 ( 0.000%) Other: 0 (
0.000%) Bad Chk Sum: 503 ( 51.379%) Bad TTL: 0 ( 0.000%) S5 G 1: 0
( 0.000%) S5 G 2: 0 ( 0.000%) Total: 979
===================================
Snort exiting
GRE PPTP: 0 ( 0.000%) GRE ARP: 0 ( 0.000%) GRE IPX: 0 ( 0.000%)
GRE Loop: 0 ( 0.000%) MPLS: 0 ( 0.000%) ARP: 20 ( 3.373%) IPX: 0 (
0.000%) Eth Loop: 0 ( 0.000%) Eth Disc: 0 ( 0.000%) IP4 Disc: 0 (
0.000%) IP6 Disc: 0 ( 0.000%) TCP Disc: 0 ( 0.000%) UDP Disc: 0 (
0.000%) ICMP Disc: 0 ( 0.000%) All Discard: 0 ( 0.000%) Other: 0 (
0.000%) Bad Chk Sum: 10 ( 1.686%) Bad TTL: 0 ( 0.000%) S5 G 1: 0 (
0.000%) S5 G 2: 0 ( 0.000%) Total: 593
===================================
Snort exiting
6.1.2 Varredura de portas da vtima via Nmap
Depois do ataque inicial, nosso Hacker, o PcA, executa uma
varredura de portas em nossa vtima(PcV) novamente os resultados
obtidos esta exibido, de forma resumida, na tabelas 8.
Tabela 8. Comparativo do relatrio de captura de pacotes Nmap
(NIDS x HIDS)
PcV Mq.Windows(HIDS) PcS Servidor Linux(NIDS)
=============================================
Run time for packet processing was 118.694000
=============================================
Run time for packet processing was 123.156623
-
59
seconds
Snort processed 3011 packets.
Snort ran for 0 days 0 hours 1 minutes 58 sec
Pkts/min: 3011 Pkts/sec: 25
Packet I/O Totals: Received: 3012
Analyzed: 3011 ( 99.967%) Dropped: 0 ( 0.000%) Filtered: 0 (
0.000%) Outstanding: 1 ( 0.033%) Injected: 0
=============================================
Breakdown by protocol (includes rebuilt pck): Eth: 3011
(100.000%) VLAN: 0 ( 0.000%) IP4: 2997 ( 99.535%) Frag: 0 ( 0.000%)
ICMP: 6 ( 0.199%) UDP: 66 ( 2.192%) TCP: 2925 ( 97.144%) IP6: 0 (
0.000%) IP6 Ext: 0 ( 0.000%) IP6 Opts: 0 ( 0.000%) Frag6: 0 (
0.000%) ICMP6: 0 ( 0.000%) UDP6: 0 ( 0.000%) TCP6: 0 ( 0.000%)
Teredo: 0 ( 0.000%) ICMP-IP: 0 ( 0.000%) EAPOL: 0 ( 0.000%)
IP4/IP4: 0 ( 0.000%) IP4/IP6: 0 ( 0.000%) IP6/IP4: 0 ( 0.000%)
IP6/IP6: 0 ( 0.000%) GRE: 0 ( 0.000%) GRE Eth: 0 ( 0.000%) GRE
VLAN: 0 ( 0.000%) GRE IP4: 0 ( 0.000%) GRE IP6: 0 ( 0.000%) GRE IP6
Ext: 0 ( 0.000%) GRE PPTP: 0 ( 0.000%) GRE ARP: 0 ( 0.000%) GRE
IPX: 0 ( 0.000%) GRE Loop: 0 ( 0.000%) MPLS: 0 ( 0.000%) ARP: 14 (
0.465%) IPX: 0 ( 0.000%)
seconds
Snort processed 2865 packets.
Snort ran for 0 days 0 hours 2 minutes 3 sec
Pkts/min: 1432 Pkts/sec: 23
Packet I/O Totals: Received: 2865
Analyzed: 2865 (100.000%) Dropped: 0 ( 0.000%) Filtered: 0 (
0.000%) Outstanding: 0 ( 0.000%) Injected: 0
=============================================
Breakdown by protocol (includes rebuilt pck): Eth: 2865
(100.000%) VLAN: 0 ( 0.000%) IP4: 2856 ( 99.686%) Frag: 0 ( 0.000%)
ICMP: 6 ( 0.209%) UDP: 51 ( 1.780%) TCP: 2799 ( 97.696%) IP6: 0 (
0.000%) IP6 Ext: 0 ( 0.000%) IP6 Opts: 0 ( 0.000%) Frag6: 0 (
0.000%) ICMP6: 0 ( 0.000%) UDP6: 0 ( 0.000%) TCP6: 0 ( 0.000%)
Teredo: 0 ( 0.000%) ICMP-IP: 0 ( 0.000%) EAPOL: 0 ( 0.000%)
IP4/IP4: 0 ( 0.000%) IP4/IP6: 0 ( 0.000%) IP6/IP4: 0 ( 0.000%)
IP6/IP6: 0 ( 0.000%) GRE: 0 ( 0.000%) GRE Eth: 0 ( 0.000%) GRE
VLAN: 0 ( 0.000%) GRE IP4: 0 ( 0.000%) GRE IP6: 0 ( 0.000%) GRE IP6
Ext: 0 ( 0.000%) GRE PPTP: 0 ( 0.000%) GRE ARP: 0 ( 0.000%) GRE
IPX: 0 ( 0.000%) GRE Loop: 0 ( 0.000%) MPLS: 0 ( 0.000%) ARP: 9 (
0.314%) IPX: 0 ( 0.000%)
-
60
Eth Loop: 0 ( 0.000%) Eth Disc: 0 ( 0.000%) IP4 Disc: 0 (
0.000%) IP6 Disc: 0 ( 0.000%) TCP Disc: 0 ( 0.000%) UDP Disc: 0 (
0.000%) ICMP Disc: 0 ( 0.000%) All Discard: 0 ( 0.000%) Other: 0 (
0.000%) Bad Chk Sum: 1491 ( 49.518%) Bad TTL: 0 ( 0.000%) S5 G 1: 0
( 0.000%) S5 G 2: 0 ( 0.000%) Total: 3011
====================================
Snort exiting
Eth Loop: 0 ( 0.000%) Eth Disc: 0 ( 0.000%) IP4 Disc: 0 (
0.000%) IP6 Disc: 0 ( 0.000%) TCP Disc: 0 ( 0.000%) UDP Disc: 0 (
0.000%) ICMP Disc: 0 ( 0.000%) All Discard: 0 ( 0.000%) Other: 0 (
0.000%) Bad Chk Sum: 5 ( 0.175%) Bad TTL: 0 ( 0.000%) S5 G 1: 0 (
0.000%) S5 G 2: 0 ( 0.000%) Total: 2865
===================================
Snort exiting
Na figura 10 podemos ver o mesmo relatrio de captura comparando
os dois resultados, exatamente no mesmo momento e no mesmo ataque,
nas verses: NIDS(Servidor Linux) e HIDS(Mquina Windows).
Figura 10. Grfico do relatrio de captura NIDS x HIDS
-
61
6.1.2.1 Resultados obtidos exibidos no ACID
Na figura 11 foi exibido os mesmos resultados obtidos acima,
pela captura do Snort, mas agora na pgina do ACID. Como j
mencionado acima, o ACID uma ferramenta de anlise, que pode ser
usado em conjunto com o Snort o qual fornece relatrio de captura,
mas agora num formato web mais facilitado ao administrador de rede.
O ACID esta funcionando em conjunto com o Apache, MySQL e PHP, os
dados, da captura, esto agora armazenados em tabelas MySQL e so
exibidos em pgina web para apreciao e anlise.
Figura 11. Exibio do relatrio de captura da varredura Nmap na
pgina do ACID
-
62
Captulo 7
CONCLUSO
Com a demonstrao das formas de ataque que uma rede de informao
pode sofrer, exibido no captulo 2, s se pode concluir que, evitar
ataques a um sistema de informao uma tarefa difcil, mas possvel
minimizar os riscos tomando algumas aes dentro deste sistema. Uma
delas, que, alis, foi o foco de nossa pesquisa, o uso de boas
ferramentas de deteco de intruso(IDS).
Tambm foi possvel observar, durante o desenvolvimento desta
pesquisa, que o uso isolado, ainda que seja a melhor ferramenta
IDS, que em minha opinio encontra-se o Snort, no o bastante para
garantir a segurana de qualquer sistema, pois as variveis
envolvidas so muitas, indo desde falhas de softwares, sistemas mal
projetados, comportamento inadequado de usurios at o despreparo do
administrador da rede em questo.
No tenho dvida quanto a eficcia do Snort, tenho mais confiana
ainda quando utilizado em conjunto com demais sistemas como Linux,
Apache, MySQL e ACID. Sua relevncia torna-se ainda mais importante
pelo fato de ser gratuito, Open Source e possuir sistemas, de mesma
categoria, que podem ser utilizados em conjunto.
O fato de ser gratuito, o que dispensa qualquer comentrio, abre
possibilidade de uso do mesmo, por qualquer nvel ou porte de uma
rede, pois est acessvel desde as maiores organizaes at um usurio
isolado e desconhecido. Isto contribui para diminuir a confiana de
um atacante inescrupuloso, pois a cada ataque bem sucedido iria
aumentar sua motivao para continuar, alimentando o ciclo do
potencial de risco de ataque as redes. A isto podemos comparar com
uma espcie de imunizao de grupo, onde a diminuio dos casos
contribui potencialmente para eliminao completa da ocorrncia dos
mesmos, pela diminuio do agente de infeco.
-
63
Quanto a ferramenta ser Open Source s vem a somar em seus pontos
positivos, pois o fato de um software possuir seus cdigos abertos
possui dois pontos a favor de um administrador de rede:
A primeira o fato que um cdigo aberto possibilita uma avaliao,
por um especialista, da existncia ou no de rotinas potencialmente
maliciosas nos mesmos, ou ainda, rotinas falhas que possam
comprometer a segurana na sua utilizao;
A segunda a possibilidade de fazermos ajustes ou correes nas
linhas de cdigos, o que pode ser uma alterao para ajustarmos as
nossas necessidades ou alguma correo, que julgarmos potencialmente
insegura para nossa aplicao.
Outro resultado importante deste trabalho foi a identificao da
eficcia do Snort, principalmente quando utilizado em conjunto com
Linux, Apache, MySQL, Php e ACID, obtido na comparao de resultados
feitos em laboratrios que pode ser visto no captulo 6 e a instalao
dos softwares necessrios no apndice A e B. Nestes testes simulamos
um ataque a uma rede Windows somente com Snort, e em uma rede Linux
com Snort, Apache, MySQL, Php e ACID instalados. O resultado dos
testes demonstraram uma completa eficcia na deteco dos ataques
simulados, com Snort rodando em Windows tanto quanto o Snort
rodando em Linux, mas que neste caso tivemos um ganho com relao a
facilidade atribuda ao administrador por ocasio das ferramentas de
apoio(Apache, MySQL, Php e ACID).
-
64
REFERNCIAS BIBLIOGRFICAS
12014 Fundao Estadual do Meio Ambiente FEAM, Estudo de
vulnerabilidade regional s mudanas climticas - Belo Horizonte,
Governo de Minas, 2014.
2Wilson Oliveira, Segurana da Informao Tcnicas e Solues, Centro
Atlntico, 1 ed. Portugal/2001
3Joel Scambray; Stuart McClure; George Kurtz; Hackers Expostos,
Makron Books, 4 ed. 2001.
4Paulo Augusto Moda Lari; Dino Macedo Amaral; Snort, MySQL,
Apache e ACID, Brasport, 1 ed. 2004.
5Rafeeq Ur Rehman, Advanced IDS Techniques Using Snort, Apache,
MySQL, PHP, and ACID, Pearson Education, Inc, Publishing as
Prentice Hall PTR, 2003.
6 Pedro Tavares Silva, Hugo Carvalho e Catarina Botelho Torres,
Segurana dos Sistemas de
Informao - Gesto Estratgica da Segurana Empresarial, Centro
Atlntico, Lda., 1 ed. Portugal/2003.
7Tribunal de Contas da Unio - TCU, Boas Prticas em Segurana da
informao, 4 ed. Braslia, 2012.
8Presidncia da Repblica, Secretaria de Assuntos Estratgicos,
Desafios estratgicos para segurana e defesa ciberntica, Braslia, 1
ed. 2011.
9ABNT NBR ISO/IEC 17799, Tecnologia da informao Tcnicas de
segurana Cdigo de prtica para a gesto da segurana da informao, ed.
2005.
-
65
10Andrew R. Baker; Joel Esler; Snort Intrusion Detection and
Prevention Toolkit, Syngress Publishing, Inc. 1ed. 2007.
11The Snort Project, SNORT R Users Manual 2.9.6, December,
2013
12IDS, fonte: http://www.snort.org/. Acesso em mai/2014. 13IDS,
fonte: http://www.snort.org/docs. Acesso em mai/2014. 14Banco de
dados, fonte: http://www.mysql.org. Acesso em mai/2014. 15Servidor
Web, fonte: http://www.apache.org/. Acesso em mai/2014.
16Interpretador de cdigos, fonte: http://www.php.net/. Acesso em
mai/2014. 17Ferramenta de anlise, fonte:
http://www.cert.org/kb/acid. Acesso em mai/2014. 18Ferramenta de
anlise de portas, fonte: http://nmap.org/download.html. Acesso em
mai/2014.
-
66
APNDICE A
Instalando o Snort com Windows
Como j foi pr-relatado acima, para nosso teste utilizamos uma
mquina com processador Intel core i3 2.3Ghz, com 6Gbyte de RAM
rodando Windows 7 Home Basic 64bits:
Para executar uma instalao bsica do Snort em um sistema Windows,
neste exemplo, foi necessrio fazer o download de alguns programas.
Primeiro foi baixado o executvel do Snort para Windows, que possvel
adquirir gratuitamente no site: www.snort.org. Depois, para o Snort
funcionar corretamente, foi necessrio colocar o carto de interface
de rede (NIC) em modo promscuo onde se pode ver todo o trfego de
rede para destinado a esta mquina. Para fazer isso no Windows, foi
executado o download da biblioteca: Windows Captura de pacotes do
WinPCap(http://www.winpcap.org) e, aps, instal-lo. Mais abaixo, no
apndice desta pesquisa, est descrito um passo a passo de todos os
processos, arquivos e configuraes necessrias para o uso do Snort
com o Windows.
Entre no endereo: http://www.snort.org/snort-downloads, baixe o
arquivo: Snort_2_9_6_0_Installer.exe, como um arquivo executvel,
para instal-lo basta rod-lo.
O Snort usa o Winpcap para ter acesso a comunicao de baixo nvel
e possibilitar a captura do trfego que passa pela sua placa de
rede, ento precisamos instal-lo para que possa ser usado em
conjunto com o Snort. Este software quem estende o sistema
operacional para fornecer acesso rede em baixo nvel, tambm fornece
a biblioteca que usada para acessar facilmente as camadas de rede,
permitindo acesso a rede para se comunicar com as interface de seu
PC, faa download deste arquivo em:
http://www.winpcap.org/install/default.htm e o instale,
simplesmente executando-o.
-
67
Configurando o Snort com Windows
Depois de instalado o Snort vai necessitar de algumas alteraes
em sua configurao para rodar corretamente no Windows. Voc vai
perceber que todos os diretrios vem configurados para rodar em
Linux, o que no momento no o nosso caso.
Antes de ajustarmos nossa configurao, precisamos acertar alguns
diretrios, ento v at o diretrio: /Snort/lib/ e crie as pastas:
snort_dynamicengine;
snort_dynamicrules
O Snort vai precisar destas pastas para armazenar alguns
arquivos, dinamicamente, durante a monitorao.
Acertado as pastas vamos configurao, com um editor de texto abra
o arquivo snort.conf que se encontra no diretrio: .../Snort/etc e
ajuste as linhas abaixo. Para quem iniciante no assunto,
interessante ressaltar que as linhas iniciadas por # so linhas de
comentrio ou bloqueadas, ou seja, o software ao ler o arquivo vai
ignor-las durante a execuo. Note tambm que deixamos a linha
original do arquivo e inclumos nossas linhas atualizadas e
desbloqueadas, servindo nossas necessidades.
Tabela a1. Editando arquivo de configurao do Snort
# # Setup the network addresses you are protecting #ipvar
HOME_NET any var HOME_NET 192.168.1.4/24
# # List of DNS servers on your network #ipvar DNS_SERVERS
$HOME_NET var DNS_SERVERS 200.255.122.6
# #such as: c:\snort\rules #var RULE_PATH ../rules var RULE_PATH
C:\Snort\rules
-
68
#var SO_RULE_PATH ../so_rules var SO_RULE_PATH
C:\Snort\so_rules
#var PREPROC_RULE_PATH ../preproc_rules var PREPROC_RULE_PATH
C:\Snort\preproc_rules
# path to base preprocessor engine #dynamicengine
/usr/local/lib/snort_dynamicengine/libsf_engine.so dynamicengine
C:\Snort\lib\snort_dynamicengine\sf_engine.dll
# path to dynamic rules libraries #dynamicdetection directory
/usr/local/lib/snort_dynamicrules dynamicdetection directory
C:\Snort\lib\snort_dynamicrules
# #preprocessor normalize_ip4 #preprocessor normalize_tcp: ips
ecn stream #preprocessor normalize_icmp4 #preprocessor
normalize_ip6 #preprocessor normalize_icmp6
# # Reputation preprocessor. For more information see
README.reputation preprocessor reputation: \ memcap 500, \ priority
whitelist, \ nested_ip inner, \ whitelist
$WHITE_LIST_PATH/whitelist.rules, \ blacklist
$BLACK_LIST_PATH/blacklist.rules
# # syslog # output alert_syslog: LOG_AUTH LOG_ALERT output
alert_syslog: host=127.0.0.1:514, LOG_AUTH LOG_ALERT
Tambm vamos necessitar dos arquivos das regras de filtragem,
este arquivo pode ser baixado em:
http://www.snort.org/snort-rules/, so arquivos texto e seu download
cobrado, vamos descrever sua instalao para fins de documentao e
para nossos testes vamos nos dispor dos recursos do laboratrio de
informtica de Universidade Local.
Depois de baixado o arquivo(snortrules-snapshot-29xx.tar.gz),
descompacte-o e copie as pastas geradas com seus respectivos
contedos: /etc, /