ANÁLISE PRÁTICA DO IDS SNORT

download ANÁLISE PRÁTICA DO IDS SNORT

of 84

description

Análise prática da ferramenta integrando com MySQL, Apache, PHP e ACID

Transcript of ANÁLISE PRÁTICA DO IDS SNORT

  • 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

    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

    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, 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 HDIS 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 NDIS 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 4 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 : finalize

    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 OpenSource 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 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, /rules, /so_rules e /preproc_rules para dentro da pasta no Snort (/Snort).

    Tambm foi necessrio criar um arquivo texto chamado whitelist.rules e salvo de