avaliação do sia-di - sistema de detecção de intrusão baseado em

78
. UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORM ´ ATICA E ESTAT ´ ISTICA Relat´ orio T´ ecnico - Projeto de Pesquisa 2015.1313 Avalia¸c˜ ao do SIA-DI - Sistema de Detec¸c˜ ao de Intrus˜ ao baseado em Sistemas Imunol´ ogicos Artificiais - Ambiente de Nuvem Computacional Pesquisadores: Prof. Jo˜ ao Bosco Mangueira Sobral ([email protected]) 1 Prof. Renato Bobsin Machado 2 Cristiano Antonio de Souza 2 Gustavo dos Santos Vieira 2 Jonathan Cardoso de Campos 2 Mauricio Fontana 2 William Antonio da Rosa 2 1 Departamento de Inform´ atica e Estat´ ıstica, Distributed Mobile Computing and Network Security Lab (DMC-NS) - Grupo de Pesquisa em Seguranc ¸a da Informac ¸˜ ao, Redes e Sistemas, UFSC-CNPq 2 Laborat´ orio de Pesquisa em Seguranc ¸a Computacional (LapSec), Programa de P´ os-graduac ¸˜ ao em Engenharia El´ etrica e Computac ¸˜ ao (PGEEC), UNIOESTE, Campus de Foz do Iguac ¸u, PR - Grupo de Pesquisa em Seguranc ¸a da Informac ¸˜ ao, Redes e Sistemas, UFSC-CNPq

Upload: hoangdan

Post on 09-Jan-2017

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

.

UNIVERSIDADE FEDERAL DE SANTA CATARINADEPARTAMENTO DE INFORMATICA E ESTATISTICA

Relatorio Tecnico - Projeto de Pesquisa 2015.1313Avaliacao do SIA-DI - Sistema de Deteccao de Intrusao

baseado em Sistemas Imunologicos Artificiais - Ambiente deNuvem Computacional

Pesquisadores:

Prof. Joao Bosco Mangueira Sobral ([email protected])1

Prof. Renato Bobsin Machado 2

Cristiano Antonio de Souza 2

Gustavo dos Santos Vieira 2

Jonathan Cardoso de Campos 2

Mauricio Fontana 2

William Antonio da Rosa 2

1 Departamento de Informatica e Estatıstica, DistributedMobile Computing and Network Security Lab (DMC-NS) -Grupo de Pesquisa em Seguranca da Informacao, Redes e

Sistemas, UFSC-CNPq

2 Laboratorio de Pesquisa em Seguranca Computacional(LapSec), Programa de Pos-graduacao em Engenharia

Eletrica e Computacao (PGEEC), UNIOESTE, Campus deFoz do Iguacu, PR - Grupo de Pesquisa em Seguranca da

Informacao, Redes e Sistemas, UFSC-CNPq

Florianopolis, outubro de 2016

Page 2: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

UNIVERSIDADE FEDERAL DE SANTA CATARINADEPARTAMENTO DE INFORMATICA E ESTATISTICA- RELATORIO DO PROJETO DE PESQUISA 2015.1313 -

Prof. Joao Bosco Mangueira Sobral, Prof. Renato Bobsin Machado,Cristiano Antonio de Souza, Gustavo dos Santos Vieira, JonathanCardoso de Campos, Mauricio Fontana, William Antonio da Rosa

AVALIACAO DO SIA-DI - SISTEMA DE DETECCAO DEINTRUSAO BASEADO EM SISTEMAS IMUNOLOGICOS

ARTIFICIAIS - AMBIENTE DE NUVEMCOMPUTACIONAL

Florianopolis

Page 3: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

RESUMO

Neste trabalho e apresentado um estudo e implantacao em nuvem com-putacional, de um sistema de deteccao de intrusao (IDS ), denomi-nado SIA-DI. O trabalho foi baseado em trabalhos anteriores, umadissertacao de mestrado, a qual construiu o IDS SIA-DI, e dois TCCsrealizados no DMC-NS (Distributed Mobile Computing and NetworkSecurity), nos quais foi (1) implementado e atualizado a mobilidadedos agentes no IDS que simula o sistema imunologico humano, e em(2) quando foi implantado esta primeira experiencia em um ambientede computacao em nuvem no LRG-INE-UFSC. Com o IDS SIA-DI,funcionando em um ambiente virualizado e escalavel, foi possıvel ve-rificar ser desempenho, e neste projeto de pesquisa, divulgar a analiseda seguranca alcancada tanto em redes reais, quanto em ambiente denuvem computacional. Em complemento ainda foi realizado um estudoacerca de diferentes metodos de analise a serem incorporados no pro-cesso de deteccao e analise. Numa etapa (3), o IDS SIA-DI foi testadoem uma nuvem construıda com o ambiente de virtualizacao Proxmox,nos laboratorios DMC-NS (em uma nuvem privada virtual) e no Labo-ratorio de Pesquisa em Seguranca Computacional (LapSec), Programade Pos-graduacao em Engenharia Eletrica e Computacao (PGEEC),UNIOESTE, envolvendo maquinas fısicas formando um cluster fısico.O resultado mais importante e que se a parte basicado SIA-DI estiverinstalada num cluster, este IDS conseque monitorar maquinas virtuaisem outro cluster.

Palavras-chave: IDS. sistema de deteccao de intrusao. sistema imu-nologico artificial. agentes moveis. ameacas, ataques. SIA-DI

Page 4: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

LISTA DE FIGURAS

Figura 1 Estatısticas dos Incidentes Reportados ao CERT.br. . . . 6

Figura 2 Analogia entre o modelo biologico e um sistema compu-tacional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Figura 3 Modelo computacional do SIA-DI. . . . . . . . . . . . . . . . . . . . . . 10

Figura 4 Criptografia e descriptografia. . . . . . . . . . . . . . . . . . . . . . . . . . 18

Figura 5 Criptografia de chave simetrica.. . . . . . . . . . . . . . . . . . . . . . . . 19

Figura 6 Criptografia de chave assimetrica. . . . . . . . . . . . . . . . . . . . . . 20

Figura 7 Codigo PHP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Figura 8 Exemplo SQL Injection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Figura 9 Instrucao SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Figura 10 Instrucao SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Figura 11 Sequestro de clique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Figura 12 Codigo do formulario para comentario.. . . . . . . . . . . . . . . . . 33

Figura 13 Codigo do script introduzido pelo atacante. . . . . . . . . . . . . 33

Figura 14 Codigo do formulario apos o comentario do atacante. . . 33

Figura 15 URL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Figura 16 A nuvem e uma camada conceitual que engloba todosos servicos disponıveis, abstraindo toda a infraestrutura para ousuario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Figura 17 Relacao entre os tres cenarios de uma nuvem. (CHIRI-

GATI, 2009) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Figura 18 Arquitetura tradicional x Virtualizacao.(TECNOLOGIA, ) 48

Figura 19 Servidor em nuvem bare-metal. . . . . . . . . . . . . . . . . . . . . . . . . 52

Figura 20 Servidor multiplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Figura 21 Servidor bare metal sem hypervisor . . . . . . . . . . . . . . . . . . . . 53

Figura 22 Servidor bare metal com hypervisor. . . . . . . . . . . . . . . . . . . . 53

Figura 23 Arquivo de configuracao Syslog-NG. . . . . . . . . . . . . . . . . . . . 58

Figura 24 Comparacao mesmo Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Figura 25 Comparacao em clusters Diferentes . . . . . . . . . . . . . . . . . . . . 67

Figura 26 Diferenca entre Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Figura 27 Tempo de escrita de um agente no Banco de Dados. . . . 69

Page 5: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

LISTA DE TABELAS

Tabela 1 Metodos Internos de Solicitacoes HTTP. . . . . . . . . . . . . . . . 61

Tabela 2 Desempenho de Agentes Moveis em um Mesmo Cluster 65

Tabela 3 Desempenho de Agentes Moveis em Clusters Diferentes 67

Page 6: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

SUMARIO

1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1 TECNICAS IDS PARA NUVEM COMPUTACIONAL . . . 71.2 A SOLUCAO PROPOSTA NESTE TRABALHO . . . . . . . 71.3 METODOLOGIA UTILIZADA . . . . . . . . . . . . . . . . . . . . . . . 111.4 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.4.1 Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.4.2 Objetivos Especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 FUNDAMENTACAO TEORICA . . . . . . . . . . . . . . . 122.1 SEGURANCA DE REDES E SISTEMAS . . . . . . . . . . . . . . 122.1.1 Seguranca fısica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.1.2 Tecnicas de seguranca aplicadas as diferentes ca-

madas do modelo TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . 132.1.2.1 Host/Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1.2.2 Inter-redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.1.2.3 Transporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.1.2.4 Aplicacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.1.3 Criptografia simetrica e assimetrica . . . . . . . . . . . . . . . 182.1.3.1 Criptografia simetrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.1.3.2 Criptografia assimetrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.1.3.3 Criptografia Hıbrida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.1.4 Funcoes Hash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.1.5 Assinatura digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.1.6 Seguranca na web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2 TECNICAS DE ATAQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2.1 Ataques internos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.2.2 Ataques a servidores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2.3 Ataques a clientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.2.3.1 Sequestro de sessao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.2.3.2 Phishing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.2.3.3 Sequestro de clique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.2.3.4 Vulnerabilidades em conteudos de mıdia . . . . . . . . . . . . . . . . 312.2.3.5 Ataques a privacidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.2.3.6 Cross-Site Scripting(XSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.2.3.7 Defesas contra ataques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.2.4 Vırus de computador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.2.5 Ataques de programas maliciosos . . . . . . . . . . . . . . . . . . 372.2.6 Softwares de invasao de privacidade . . . . . . . . . . . . . . . 40

Page 7: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

2.3 SISTEMA DE DETECCAO DE INTRUSAO (IDS ) . . . . . 412.3.1 Conceito de IDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.3.2 IDS Baseado em Sistema Imunologico Humano . . 422.3.3 O Modelo Bio-Inspirado . . . . . . . . . . . . . . . . . . . . . . . . . . 432.4 NUVEM COMPUTACIONAL . . . . . . . . . . . . . . . . . . . . . . . . 432.4.1 Principais Tipos de Servicos . . . . . . . . . . . . . . . . . . . . . . 442.4.2 Principais Modelos de Nuvem Computacional . . . . . 472.4.3 Virtualizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472.4.4 Razoes de Uso de Maquinas Virtuais . . . . . . . . . . . . . . 492.4.5 Cluster Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492.4.6 Proxmox VE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502.4.7 KVM - Kernel-based Virtual Machine . . . . . . . . . . . . 502.4.7.1 Terminologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513 ARQUITETURA DO MODELO COMPUTACI-

ONAL APLICADO A NUVEM . . . . . . . . . . . . . . . . . 553.1 INFRA-ESTRUTURA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.1.1 Esquema da Nuvem Computacional deste trabalho 553.1.1.1 Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1.1.2 Cliente1Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1.1.3 Clente2Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1.1.4 ClienteCentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.1.1.5 ClienteKaliLinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.2 SYSLOG-NG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.3 LOGCHECK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.4 SERVICOS MONITORADOS . . . . . . . . . . . . . . . . . . . . . . . . 603.4.1 File Transfer Protocol (FTP) . . . . . . . . . . . . . . . . . . . . . 603.4.2 Internet Message Access Protocol (IMAP) . . . . . . . . 603.4.3 Hyper Text Transfer Protocol (HTTP) . . . . . . . . . . . 613.5 A FERRAMENTA MAUSEZAHN. . . . . . . . . . . . . . . . . . . . . 624 RESULTADOS APLICANDO SIA-DI EM AM-

BIENTE DE NUVEM . . . . . . . . . . . . . . . . . . . . . . . . . 644.1 DESEMPENHO DOS AGENTES . . . . . . . . . . . . . . . . . . . . . 644.1.1 Metodo Estatıstico Aplicado . . . . . . . . . . . . . . . . . . . . . . 644.1.2 Desempenho dos Agentes no mesmo Cluster . . . . . . 654.1.3 Desempenho dos Agentes em um outro Cluster . . . 664.1.4 Analise de Mobilidade dos Agentes . . . . . . . . . . . . . . . . 684.2 DESEMPENHO DA CONEXAO DE UM AGENTE MOVEL

COM O BD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695 CONSIDERACOES FINAIS . . . . . . . . . . . . . . . . . . . . 71

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Page 8: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

5

1 INTRODUCAO

A computacao em nuvem e um paradigma que vem se fortale-ceu no mercado corporativo mundial. Muitas instituicoes e empresasvem adotando esse novo modelo, pois ha vantagens bem significativas,como o consumo sob demanda como sendo o principal vantagem. Ocliente que utiliza esse modelo pagara apenas o que consumir, tendo aflexibilidade de aumentar seus recursos quando for preciso, diante dascaracterısiticas de elasticidade de uma nuvem.

De acordo com uma pesquisa realizada em 2012, pela equipe deconsultoria da IBM, em parceria com o instituto de pesquisa EconomistIntelligence Unit, no qual foram entrevistados mais de 500 executivos,verificou-se que 16% desses afirmam ja estarem utilizando recursos danuvem, enquanto outros 35% pretendiam utilizar ate 2015 (IBM, 2012).Atualmente, estes percentuais sao bem maiores e com uma tendenciade crescimento.

Porem, com a mudanca para esse paradigma, temos a conse-quente preocupacao com a seguranca. Neste sentido, e preciso estabe-lecer medidas eficazes para garantir a seguranca dos dados e a integri-dade do ambiente de nuvem computacional. A preocupacao se justificaquando e analisado a quantidade de incidentes reportados ao CERT(Centro de Estudos, Resposta e Tratamento de Incidentes). O CERT,no Brasil, e mantido pelo NIC.br, do Comite Gestor da Internet noBrasil, e atende a qualquer rede brasileira conectada a Internet. Dadosdo CERT mostra que houve um aumento expressivo na ultima decadacomo mostra a Figura 1.

Para minimizar esses numeros e preciso utilizar diferentes me-canismos de seguranca, tanto para prevencao de ataques, quanto adeteccao de ataques bem sucedidos, como e o caso de intrusoes. Oconceito do Sistema de Deteccao de Intrusao (IDS) nasceu com a ideiade papel de James Anderson em “ Computer Security Threat Monitora-mento e Vigilancia ” (ANDERSON, 1980) e desde entao IDS evoluiu aolongo do tres ultimos decadas. IDS e uma tecnologia de monitoramentopro-ativo e mecanismo de defesa para proteger as infra-estruturas de TIcrıticos de comportamentos maliciosos, que podem comprometer dadosconfidenciais e aplicacoes crıticas atraves de ataques a nuvem.

Mesmo um IDS estando na ultima camada de seguranca e re-presentando uma fatia pequena de incidentes, combater as intrusoes deforma eficaz e de extrema importancia. Em uma nuvem computacionalesse combate e de suma relevancia, pois muitos dos servicos fornecidos

Page 9: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

6

Figura 1 – Estatısticas dos Incidentes Reportados ao CERT.br.

em nuvem estao ligados a contratos de SLA (Service Level Agreement),no qual muitos deles tem que garantir um ambiente seguro.

Esse contexto tornou a seguranca, em nuvens computacionais,uma area que teve e ainda mantem um constante interesse, promo-vendo o aumento quantitativo e qualitativo de tecnicas com o intuitode proteger os ambientes computacionais. Em contrapartida, tem-se oaprimoramento e facil disseminacao de metodos intrusivos, caracteri-zando crimes computacionais que podem resultar na perda de produ-tividade, da disponibilidade, na violacao de informacoes confidenciais,entre outros requisitos de seguranca.

Na busca por uma infra-estrutura de seguranca em nuvens, tem-se aplicado uma diversidade de metodos que propiciam a construcaode infraestreutras de seguranca, entre as quais podemos citar as re-des neurais artificiais, a mineracao de dados, clusterizacao, algoritmosgeneticos, logica nebulosa, agentes moveis e os sistemas imunologicosartificiais.

Este trabalho tem por motivacao esse cenario, consistindo emuma abordagem para deteccao de intrusao inspirada nos conceitos oriun-dos do Sistema Imunologico Humano (SIH) e aplicando a tecnologia deagentes moveis para a implementacao de requisitos da solucao.

Page 10: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

7

1.1 TECNICAS IDS PARA NUVEM COMPUTACIONAL

Uma ampla pesquisa sobre as tecnicas sobre IDS implantados emnuvem computacional, pode ser encontrada no trabalho Towards theCloud Computing Security Featuring a Big Data and Autonomic Res-ponse System, a aparecer em (VIEIRA, 2017), contendo varias solucoesIDS implantadas em nuvens computacionais.

1.2 A SOLUCAO PROPOSTA NESTE TRABALHO

Este trabalho constitui num sistema de deteccao de intrusao ins-pirado no sistema imunologico humano, que constituiu uma linha depesquisa denominada Sistemas Imunologicos Artificiais (SIA). Nessecontexto, algumas analogias foram estabelecidas, sendo inicialmenteaplicado o conceito de funcoes de defesas em diferentes camadas.

A primeira camada corresponde a pele, a qual e composta porporos e constituem uma barreira fısica para a entrada de patogenos(vırus e bacterias). Correspondentemente o firewall desempenho essepapel computacionalmente, representando uma barreira fısica que fil-tram os enderecos IPs e portas que sao permitidos para a entrada esaıda de pacotes na rede.

A segunda barreira imunologica e a quımica, composta pelas sa-livas e mucosas, as quais destroem alguns patogenos que conseguempenetrar a pela. A analogia e feita computacionalmente por meio docontrole de servicos de rede, que autenticam e dao determinadas per-missoes em conexoes que ja foram permitidas no firewall.

Posteriormente temos o sistema imunologico inato, que nascecom o indıviduo, constituindo uma carga genetica hereditaria. Essacamada e implementada computacionalmente por meio do controle deacesso, permissoes de arquivos, sistemas de arquivos, polıticas de segu-ranca da instituicao e registros de atividades (logs).

Por fim, quando os patogenos ultrapassam todas as barreirasainda enfrentam o sistema imunologico adquirido, o qual tem a res-ponsabilidade de detectar padroes desconhecidos ou novos. Para issoutiliza-se celulas imunologicas especiais, as celulas T responsaveis peladeteccao e as celula B responsaveis pela resposta imunologica. Com-putacionalmente, isso foi representado pelas atividades de monitoracaode registros, patch de atualizacoes e pelos agentes moveis. Os agentessimulam o processo de deteccao de novas anomalias, pela memorizacaode novos ataques (memoria imunologica) e pelo processo de reagir ao

Page 11: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

8

ataque ou intrusao.A Figura 2 apresenta a analogia entre o sistema imunologico hu-

mano e um sistema computacional, a partir da analogia entre o modelobiologico e o modelo computacional.

A Figura 3 representa a sua modelagem computacional. Na partesuperior direita temos os servicos monitorados, os quais correspondemaos orgaos as celulas do corpo presentes nos orgaos (os servidores com-putacionais). Nesses servidores temos as funcoes relativas as barreirasfısica e quımica da figura anterior. Os logs sao capturados pelo soft-ware Syslog-ng fazendo o papel do sistema imunologico adquirido comos padroes conhecidos. Outros softwares utilizados, o Logchek e osagentes implementam o sistema imunologico adquirido. Nesse contextoo Logcheck decodifica os padroes de ataque, os quais sao expostos ascelulas T (agentes estaticos representados em verde). Esses agentessofrem clonagem e mutacao genetica para permitir a memorizacao dosnovos ataques reconhecidos (clonagem e agentes moveis de distribuicaoda protecao). Esses padroes sao armazenados em todas as estacoes darede, em seus bancos de dados, constituindo a memoria imunologica.Posteriormente sao acionadas as celulas de reacao e combate aos ata-ques patologicos, representados pelos agentes reativos (representadosem vermelho). Outros agentes, chamados de agentes de persistenciasao ativados em situacoes de queda da rede, e assim permitem a recu-peracao de falhas, como ocorre na representacao da robustez e escala-bilidade do sistema imunologico humano.

Page 12: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

9

Figura 2 – Analogia entre o modelo biologico e um sistema computaci-onal.

Page 13: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

10

Figura 3 – Modelo computacional do SIA-DI.

Page 14: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

11

1.3 METODOLOGIA UTILIZADA

O desenvolvimento deste trabalho consiste na seguinte metodo-logia:

• Pesquisa bibliografica sobre sistemas de deteccao de intrusao IDSem nuvem computacional.

• Pesquisa bibliografica sobre metodos de prevencao e deteccao deintrusao.

• Pesquisa bibliografica sobre metodos de inteligencia computacio-nal aplicado a seguranca de redes e de sistemas computacionais.

• Montagem de ambiente virtualizado, simulando uma nuvem com-putacional, para testes sobre o IDS SIA-DI.

• Analises dos resultados obtidos.

1.4 OBJETIVOS

1.4.1 Objetivos Gerais

• Testar uma nuvem computacional com o sistema de deteccao deintrusao SIA-DI funcionando.

1.4.2 Objetivos Especıficos

• Construir um ambiente virtualizado que simule uma nuvem com-putacional.

• Implantar um sistemas de deteccao de intrusao IDS no ambientede nuvem.

• Analisar o comportamento e desempenho do IDS, perantes testesde atques simulados sobre o SIA-DI.

• Estudar metodos alternativos de inteligencia computacional aplicaveisa prevencao e deteccao de intrusao, a serem aplicados em traba-lhos futuros.

Page 15: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

12

2 FUNDAMENTACAO TEORICA

Este capıtulo tem por objetivo apresentar alguns conceitos im-portantes que serao abortados ao longo do trabalho. Ele esta divididoem quatro secoes, na secao 2.1 e abordado o tema seguranca de redes ede sistemas, na secao 2.2 os tipos de ataques, na secao 2.3 e realizadoum breve resumo sobre Sistema de Deteccao de Intrusao, e na secao2.4 e apresentado o conceito de Nuvem computacional.

2.1 SEGURANCA DE REDES E SISTEMAS

2.1.1 Seguranca fısica

A seguranca fısica em seguranca de redes e sistemas consiste emproteger equipamentos e informacoes contra usuarios nao autorizados,evitando o acesso deles a esses recursos. O ambiente fısico abrange todoo ambiente onde os sistemas de informacao estao instalados.

E necessario utilizar alguns equipamentos e tecnicas para prote-ger o ambiente fısico, como por exemplo:

• Mecanismo de identificacao entre funcionarios, visitantes e cate-gorias diferenciadas de funcionarios;

• Controle de entrada e saıda de equipamentos, materiais e fun-cionarios;

• Sistemas de protecao e vigilancia 24/7;

• Nao instalar em areas de acesso publico equipamentos que per-mitam o acesso a rede interna da corporacao;

• Utilizar mecanismos de controle de acesso fısico em salas e areasde acesso restrito;

• Todo sistema deve ter um projeto de backup, em que seriam feitasdiversas copias do sistema, como um todo ou parcialmente, e taiscopias armazenadas em locais diferentes.

Page 16: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

13

2.1.2 Tecnicas de seguranca aplicadas as diferentes camadasdo modelo TCP/IP

2.1.2.1 Host/Rede

O Protocolo de resolucao de endereco (ARP - Address Resolu-tion Protocol) e um protocolo utilizado para encontrar o endereco dehardware de um host, ou seja, ele permite conhecer o endereco fısicode uma placa de rede que corresponde a um endereco IP (PLUMMER,1982).

Cada placa de rede possui um numero de identificacao, ele eunico e e atribuıdo na fabricacao da placa. No entanto esse numeronao e utilizado diretamente para a comunicacao na internet, porqueteria que ser alterado o enderecamento dos computadores cada vez quese altera-se uma placa de rede. Por isso a comunicacao e feita a partirdo endereco IP. Assim a funcao do protocolo ARP e a partir do enderecologico(IP), retornar o endereco fısico correspondente de uma placa derede(MAC). Para isso ele interroga as maquinas de rede para conhecero endereco fısico e mantem uma tabela de correspondencia entre osenderecos fısicos e logicos em uma memoria secreta.

A falsificacao de ARP e uma tecnica em que o atacante enviamensagens ARP falsas na rede, normalmente a finalidade e associar oendereco MAC do atacante com o endereco IP de outro host. Entaoqualquer trafego de dados dirigido ao endereco IP deste host, sera erro-neamente enviado ao atacante. A partir dai o atacante pode visualizar,modificar os dados e envia-los para o host correto, ou simplesmenteexecutar um ataque de negacao de servico sobre a vıtima.

Uma das maneiras de se defender de falsificacao de ARP e autilizacao de tabelas ARP estaticas, no entanto essa nao e uma solucaopratica, principalmente em grandes redes, devido ao grande esforconecessario para manter as tabelas ARP atualizadas.

Alem disso pode-se verificar a ocorrencia de mais de um enderecoMAC na rede, pois isso pode ser um indicio da presenca de falsificacaode ARP, no entanto, existe uso legıtimos de clonagem de enderecosMAC.

Outra forma e detecta-lo, o programa Unix chamado Arpwatchescuta as respostas ARP na rede e envia notificacoes para o email doadministrador da rede sempre que uma entrada ARP muda.

Page 17: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

14

2.1.2.2 Inter-redes

Cada pacote IP possui um campo origem onde e especificado oendereco IP do host que enviou o pacote e um campo destino onde eespecificado o endereco IP do host de destino.

Entretanto a validade do endereco de origem nunca e conferida.Para um atacante e uma tarefa trivial especificar um endereco IP dife-rente do IP real da origem. Assim sendo o atacante pode enviar pacotesIP, fazendo-se passar por um determinado host. No entanto o atacanteconsegue apenas falsificar a origem, o atacante nao recebe as respostas,por que elas vao para o endereco falsificado (GOODRICH; TAMASSIA,2013).

A falsificacao de IP e uma tecnica que pode ser utilizada emataques de negacao de servico, em que o atacante nao se importa emnao receber as respostas, ele so tem como objetivo sobrecarregar algumhost com requisicoes de dados.

A falsificacao de IP nao pode ser completamente evitada, masexistem algumas maneiras de se evitar.

A utilizacao de roteadores de borda e uma maneira de se lidarcom a falsificacao de IP, essa abordagem consiste em utilizar filtros nosgateways para bloquearem pacotes de fora do seu domınio que possuamenderecos de origem de dentro desse domınio, pois esses pacotes possi-velmente foram falsificados de modo a aparentarem estarem vindo dedentro da sub rede quando de fato estao vindo de fora. De modo similareles podem bloquear trafego de saıda da rede que possuam enderecosde origem de fora do domınio, prevenindo assim que utilizadores in-ternos da rede iniciem ataques contra maquinas externas (GOODRICH;

TAMASSIA, 2013).Outro problema encontrado nessa camada e a espionagem de pa-

cotes(packet sniffing), em uma rede Ethernet os quadros sao recebidospor todos os dispositivos que estao no mesmo segmento de rede, cadainterface de rede compara o endereco MAC de destino do quadro com oseu proprio endereco MAC, caso nao combinar os enderecos a interfacede rede descarta o quadro. Entretanto e possıvel modificar o modo deoperacao da interface de rede de modo que ela receba todos os qua-dros e nao os descarte, isso combinado com ferramentas de analise derede como Wireshark permite que os dados sejam extraıdos dos pacotesoriginais.

Existem algumas medidas para se evitar a espionagem de pa-cotes, a mais obvia delas e evitar o acesso nao autorizado a rede pri-vada. Outra e utilizar criptografia, um atacante pode examinar todo o

Page 18: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

15

conteudo de um pacote interceptado quando nao e utilizada encriptacaoem nenhuma camada, caso tenha sido utilizado o protocolo HTTPS queadota a encriptacao na camada de aplicacao, entao mesmo que o ata-cante consiga espionar o trafego ele nao conseguira decifrar o conteudo(GOODRICH; TAMASSIA, 2013).

2.1.2.3 Transporte

Um problema que ocorre na camada de transporte e o seques-tro de sessao TCP, que basicamente e uma maneira de um atacantesequestrar ou alterar uma conexao de outro usuario.

Um dos tipos de sequestro de sessao existente e a falsificacao desessao, o atacante cria uma imitacao de uma sessao TCP em vez deroubar uma existente.

Conexoes TCP sao iniciadas atraves do handshake de tres vias:

1. Cliente envia um pacote com o indicador SYN ligado;

2. Servidor responde com um pacote contendo um numero de sequenciainicial e com os indicadores SYN e ACK ligados;

3. Cliente envia pacote com o numero de sequencia recebido incre-mentado de 1 e o indicador ACK ligado.

Um ataque de previsao de sequencia TCP tenta adivinhar onumero de sequencia inicial enviado pelo servidor para o cliente du-rante a iniciacao de uma sessao TCP, de modo a criar uma sessao TCPfalsificada.

O outro tipo e o sequestro completo de sessao, esse tipo de se-questro pode ocorrer quando um atacante esta no mesmo segmento derede, pois ele pode espionar pacotes para ver os numeros de sequenciados pacotes utilizados para estabelecer a sessao, com isso o atacantepode injetar no servidor um pacote com numero de sequencia altamenteprovavel.

As solucoes utilizadas contra ataques de sequestro de sessao TCPenvolvem o uso de encriptacao e autenticacao, na camada de rede pormeio do IPSEC (Protocolo de Seguranca IP - IP Security Protocol) ena camada de aplicacao atraves da utilizacao de protocolos de aplicacaoque encriptam sessoes inteiras (GOODRICH; TAMASSIA, 2013).

Page 19: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

16

2.1.2.4 Aplicacao

O sistema de nomes de domınios, ou DNS(Domain Name Ser-vice) e um protocolo da camada de aplicacao que e essencial, ele eresponsavel por traduzir nomes de domınios, como www.goole.com.br,para enderecos IP.

Um tipo de ataque que pode ocorrer contra o DNS e o pharmingque consiste em fazer com que as requisicoes para sites sejam resolvidospara enderecos falsos, de servidores maliciosos, iludindo a vitima paraver ou descarregar conteudo nao desejado.

O pharming muitas vezes e utilizado para resolver um nome dedomınio para um site que aparenta ser identico ao site requisitado, masem vez desse, e um projetado com intencoes maliciosas. Esse tipo deataque pode ser utilizado para obter nomes e senhas de usuario, alemde outras informacoes pessoais e e chamado de phishing (GOODRICH;

TAMASSIA, 2013).Existe uma tecnica chamada de envenenamento de cache DNS,

nela um atacante coloca um registro falso no servidor DNS, fazendocom que todos os clientes que facam requisicoes DNS para esse servidorsejam encaminhados para enderecos IP fornecidos pelo atacante.

Cenario de envenenamento de cache:

1. Um atacante transmite consultas DNS para um servidor DNS,que por nao possuir a resposta para aquela consulta em sua ca-che necessita realizar uma consulta em um servidor de nomesautorizado;

2. O atacante envia uma reposta DNS para sua propria consultapara o servidor DNS falsificando o endereco de origem, de modoa se passar pelo servidor de nomes autorizado;

3. O servidor DNS esta esperando uma resposta do servidor de no-mes autorizado para aquela consulta, e ao receber a resposta falsaenviada por Jonatham, ele a aceita. O servidor coloca entao nacache DNS uma entrada associando o domınio requisitado porJonatham com o endereco IP malicioso que ele forneceu em suasrespostas forjadas;

4. Quaisquer usuarios que realizarem uma consulta DNS para resol-ver esse domınio no servidor atacado, serao dirigidos para o sitemalicioso do atacante.

Page 20: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

17

Atacante tem alguns obstaculos para emitir uma resposta falsaque ira ser aceita pelo servidor DNS.

1. O atacante precisa emitir uma resposta para sua propria consultaDNS antes que o servidor de nomes autorizado tenha a chance deresponder.

2. Cada requisicao de consulta DNS recebe uma ID de 16 bits,quando o servidor DNS recebe uma resposta de uma consultacom um ID diferente da sua requisicao correspondente ele ignoraa resposta.

Atacante tem mais chances de conseguir exito se emitir mui-tas requisicoes e respostas falsas para a mesma pesquisa de nome dedomınio.

No entanto esse tipo de ataque usando adivinhacao e extrema-mente limitado, devido ao curto espaco de tempo existente entre a re-quisicao e a resposta do servidor de dados autorizado. E quando umaresposta correta e recebida pelo servidor DNS, essa resposta e colocadana cache e e armazenada la pelo tempo especificado no campo tempode vida. Quando um servidor possui a resposta em sua cache ele naofaz requisicao para o servidor de nomes autorizado. Portanto o ata-cante possui apenas o tempo entre a requisicao inicial e a resposta doservidor de nomes autorizado para tentar adivinhar o ID da requisicao.Quando a resposta do servidor de nomes autorizado e colocado na ca-che do servidor DNS o atacante e obrigado a aguardar essa respostaexpirar antes de tentar novamente. Essa reposta pode expirar em mi-nutos, horas e ate dias, oque torna esse ataque meio que impraticavel(GOODRICH; TAMASSIA, 2013).

Utiliza-se algumas medidas provisorias para se defender dessesataques ate que uma solucao mais permanente seja desenvolvida, vistoque corrigir as vulnerabilidades do protocolo seria uma tarefa desgas-tante.

Desde 2008 a maioria dos servidores LDNS (DNS locais) sao con-figurados para aceitar consultas DNS apenas de dentro de sua rede in-terna, evitando assim tentativas de envenenamento externo. Outro me-dida e a randomizacao da porta de origem (source-port randomization-SPR) que consiste em randomizar a porta onde as consultas DNS saooriginadas e devem ser respondidas, isso faz com que o numero de possi-bilidades de combinacao seja a multiplicacao do numero de combinacoesde ID de consulta possıveis(216) pelo numero de portas (GOODRICH;

TAMASSIA, 2013).

Page 21: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

18

Mas essas medidas nao tornam impossıvel o envenenamento decache. Uma possıvel solucao e a adocao do DNSSEC que consiste emum conjunto de extensoes do protocolo DNS, eles evitam o envenena-mento de cache atraves da assinatura digital de todas as respostas DNSusando criptografia de chave publica. Contudo a ampla implementacaodo DNSSEC e um desafio.

2.1.3 Criptografia simetrica e assimetrica

Criptografia e um metodo que consiste em disfarcar um textopuro de forma que o seu conteudo fique ilegıvel. Um texto com oseu conteudo disfarcado dessa maneira e chamado de texto cifrado oucriptografado.

A criptografia e utilizada para trocar mensagens entre origem edestino sem que indivıduos terceiros que possam interceptar a mensa-gem consigam ter acesso ao conteudo da mensagem.

Na Figura 4 e possıvel observar que a transformacao do textoe chamada de criptografia e a transformacao do texto cifrado para otexto puro de descriptografia.

Figura 4 – Criptografia e descriptografia.

A criptografia permite transmitir dados por meios nao segurosde comunicacao, como a Internet, de modo que apenas o destinatarioconsiga ter acesso ao real conteudo dos dados. Basicamente a criptogra-fia e uma funcao matematica. Um algoritmo criptografico utiliza umachave, que pode ser uma palavra, numero ou frase para criptografarum texto simples (GOODRICH; TAMASSIA, 2013).

A seguranca dos dados criptografados que sao transmitidos de-pendem da forca do algoritmo criptografico e do sigilo da chave.

2.1.3.1 Criptografia simetrica

A criptografia de chave simetrica, tambem chamada de cripto-grafia de chave secreta utiliza apenas uma chave para criptografar e

Page 22: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

19

descriptografar, essa chave e secreta, ou seja, apenas o transmissor e odestinatario a conhecem.

Figura 5 – Criptografia de chave simetrica.

Um exemplo simples da aplicacao da criptografia de chave simetricae a cifra de substituicao, que substitui um trecho da informacao por ou-tro. Um caso conhecido deste tipo e a cifra de Cesar, que e baseadano alfabeto e a chave e o numero de letras do alfabeto que devem serdeslizadas para cima, como mostra o trecho a seguir:

• Alfabeto original: ABCDEFGHIJKLMNOPQRSTUVWXYZ

• Alfabeto deslizando 3 para cima: DEFGHIJKLMNOPQRSTUVWXY-ZABC

Onde D = A, E = B e F = C, codificando a palavra “SECRETO”com esse alfabeto temos “VHFUHWL”. E somente podera entendera mensagem quem conhecer o metodo e saber que a chave e 3. Eclaro que nos dias de hoje a cifra de cesar e bastante fraca (NETWORK

ASSOCIATES, INC., 1999).A criptografia de chave simetrica possui a vantagem de ser ex-

tremamente rapida e e especialmente util para dados que sao apenasutilizados localmente. Entretanto, utilizar essa tecnica como meio detransmissao segura de dados e extremamente complicado devido a difi-culdade de obter uma distribuicao segura de chaves (NETWORK ASSO-

CIATES, INC., 1999).O algoritmo dessa categoria mais adotado atualmente e o AES

(Advanced Encryption Standard), que foi desenvolvido pelos belgasJoan Daemen e Vincent Rijmen. O AES foi projetado para ser efici-ente tanto em hardware como em software e suporta blocos de dadosde 128 bits e chaves com 128, 192 e 256 bits de comprimento (AESEN-

CRYPTION, 2016).

Page 23: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

20

Quanto a sua seguranca, o AES e utilizado pelo governo dos Es-tados Unidos da America e, ate hoje, nenhum ataque criptoanalıticocontra o mesmo foi descoberto. Alem disso, o AES possui flexibili-dade quanto ao tamanho de chave, o que permite um grau de sobre-vivencia contra o progresso da tecnologia computacional (TUTORIALS-

POINT, 2016).

2.1.3.2 Criptografia assimetrica

Os problemas da distribuicao de chaves sao resolvidos pela crip-tografia de chaves publicas, que e um esquema assimetrico que usaum par de chaves para o tratamento dos dados: uma chave para a en-criptacao, e uma outra chave para a decriptacao. A chave, dita publica,e difundida para o mundo, real ou virtual, enquanto a chave privada emantida sob absoluto sigilo. Deste modo, qualquer pessoa que tenha co-nhecimento de uma determinada chave publica pode enviar dados parao detentor da respectiva chave privada, com a garantia de que somenteeste detentor podera ler os dados enviados: dados encriptados com umadas chaves so podem ser decriptados com a chave correspondente domesmo par (MARCIANO, 2016).

Figura 6 – Criptografia de chave assimetrica.

Quando PEDRO deseja enviar uma informacao pra JUCA, PE-DRO deve criptografar a informacao com a chave publica de JUCA,desse modo somente JUCA conseguira descriptografar a informacaocom a sua propria chave privada.

O principal algoritmo assimetrico e o RSA, descrito em 1977 porRon Rivest, Adi Shamir e Leonard Adleman. Sua seguranca provem dadificuldade em fatorar grandes numeros inteiros resultantes do produtode dois numeros primos grandes, visto que esse numero resultante eutilizado pelo algoritmo para calcular o par de chaves e atua como um

Page 24: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

21

elo entre elas (TECHTARGET.COM, 2014).Uma preocupacao constante no uso de sistemas criptograficos de

chaves publicas e que as chaves privadas sejam do conhecimento apenasdo seu proprietario. Num ambiente de redes e servidores publicos,ataques do tipo ”man-in-the-middle” sao uma ameaca potencial. Nestetipo de ataque, o atacante pode tentar introduzir uma chave copiadacom o nome e identificacao do usuario pelo qual pretende se passar.Assim, os dados cifrados enviados ao usuario legıtimo tambem seraovistos pelo atacante (MARCIANO, 2016).

Alem do algoritmo RSA podemos citar outros:

• Elgamal: nomeado com este nome pelo fato de seu inventor sero Taher Elgamal;

• DSA: Algoritmo de Assinatura Digital, inventado por David Kra-vitz.

2.1.3.3 Criptografia Hıbrida

E uma abordagem de que utiliza das vantagens da criptografiasimetrica (eficiencia) e assimetrica (distribuicao de chaves).

Neste tipo de criptografia, a mensagem original e cifrada utili-zando algum algoritmo de chave privada e esta chave e transmitida aoreceptor de forma criptografada atraves de algoritmo de chave publica.Dessa forma, o usuario utiliza sua chave assimetrica privada para obtera chave simetrica e, por consequencia, descriptografar a mensagem.

O programa PGP, do ingles Pretty Good Privacy (privacidademuito boa), utiliza a abordagem de criptografia hıbrida. Seu funciona-mento para enviar uma mensagem e o seguinte:

1. Primeiramente o PGP comprime os dados.

2. PGP entao criptografa(criptografia simetrica) a informacao comuma chave aleatoria secreta.

3. Entao criptografa(criptografia assimetrica) a chave secreta utili-zada no passo anterior, com a chave publica do receptor.

4. Envia a informacao criptografada e a chave secreta criptografada.

Para o receptor ter acesso a informacao e necessario:

Page 25: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

22

1. Utilizar sua propria chave privada para descriptografar (cripto-grafia assimetrica) a chave secreta (gerada aleatoriamente na pri-meira fase da encriptacao).

2. Utiliza a chave secreta (descriptografada na fase anterior) paradescriptografar (criptografia simetrica) a informacao e recuperaros dados originais.

Encriptacao da abordagem simetrica e aproximadamente 1000vezes mais rapida que a encriptacao assimetrica. A encriptacao as-simetrica prove em troca uma solucao para a distribuicao da chave etransmissao de dados seguramente. Usadas juntas, aumentam o desem-penho e a seguranca da transmissao dos dados (NETWORK ASSOCIATES,

INC., 1999).

2.1.4 Funcoes Hash

Uma funcao hashing e uma funcao criptografica que recebe umainformacao de qualquer tamanho e gera uma saıda de tamanho fixo,geralmente de 128 a 256 bits. Essa saıda e chamada de hash da men-sagem.

E impossıvel impedir que mensagens diferentes levem a um mesmohash. Quando se encontram mensagens diferentes com hashes iguais, edito que foi encontrada uma colisao de hashes. Um algoritmo onde issofoi obtido deve ser abandonado. As funcoes de hash estao em constanteevolucao para evitar que colisoes sejam obtidas.

Cabe destacar que a colisao mais simples de encontrar e umaaleatoria, ou seja, obter colisoes com duas mensagens geradas aleatori-amente, sem significado real. Quando isto ocorre os estudiosos de crip-tografia ja ficam atentos, porem para comprometer de maneira imediataa assinatura digital seria necessario obter uma mensagem adulteradaque tenha o mesmo hash de uma mensagem original fixa, o que e teori-camente impossıvel de ocorrer com os algoritmos existentes hoje. Destaforma, garante-se a integridade da assinatura. Um algoritmo bastantedifundido para esta finalidade e o MD5, que produz como saıda umaimpressao digital de 128 bits da mensagem desejada. E considerado quee computacionalmente inviavel produzir duas mensagens que gerem omesmo fingerprint, ou gerar uma mensagem a partir de uma impressaodigital obtida (RIVEST, 1992).

O MD5 foi originalmente desenvolvido para ser utilizado como RSA, porem, atualmente seu uso e bastante utilizado por diversos

Page 26: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

23

softwares, principalmente pelos que utilizam o protocolo P2P, para ve-rificacao de integridade de arquivos e logins.

Outros algoritmos conhecidos:

• MD2 Message Digest Algorithm RDA-MD2: Desenhou-se para computadores com processador de 8 bits, e hoje quasenao se utiliza. Conhecem-se ataques a versoes parciais de MD2.

• MD4 Message Digest Algorithm RDA-MD4: Foi intro-duzido com o objetivo de que fosse uma funcao rapida mas ja sedemonstrou que nao e seguro. Demonstrou-se que era possıvelachar colisoes para MD4 em menos de um minuto utilizando umPC simples.

• SHA-1, Secure Hash Algorithm: E muito similar, no seumodo de operacao, com o MD5. Este algoritmo e ligeiramentemais lento do que MD5, mas a maior longitude do resumo damensagem o faz mais seguro frente a procura de colisoes usandoa forca bruta. Produz saıda de 160 bits.

• SHA-2: SHA-2 e um conjunto de funcoes hash criptograficas.Inclui mudancas significativas de seu antecessor, SHA-1. A famıliaSHA-2 e composta por seis funcoes hash com resumos (valores dehash) que sao de 224, 256, 384 ou 512 bits.

2.1.5 Assinatura digital

Uma assinatura digital tem a mesma finalidade de uma assina-tura manuscrita, porem as assinaturas manuscritas sao faceis de falsi-ficar.

As criptografias assimetricas fornecem um metodo de assinatu-ras digitais. As assinaturas digitais permitem verificar a autenticidadedo transmissor da informacao e tambem verificar se a informacao estaintacta. Ela tambem permite a verificacao de nao repudio, ou seja, im-pede que o remetente de alegar que nao enviou determinada informacao.

Na assinatura digital em vez de criptografar a mensagem com achave publica do destinatario, o emissor criptografa com a sua chaveprivada, desse modo quem receber a mensagem conseguira descripto-grafar apenas com a chave publica do emissor, provando desse modoquem foi o emissor.

O problema desta abordagem, e que ela e lenta e produz umenorme volume de dados, normalmente com ate o dobro do tamanho

Page 27: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

24

da informacao original. Para aperfeicoar esse mecanismo de assinaturadigital, utiliza-se um metodo que gera uma valor de tamanho fixo queidentifica a integridade do conteudo da mensagem. Essa funcao e co-nhecida como hash, e garante que se a informacao for alterada de qual-quer maneira, um valor completamente diferente e gerado (NETWORK

ASSOCIATES, INC., 1999).A assinatura com a chave privada e entao realizada sobre esse

valor, tambem conhecido como message digest (sıntese da mensagem)ou figerprint (impressao digital), e enviada ao receptor juntamente coma mensagem em si. Isso garante nao apenas a autenticidade comotambem a integridade da mensagem, alem de eliminar o problema emrelacao ao custo de processamento e memoria ao assinar a mensagemdiretamente (NETWORK ASSOCIATES, INC., 1999).

2.1.6 Seguranca na web

O protocolo padrao HTTP nao fornece nenhum meio de encrip-tar seus dados, os conteudos sao enviados de forma pura. Devido aessa falta de encriptacao se um atacante interceptar os pacotes queestao sendo enviados entre um site e um navegador, ele pode ter plenoacesso a qualquer informacao que o usuario esteja transmitindo. Essafalta de confidencialidade torna o HTTP inapropriado para transmissaode informacao sensıvel, como senhas, numeros de cartoes de credito eoutros documentos pessoais.

Para resolver este problema existe o HTTPS que e sintatica-mente identico ao HTTP, porem incorpora uma camada adicional deseguranca conhecida como SSL (Secure Socket Layer) ou uma nova im-plementacao conhecida como TLS (Rransport Layer Security). SSL eTLS utilizam o conceito de certificado para verificar a identidade doservidor e estabelecer um canal de comunicacao encriptada entre o na-vegador web e o servidor web.

Certificados fornecem um meio de verificar a identidade de umsite para seus clientes. Os certificados sao assinados digitalmente,usando a chave privada de um terceiro, conhecido como Autoridadede Certificacao (CA- Certificate Authority). O proprietario de um siteobtem um certificado submetendo uma requisicao de assinatura de cer-tificado para uma CA e pagando uma taxa.

Certificados estendidos de validacao sao certificados que somentepodem ser emitidos por CAs que passam por auditorias que demons-tram que eles adotam criterios estritos para confirmar a identidade do

Page 28: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

25

sujeito.Uma sessao encapsula informacoes sobre um visitante que per-

siste alem da carga de uma unica pagina. Existem diversas aborda-gens para servidores web manterem informacoes de sessao para seususuarios, incluindo passar informacoes de sessao por meio de variaveisGET e POST, usando um mecanismo conhecido como cookies e imple-mentando variaveis de sessao no servidor.

Uma tecnica para estabelecer sessoes de usuario e passar in-formacao de sessao para o servidor toda vez que o usuario carrega umanova pagina usando requisicoes GET e POST. Esse metodo e particular-mente suscetıvel a ataques homem-ao-meio, visto que requisicoes HTTPnao sao encriptadas. Um atacante que obtenha acesso as variaveis GETe POST que estao sendo submetidas pelo usuario poderia sequestrarsua sessao e assumir sua identidade.

Os cookies sao pequenos pacotes de dados que sao enviados parao cliente pelo servidor e armazenados na maquina do cliente. Quandoo usuario visita o site esses cookies sao retornados, inalterados, parao servidor que consegue entao ”relembrar”esse usuario e acessar a suainformacao de sessao. cookies tem profundas implicacoes para a se-guranca de sessoes de usuarios. E perigoso armazenar qualquer in-formacao sensıvel sem encriptacao no corpo de um cookie, visto quecookies podem ser normalmente acessados por usuarios do sistema noqual estao armazenados. Existe a necessidade dos usuarios protegeremseus cookies como se fossem informacoes de login. A data de expiracaoinserida no cookie e uma boa medida de prevencao, mas ainda assime recomendado que usuarios apaguem seus cookies regularmente paraevitar ataques.

Outro metodo de manter informacao de sessao e reservar espacono servidor web para manter informacoes do usuario. Essa tecnica re-duz varios riscos para o usuario, porque o comprometimento do sistemado usuario nao mais necessariamente resulta no comprometimento desuas sessoes web.

2.2 TECNICAS DE ATAQUE

2.2.1 Ataques internos

Um ataque interno e uma brecha de seguranca causada poralguem que faz parte da organizacao que controla ou constroi os bensque devem se protegidos. No caso de malware (software malicioso), um

Page 29: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

26

ataque interno seria um furo de seguranca criado em um sistema desoftware por um de seus programadores.

Entradas clandestinas (backdoor) e uma caracterıstica ou co-mando escondido em um programa que permite ao usuario realizaracoes que normalmente ele nao poderia. Essas entradas sao sempre cri-adas por um dos desenvolvedores ou administradores do software. Noentanto nem sempre essas entradas sao colocadas em programas parafins maliciosos, elas podem ser utilizadas para fins de depuracao, em umsistema de autenticacao biometrica para um programa de login em com-putador, caso ocorra uma falha no mecanismo de autenticacao, e inte-ressante ter um comando ou senha para contornar o sistema biometrico,para evitar que o sistema fique completamente inutilizavel.

De acordo com Goodrich e Tamassia (2013), bombas logicas saoprogramas que realizam uma acao maliciosa como resultado de umacerta condicao logica. Um exemplo classico de bomba logica e onde oprogramador coloca uma bomba logica que ira fazer o programa falharem uma certa data. A bomba logica sera desabilitada por meio de umaentrada clandestina, mas o programador somente fara isso se for pagopelo desenvolvimento do programa.

Proteger um sistema contra bombas logicas e entradas clandes-tinas nao e facil, porque cada um desses tipos de malware e criado porum programador de confianca. As possıveis defesas sao as seguintes:

• Evitar pontos simples de falhas, nao deixar uma unica pessoacriar backups ou gerenciar recursos crıticos;

• Usar inspecoes de codigo. Cada programador apresenta seu codigopara outro programador, de modo que este possa identificar omissoesde condicoes o erros logicos nao detectados;

• Usar ferramentas de arquivamento e documentacao, pois elas po-dem trazer o beneficio de revelar ou documentar ataques internos,alem de seus objetivos basicos de produzir software de qualidade;

• Limitar autoridade e permissoes;

• Monitorar comportamento dos empregados;

• Controlar instalacoes de software.

Page 30: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

27

2.2.2 Ataques a servidores

Linguagens de scripts de servidores permitem que estes executemacoes como acessar bancos de dados e modificar o conteudo de umsite baseado na entrada do usuario ou nas configuracoes pessoais denavegadores. O codigo do servidor e executado no servidor e, em funcaodisso, somente e visıvel ao cliente o resultado da exibicao desse codigo,e nao o seu fonte.

Um ataque de inclusao de script no servidor consiste em umatacante explorar uma vulnerabilidade de seguranca da Web de umservidor para injetar codigo de script nele, que ao executar o codigo irarealizar uma acao desejada pelo atacante.

Em alguns momentos e desejavel que o codigo do servidor executecodigo contido em outros arquivos alem do que esta sendo executado nomomento. Algumas vezes e util carregar arquivos com base em entradasdo usuario.

Figura 7 – Codigo PHP.

Nesse caso, navegar para ”vitima.com/index.php?page=news”levariao servidor web a carregar e executar a pagina ”‘news.php”’. No entantoum atacante pode navegar para a pagina especificada na seguinte URL:

• http://vitima.com/index.php?page=http://malicioso.com/ codi-gomalicioso

Isso faria com que o servidor Web executa-se o codigo de:

• malicioso.com/codigomalicioso.php

Esse tipo de ataque e conhecido como inclusao de arquivo remoto(Remote-File Inclusion - RFI). Felizmente esse tipo de ataque estao setornando menos comuns, isso por que agora a maioria das instalacoesPHP nao permite, por default, que o servidor execute codigo hospedadoem servidor separado.

O ataque inclusao de arquivo local( Local File Inclusion - LFI) fazo servidor executar um codigo que esta escondido no proprio servidorvıtima.

Page 31: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

28

Injecao SQL permite a um atacante acessar, modificar informacoesde um banco de dados atraves da insercao de seus proprios comandosSQL em um fluxo de dados que e passado para o banco de dados porum servidor Web, isso ocorre geralmente pela falta de validacao daentrada, por parte do servidor.

A Figura 8 apresenta um exemplo classico de tal pratica numatela de autenticacao:

Figura 8 – Exemplo SQL Injection.

O problema ocorre devido a autenticacao do usuario ser validadainternamente pela aplicacao com a seguinte instrucao, que verifica seexiste um usuario com o respectivo login e senha:

Figura 9 – Instrucao SQL.

Normalmente, seriam digitados o login e a senha, que resulta-ria em uma consulta ao banco de dados para verificar se os mesmosconferem. Mas na Figura 8 foi passado parte de um comando SQL nocampo reservado para senha, que internamente resultara na instrucaoapresentada na Figura 9:

Figura 10 – Instrucao SQL.

Observe que o comando passado no campo da senha fez com queindependente do login e senha informados, a condicao seja sempre ver-dadeira (Figura 10), permitindo assim o acesso do usuario a aplicacaosem o mesmo possuir a devida permissao.

Atraves dos ataques de injecao de SQL e possıvel muitas vezes

Page 32: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

29

inserir novos registros, a modificacao de registros existentes, eliminacaode registros e ate mesmo eliminacao de tabelas inteiras.

As vulnerabilidades de injecao SQL resultam de falha de progra-madores ao filtrar a entrada fornecida pelos usuarios antes de usar essaentrada em consultas no banco de dados. A maioria das linguagensfornece funcoes que retiram caracteres perigosos da entrada.

Quando um site usa um unico servidor para hospeda-lo, esseservidor e chamado de ponto unico de falha. Ter um unico ponto defalha para um site tambem propicia uma possıvel vulnerabilidade paraataques de negacao de servico para aquele site. A redundancia podetornar um site mais resiliente contra ataques de negacao de servico,tornando mais difıcil para o atacante desabilitar todos os servidoresweb que estao hospedando aquele site.

Escalacao local de privilegios consiste no processo de explorarvulnerabilidades no sistema operacional para aumentar privilegios deum usuario. Portanto servidores Web devem ser projetados de modoa receber o menor privilegio necessario para fazer o seu trabalho e serconfigurados para ter o minimo de outros conteudos acessıveis alem deseus sites.

O principal conceito para a seguranca de servidores e o de va-lidacao de entrada. Grande parte das vulnerabilidades de segurancaencontradas podem ser evitadas se os programadores se certificarem deque, sempre q o usuario tiver oportunidade de fornecer uma entrada,essa entrada deve ser verificada quanto a comportamento malicioso.

2.2.3 Ataques a clientes

2.2.3.1 Sequestro de sessao

Assim como e possıvel ocorrer o sequestro de sessoes TCP, omesmo pode ocorrer com sessoes HTTP, na realidade um ataque desequestro de sessao TCP tambem pode ser usado para se apoderarde uma sessao HTTP. Um ataque desse tipo pode ser muito danosose apenas for usada uma autenticacao forte no inicio de uma sessaoHTTP, mas a comunicacao nao for encriptada depois disso.

Atraves da espionagem de pacotes um atacante pode descobriros IDs de sessoes que estiverem sendo usados por uma vitima, com essainformacao um atacante pode sequestrar uma sessao HTTP. Portanto aprimeira tecnica de defesa e a protecao contra a espionagem de pacotes.

Page 33: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

30

2.2.3.2 Phishing

Em um ataque conhecido como phishing o atacante cria um sitefalsificado que aparenta ser identico a um site legitimo, para enganarusuarios para que os mesmos divulguem dados particulares. Geral-mente esse tipo de ataque tem como alvo empresas de servicos finan-ceiros, devido ao fato da informacao que pode ser obtida ser relacionadaa transacoes financeiras. Uma das tecnicas utilizadas pelos navegadorespara prevencao de phishing e atualizar regularmente uma lista negrade sites conhecidos de phishing.

Os atacantes utilizam tecnicas de ofuscamento de URL1 paraenganar a vitima. Por exemplo, uma simples grafia incorreta podenao ser percebida por um usuario casual. Outra forma de se ofuscaruma URL e conhecido como ataque Unicode(ataque homografo),existem muitos caracteres que possuem diferentes valores Unicode, massao representados da mesma maneira pelo navegador. Por exemplo, umsite registrou o dominio www.paypal.com usando a letra cirılica p, quetem valor Unicode 0440, em vez da letra p de ASCII, que tem valorUnicode 0070, desse modo quando visitantes sao direcionados para estapagina, o exame de URL nao consegue revelar atividade maliciosa, porque o navegador representa os caracteres de forma identica.

2.2.3.3 Sequestro de clique

Sequestro de clique e um ataque em que o clique do mouse emuma pagina e usado de forma que nao era pretendida pelo usuario. Porexemplo (Figura 11):

Figura 11 – Sequestro de clique.

Este tipo de ataque pode ser utilizado para forcar os usuarios aclicarem nos anuncios sem querer, aumentando o lucro de sites frau-dulentos, visto que os mesmos recebem dos anunciantes baseado nonumero de cliques.

1URL e o endereco de um recurso disponıvel em uma rede, seja a rede internet ouintranet, e significa em ingles Uniform Resource Locator, e em portugues e conhecidopor Localizador Padrao de Recursos.

Page 34: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

31

Pode ocorrer alem da acao de realmente clicar sobre uma pagina,visto que e possıvel atraves de eventos Javascript disparar acoes quandoum usuario simplesmente move o mouse sobre o elemento.

Para a prevencao de sequestro de cliques geralmente os nave-gadores disponibilizam plugins para evitar a execucao de scripts semque o usuario de permissao. Por exemplo o NoScript para Firefox quepermite manter uma lista branca de sites de confianca, para os quaissao permitidas as execucoes de scripts.

2.2.3.4 Vulnerabilidades em conteudos de mıdia

Uma sandbox se refere a privilegios restritos de uma aplicacao ouscript que executa dentro de outra aplicacao, podendo permitir acessoapenas a certos arquivos. Vulnerabilidades em uma tecnologia podempermitir a atacantes ultrapassar os limites da sua sandbox e acessarrecursos que nao deveria ter acesso.

Conteudos de mıdia podem possuir vulnerabilidades que repre-sentam riscos significativos para um cliente Web. Cada vez mais audioe vıdeos sao embutidos em sites, se um reprodutor embutido de mıdiativer falhas no nıvel de aplicacao, arquivos maliciosos de mıdia podemser criados para escapar da sandbox do navegador da vitima e executarcodigo na maquina da vitima.

Um formato de mıdia bastante popular e o Adobe Flash e comotodo reprodutor de midia que requer um reprodutor separado, ele apre-senta potenciais vulnerabilidades. E importante utilizar sempre a versaomais recente, que inclui correcoes das vulnerabilidades anteriormentedescobertas.

Java applets fornecem uma maneira de passar aplicacoes Javacom muitos recursos por um navegador Web do usuario. Sao executadosem ambiente isolado, com restricoes de leitura e escrita no sistema dearquivos do cliente e sem permissao para estabelecer outras conexoesde rede. Entretanto os applets aprovados pelo usuario como dignosde confianca tem as restricoes de isolamento estendidas alem desseslimites. Deve-se tomar cuidado sempre que houver solicitacao de umapplet para ultrapassar as restricoes da sandbox.

O ActiveX controls sao aplicacoes que podem ser passadas pelaWeb e executadas em um navegador. Eles recebem acesso a todos os re-cursos do sistema fora do navegador, para aliviar os riscos que isso podecausar, e usado um esquema de assinatura digital para certificar a au-toria dos Active controls. No entanto isso nao garante total seguranca,

Page 35: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

32

por isso as configuracoes do navegador Internet Explorer permitem aousuario especificar se gostaria de permitir Active controls, bloquea-losou permiti-los somente apos aviso, com configuracoes especificas.

2.2.3.5 Ataques a privacidade

A privacidade do usuario e muito importante, milhoes de pes-soas possuem informacao pessoal na Web, como sites de redes sociais, eessa informacao nao pode se tornar disponıvel publicamente sem o co-nhecimento do usuario. Muitas vezes sites ilegıtimos tentam conseguirinformacoes privadas de usuarios para depois vender para anunciantes,sites de spam e ladroes de identidade.

Os cookies geram grandes preocupacoes especificas de privaci-dade. Por exemplo os cookies de terceiros que sao cookies que naoforam enviados pelo site que esta sendo acessado. Um dos casos maiscomuns ocorre com banners de publicidade, o codigo do anuncio ficahospedado em outro servidor, e alem de exibir a propaganda ele en-via cookies para rastrear o usuario e coletar estatısticas de uso. Essemonitoramento de habitos do usuario e considerado uma invasao deprivacidade.

Como medidas de prevencao os navegadores atuais incluem acapacidade de especificar politicas regulatorias sobre o tempo de arma-zenamento de cookies e se sao permitidos ou nao cookies de terceiros.

2.2.3.6 Cross-Site Scripting(XSS)

Ataques de scripts atraves de sites (Cross-Site Scripting -XSS) representa uma das vulnerabilidades de seguranca Web maiscomum atualmente e consiste na injecao de codigo em sites atravesda nao validacao de entradas, codigos esses, que posteriormente saoexecutados nos navegadores dos visitantes.

Em um ataques XSS persistente, o codigo injetado pelo ata-cante permanece no site e e visıvel para outros usuarios. Por exemploum site que permite aos visitantes inserir comentarios, se a entrada deum usuario a ser armazenada nos comentarios nao for devidamente va-lidada, pode ser possıvel a um atacante injetar codigo malicioso e quee executado quando outros usuarios visitam a pagina.

Um exemplo e uma pagina com formulario para comentario, quenao realiza validacao dessa entrada, o codigo do formulario e apresen-

Page 36: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

33

tado na Figura 12.

Figura 12 – Codigo do formulario para comentario.

Codigo Javascript introduzido pelo atacante como entrada paracomentario pode ser visto na Figura 13.

Figura 13 – Codigo do script introduzido pelo atacante.

O codigo da pagina resultante dos comentarios e apresentado naFigura 14, com o Javascript injetado pelo atacante.

Figura 14 – Codigo do formulario apos o comentario do atacante.

Se alguem visitar a pagina contendo o comentario do atacante,esse trecho Javascript sera executado como codigo. O atacante podesimplesmente injetar um script curto que redireciona todos os visitantespara uma nova pagina que tenta baixar vırus para o seu sistema. Alemdisso devido a capacidade do Javascript de acessar e manipular coo-kies um atacante poderia redirecionar a vitima para seu site maliciosopassando os cookies do usuario como parametro.

As falhas XSS do tipo nao persistente sao as mais encontradaspela web. Um exemplo classico e uma pagina de busca que ecoa aconsulta de pesquisa. Por exemplo, ao digitar ”unioeste”em uma caixa

Page 37: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

34

de pesquisa do site do Banco do Brasil, a pagina resultante pode iniciarcom uma linha que diz: ”Resultados de busca por unioeste”. Se aentrada do usuario nao e filtrada para certos caracteres, a injecao desegmentos de codigo na caixa de pesquisa poderia resultar na inclusaode codigo na pagina de resultados de pesquisa.

A princıpio essa vulnerabilidade parece nao ser muito significantepois o atacante tem a capacidade de injetar codigo em uma pagina quee visıvel somente para o proprio atacante. Um possıvel fluxo para esseataque seria o envio, por parte do atacante, de SPAMs para caixa deentrada de varios usuarios com alguma notıcia referente ao Banco doBrasil por exemplo, seguido por uma URL (Figura 15) como esta:

Figura 15 – URL.

Como o usuario confia no domınio do banco, clicaria no link semmaiores ressalvas. A resposta do servidor a tal URL seria a propriapagina do banco com um codigo malicioso embutido. Com esse codigosendo executado no browser da vıtima, o atacante poderia coletar todasas informacoes desejadas e envia-las para um servidor proprio, semque o usuario percebesse qualquer anomalia ou mesmo imaginasse queestava sendo vıtima de um ataque.

O XSS e uma vulnerabilidade do cliente mas a causa desses errosesta no servidor. A causa de XSS e a falha cometida por programadoresao nao filtrar entradas fornecidas pelo usuario. Tecnicas de prevencaoconsistem em desabilitar scripts de servidores de certos domınios e amaioria dos navegadores permite ao usuario configurar politicas restri-tivas sobre quando podem ser executados scripts. O plugin do FirefoxNoScript permite controlar essa politicas, alem de realizar a deteccaode XSS, atraves da filtragem de todas as variaveis GET e POST emrelacao a caracteres que poderiam resultar em execucao de codigo nocliente.

2.2.3.7 Defesas contra ataques

A reducao dos ataques vistos nesta sessao pode ser facilitada comdos metodos basicos:

• Praticas de navegacao segura: e importante que os usuarios sejamatenciosos ao navegar na Web. Por exemplo links para sites des-conhecidos, contidos em e-mails nao devem ser clicados. Fornecer

Page 38: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

35

informacoes pessoais somente quando esta sendo usado HTTPS.Deve-se examinar a URL para verificar a legitimidade do site etambem verificar se existem erros de certificado. Alem disso eimportante conhecer as caracterısticas dos navegadores que saoprojetadas para evitar certos tipo de ataques;

• Medidas de seguranca incluıdas no navegador:

– Iternet Explorer: Utiliza conceitos de zonas. Por default,sites Web sao colocados na Zona Internet. Usuarios podementao delegar os sites para zonas Confiaveis e Restritas,cada zona possui sua propria politica de seguranca;

– Firefox: Nao utiliza conceitos de zona, mas aplica suas regrasa todos os sites visitados.

– Opera: Utiliza abordagem de configuracoes globais de segu-ranca, mas permite que usuarios apliquem politicas especi-ficas a sites individuais;

– Alem disso, a maioria dos navegadores utiliza notificacoesautomaticas se um usuario visita um site que esta em umalista negra publica de sites conhecidos de phishing ou dedistribuicao de malware.

2.2.4 Vırus de computador

Um de computador e um codigo malicioso que pode se replicarpela modificacao de outros arquivos e programas para inserir codigocapaz de replicacao posterior. A replicacao de um vırus requer algumtipo de assistencia do usuario, como clicar em um anexo de e-mailou compartilhar uma unidade USB por exemplo. Os vırus geralmenterealizam alguma tarefa maliciosa como eliminar arquivos importantese roubar senhas (GOODRICH; TAMASSIA, 2013).

Um vırus de computador segue 4 fases de execucao:

• Fase dormente: Nesta fase o vırus apenas existe, esta parado eevitando deteccao;

• Fase de propagacao: Durante essa fase o vırus esta se replicando,infestando novos arquivos em novos sistemas;

• Fase de ativacao: Nesta fase alguma condicao logica faz o vıruspassar do estado dormente ou do de propagacao para realizar aacao pretendida;

Page 39: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

36

• Fase de acao: E nessa fase que o vırus realiza a acao maliciosapara a qual ele foi concebido. A acao em questao pode ser bemsimples como exibir uma figura boba na tela do computador, oualgo bem malicioso, como eliminacao de arquivos essenciais dodisco rigido.

Podemos separar os vırus de computadores em alguns tipos:

• Vırus de programa: Sao conhecidos tambem como vırus de ar-quivo, esse tipo de vırus infecta um programa pela modificacao doarquivo que contem seu codigo objeto, assim o vırus de programasera executado cada vez que o programa infectado executar.

• Vırus de macro: Conhecidos tambem como vırus de documentos,ele e ativado quando um documento infectado e aberto, nessemomento o vırus pode procurar outros documentos para infectar.Alem disso um vırus de macro pode se inserir em um templatede documento, oque faz com que cada documento criado sejainfectado;

• Vırus de setor de carga: E tipo especial de vırus de programa, eleinfecta o setor de carga de uma unidade, que e executado sempreque um computador e ligado ou reiniciado. E um vırus difıcil dese remover pois o programa de carga e o primeiro programa que ocomputador executa. Por isso os softwares antivırus monitoramrotineiramente a integridade do setor de carga;

Os vırus de computador compartilham caracterısticas similaresao vırus biologicos, quando um vırus entra no corpo de uma pessoae consegue passar pelas suas defesas iniciais, ele pode se disseminarrapidamente e infectar muitas de suas celulas, a medida que o vırusse dissemina o sistema imunologico aprende a detectar caracterısticaspeculiares e monta um resposta.

Especialistas estudam arquivos infectados por um novo vırus,procuram por fragmentos de codigos peculiar a esse vırus particular.Assim que localizam, eles podem construir uma string de caracteresque identifica univocamente esse vırus. Essa string e conhecida comouma assinatura para o vırus. Os programas de deteccao de vırus saocarregados com as assinaturas de todos os vırus conhecidos.

Qualquer arquivo que contenha uma parte que combine com aassinatura de vırus sera colocado em quarentena, onde sao examinadosmais minuciosamente para determinar oque deve ser feito a seguir.

Page 40: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

37

Existem os vırus encriptados cuja ideia era esconder a assinaturafixa do vırus atraves da encriptacao, para que o vırus nao fosse detec-tado por um antivırus. Um vırus encriptado consiste em uma rotina dedecriptacao e um corpo encriptado, quando ele e executado, inicia-sea fase de decriptacao. Apos a decriptacao o corpo do vırus esta livrepara tomar conta da maquina. Logo, os antivırus passaram a checarpor sequencias de bytes que identificassem a rotina de decriptacao.

Uma tecnica utilizada pelos vırus para passar pela deteccao base-ada em assinatura e fazer mutacao durante a replicacao, criando muitasvariedades do mesmo vırus. Um vırus polimorfico consegue ficar comvarias formas usando encriptacao, com cada copia sendo encriptadausando uma chave diferente. Ja um vırus metamorfico utiliza outrastecnicas de ofuscamento, como reordenamento de instrucoes e inclusaode instrucoes inuteis.

Uma maneira de detectar um vırus polimorfico e focar no fatode que ele deve usar uma chave de encriptacao diferente sempre queo vırus se encripta e se replica. Portanto e necessario incluir codigogenerico no corpo do vırus para o algoritmo de encriptacao, de modoque possa encriptar a si mesmo com novas chaves.

Encontrar um unico string que sirva de assinatura para um vırusmetamorfico pode ser impossıvel. Em vez disso usa-se uma assinaturacombinada , que consiste e um conjunto de strings que devem apare-cer em qualquer ordem no arquivo infectado. Ou a assinatura proba-bilıstica, que consiste em um valor limite e um conjunto de pares destring-score, e um arquivo e considerado infectado se a soma de escoresdos strings presentes for maior que o limite. Outra tecnica e a sequen-cia de assinatura, que consiste em uma lista ordenada de strings quedevem aparecer na ordem dada no arquivo infectado.

2.2.5 Ataques de programas maliciosos

Um Cavalo de Troia (Trojan) e um malware que aparenta realizaralgo util, mas que na realidade faz algo nocivo. Eles podem ser instala-dos como parte da carga de outro programa malicioso, mas geralmentesao instalados por um usuario ou administrador, propositalmente ounao.

Um exemplo classico de Cavalo de Troia e um programa utilitarioque realiza um tarefa util melhor do que o programa padrao existente,como exibir de forma mais bonita as pastas e arquivos de um sistemade arquivos, ao mesmo tempo que esta realizando uma tarefa maliciosa

Page 41: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

38

secreta. Como o usuario deu permissao para o software executar semsaber do seu objetivo malicioso, o malware pode executar com todosos direitos de acesso do usuario, se o usuario puder ler um arquivoproprietario cheio de segredos da empresa, entao o malware tambempode, e caso exista uma conexao com a internet ele pode envia-lo parao atacante.

Um verme de computador e um programa malicioso que espalhacopias de si mesmo sem a necessidade de se injetar em outros progra-mas, e geralmente sem interacao humana. Como nao infectam outrosprogramas os vermes de computadores nao sao tecnicamente vırus decomputador.

Os vermes geralmente se disseminam explorando vulnerabili-dades em aplicacoes executadas na Internet. Um verme se propagafazendo cada computador infectado tentar infectar outras maquinas.Quando um sistema e infectado, o verme toma alguma providenciaspara persistir na maquina da vitima e sobreviver a reinicializacao. Emmaquinas Windows, isso pode ser feito atraves da alteracao do Regis-tro do Windows(Windows Registry), um banco de dados que indica aosistema operacional para executar certos programas e servicos ou car-regar drives de dispositivos na inicializacao. Portanto, um software dedeteccao de malware sempre procura nomes suspeitos nas entradas deregistro.

Para projetar um verme consiste em algumas tarefas:

• Identificar uma vulnerabilidade ainda nao corrigida em uma aplica-cao ou sistema operacional popular. Vulnerabilidades de overflowde buffer sao as mais exploradas por vermes;

• Escrever codigo para gerar lista de maquinas alvo, para explorara vulnerabilidade, para consultar/reportar se a maquina ja estainfectada, para instalar e executar a carga e para fazer que overme sobreviva a reinicializacoes do sistema.

A deteccao de vermes pode ser feita com tecnicas de varredurade arquivos baseadas em assinaturas, assim como as utilizadas paravırus. Alem disso pode ser feita analise dos pacotes de rede antesde serem enviados para uma maquina, permitindo assim detectar ebloquear vermes em tempo real.

Um Rootkit e um tipo especialmente furtivo de malware, e muitasvezes usado para esconder acoes maliciosas ou outros tipos de malware,como Cavalos de Troia e vırus. Rootkits geralmente alteram utilitariosdo sistema ou do proprio sistema operacional para evitar a deteccao.

Page 42: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

39

Um Rootkit pode executar em modo de usuario, que inclui aexecucao de programas comuns, ou em modo nucleo, que e usado pararotinas privilegiadas, de baixo nıvel do sistema operacional. Alguns emmodo de usuario funcionam alterando utilitarios do sistema ou bibli-otecas no disco, e uma abordagem simples porem pode ser facilmentedetectada atraves da verificacao da integridade de arquivos em discoutilizando uma funcao hash criptografica. Os Rootkits de modo denucleo sao mais difıceis de detectar, porque funcionam nos nıveis maisbaixos do sistema operacional.

Quando um codigo rootkit tenha sido carregado para o nucleo,podem ser adotadas varias tecnicas para que ele fique secreto. Um dosmetodos mais comuns e conhecido como gancho de funcao(functionhooking). Como o rootkit executa com privilegios de nucleo, ele podemodificar diretamente a memoria do nucleo para substituir funcoes dosistema operacional por versoes customizadas que roubam informacoesou escondem a existencia do rootkit. Por exemplo substituir funcoes donucleo que enumeram arquivos em um diretorio por uma versao quaseidentica projetada para saltar sobre arquivos particulares que fazemparte do rootkit.

Rootkit sao furtivos, mas nao sao impossıveis de detectar. Ro-otkits de modo de usuario podem ser detectados pela verificacao demodificacoes em arquivos em disco. Ja no caso dos rootkits de modo denucleo, as aplicacoes antirootkits procuram por evidencias de tecnicascomo gancho de funcao para detectar o rootkit, eles podem manter as-sinaturas de certas funcoes do nucleo que podem ser alvos de rootkits,e inspecionar a memoria do nucleo para determinar se foram feitasmodificacoes nessas funcoes.

Um ataque do dia-zero e um ataque que explora um vulnerabi-lidade previamente desconhecida, mesmo pelos projetistas de softwareque criaram o sistema contendo essa vulnerabilidade. Esses ataquesimpoem um problema unico para deteccao de intrusao, devido ao fato,que por definicao, eles nao sao reconhecıveis por simples esquemas ba-seados em assinaturas.

Existem dois metodos para deteccao de ataques do dia-zero, am-bos sao basados em heurısticas. A primeira heurıstica e varrer con-tinuamente programas procurando instrucoes que envolvam fazer algoque seja potencialmente malicioso, como eliminar arquivos e enviar in-formacao pela internet. E necessaria uma inspecao posterior porqueprogramas legıtimos tambem podem realizar esse tipo de acoes. A se-gunda heurıstica e executar programas em um ambiente de execucaoisolado que monitora como ele interage com o ´´mundo externo´´ (GO-

Page 43: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

40

ODRICH; TAMASSIA, 2013).Redes Parasitas(Botnets) sao redes de computadores comprome-

tidos e sao controladas por um proprietario conhecido como controladorde parasita(bot herder). Umas das principais propriedades de uma redeparasita e o mecanismo central de controle e comando, assim que o soft-ware parasita e instalado ele contata um servidor de controle centralpara requisitar comandos.

Segundo Goodrich e Tamassia (2013) algumas das maiores bot-nets colhem numeros de cartoes de credito, dados de contas bancariase outros dados pessoais em uma escala assustadora. Outra sao usadaspara enviar milhoes de e-mails de spam.

2.2.6 Softwares de invasao de privacidade

Os software de invasao de privacidade sao uma categoria demalware que tem com alvo a privacidade de um usuario ou a informacaoque o usuario julga valiosa.

Um software desse tipo pode ser instalado no computador deum usuario como resultado de uma visita a determinado site, anexo dee-mail infectado, entre outros.

Adware e uma forma de software de invasao de privacidade queexibe anuncios na tela de um usuario sem o seu consentimento. Quandoum adware esta instalado ele fica executando em segundo plano, e pe-riodicamente ira exibir um anuncio na tela do usuario. Os anunciosde adware sao frequentemente disparados quando o usuario abre umnavegador de modo a fazer o usuario pensar que o anuncio faz parte dapagina.

Spyware e um software de invasao de privacidade que e insta-lado no computador do usuario sem o seu consentimento e que coletainformacoes sobre o usuario, sobre o seu computador e sobre o uso deseu computador. Um infeccao por Spyware geralmente envolve o usode um ou mais programas que estarao executando em segundo planoe coletando informacoes. Periodicamente esses programas irao enviarpara o atacante as informacoes coletadas.

Acoes que podem ser realizadas por spyware:

• Captura de teclas: conhecida tambem como keylogging, e o atode monitorar as acoes de um teclado, registrando cada tecla pres-sionada. O objetivo geralmente e capturar senhas, informacoesde login e outras informacoes secretas;

Page 44: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

41

• Captura de tela: Uma captura de tela de um usuario pode revelargrande quantidade de informacao, portanto um spyware que uti-liza capturas de telas pode comprometer bastante a privacidadedo usuario;

• Colheita de dados: Esta acao consiste em procurar nos arquivosdos usuarios dados pessoais ou proprietarios.

2.3 SISTEMA DE DETECCAO DE INTRUSAO (IDS )

2.3.1 Conceito de IDS

O conceito de sistema de deteccao de intrusao (IDS) nasceu coma ideia de James Anderson no seu artigo “Computer Security ThreatMonitoring and Surveillance” (ANDERSON, 1980) e, desde entao, o sis-tema IDS evoluiu ao longo do tres ultimos decadas. IDS e uma tecno-logia de monitoramento pro-ativo e mecanismo de defesa para protegeras infra-estruturas de TI (Tecnologia da Informacao) crıticas quanto acomportamentos maliciosos, que podem comprometer dados confiden-ciais e aplicacoes crıticas atraves de ataques via Internet (YASSIN et al.,2012).

Com base na sensibilidade da informacao de uma organizacao,diferentes riscos e desafios para evitar esses riscos e ataques a vulnera-bilidades podem ser considerados. A maioria das tecnicas e ferramentascomputacionais tem sido utilizados para otimizar a gestao de risco e asferramentas de gestao de risco beneficiarem-se de abordagens compu-tacionais. Assim, com a gestao de riscos, estes podem ser minimizadoscomo e mostrado no trabalho, que permite o cliente conhecer, docu-mentar, gerenciar e mitigar os riscos de seguranca. Neste trabalho oautor propos um modelo de partilha de riscos entre fornecedores e clien-tes, fazendo com que o consumidor seja uma entidade ativa na analisede riscos. Alem disso, nestes ambientes, tem sido necessarios maioresesforcos para prevenir a manipulacao de dados, perdas e alteracoes naoautorizadas.

Um Sistema de deteccao de Intrusao ou do ingles (Intrusion De-tection System(IDS )) e sistema que gera respostas passivas e/ou ati-vas caso encontre alguma tentativa de ataque malicioso ou intrusao.Existem dois tipos de IDS, os de rede e os de host, nesse trabalho foiutilizado um IDS de Host que foi, originalmente elaborado em umadissertacao de mestrado em 2005 (MACHADO, 2005). Esse sistema ela-

Page 45: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

42

borado foi concebido para se comportar de maneira analoga ao sistemaimunologico humano. Sofreu algumas alteracoes desde a sua concepcao,a principal, foi a troca da plataforma dos agentes moveis, por uma pla-taforma mais atual, pois a precurssora estava obsoleta.

Os IDSs podem ser classificados de algumas maneiras, no quesegue e apresentado as classificacoes principais.

Classificacao em relacao ao tipo:

• O IDS de rede realiza a analise dos cabecalhos e dos camposde dados dos pacotes que trafegam pela rede afim de detectarpossıveis ameacas.

• O IDS de host realiza a monitoracao e analise das informacoescoletadas de um unico Host(Maquina).Essas analises sao efetua-das a partir de informacoes registradas em logs do sistema, porexemplo: messages, kernel.log.

Classificacao em relacao a abordagem aplicada para um deter-minado problema:

• Deteccao por anomalia, tem o objetivo de classificar como ataquetudo que fugir do padrao do sistema, ou seja, o que nao e normalacontecer.

• Deteccao por abuso, tem o objetivo de classificar como ataquetudo que tiver um padrao reconhecido dentro de uma base deassinaturas.

• Deteccao hıbrida, e uma uniao das tecnicas anteriores.

Classificacao em relacao ao tipo de resposta para um determi-nado incidente:

• Respostas passivas, aquelas que notificam o administrado do sis-tema, en enviando um e-mail ou SMS.

• Respostas ativas, aquelas que de forma automatica combatem oincidente ocorrido.

2.3.2 IDS Baseado em Sistema Imunologico Humano

Diversos trabalhos forma pesquisados relacionados a ComputacaoBioinspirada, na qual desenvolve algoritmos e ferramentas inspiradosem processos naturais.

Page 46: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

43

2.3.3 O Modelo Bio-Inspirado

No modelo de IDS desenvolvido por (MACHADO, 2005) adotou-se a inspiracao biologica, arquitetura baseada em host, metodo de de-teccao baseado em anomalias, aplicacao do gerador de logs Syslog-nge utilizacao da ferramenta Logcheck para analise de logs. Como ca-racterısticas evolutivas desenvolveu-se um sistema com componentesdistribuıdos, armazenamento dos logs analisados em computadores re-motos, implementacao de padroes de reatividade pro-ativos e possi-bilidade de utilizacao do sistema de deteccao de intrusao em tempocontınuo. Para implementar-se esses requisitos adicionais foi aplicadaa tecnologia dos agentes moveis.

Os agentes moveis trabalham de forma autonoma para realizardeterminadas tarefas que foram delegas pelo sistema. Eles movimentam-se entre servidores para obterem recursos que iram utilizar na resolucaode suas tarefas. Sao codigos constituıdos por metodos e atributos, edependem de um servidor de agentes, o qual lhes permitem interagir,comunicar-se com outros agentes e mover-se, migrando na rede, entremaquinas. Como existem varias definicoes para agentes, a definicaopara os agentes moveis adotada foi:

”Agentes itinerantes sao programas que sao despachados de umcomputador de origem, viajam entre servidores em uma rede ate quese tornem habeis para completar a sua tarefa; eles movem processosque progressivamente executam tarefas se movendo de um lugar paraoutro.” (CHESS; HARRISON; LEBINE, 1995).

2.4 NUVEM COMPUTACIONAL

Ha varias definicoes atualmente para Nuvem Computacional ouCloud Computing do ingles. Pode-se resumir como uma nuvem com-putacional, como sendo a utilizacao de recursos computacionais insta-lados remotamente e acessıveis de qualquer lugar via Internet/Web. Orecursos podem ser ajustados de acordo com a demanda de quem estautilizando. De maneira mais formal nuvem computacional pode serdefinida da seguinte forma:

”A computacao em nuvem e a computacao em que grandes grupos deservidores remotos estao em rede para permitir o armazenamento de

dados centralizado e acesso online a servicos de informatica ourecursos computacionais. Nuvens podem ser classificadas como

Page 47: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

44

publica, privada ou hıbrida.” (WIKIPEDIA, 2014).

A Figura 16 mostra a estrutura de um nuvem computacional.

Figura 16 – A nuvem e uma camada conceitual que engloba todos osservicos disponıveis, abstraindo toda a infraestrutura para o usuario.

2.4.1 Principais Tipos de Servicos

As nuvens computacionais podem ser classificadas pelo tipo deservico oferecido, existem tres tipos (VIEIRA et al., 2015): IaaS (Infras-tructure as a Service); PaaS (Platform as a Service) e SaaS (Softwareas a Service).

• IaaS - Infraestrutura como Servico: Neste servico e dispostoao usuario, a capacidade de processamento, armazenamento, rede,entre outros recursos computacionais para o usuarios implanta-rem e executarem softwares, sistemas operacionais e aplicativos.

• PaaS - Plataforma como Servico: E uma modelo que ficaentre os tipos SaaS e IaaS, proporciona uma plataforma mais ro-busta e flexıvel para a utilizacao de muitos recursos tecnologicos,onde e possıvel a utilizacao de softwares de forma mais flexıvel,

Page 48: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

45

podendo o usuario desenvolver suas proprias aplicacoes baseadasem alguma tecnologia e utilizar a infraestrutura necessaria.

• SaaS - Software como Servico: E um modelo que utiliza al-gum software e que e pago por sua utilizacao. A capacidadeprevista para o consumidor e a utilizacao de aplicativos do pro-vedor rodando em uma infra-estrutura de nuvem. As aplicacoessao acessadas de diversos dispositivos atraves da Internet. Nestemodelo nao existe a necessidade de controle da infraestrutura danuvem do sistema operacional utilizado.

No que segue, na a Figura 17, e mostrado um exemplo simplesda relacao entre os tres cenarios apresentados. Nele, dois IaaS, um quedisponibiliza um sistema de armazenamento e outro que oferece umservidor, sao usados para a criacao de um PaaS, que, por sua vez, eutilizado para o desenvolvimento de duas aplicacoes.

Page 49: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

46

Figura 17 – Relacao entre os tres cenarios de uma nuvem. (CHIRIGATI,2009)

Page 50: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

47

2.4.2 Principais Modelos de Nuvem Computacional

Pode-se classificar uma nuvem computacional em quatro tipos demodelos, que sao: modelo publico, modelo privado, modelo comunidadee modelo hıbrido.

• No modelo publico a nuvem e disponibilizada para o publico emgeral. A nuvem e oferecida por um prestador de servico, quedeve ser capaz de garantir o desempenho e a seguranca (MELL;

GRANCE, 2011).

• As nuvens privadas sao utilizadas exclusivamente por uma unicaorganizacao. O gerenciamento da rede pode ser feito pela propriaorganizacao ou por terceiros. No caso de ser feito por terceiros,a infra-estrutura utilizada pertence ao usuario, desta maneira, omesmo e responsavel pelo controle sobre a implementacao dasaplicacoes na nuvem (CHIRIGATI, 2009).

• O modelo comunidade tem a caracterıstica que sua infra-estruturade nuvem e compartilhada por varias organizacoes, e suporta umacomunidade especıfica que partilha as mesmas preocupacoes comomissao, requisitos de seguranca, polıtica e consideracoes de con-formidade. Pode ser gerenciado pelas organizacoes ou por tercei-ros e pode existir localmente ou remotamente (MELL; GRANCE,2011).

• Na nuvem hıbrida a infra-estrutura e composta pela uniao de doisou mais modelos de implementacao, sendo que cada nuvem per-manece como uma entidade unica, mas que estao unidas pelo usode tecnologia proprietaria ou padronizada, garantindo a portabi-lidade de dados e aplicacoes (MELL; GRANCE, 2011).

2.4.3 Virtualizacao

A virtualizacao e um dos elementos mais importantes da nuvemcomputacional, atraves desse elemento e possıvel criar e reproduzir di-ferentes tipos de ambientes abstraindo a estrutura de hardware que asuporta. Esses ambientes sao conhecidos como maquinas virtuais (vir-tual machines), e podem ser facilmente escalaveis, ou seja, seus recursospodem ser alterados facilmente aumentado a flexibilidade de seu uso.Este fato define o que vem a ser a elasticidade de uma nuvem (a esca-labilidade horizontal e vertical, que aumenta ou diminui, em relacao ao

Page 51: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

48

seu uso). Em uma mesma plataforma de nuvem computacional podeexistir diferentes tipos de maquinas virtuais, cada um com seus siste-mas operacionais e/ou aplicativos. Na Figura 18 pode-se observar umacomparacao entre um ambiente tradicional e um ambiente virtualizado(TECNOLOGIA, ).

Figura 18 – Arquitetura tradicional x Virtualizacao.(TECNOLOGIA, )

Uma maquina virtual (Virtual Machine - VM) e definida emcomo ”uma duplicata eficienet e isolada de uma maquina real”. A fun-cionalidade e o nıvel de abstracao de uma maquina virtual VM abstraios recursos de hardware e de controle, usados pelas aplicacoes.

Uma maquina virtual (virtual machine - VM) e um ambiente cri-ado por um Monitor de Maquinas Virtuais (Virtual Machine Monitor- VMM), tambem visto como se fosse um ”sistema operacional parasistemas operacionais”. O VMM pode criar uma ou mais maquina vir-tuais sobre uma maquina real. O VMM abstrai o hardware subjacentee controla uma ou mais maquina virtuais. Cada VM fornece facilidadespara uma aplicacao ou um ”sistema convidado”(um SO rodando dentrode uma VM), que executa sobre um ambiente real de acesso fısico aohardware.

Existem, basicamente, duas abordagens para a construcao desistemas de maquinas virtuais:

• O tipo I, onde o monitor de maquinas virtuais e implementadoentre o hardware e os sistemas convidados. Este trabalho usa oTipo I.

Page 52: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

49

• O tipo II, onde o monitor e um processo de um sistema operaci-onal real subjacente, denominado sistema anfitriao.

2.4.4 Razoes de Uso de Maquinas Virtuais

Aqui, sao relacionadas algumas vantagens para a utilizacao demaquinas virtuais em sistemas de computacao:

• Aperfeicoamento e testes de novos sistemas operacionais.

• Ensino pratico de sistemas operacionais e programacao.

• Executar diferentes sistemas operacionais sobre um mesmo hard-ware.

• Simular configuracoes e situacoes diferentes do mundo real, comoexemplo, mais memoria disponıvel, ou outros dispositivos de E/S(I/O).

• Simular alteracoes e falhas no hardware para testes ou re-configuracaode um sistema operacional, provendo confiabilidade e escalabili-dade para as aplicacoes.

• Garantir a portabilidade das aplicacoes legadas, que podem serexecutadas sobre uma VM, simulando o sistema operacional ori-ginal.

• Desenvolvimento de novas aplicacoes para diversas plataformas,garantindo a portabilidade destas aplicacoes.

• Diminuir custos com hardware.

2.4.5 Cluster Computacional

Um cluster computacional e uma arquitetura que une duas oumais maquinas para atingir um objetivo em comum, no qual cada com-putador e visto como um no. Os usuarios que utilizam dessa arquiteturatem a impressao que somente uma maquina responde para eles (VIEIRA

et al., 2015).Algumas das vantagens da utilizacao dessa arquitetura sao (VI-

EIRA, 2017):

Page 53: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

50

• Escalabilidade, ou seja, e possıvel aumentar o desempenho docluster adicionando ou retirando computadores.

• Tolerancia a falhas, o cluster continua funcionando mesmo coma interrupcao de alguns nodos (maquinas do cluster).

• Baixo custo, utilizam recursos de facil acesso e de uso comum.

Nesse trabalho foi construıdo um modelo que simula um ambi-ente de nuvem computacional. A construcao do modelo e detalhada noCapıtulo 3.

2.4.6 Proxmox VE

Proxmox VE (ambiente virtual) e uma distribuicao Linux, quenasceu baseada no Debian (x86-64). Atualmente, em sua versao v4.3,a plataforma fornece virtualizacao open source para a execucao demaquinas virtuais (OpenVZ e KVM) e vem com um painel de con-trole poderoso, baseado na web, que inclui uma interface grafica base-ada na web que voce pode usar para se conectar as maquinas virtuais.Com Proxmox VE, pode-se criar um cluster de hosts de virtualizacaoe criar/controlar maquinas virtuais em servidores remotos ao painelde controle do administrador de uma nuvem computacional. ProxmoxVE tambem suporta a migracao ao vivo de maquinas virtuais de umhospedeiro para outro, como forma de prover a elasticidade da nuvem.

2.4.7 KVM - Kernel-based Virtual Machine

Com a virtualizacao KVM, Com os sistemas operacionais convi-dados tipo KVM pode-se instalar uma multiplicidade de diferentes tiposde sistemas operacionais. Estes vao desde instalacoes Linux-base, paraUNIX, para desktops e servidores Windows. Com KVM, e as ultimasversoes de servidores Proxmox, tambem podemos ter a capacidade deadicionar ao cliente meios para conexoes remotas que sao muito maisrapidas e oferecem melhor desempenho do que o console built-in Java.Virtualizacao baseada em KVM, exige ter um processador que suportea virtualizacao.

KVM tambem oferece virtualizacao de entrada/saida (I/O) edrivers de dispositivos que permitem um desempenho muito melhordo trafego de rede Ethernet I/O ao longo dos drivers padrao forne-cido (e1000 Intel ou REALTEC). No sentido de utilizar esses arquivos,

Page 54: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

51

voce tem que instalar os drivers de dispositivo dentro de seu convidadoKVM. Para Linux, os drivers estao disponıveis com os kernels maisrecentes, no entanto com o Windows este e um processo instalado pelousuario que precisa ser feito no momento da instalacao ou posterior ainstalacao.

Uma das vantagens de sistemas operacionais convidados virtuaisbaseados em KVM e a capacidade de executar migracoes de servidoresvirtuais entre os hosts-nodos de um cluster, para obter atualizacoes,requisitos de CPU mais elevados ou a introducao de outras novas anfi-trioes num cluster.

2.4.7.1 Terminologia

Com o amplo uso de nuvem na area da tecnologia da informacao,novos termos tem aparecido em toda a industria hospedeira. Algunsdos termos mais populares sao bare metal e hypervisors. Um servidorbare-metal e um servidor dedicado tradicional com um novo nome paraa geracao de nuvem computacional.

Bare Metal e um unico servidor inquilino. Isso significa queapenas que um usuario esta a tomar os recursos do servidor. O servidorpertence a um usuario e somente este pode usa-lo. Em comparacaocom o modelo de nuvem, onde os usuarios (clientes) multiplos (multi-tenancy) residem no mesmo servidor fısico, o servidor bare-metal temum unico cliente no servidor. As Figuras 19 e 20 mostram a diferencaentre estas situacoes.

Bare metal pode suportar varios tipos de sistemas operacionais,incluindo hypervisors. Isso nos leva a diferenca entre bare metal ehypervisors. Um hypervisor e um sistema operacional que pode criarmaquinas virtuais (VM) dentro de um servidor bare-metal. As Figuras21 e 22 representacao abaixo para entender melhor a diferenca entre osdois.

A primeira imagem acima representa um servidor bare-metaltradicional. Um dos sistemas operacionais (CentOS, Debian, Red Hat,SUSE, Ubuntu, Windows Server, etc.) e instalado diretamente no servi-dor, e os aplicativos estao rodando nativamente no sistema operacional.Na segunda imagem acima, um servidor bare-metal instalado com umhypervisor fornece ao usuario um conjunto de gerenciamento para criarmaquinas virtuais no servidor. O hypervisor nao deve executar apli-cativos nativamente; em vez disso, o seu objectivo e virtualizar suascargas de trabalho em maquinas virtuais separadas para obter a flexi-

Page 55: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

52

Figura 19 – Servidor em nuvem bare-metal

Figura 20 – Servidor multiplo

Page 56: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

53

Figura 21 – Servidor bare metal sem hypervisor

Figura 22 – Servidor bare metal com hypervisor

Page 57: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

54

bilidade e confiabilidade da virtualizacao. Este e o caso do Proxmoxusado nesta trabalho.

OpenVZ Containers oferece virtualizacao de bare-metal. Dispoede servidores Linux recipientes (container based Linux servers) que per-mitam o desempenho de virtualizacao. Posuem velocidades quase pertode velocidades de servidores fısicos. Eles podem utilizar os servicos dearquivos que sao superiores em desempenho aos dos servicos de arqui-vos baseados em KVM. Estes tipos de servidores sao muito importan-tes quando e preciso que um servidor reinicia em fracoes de segundo epode ser acessado via SSH, a partir do console web ou atraves do co-mando pvectl para entrar no container OpenVZ. Containers OpenVZira funcionar em um servidor que nao tem CPU com suporte a virtu-alizacao. Proxmox pode ser instalado dentro de outra plataforma devirtualizacao como, por exemplo, o VMWare. Com Proxmox pode-seconstruir containers OpenVZ para testes em um ambiente de ”modoseguro”.

Uma das desvantagens para OpenVZ e a sua incapacidade defazer migracoes eficientes e aproveitar o armazenamento compartilhadoem um cluster.

Uma das grandes vantagens das imagens OpenVZ sao os requisi-tos reduzidos em termos de RAM e uso da CPU, assim como eles estaosurpreendente capacidade de crescer o seu sistema de arquivos sem umareinicializacao. Este tipo de container e dependente do sistema. De-vido a isso, OpenVZ usa o mesmo kernel e outras caracterısticas que oproprio sistema operacional hospedeiro tem. Se voce precisava ter umadistribuicao Linux que difere do kernel do hospediero, entao e precisoter com uma imagem baseda em self-contained KVM.

Proxmox VE E x86-64 uma distribuicao, entao nao se pode ins-tala-la em um sistema i386. Alem Disso, Se e preciso usar KVM, oprocessador deve oferecer suporte de virtualizacao de hardware (IntelVT ou AMD-V). Isso nao e necessario se for usado o OpenVZ.

Page 58: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

55

3 ARQUITETURA DO MODELO COMPUTACIONALAPLICADO A NUVEM

Nesse trabalho foi construıdo um modelo de arquitetura, paraa validacao da estrutura do IDS SIA-DI. Com o modelo implantadofoi possıvel avaliar o funcionamento do SIA-DI em um ambiente decomputacao em nuvem, simulando-se ataques aos servicos configuradose testes de desempenho. Nas secoes desse capıtulo sera apresentado astecnologias utilizadas e os servicos que serao monitorados.

3.1 INFRA-ESTRUTURA

Para a construcao da infra-estrutura do trabalho, foram utiliza-dos os recursos do Laboratorio DMC-NS (Distributed Computing Mo-bile and Network Security), o qual e um dos laboratorios situados noDepartamento de Informatica e Estatıstica(INE). O DMC-NS dispoe deuma plataforma de software chamada Proxmox VE, um sistema ope-racional Debian/GNU, atraves do qual foi possıvel a criacao de umanuvem computacional privada virtual (o caso de VMM tipoI abordadoanteriomente, que foi utilizada neste trabalho). Paralelamente, no La-boratorio de Pesquisa em Seguranca Computacional (LabPesc) da UNI-OESTE, em Foz do Iguacu, Estado do Parana, o Grupo de PesquisaSeguranca da Informacao e de Redes (UFSC-CNPq) tem seu parte deseu grupo de alunos envolvidos estudando o comportamento do SIA-DI,numa nuvem composta de 1 cluster e tres maquinas fısicas, formandoos nodos deste cluster. Cada maquina deste cluster esta instalado como ambiente de virtualizacao Proxmox VE, como segue abaixo:Proxmox VE - ”E uma plataforma de software de codigo aberto quereune recursos de computacao para a construcao de infra-estrutura denuvens publicas, privadas e hıbridas como servico (IaaS). O Proxmoxgerencia a rede, storages e servidores que compoe a infra-estrutura danuvem.”

3.1.1 Esquema da Nuvem Computacional deste trabalho

Para que fosse possıvel a implantacao do IDS SIA-DI e a rea-lizacao das analises referentes a carga de ataques referentes a ele, fo-ram criadas quatro maquinas virtuais, que estao dispostas da seguinteforma:

Page 59: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

56

3.1.1.1 Servidor

• Localizacao: Cluster vmbr0

• Sistema Operacional: Ubuntu 16.04, 64 bits

3.1.1.2 Cliente1Ubuntu

• Localizacao: Cluster vmbr1

• Sistema Operacional: Ubuntu 16.04, 64 bits

3.1.1.3 Clente2Ubuntu

• Localizacao: Cluster vmbr0

• Sistema Operacional: Ubuntu 16.04, 64 bits

3.1.1.4 ClienteCentOS

• Localizacao: Cluster vmbr0

• Sistema Operacional: CentOS ... , 64 bits

3.1.1.5 ClienteKaliLinux

• Localizacao: Cluster vmbr1

• Sistema Operacional: Kali Linux ... , 64 bits

Para o entendimento do IDS SIA-DI, as seguintes secoes saonecessarias.

3.2 SYSLOG-NG

Os logs gerados pelos sistemas, em geral, contem muito ”ruıdo-mensagens que nao tenham importancia - e no meio dessas mensagenscontem eventos importantes que nao devem ser perdidos. Com as fer-ramentas atuais, e difıcil selecionar as mensagens que sao interessantes.

Page 60: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

57

O Syslog-ng e um servico de armazenamento de logs distribuıdo,que realiza a coleta de logs de diversos servidores e concentra todosesses logs em um unico servidor, facilitando a administracao. O volumede dados contidos nos logs varia de acordo com os servicos oferecidos,ha servicos que registram eventos de log a todo o momento, enquantooutros, registram poucos eventos. Dois exemplos desses registros deeventos de log seriam, logs de autenticacao e os logs de erros. O sistemaoperacional UNIX traz este, como um daemon nativo, para regitro delogs, chamado de syslogd. No trabalho e adotado o Syslog-ng por seruma evolucao do servico nativo.

Os eventos gerados pelo Syslog-ng sao baseados em um par decategorias denominadas facilidade e prioridade. Sendo as duas carac-terısticas herdadas do Syslog (SYSLOG-NG, 2016).

As facilidades especificam a procedencia da mensagem de log, ouseja, que tipo de mensagem de log queremos gravar (como, por exemplo,ocorrencias em sistemas de email e autenticacao) (FERRAZ, 2016).

As prioridades definem qual o nıvel de importancia da mensagema ser registrada e as ”etiquetam”com prefixos como alert, crit e emerg,entre outros (FERRAZ, 2016).

Algumas das motivacoes para a criacao do Syslog-ng foram ascitadas acima. O projeto do Syslog-ng tornou o filtro de mensagensmais refinado, conseguindo classificar as mensagens baseadas em seuconteudo, alem do par de facilidade/prioridade. Outra caractetısticaimportante foi a flexibilizacao do formato dos logs a serem gerados,origens, filtros e destinos de eventos.

Os eventos gerados pelo Syslog-ng podem ser oriundos de diferen-tes origens, suporta regras de filtragem, sendo flexivel tambem quantoaos destinos dos registros. Na figura 23 pode-se observar o arquivo deconfiguracao do Syslog-ng, syslog-ng.conf, e como estao organizadas asconfiguracoes do Syslog-ng em uma determinada maquina virtual.

Page 61: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

58

Figura 23 – Arquivo de configuracao Syslog-NG.

Page 62: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

59

3.3 LOGCHECK

O LogCheck e uma ferremanta desenvolvida para verificar regis-tros de logs a procura de violacoes de seguranca entre outras atividadesconsideradar anormais.

No modelo adotado o Logchek e a inteligencia da solucao, eleanalisa os eventos geredos pelo Syslog-ng. Atraves de palavras cha-ves e expressoes contidas nas regras da ferramenta, e realizado umaanalise dos eventos geredos pelo Syslog-ng, verificando quais conjuntossao anomalos ou normais. Definido os conjuntos o Logchek descartatudo que for classificado como normal, e reporta tudo que for classifi-cado como anomalo e que nao pertence ao conjunto normal, pois saoeventos considerados Ataques ou vialacoes de seguranca ??.

A definicao do que e um evento anomalo e baseada nas vulne-rabilidades do servicos monitorados. E contruıda uma lista de termosque representam essas vulnerabilidades.

A ferramenta possuı alguns arquivos importantes para seu fun-cionamento:

• logcheck.sh: Responsavel por gerenciar os arquivos de logs gera-dos pelo Syslog-ng. Determina os arquivos que serao analisados, alocalizacao dos arquivos com os termos chaves, sequencia e nıveisde filtragens que serao realizados, e de que forma os resultadosserao reportados (e-mail, arquivos de texto, saıda padrao, basede dados, entre outras).

• logtail: E um programa que auxilia o LogChek a manipular osarquivos de log. O Logtail realizar o controle da posicao do cursornos arquivos de log, evitando a repeticao do processamento delinhas.

• logcheck.cracking: Localizado dentro do diretorio /etc/logcheck/cracking.d/ define conjuntos de palavras que caracterizam padroesde ataque.

• logcheck.violations: Localizado dentro do diretorio /etc/logcheck/violations.d/ define palavras que caracterizam violacoes as polıticasde seguranca, porem sao eventos menos crıticos que os do log-check.hacking.

• logcheck.violation.ignore: Localizado dentro do diretorio /etc/logcheck/violations.ignore.d/ define palavras chaves que caracte-rizam eventos normais, em caso de ocorrer esses eventos o Log-Check nao reporta esses eventos.

Page 63: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

60

• logcheck.ignore: Localizado dentro do diretorio /etc/logcheck/server define palavras que nao sao tratadas como ataques e vi-olacoes de seguranca e e nao sao reportadas, definindo o conjuntonormal do IDS.

O Logcheck e executado em intervalos definido pelo programaCRON, que permite aos usuarios do Unix/Linux executar comandosou scripts automaticamente em um determinado horario/data.

3.4 SERVICOS MONITORADOS

Neste trabalho foram instalados tres servicos para serem moni-torados afim de validar o funcionamento do IDS, os quais sao: FTP,IMAP, HTTP. O programas utilizados para a disponibilizacao dosservicos foram escolhidos levando em consideracao a documentacao dis-ponıvel e sua popularidade.

3.4.1 File Transfer Protocol (FTP)

O FTP e um servico cliente/servidor utilizado para transferenciade arquivos, ele utiliza duas portas TCP para se comunicar, a vinte eum (21) para controle e a 20 para dados. O servidor atraves do seudaemon fica constantemente aguardando requisicoes, e quando estasocorrem, sao validadas por meio de identificacao do usuario e senha.As informacao registradas em log, variam de acordo com a versao doservico FTP utilizado, os dados basicos contidos nos registros de logssao: data, e-mail do usuario cliente, servico de FTP e mensagem.

Para obter um servico de FTP disponıvel, foi utilizado nessetrabalho o programa vsftpd. E um servidor de FTP de licenca GPL,utilizado em sistemas UNIX, e seguro, extremamente rapido e estavel(VSFTPD, 2016).

3.4.2 Internet Message Access Protocol (IMAP)

E um protocolo de gerenciamento de correio eletronico superiorem recursos ao POP3, ele atende na porta padrao cento e quarentae tres (143). Nesse servico as mensagens ficam armazenadas em umservidor, permitindo utilizar o servico para ter acesso as mensagens emqualquer computador, atraves de webmail ou utilizando um cliente de

Page 64: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

61

correio eletronico.Outras vantagens desse servico sao o compartilhamento de cai-

xas postais entre usuarios membros de um grupo de trabalho, efetuarpesquisas por mensagens diretamente no servidor, utilizando palavras-chaves.

Esse servico traz algumas desvantagens que e importante res-saltar. O numero de mensagens possıvel de se armazenar depende doespaco limite que nos e atribuıdo para a caixa de correio.

Caso o servidor IMAP nao esteja hospedado localmente e simremotamente na internet, pode-se ter alguns inconvenientes pois naoe possıvel acessar as mensagens caso a conexao com a internet falhe.Ha alguns clientes de e-mail que oferecem a possibilidade de criar umacopia off-line das mensagens, e quando a conexao com a internet erestabelecida a copia local e sincronizada.

3.4.3 Hyper Text Transfer Protocol (HTTP)

E um protocolo de comunicacao situado na camada de aplicacaodo Modelo OSI utilizado para sistemas de informacao de hipermıdia,distribuıdos e colaborativos. Ele e a base para a comunicacao de dadosda World Wide Web, realizando a troca ou transferencia de hipertexto.(Wkipedia).

O metodo tradicional de comunicacao estabelece uma conexaoTCP na porta (80) da maquina servidora.

O protocolo HTTP utiliza metodos que indicam a acao a serrealizada no recurso especıfico, os mesmo determinam o que o servidordeve fazer com a URL fornecida no momento da requisicao de umrecurso. Na Tabela 1 e listado os oitos (8) metodos .

Tabela 1 – Metodos Internos de Solicitacoes HTTP.

Metodo Descricao

GET Solicita a leitura de uma pagina WebHEAD Solicita a leitura de um cabecalho de pagina WebPUT Solicita o armazenamento de uma pagina WebPOST Acrescenta a um recurso (por exemplo, uma pagina Web)DELETE Remove a pagina WebTRACE Ecoa a solicitacao recebidaCONNECT Reservado para uso futuroOPTIONS Consulta certas opcoes

Fonte: (TANEMBAUM, 2011).

Para fins de monitoramento do servico o daemon HTTPD gera

Page 65: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

62

duas classes de logs em arquivos distintos.Error log : Considerado o log mais importante. Armazena in-

formacoes de diagnosticos e erros sobre qualquer registro encontradono processamento de requisicoes.

Access log : Armazena todas as requisicoes processadas pelo ser-vidor, tendo grande importancia na geracao de estatısticas (MACHADO,2005).

3.5 A FERRAMENTA MAUSEZAHN

Criada por Herbert Haas, Mausenzahn e uma ferramenta livre escritaem C (ver em http://www.perihel.at/sec/mz/), que roda em siste-mas operacionais Linux, e tem como objetivo gerar trafico de dadosatraves de pacotes de uma maneira rapida e facil. Embora o SIA-DItenha sido testado exaustivamente em ambientes reais (um provedorde Internet e uma rede Ethernet), esta ferramenta foi utilizada paragerar ataques simulados para teste do SIA-DI em ambiente de nuvem.Geralmente e utilizada para auditoria da seguranca em redes VoIP, everificar sistemas, de forma a detectar se estes sao capazes de detectare realizar acoes contra ataques especıficos. Este, tambem e o caso doSIA-DI.A ferramenta possui diversas funcionalidades que auxiliam uma audito-ria em uma rede computacional, e abaixo segue algumas delas acompa-nhada de algumas aplicacoes praticas do uso das mesmas. Uma delase a geracao de trafego (aqui interessa-nos o trafego de geracao de ata-ques), atraves da adicao de pacotes de dados, que servem para mediro stress de uma rede computacional e o seu comportamento durante atroca de pacotes. Outra e a precisao para medir a variacao de atraso(jitter) entre hosts, para saber quanto tempo um host esta atrasado,ou adiantado, em relacao ao outro.

Mausenzahn tambem serve como uma ferramenta didatica,para realizar testes de comunicacao de dados em uma rede, com fa-cilidade e clareza, afim de transmitir conteudo a ser explicado paraalunos ou ouvintes de uma palestra.Testes de penetracao de Firewalls e IDS, como o SIA-DI, uma dasfinalidades deste trabalho, podem ser realizados atraves do trafego dedados gerados pela ferramenta em forma de ataques, que tem comoobjetivo deturpar o funcionamento de servidores virtuais, no caso denuvens) sobrecarregando o acesso aos mesmos.Abordando a parte de aplicacoes do uso da ferramenta podemos ci-

Page 66: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

63

tar a facilidade de encontrar bugs em softwares de rede, ataques dereconhecimento que utilizam varreduras de ping ou de portas, testaro comportamento da rede em circunstancias incomuns, como teste deestresse e a troca de pacotes de dados mal formados.A ferramenta apresenta suporte aos seguintes protocolos: ARP, BPDUou PVST, CDP, LLDP, IP, IGMP, UDP, TCP,ICMP, DNS, RTP oumodo-RX e Syslog.Exemplos de como usar a ferramenta Mausezahn:Enviar uma sequencia arbitraria de bytes atraves de uma rede, 1000vezes:

mz eth0 -c 1000 ff:ff:ff:ff:ff:ff ff:ff:ff:ff:ff:ff cc:dd 00:00:00:ca:fe:ba:be”Este frame e completamente invalido no padrao Ethernet; o frame edemais curto e tem um endereco-fonte de broadcast. Mas, podemosenviar pacotes mais complexos, atraves de construtores embutidos depacotes, usando a opcao -t.Seja,enviar uma resposta DNS forjada para um host, digamos 192.168.1.2,por impersonificar (by impersonating) o servidor DNS 10.7.7.42:

mz eth0 -A 10.7.7.42 -B 192.168.1.2 t dns ”q=www.thehostyouseek.com,a=172.16.6.66”Muito, se pode manipular num DNS header, por simplesmente termosa opcao mz -t dns.

Page 67: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

64

4 RESULTADOS APLICANDO SIA-DI EM AMBIENTEDE NUVEM

Neste capıtulo sao apresentados e discutidos tipos de de experi-mentos efetuados, com a finalidade de buscar ındices de desempenhoda tecnologia de agentes em um ambiente de Nuvem Computacional.

Os ındices foram obtidos atraves de analises realizadas em doisclusters da nuvem computacional.

4.1 DESEMPENHO DOS AGENTES

A motivacao dessa classe de experimentos se da ao alto ındice demobilidade projetado no sistema de agentes, que visa o atendimento asfuncionalidades de distribuicao, armazenamento e persistencia dos logse os mecanismos de reatividade.

A avaliacao constitui em determinar o desempenho da mobili-dade de agentes moveis JADE, com tamanhos destintos em um ambi-ente nao controlado. Os metodos de transmissao de agentes avaliadosforam Socket e Socketssl.

Avaliou-se o tempo de migracao dos agentes com segmentos dedados no intervalos de 0 a 2 MB, variando de 100 em 100 KB (0 KB,100 KB, 200 KB, 300 KB, 400 KB 500 KB, 600 KB, 700 KB, 800 KB,900 KB, 1000 KB, 1100 KB, 1200 KB, 1300 KB, 1400 KB, 1500 KB,1600 KB, 1700 KB, 1800 KB, 1900 KB e 2000 KB). Coletaram-se mil(1000) amostras de tempo, por segmento.

Outro experimento efetuado foi em relacao ao tempo de escritaem um banco de dados por um determinado agente. Nesse experimento,foram coletadas dez mil (10000) amostras, com os seguimentos de dadosvariando de 0 a 2 MB, da mesma forma que foi disposto no experimentoanterior.

4.1.1 Metodo Estatıstico Aplicado

O objetivo das analises estatısticas foi determinar o grau de sig-nificancia das diferencas de desempenho entre todos os grupos amos-trais. Para realizar essas analises foi utilizado o metodo estatıstico naoparametrico e nao pareado Kruskal −Wallis (WALLIS, 2016).

Apos aplicados os teste se obtem um p-valor de resultado, queindica se os grupos estao estatisticamente diferentes, dado um intervalo

Page 68: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

65

de confianca. Nesse trabalhou utilizou-se um intervalo de confianca de95%, de forma que um p-valor ≤ 0, 05 indica diferenca significativaentre os grupos, caso contrario nao existe uma diferenca significativa.

4.1.2 Desempenho dos Agentes no mesmo Cluster

A primeira categoria de experimentos foi realizada aplicando oos metodos de socket e socketssl em um mesmo cluster, ou seja, tantoa maquina que contem o IDS, quanto o container que esta replicandoos logs, estao no mesmo cluster da nuvem computacional. Na Tabela2 sao apresentadas as medidas e desvio padrao dos tempos gastos, emsegundos para a mobilidade dos agentes para os distintos tamanhosde agentes. Na Figura 24 apresenta-se um grafico demonstrando adiferenca de desempenho dos diferentes tamanhos.

Tabela 2 – Desempenho de Agentes Moveis em um Mesmo Cluster

Com SSL Sem SSL

Tamanho Tempo Medio(Segundos)

DesvioPadrao(Segundos)

Tempo Medio(Segundos)

DesvioPadrao(Segundos)

0 KB 0,0102135 0,1166726189 0,005974 0,0076387072100 KB 0,018842 0,0173241161 0,009988 0,003091357200 KB 0,032124 0,0007071068 0,0193395 0,0098874412300 KB 0,0468245 0,0152027958 0,0253515 0,0201184664400 KB 0,076032 0 0,050684 0,0150098743500 KB 0,0867025 0,0014142136 0,045225 0,0208559619600 KB 0,087196 0,016263456 0,042543 0,0162320502700 KB 0,100426 0,0130814755 0,060537 0,0252788119800 KB 0,1419085 0,0293449314 0,100796 0,0117376297900 KB 0,125826 0,0152027958 0,0710115 0,02496628171000 KB 0,13873 0,0130814755 0,0839395 0,01056353241100 KB 0,147818 0,0067175144 0,0870635 0,02508694121200 KB 0,156717 0,016263456 0,0917545 0,01138414081300 KB 0,177719 0,014495689 0,0829995 0,02262671881400 KB 0,177063 0,0293449314 0,099993 0,02280643581500 KB 0,200598 0,0014142136 0,114725 0,02313377541600 KB 0,2104065 0,0328804653 0,1268225 0,00802931251700 KB 0,2284365 0,0148492424 0,10235 0,02147214751800 KB 0,2293285 0,0031819805 0,1170615 0,02347390051900 KB 0,2385365 0,0279307179 0,123789 0,02629943932000 KB 0,247525 0,028991378 0,1275415 0,0248165205

Page 69: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

66

Figura 24 – Comparacao mesmo Cluster

4.1.3 Desempenho dos Agentes em um outro Cluster

A segunda categoria de experimentos foi realizada aplicando osmetodos de socket e socketssl em clusters diferentes, ou seja, a maquinaque contem o IDS esta em um cluster diferente, da maquina containerque esta replicando os logs, dentro da nuvem computacional. Na Tabela3 sao apresentadas as medidas e desvio padrao dos tempos gastos, emsegundos para a mobilidade dos agentes para os distintos tamanhosde agentes. Na Figura 25 apresenta-se um grafico demonstrando adiferenca de desempenho dos diferentes tamanhos.

Page 70: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

67

Tabela 3 – Desempenho de Agentes Moveis em Clusters Diferentes

Com SSL Sem SSLTamanho Tempo Medio

(Segundos)DesvioPadrao(Segundos)

Tempo Medio(Segundos)

DesvioPadrao(Segundos)

0 KB 0,0057835 0,0047619825 0,0053905 0,0047712685100 KB 0,009414 0,0059280452 0,0084335 0,0043416723200 KB 0,0169615 0,0103261645 0,01604 0,0115571303300 KB 0,033345 0,021372506 0,0251415 0,0120033717400 KB 0,0520255 0,014835252 0,033316 0,0184537629500 KB 0,062667 0,0176445265 0,0402695 0,0220332048600 KB 0,0435475 0,0193450527 0,0518835 0,0173437048700 KB 0,0540615 0,0241346261 0,0666985 0,0241427404800 KB 0,0942775 0,0115932527 0,0788865 0,0120265135900 KB 0,0643435 0,0262039423 0,0643965 0,02194758971000 KB 0,0816165 0,0325090718 0,088833 0,0132034661100 KB 0,090183 0,0201354774 0,102983 0,01023794761200 KB 0,109092 0,019758354 0,082752 0,01106184341300 KB 0,07845 0,0210190127 0,131442 0,02128672981400 KB 0,100359 0,0230585425 0,0966195 0,02290092071500 KB 0,1029585 0,0242330178 0,1017995 0,02363015661600 KB 0,112399 0,0059722986 0,121768 0,0174681181700 KB 0,1053555 0,0218585859 0,12233 0,02281647621800 KB 0,1222975 0,0231914163 0,118101 0,02443739441900 KB 0,1168075 0,0249819292 0,1229325 0,02600520692000 KB 0,131778 0,0252859401 0,13903 0,0250966545

Figura 25 – Comparacao em clusters Diferentes

Page 71: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

68

Nesta segunda analise, consegue-se perceber que a mobilidadedos agentes nos metodos Socketssl e Socket tambem nao e linear, enao apresentam uma diferenca significativa. Aplicando-se o metodoestatıstico obteve-se um p-valor > 0, 05, afirmando que nao ha a referidadiferenca.

4.1.4 Analise de Mobilidade dos Agentes

Esta subsecao e destinada a discussao dos resultados obtidos nosexperimentos.

Confrontando-se todas as amostras, foi verificado que so umgrupo amostral possui alguma diferenca significativa dos outros. Ogrupo em questao e o Mesmo Cluster com SSL. Realizando a com-paracao entre os grupos utilizando o metodo estatıstico, obteve-se osseguintes resultados: Mesmo Cluster com SSL x Mesmo Cluster semSSL possui diferencas nos segmentos de dados 1900 KB e 2000 KB,Mesmo Cluster com SSL x Clusters Diferentes com SSL possui dife-rencas nos segmentos de dados 1900 KB e 2000 KB e, por fim, narelacao Mesmo Cluster com SSL x Clusters Diferentes cem SSL possuidiferenca so no seguimento 2000 KB.

Na Figura 26, apresenta-se um grafico de comparacao entre acomunicacao dos agentes em um mesmo cluster e a comunicacao dosagentes em clusters diferentes.

Figura 26 – Diferenca entre Clusters

Mesmo verificando que ha diferenca de um grupo amostral que

Page 72: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

69

utiliza o metodo Socketssl dos outros, e mais vantajoso utilizar o metodoSocketssl, pois a diferenca obtida, no pior caso, foi so nos dois ultimossegmentos, o que nao e relevante quando comparado a confiabilidade eseguranca que o metodo possui.

4.2 DESEMPENHO DA CONEXAO DE UM AGENTE MOVEL COMO BD

A terceira categoria de experimentos realizada, destina-se a ve-rificar o desempenho de um agente ao escrever no banco de dados comos diferentes segmentos de dados. Neste experimento, foram coletadasdez mil (10000) amostras, com os seguimentos de dados variando de 0a 2 MB, da mesma forma que foi disposto no experimento anterior.

Os metodos utilizados Socket e Socketssl nos experimentos ante-riores, nao influenciam nesse experimento, pois a medida de desempe-nho foi realizada com o agente ja localizado no container que replicaraos logs, nao precisando considerar o tempo gasto de deslocamento. NaFigura 27 e apresentado o desempenho do agente ao escrever no bancode dados.

Figura 27 – Tempo de escrita de um agente no Banco de Dados.

A partir da imagem na Figura 27 e possıvel perceber que, amedida que o segmento de dados aumenta de tamanho, o tempo deescrita aumenta tambem, ocasionando uma relacao proporcional. Parase obter um desempenho melhor do sistema de agentes do SIA-DI,

Page 73: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

70

pode-se realizar melhorias afim de otimizar o tamanho dos segmentosde dados, consequentemente diminuindo o tempo de escrita no bancode dados.

Page 74: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

71

5 CONSIDERACOES FINAIS

Atraves deste trabalho foi possıvel a implantacao em nuvem com-putacional de um sistema de deteccao de intrusao do construıdo noLaboratorio DMC-NS (Distributed Mobile Computing- Network Secu-rity), um sistema de deteccao de intrusao, onde e utilizado um sistemaimunologico artificial criado com base no sistema imunologico humanoutilizando agentes estaticos e moveis, desenvolvido por (MACHADO,2005).

Como o IDS desenvolvido em (MACHADO, 2005) e do modelohost e, em sua primeira versao, so realizava a monitoracao das maquinasque possuıam a instalacao do mesmo, foi adaptado seu funcionamentoem relacao a resposta passiva em uma arquitetura de uma nuvem com-putacional, afim de flexibilizar, o monitoramento de novas maquinas.Contudo, para que o IDS funcione com todas as caracterısticas para oqual foi projetado, e preciso adaptar tambem seu sistema de respostasativas para um ambiente de nuvem computacional. Este e o tema depesquisa em (VIEIRA, 2017), uma tese de doutorado que aborda umsistema de respostas para o ambinte de nuvem, considerando Big Datae sistema autonomico, para armazenamento e analise de um grandenumero de logs oriundos das varias maquina virtuais existente numacomputacao em nuvem.

Foram realizados testes de desempenho dos agentes moveis (COSTA,2014). Neste novo cenario, no qual nao e um ambiente controlado,constatou-se que, o tempo de transmissao dos agentes em um mesmocluster, ou em clusters diferentes, nao segue um padrao, pois estaosuscetıveis as interferencias na rede e a concorrencia com outros pro-cessos na maquina-destino. Verificou-se tambem que a escolha do me-lhor metodo para transmissao dos agentes nao depende do tempo, seos segmentos de dados a serem trafegados, forem otimizados.

Resultante dos testes de ataques, o IDS SIA-DI, tem, pelas ca-racterısticas de uma nuvem, as maquinas virtuais criadas e gerenciadaspor um sistema hypervisor, onde servicos de usuarios estao isntalados,acrescento-se um nıvel de segurancaa mais, em relacao aos ambientesde redes reais. O que significa, que do ponto de vista do sistema de de-teccao de intrusao, o SIA-DI, tera resultados similares ao dos ambientesreais.

Finalizando, no ambiente de nuvem computacional utilizado, em-bora seja um ambiente de nuvem pequeno, deu para verificar que a im-plantacao do IDS SIA-DI num cluster, este sistema consegue monitor

Page 75: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

72

maquinas virtuais no cluster onde o SIA-DI esta instalado, e consegue,tambem, monitorar maquinas virtuais em outros clusters que possuemmaquinas virtuais, desde que estejam em rede. O ideal e que usuariosde uma nuvem possam utilizar o SIA-DI como um servico IDS providopela nuvem. Assim, do ponto de vista, do uso do SIA-DI em uma nu-vem, o comportamento deste IDS, se implantado numa nuvem (ondeservicos estao implantados em maquinas virtuais), e similar ao queocorre numa rede real (onde servicos estao implantados em maquinasfısicas).

O IDS SIA-DI e um programa de computador registrado noINPI, sob o registro ”BR 51 2016 000190 9”, atraves do DIT-UFSC, em26/02/2016, tendo sido, objeto de estudo no Projeto de Pesquisa ”AExpansao do Sistema SIA-SI na Computacao em Nuvem”, 2015.1313,sendo finalizado em 29 de Outubro de 2016.

Page 76: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

73

AESENCRYPTION. AES encryption. 2016. Disponıvel em:<http://aesencryption.net/>.

ANDERSON, J. P. Computer security threat monitoring andsurveillance. James P. Anderson Co, James P. Anderson Co, 1980.

CHESS, D. M.; HARRISON, C. G.; LEBINE, D. Itinerant Agentsfor Mobile Computing. [S.l.]: IBM Research Division, 1995. IBMResearch Report RC 20010.

CHIRIGATI, F. S. ComputaA§A£o em Nuvem. 2009. Acessadoem 15/01/2015.

COSTA, R. M. ImplantaA§A£o do Sistema SIA-DI numAmbiente de Nuvem. Monografia — Universidade Federal deSanta Catarina, 2014.

FERRAZ, F. Configurando um servidor de log com syslog-ng.2016. Acessado em 16/01/2015.

GOODRICH, M. T.; TAMASSIA, R. Introducao a seguranca decomputadores. [S.l.]: Bookman, 2013.

IBM. The power of cloud. 2012. Acessado em 01/12/2014.Disponıvel em: <http://www.ibm.com/gbs/powerofcloud>.

MACHADO, R. B. Uma abordagem de deteccao de intrusaobaseada em sistemas imunologicos artificiais e agentesmoveis. Dissertacao (Mestrado) — UNIVERSIDADE FEDERAL DESANTA CATARINA, 2005.

MARCIANO, J. L. P. Introducao a criptografia. 2016.

MELL, P.; GRANCE, T. The nist definition of cloud computing.Computer Security Division, Information Technology Laboratory,National Institute of Standards and Technology, 2011. Acessado em15/01/2015.

NETWORK ASSOCIATES, INC. An Introduction toCryptography. [s.n.], 1999. Disponıvel em:<http://www.pgpi.org/doc/guide/6.5/en/intro/>.

Page 77: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

74

PLUMMER, D. An Ethernet Address ResolutionProtocol-or-Converting Network Addresses to 48-bitEthernet Address for Transmission on Ethernet Hardware.[S.l.], 1982.

RIVEST, R. RFC1321 - The MD5 Message-Digest Algorithm. 1992.

SYSLOG-NG. Syslog-ng Reference Manual. 2016. Acessado em16/01/2015.

TANEMBAUM, A. Redes de Computadores. 5a ed. ed. NewJersey: Elsevier, 2011.

TECHTARGET.COM. TechTarget, Where Serious TechnologyBuyers Decide. 2014. Disponıvel em:<http://www.techtarget.com/>.

TECNOLOGIA, F. Saiba mais sobre Virtualizacao deServidores. Acessado em 15/01/2015.

TUTORIALSPOINT. Advanced Encryption Standard. 2016.Disponıvel em: <http://www.tutorialspoint.com/cryptography/advancedencryptionstandard.htm¿.

VIEIRA, K. M. M. Sistema de Resposta AutonA´mico comBig Data para ComputaA§A£o em Nuvem. Tese de Doutorado— Universidade Federal de Santa Catarina, 2017.

VIEIRA, K. M. M. Towards the cloud computing security featuring abig data and autonomic response system (survey to be submitted).LRG, PPGCC-UFSC, LRG, PPGCC-UFSC, 2017.

VIEIRA, K. M. M. et al. Providing response to security incidents inthe cloud computing with autonomic systems and big data. AICTIARIA, 2015.

VSFTPD. About vsftpd. 2016. Acessado em 16/01/2015.

WALLIS, K. Kruskal Wallis Metod. Agosto 2016. Acessado em20/10/2016. Disponıvel em:<http://www.itl.nist.gov/div898/software/dataplot/refman1/auxillar/kruskwal.htm>.

WIKIPEDIA. Cloud computing. 2014. Acessado em 23/11/2014.

Page 78: Avaliação do SIA-DI - Sistema de Detecção de Intrusão baseado em

75

YASSIN, W. et al. A cloud-based intrusion detection serviceframework, faculty of computer science and information technology.LRG, PPGCC-UFSC, Faculty of Computer Science andInformation Technology, Universiti Putra Malaysia, 2012.