Download pdf - Ataque Dos

Transcript

INSTITUTO TÉCNICO DE BARUERI – PROF. MUNIR JOSÉ

SEGURANÇA DE REDES ATAQUES DDOS

BARUERI 2012

SEGURANÇA DE REDES ATAQUES DDOS

Trabalho de Conclusão de Curso, apresentado ao Instituto Técnico de Barueri Professor Munir José, como um dos pré-requisitos para a obtenção do grau de Técnico em Redes de Computadores, sob orientação do professor Eduardo Corrêa Lima Filho.

Segurança de Redes: Ataques DDoS /. São Paulo 2012.

Orientador: Eduardo Corrêa Lima Filho

Trabalho de Conclusão de Curso (Técnico) – ITB / Instituto Técnico de Barueri

SEGURANÇA DE REDES Ataques DDoS

Trabalho de Conclusão de Curso apresentado ao Instituto Técnico de Barueri Prof. Munir José como um dos requisitos para a obtenção do diploma de Técnico em Redes de Computadores, sob orientação do Professor.

Data de Aprovação ___/___/_____

Nota:__________

Aprovado por:

______________________________________ Prof.

Coordenador do Curso

______________________________________ Prof.

Orientador do Curso

_____________________________________ Prof.

______________________________________ Prof.

______________________________________ Prof.

______________________________________ Prof.

BARUERI 2012

“O sucesso é um professor perverso. Ele seduz as pessoas inteligentes e as faz pensar que jamais vão cair.“ Bill Gates

INTRODUÇÃO A Internet tem inúmeras utilidades e serve para incontáveis necessidades

pessoais e profissionais, sendo gradativamente mais explorada por todos de modo geral e para diversos fins, permitindo assim uma alta conectividade. No entanto, esta interconexão entre computadores também permite que usuários mal intencionados ocasionem uma má utilização dos recursos da vítima, como é o caso do Ataque de Negação de Serviço contra a vítima. Este tipo de ataque é caracterizado por consumir os recursos de um host remoto ou de uma rede, afetando os recursos que seriam utilizados para servir os usuários autênticos.

Portanto, a finalidade deste ataque é tornar um serviço oferecido por uma rede

ou um servidor inacessível, através de tentativas para romper ligações entre máquinas, podendo também tirar totalmente um servidor de operação ou apenas deixá-lo lento, por um tempo determinado pelo atacante.

Nem todas as falhas de serviços, mesmo aqueles que resultam de atividades

maliciosas, são necessariamente ataques denial of service (CERT 2001). Outros tipos de ataque podem incluir uma negação de serviço, o uso ilegal também pode resultar em negação de serviço, como por exemplo, um usuário pode usar sua área de FTP como lugar para armazenar cópias ilegais de software comercial, de forma a consumir espaço em disco e gerando tráfego de rede.

A Negação de Serviço pode ocorrer de forma local onde o atacante deve estar logado no sistema, ou então, realizar de forma remota onde o atacante não precisa estar logado para realizar o ataque. Isto pode ocorrer independente do sistema operacional.

Fazendo uma analogia simples é o que ocorre com as companhias de telefone

nas noites de natal e ano novo, quando milhares de pessoas decidem, simultaneamente, cumprimentar, a meia-noite, parentes e amigos no Brasil e no exterior. Nos cinco minutos posteriores à virada do ano, muito provavelmente, você simplesmente não conseguirá completar a sua ligação, pois as linhas telefônicas estarão saturadas.

Deste modo, o Ataque de Negação de Serviços age de maneira similar a este

processo de inundação, com o objetivo de neutralizar os serviços. Por conseguinte, quando um computador ou site sofre este tipo de ataque (ASCHOFF), o mesmo não necessariamente é invadido e na realidade sofre uma sobrecarga de processos. Independentemente de ambiente ou plataforma o computador atacado será inundado e consequentemente não irá prover os serviços a que lhe é destinado.

Segundo Moore (2001), existem duas principais classes de ataques: uma

denominada de Lógica de Ataques (Logic Attacks) e a outra de Inundações de Ataques (Flooding Attacks).

A primeira classe, Lógica de Ataques, baseia-se em explorar vulnerabilidades

existentes em software de servidores remotos causando queda ou degradando significativamente o desempenho. Muitos destes ataques podem ser prevenidos por atualizações de software defeituosos ou filtragem especial de pacotes sequências.

A segunda classe, Inundações de Ataques, tem como objetivo sobrecarregar

os recursos da vítima, de modo a consumir todos os recursos essências da vítima para o seu funcionamento, como CPU, memória, ou recursos de redes. Para que este ataque funcione, o atacante envia mensagens de solicitações superiores a qual a vítima possa tratar, de forma que a vítima fica sobrecarregada com um grande número de solicitações falsas e não consegue atender ao tráfego legítimo. Moore (2001) afirma que, o que torna difícil esse tipo de ataque é porque não existe nenhuma forma tipicamente simples para distinguir os tráfegos legítimos dos falsos.

Um ataque de DoS (Ataque de Negação de Serviço) é caracterizado por um

ataque de uma única origem, já os ataques de múltiplas origens, onde as origens são múltiplos usuários ou máquinas coordenadas para inundar o alvo (vítima), com grande número de pacotes é o método conhecido como DDoS (Ataque de Negação de Serviço Distribuída). O estudo em questão irá concentrar informações sobre o segundo método DDoS. Com este objetivo, este capítulo descreve conceitos básicos que foram necessários para o desenvolvimento desta monografia. Este capítulo está dividido da seguinte forma: na seção 3.2 descreve conceitos sobre o método DoS (Denial of Service); a seção 3.3 descreve conceitos sobre o método DDoS (Distributed Denial of Service); na seção 3.4 contará um pouco da história desse ataque; por fim o motivos existentes para os atacantes efetuarem estas operações.

1. HISTÓRIA

No ano de 1988 houve a primeira detecção de ataque DoS. No mês de tembro de 1996, o Provedor PANIX (Public Access Network Corporation) ficou cerca de uma semana sob o efeito de um ataque DoS. Já em maio de 1999 uma série de ataques DoS atingiu as redes do FBI (Federal Bearout of Investigation) e de vários outros órgãos governamentais norte-americanos. (SANTOS, 2008)

Segundo Solha, Teixeira e Piccolini (2000) os primeiros ataques DDoS documentados surgiram em agosto de 1999, no entanto, esta categoria se firmou como a mais nova ameaça na Internet na semana de 7 a 11 de Fevereiro de 2000, quando vândalos cibernéticos deixaram inoperantes por algumas horas sites como o Yahoo, eBay, Amazon e CNN. Uma semana depois, teve-se notícia de ataques DDoS contra sites brasileiros, tais como: UOL, Globo On e IG, causando com isto uma certa apreensão generalizada.

Segundo Duarte (2005), em uma de suas publicações sobre Denial-of-Service,

o autor narra todo uma histórica e evolução desse ataque. Duarte afirma que os primeiros programas para ataques remotos DoS surgiram em meados dos anos 90, que para obter um maior efeito, era necessário uma conta em um grande computador ou rede. Havia nas universidades muitas “contas de aluguel”, que eram trocadas com os atacantes por software, cartões de crédito, dinheiro, etc.

Duarte afirma que em 1996 foram descobertas as falhas no TCP/IP, e no ano

seguinte, salas de bate-papo do IRC2 (Internet Relay Chat) eram utilizadas para ataques DoS por jovens que queriam tomar conta do canal, usavam o ataque para sobrecarregar a máquina alheia Ainda em 1997 surgiu uma técnica chamada Smurf (seção 4.3.2). Onde são lançando alguns poucos pacotes na rede, destinados a uma vítima, o atacante pode multiplicá-los por um fator de centenas, ou até milhares, dependendo do tamanho da rede, que são enviados da vítima original para um endereço broadcast3 da rede.

Este exército de pacotes eventualmente alcançava diversas outras vítimas, e a

vítima original era a teórica culpada pelo ataque. A defesa contra este tipo de ataque era simples, no entanto. Bastava desligar as capacidades de recepção de mensagens broadcast nos roteadores. Algumas redes possibilitaram isso, enquanto outras não, permanecendo assim a ameaça de potenciais ataques Smurf.

Logo em seguida, os atacantes resolveram explorar outra linha de ação:

simplesmente enviando centenas de pacotes ao alvo. Se a vítima usava uma conexão discada de velocidade baixa (variando de 14,4Kbps a 56Kbps) e o atacante usava uma conexão roubada de uma Universidade, de em torno de 1Mbps, ele obteria facilmente a conexão discada da vítima, que seria prejudicada a ponto de se tornar inútil e com velocidade de resposta praticamente nula.

Em 1998, as velocidades de conexão já se tornavam menos heterogêneas e

ataques Smurf eram fáceis de serem combatidos. Aí surgiu o DDoS, com atacantes passando a tentar obter controle de máquinas alheias para conseguir alagar a conexão da vítima com tráfego suficiente. Protótipos de ferramentas DDoS

começaram a surgir em meados de 1998. Ataques explorando vulnerabilidades de sistema sempre continuaram, e passou-se a combinar várias falhas DoS em uma única ferramenta, usando shell scripts em Unix. Isso aumentava a velocidade e violência do ataque, que foi denominado rape (estupro).

IRC - é um protocolo de comunicação bastante utilizado na Internet. Ele é

utilizado basicamente como bate-papo (chat) e troca de arquivos, permitindo a conversa em grupo ou privada. Foi documentado formalmente pela primeira vez em 1993, com a RFC 1459.

Em 1999, a computação distribuída foi combinada com worms (seção 2.4.4)

para causar novos ataques DDoS. Em meados deste ano, vários novos programas de DoS foram usados. As vítimas principais foram novamente redes e clientes IRC.

Com a iminência do ano 2000, vários ataques que causassem falhas esperadas

com o chamado “Bug do Milênio” foram previstos pelos especialistas, causando pânico na população. Estes ataques jamais ocorreram, no entanto, em fevereiro de 2000, eBay, Yahoo, Amazon e CNN, todos sites robustos, adaptados a tráfegos pesados e milhares de acessos simultâneos, sofreram ataques DDoS, resultando em milhões de dólares em perdas de publicidade e vendas.

Em janeiro de 2001, requests DNS falsos enviados a vários servidores DNS ao

redor do mundo gerou o tráfego para um ataque DDoS refletido de um site de registros de domínios: o atacante enviou vários requests sob identidade da vítima. Os servidores DNS responderam aos pedidos enviando a informação à vítima. O tráfego gerado foi de mais de 50Mbps, com o site enviando mais de 200 requests DNS por servidor por minuto. Este ataque durou uma semana, e não foi detido rapidamente, pois a única forma de fazê-lo seria desligar o serviço para todos os clientes (inclusive) legítimos do site. Como o ataque foi feito através de diferentes servidores DNS, não se podia escolher um que estivesse apenas criando tráfego falso para ser filtrado.

A posição já destacada da Microsoft no mercado fazia da empresa um alvo

freqüente de ataques DDoS. Mas ela estava sempre em salvaguarda, sobretudo quando um novo produto ou atualização importante era lançado. Mesmo assim, alguns ataques obtiveram sucesso, e em um deles um roteador que gerenciava todas as propriedades dos servidores DNS da Microsoft teve sua velocidade de ação reduzida, não respondendo normalmente ao tráfego requerido, 98% dos serviços da Microsoft foram total ou parcialmente negados com este ataque. No ano seguinte, talvez inspirado no ataque à Microsoft, um atacante tentou derrubar todos os 13 servidores raiz de DNS. Com um simples ataque DDoS, chegou-se a conseguir negar o serviço de 9 dos 13 servidores. Devido à robustez dos servidores e da curta duração do ataque, não houve um grande impacto à internet como um todo. Se fosse um ataque mais duradouro, as consequências poderiam ter sido devastadoras.

Em 2003, houve uma grande mudança nas motivações aos ataques. Primeiro,

as redes de spam, paralelo aos ataques de negação contra sites antispam; Segundo, crimes financeiros envolvendo DDoS, quando às vezes milhares de dólares eram pedidos como extorsão para parar ataques de negação; Motivações políticas, quando na Guerra no Iraque, a sucursal no Qatar da rede de televisão Al- Jazeera, praticamente único órgão de mídia com acesso pleno aos acontecimentos no Oriente

Médio, sofreu ataques quando mostrava imagens de soldados americanos capturados.

Em 2004, John Bombard programador de 32 anos, acusado de criar redes

zumbis na internet e disparar ataques DDoS contra servidores da empresa de hosting Akamai. A Akamai tem servidores espalhados pelo mundo todo e, entre seus clientes, estão nomes como Yahoo! e Microsoft. (INFO ONLINE, 2006).

Ataques de negação de serviço continuam ocorrendo com freqüência na

Internet. Segundo Moore (2005), citado por Laufer. Em um estudo para identificar a ocorrência de ataques de negação de serviço. Os pesquisadores observaram mais de 4.000 ataques por semana. Como o método empregado não consegue detectar todos os ataques que ocorrem na Internet, este valor é na verdade menor do que o número real de ataques. Um resultado importante mostra ainda que uma grande parte dos ataques são direcionados a vítimas brasileiras. De acordo com os autores,o domínio .br é o quarto domínio mais atacado por inundações visando à negação de serviço. Em toda a Internet, somente os domínios .net, .com e .ro foram mais atacados que o domínio brasileiro.

Moore (2001) afirma que os ataques em sites de alto perfil não sãopublicados,

pois os seus fornecedores consideram esses dados privados.

2. DENIAL OF SERVICE

Este capítulo inicialmente apresenta uma explanação sobre o que venha a ser uma Negação de Serviço. Em seguida, mostra definições e conceitos de Ataques DoS e DDoS, seu histórico e os motivos que levam um usuário mal-intencionado consolidar o ataque.

2.1. DOS - (Denial of Service)

De acordo com a definição do CERT (Computer Emergency Response Team), os ataques DoS (Denial of Service), também denominados Ataques de Negação de Serviços, consistem em tentativas de impedir usuários legítimos de utilizarem um determinado serviço de um computador. Para isso, são usadas técnicas que podem: sobrecarregar uma rede a tal ponto que os verdadeiros usuários dela não consigam usá-la; derrubar uma conexão entre dois ou mais computadores; fazer tantas requisições a um site até que este não consiga mais ser acessado; negar acesso a um sistema ou a determinados usuários.

Segundo Stein e Stewart (apud Santos, 2008), a definição de negação de

serviço corresponde a um ataque que permite que uma pessoa deixe um sistema inutilizável ou consideravelmente lento para os usuários legítimos através do consumo de seus recursos, de maneira que ninguém consiga utilizá-los. Qualquer sistema conectado a redes de computadores ou internet está sujeito a sofrer a este ataque.

Segundo Aschoff (2007) e Souza (2006), uma das técnicas utilizadas para a realização desse ataque é o Spoofing, que é utilizada para forjar, ou seja, falsificar o endereço IP do atacante, para que a vítima o receba como um pacote legítimo. O atacante utiliza dessa técnica para quebrar medidas de segurança, como autenticação baseadas em endereço IP, já que em alguns sistemas os servidores de rede só deixam utilizar certos serviços um número restrito e autenticação de usuários.

Na figura 1, segundo Souza (2006, p. 20) e Pontes (2007) ilustram como é o funcionamento dessa técnica. A máquina x e y pertencem a uma mesma rede, possuem uma conexão confiável entre si, as máquinas mantêm uma comunicação de forma que não seja necessária a constante comprovação da autenticidade entre elas. O hacker sobrecarrega a máquina y para que a impossibilite de manter contato com a máquina x, e não tenha um cancelamento da conexão. O hacker tenta manter uma seqüência de conexão se passando pela máquina y, mas a máquina x mantém uma conexão unidirecional, onde todas as suas respostas são destinadas para a máquina y, até que o harcker consiga uma conexão confiável com todas as vantagens de uma máquina confiável.

Figura 1 - Técnica Spoofing Fonte: Souza (2006, p. 20)

Segundo Souza (2006) existem três tipos de técnica de Spoofing:

IP Spoofing: utilizada para ocultar a real origem dos pacotes. Segundo Duarte (2005) é uma tática para falsificar o endereço IP. Programas maliciosos podem forjar cabeçalhos falsos, fazendo assim crer que o pacote veio de outro endereço. Este tipo de ataque é mais comum quando existe relação de confiança entre máquinas.

DNS Spoofing: é uma técnica mais avançada, onde o atacante utiliza um servidor DNS falso para responder as requisições de resolução de nomes. No momento que o usuário faz uma consulta ao DNS para saber o endereço IP do destino, o DNS responde com o endereço IP falso da máquina fazendo com que o usuário se conecte a uma máquina que ele pensa que é a requerida.

ARP Spoofing: nesta técnica o endereço MAC é falsificado. O atacante se passa por um usuário de outra máquina e passa a intermediar a comunicações entre cliente e servidor. Esta técnica, conhecida como “Man in the middle”, também pode ser usado para encher o buffer da tabela MAC de um switch para que ele funcione como um HUB e assim possa ser enxergado o tráfego de dados de todas as portas do switch.

O DoS era satisfatório para os atacantes realizarem suas ações, mas com o

passar do tempo tornou se mais fácil de ser mitigado. Com o decorrer dos anos a necessidade de atacar máquinas com grandes recursos e dificultar a identificação da origem dos ataques, diante dessa situação foi se desenvolvendo o DDoS, onde diversas máquinas com sistemas comprometidos atacando em conjunto para atingir seu alvo.

2.2. DDOS - (Distributed Denial of Service)

O DDoS, sigla para Distributed Denial of Service, ou seja, Negação de Sistema Distribuído, nada mais é do que o resultado de se conjugar os dois conceitos: negação de serviço e intrusão distribuída. (RNP 2000) Segundo Lee (2006), Negação de Serviço Distribuído (DDoS) é um típico cenário de Negação de Serviço, onde um atacante visa estabelecer um serviço oferecido por uma vítima. Vários computadores são mobilizados em um ataque. Estes computadores (chamados de zumbis ou vítima secundária) são previamente comprometidos pelo invasor. Quando um ataque é bem sucedido, o serviço alvejado se torna indisponível a seus usuários legítimos. Segundo Thomas (2005), são chamados ataques de negação de serviços distribuído (DDoS), onde o atacante dispõem de um conjunto de máquinas ao invés de uma, como no caso DoS, e passa a ter em seu poder uma grande quantidade de processamento e largura de banda ocasionando assim lentidão ou indisponibilidade de qualquer tipo de comunicação com o computador ou rede afetada.

Assim sendo o ataque DDoS é um ataque DoS expandido, ou seja, utiliza

milhares de computadores para atacar uma determinada máquina. O DDoS é diferente do DoS, mas com o mesmo objetivo, de paralisar o serviço

oferecido pela vítima. Segundo Laufer (2005), em vítimas com poucos recursos, a negação do serviço consegue ser realizada sem dificuldades, uma vez que mensagens geradas a uma taxa baixa podem tornar o serviço da vítima indisponível.

Porém, sendo a vítima com muitos recursos, como é o caso de grandes

servidores famosos, esse resultado não é alcançado tão facilmente. A RFC4732 (Internet Denial of Service Considerations) afirma que devido à falta

de consideração a ataques de negação de serviços na concepção da arquitetura da internet, praticamente todos os serviços da rede mundial de computadores são vulneráveis a ataques deste tipo quando em suficiente escala. Na maioria dos casos esta escala pode ser obtida através do comprometimento de várias máquinas ou roteadores que trabalham em conjunto passando a efetuar um ataque de negação de serviço distribuído.

Para que os ataques desse tipo sejam bem sucedidos é necessário que tenha

um número grande de computadores envolvidos. Na figura 2, ilustra uma arquitetura genérica de um ataque DDoS.

Figura 2 - Arquitetura Ataque DDoS

Fonte: http://en.wikipedia.org/wiki/Denial-of-service_attack

Segundo Souza (2006), as técnicas mais conhecidas usadas nos ataques são: botnets e a utilização de máquinas zumbies. Botnets são redes formadas por computadores infectados com bots. O bot é um programa capaz de se propagar automaticamente explorando vulnerabilidades existentes ou falhas de configuração de software instalados em um computador. Está técnica é utilizada pelos atacantes para aumentar a potência dos ataques. (CERT 2006)

Zumbies são computadores infectados por códigos maliciosos. Estes computadores infectados são controlados por spans e transformados em servidores de emails para envio de spam. Na maioria dos casos o dono da máquina demora a perceber o problema em geral, notando apenas a lentidão na máquina ou na conexão com a internet. É uma técnica utilizada por atacantes porque ajuda a dificultar a detecção da origem do ataque. (CERT 2006).

Para a realização desse ataque e atingir a enorme quantidade de máquinas

evolvidas são necessárias várias ferramentas e métodos para a concretização do ataque DDoS, no capítulo 04 são apresentadas algumas das principais ferramentas de ataque, suas características e como funciona o ataque DDoS.

2.3 - MOTIVOS DO ATACANTE Para o consultor de informática e especialista em segurança Thompson (2002),

diversas são as causas que leva alguém a se tornar um hacker. Ele descreve que alguns hackers encaram a invasão como um esporte; outros querem se superar por meio de ataques e invasões cada vez mais difíceis e arriscados; alguns invadem para testar os seus conhecimentos na área; alguns jovens geralmente os conhecidos como CDFs, invadem os sistemas de suas escolas para ficar bem com a turma; alguns se tornam hackers por puro prazer em fazer o mal.

Como existem inúmeras ferramentas de fácil acesso distribuídas na internet, para realizar o trafego de ataques passa-se por tráfego legítimo, isso facilita que os usuários comuns tornam-se atacantes.

Empresas que disponibilizam serviços pela Internet são os principais alvos

desse ataque. Se um site de venda como as Americanas, chegar a ficar por um longo período inacessível, o usuário deixa de comprar os produtos oferecidos. Se o ataque for um de longa duração isso pode causar sérios prejuízos, como a reputação da empresa e também deixar de lucrar com seus produtos.

Sites que trabalham com links patrocinados, onde procuram tirar a sua renda

através de propagandas de empresas, com a ocorrência desse ataque impossibilita a visualização dessas propagandas, trazendo consigo várias conseqüências, quebra de contrato, má reputação da empresa, podendo também trazer sérios problemas judiciais financeiros.

Como a identificação da origem das requisições é difícil de ser localizada isto

facilita para o atacante. Os próprios atacantes se aproveitam para oferecer serviços de “segurança”, usam esse ataques para testar a veracidade da segurança desses sites, uma forma encontrada para tomar dinheiro das vítimas, ou até mesmo chantagear empresas.

Para Thompson (2002), esse é um tipo de ataque mais fácil de ser realizado

pelos hackers, pois recebe menos atenção por parte dos responsáveis pela manutenção do sistema na empresa.

Portanto não se sabe ao certo se são por motivos religiosos, políticos, terrorismo ou por diversão, o fato é que eles existem e ocorrem até hoje.

Os ataques começaram no último dia 7, com a

sobrecarga das Páginas de busca Yahoo!, Que permaneceu inacessível durante três horas. Um dos roteadores que ligam o site à Web havia sido afetado impedindo a transferência e o redirecionamento do tráfego. O Yahoo! é uma das páginas mais visitadas da Internet, tendo atraído, somente em dezembro, mais de 40 milhões de internautas. Os primeiros cálculos apontam para um prejuízo de US$ 500 mil. (Jornal do Comércio – Recife, 2000)

3 - ATAQUES

Esse capítulo apresenta as três fases do funcionamento do ataque DDoS. São

apontadas segundo a teoria de Laufer, as classificações da Negação de Serviços, em seguida, duas técnicas (syn flood e smuf) utilizadas para o ataque e por fim as principais ferramentas utilizadas para realizar o ataque.

3.1 - COMO FUNCIONA O DDoS

Como já foi visto no capitulo 03, um ataque deste tipo tem como objetivo indisponibilizar os serviços oferecido por uma rede ou um servidor de rede. O DoS é caracterizado quando um atacante utiliza um computador para tirar de operação um serviço ou um computador conectado a Internet. Já o DDoS o atacante utiliza um conjunto de computadores para realizar a ação.

Quando uma máquina sozinha não é capaz de consumir os recursos da vítima,

precisam ser usadas diversas máquinas para gerar o tráfego de ataque em direção ao alvo e negar os seus serviços. As máquinas utilizadas estarão sobre o controle do atacante, por isso que em alguns estudos são chamadas de computadores escravos, zumbis ou agentes.

Segundo Solha, Teixeira e Piccolini (2000), o ataque DDoS é dado,

basicamente, em três fases: A primeira é uma fase de intrusão em massa, na qual ferramentas automáticas

são usadas para comprometer máquinas e obter acesso privilegiado (acesso de root); a segunda, onde o atacante instala software DDoS nas máquinas invadidas com o intuito de montar a rede de ataque. E, por último, a terceira fase corresponde ao lançado algum tipo de flood4 de pacotes contra uma ou mais vítimas, consolidando efetivamente o ataque.

Para melhor compreender o funcionamento do ataque, figura 3, a primeira

etapa é identificar quem são os personagens que fazem parte do ataque, nesta monografia será utilizada a seguintes nomenclaturas, que são: o Atacante é quem concretiza a coordenação do ataque; o Master é o computador que recebe os parâmetros para o ataque e lidera os agentes; o Agente é o computador que concretiza o ataque DoS contra uma ou mais vítimas, conforme for especificado pelo atacante e a Vítima é o alvo do ataque.

Figura 3 - Hierarquia DDoS

Nas próximas seções será tratada detalhadamente o funcionamento de cada fase.

3.2 - Fase de Intrusão em Massa

Esta fase tem como objetivo realizar um megascan de portas e vulnerabilidades em redes. Algumas dessas vulnerabilidades podem ser exploradas remotamente ou na tentativa de adivinhar a senha de um usuário.

Segundo Laufer (2005), muitos usuários maliciosos criam ferramentas capazes de encontrar máquinas vulneráveis e invadi-las. Através dessas ferramentas, o atacante conseguirá controlar todas as máquinas agentes que iniciem um ataque a uma vítima.

Isto ocorre na maioria das vezes em redes com conexões de banda-larga ou com baixo monitoramento. Após o atacante encontrar as vulnerabilidades de sua vítima, a fim de obter acesso privilegiado na máquina, é criada uma lista com os IPs das máquinas que foram invadidas e que serão utilizadas para o ataque.

Entre as vítimas preferenciais estão máquinas Solaris e Linux, devido à existência de sniffers e rootkits para esses sistemas. Entre as vulnerabilidades comumente exploradas podemos citar: wu-ftpd, serviços RPC como "cmsd", "statd", "ttdbserverd", "amd", etc. Solha, Teixeira e Piccolini (2000).

3.3 - Fase de Instalação de Software

Esta fase é a etapa de instalação de software, de forma a permitir que as máquinas sejam controladas remotamente. Após serem instalados os programas, o atacante irá identificar qual a função da máquina no ataque.

Segundo Solha, Teixeira e Piccolini (2000), após as máquinas serem invadidas

as ferramentas DDoS são instaladas para permitir que elas sejam controladas remotamente. São essas máquinas comprometidas que desempenharão o papel do master ou agente. A escolha de qual máquina será usada como master e qual como agente dependerá do critério do atacante. A princípio, o perfil dos master é o de máquinas que não são manuseadas constantemente pelos administradores e muito menos são freqüentemente monitoradas. Já o perfil dos agentes é o de máquinas conectadas à Internet por links relativamente rápidos, muito utilizados em universidades e provedores de acesso.

Nos agentes será instalado o daemon DDoS que anunciará sua presença aos

masters e ficarão esperando os comandos, a partir da comunicação automatizada Daemon: aplicação que roda no agente, recebe e executa os comandos enviados por uma aplicação instalada no master. entre os masters e agentes organizam-se os ataques, é instalado rootkits para tentar ocultar o comprometimento das máquinas e a presença dos programas de ataque.

Segundo Solha, Teixeira e Piccolini (2000) as fases 1 e 2 são realizadas quase que uma imediatamente após a outra e de maneira altamente automatizada. Assim, são relevantes as informações que apontam que os atacantes podem comprometer uma máquina e instalar nela as ferramentas de ataque DDoS em poucos segundos.

3.4 - Fase de Concretização do Ataque

Esta é a fase da realização do ataque, onde o atacante controla uma ou mais máquinas masters que por sua vez podem controlar um grande número de agentes.

Para concretizar o ataque os agentes disparam flood de pacotes. O atacante

envia instruções para masters que por sua vez envia para os agentes instruções para atacar as vítimas, por um período determinado pelo atacante.

4 - CLASSIFICAÇÃO DOS ATAQUES

Na literatura pesquisada para a realização do presente trabalho, existe uma pequena contradição, referente à classificação dos ataques, onde alguns autores afirmam que não existe classificação exata e por outro lado, outros classificam como sendo quatro tipos distintos. Entretanto, este trabalho foi fundamentado na teoria de Laufer (2005), que aponta a existência de classificação entre ataques, pois se torna mais compreensível ao leitor.

Segundo Laufer (2005), existem quatro tipos de ataques, que são: Ataques por

Inundação, Ataques por Refletor, Ataques à Infra-Estrutura de Rede e Ataques por Vulnerabilidade. Essa seção descreve um pouco sobre cada tipo de ataque.

4.1- Ataques por Inundação

Ataques por inundação têm o objetivo de impedir o acesso a um determinado serviço através da sobrecarga de recursos da vítima. A partir deste ataque, os recursos da vítima podem ser explorados de diferentes maneiras. Exemplo Laufer (2005, p.11): ta = intervalo de tempo entre cada requisição (REQ) enviada pelo atacante; tp = tempo necessário para que a vítima processe a requisição e envie uma resposta (RESP) e tm = tempo durante o qual um determinado recurso de memória fica alocado para atender uma requisição.

Um ataque ao processamento da vítima pode ser realizado quando o atacante consegue gerar requisições a uma taxa mais rápida do que a vítima consegue processá-las, ou seja, quando ta < tp. Na figura abaixo mostra um ataque de negação de serviço realizado para sobrecarregar o processamento da vítima. Neste caso, a vítima não consegue processar as requisições em tempo hábil, o que faz com que a fila de requisições sobrecarregue e que muitas delas sejam descartadas. Desta forma, caso um usuário legítimo tente acessar o mesmo serviço que está sendo atacado, é muito provável que sua requisição seja descartada junto com o tráfego de ataque.

4.2 - Ataques por Refletor

Outro tipo de ataque de negação de serviço conhecido é o ataque por refletor. Este ataque também é um ataque por inundação que visa consumir recursos da vítima.

Porém, devido à presença de uma estação intermediária entre o atacante e a

vítima, ele é aqui tratado como um ataque diferenciado. A idéia é usar a estação intermediária para refletir o tráfego de ataque em direção à vítima. Tal manobra dificulta ainda mais a descoberta da identidade dos atacantes, uma vez que o tráfego que chega à vítima é originado no refletor, e não no próprio atacante. Para a reflexão do tráfego de ataque, é necessário que o atacante envie algum tipo de

requisição (REQ) para o refletor, usando como endereço de origem o próprio endereço da vítima. Ao receber uma requisição, o refletor não consegue verificar a sua autenticidade e, conseqüentemente, envia uma resposta (RESP) diretamente para a vítima. Laufer (2005, p.16)

4.3 - Ataques à Infra-Estrutura de Rede

Ataques à infra-estrutura de rede ocorrem em vítimas que possuam recursos como processamento e memória em abundância. Um exemplo é tentar consumir toda a banda passante da rede da vítima com o tráfego de ataque. Desta forma, por mais que a vítima consiga atender a todas as requisições que chegam a ela, muitas requisições ainda são perdidas na infra-estrutura de rede.

Neste caso, o ponto onde as requisições são perdidas é algum roteador entre

o atacante e a vítima onde existe um “gargalo,” ou seja, onde o tráfego direcionado à vítima é maior do que o enlace de saída pode suportar. Desta forma, requisições legítimas ao serviço da vítima provavelmente são descartadas neste roteador, uma vez que precisam disputar o mesmo recurso com o tráfego enviado pelo atacante. Estes ataques são difíceis de combater, já que os pacotes não precisam ter nenhum padrão que possibilite filtrá-los. Laufer (2005, p.17)

4.4 - Ataques por Vulnerabilidade

Segundo Laufer (2005), é uma forma de negar serviços de forma a explorar alguma vulnerabilidade na implementação da pilha de protocolos ou da própria aplicação da vítima. Um exemplo deste tipo de vulnerabilidade ocorreu na implementação do protocolo TCP em sistemas operacionais Windows. Para a sua ativação, o atacante precisava construir um segmento TCP com determinadas características e enviá-lo para a vítima. Ao receber este segmento, a vítima passava

para um estado inesperado e o sistema operacional abortava, causando o congelamento total do seu processamento. O envio periódico destes segmentos poderia deixar a vítima inoperante por um bom tempo, dependendo da vontade do atacante.

5 - TÉCNICAS UTILIZADAS PARA ATAQUE

Como já foi citado, para que um ataque atinja os seus objetivos são utilizadas algumas técnicas para sobrecarregar a rede de forma que seu usuário legítimo não consiga utilizá-la. Nas próximas seções serão apresentadas duas técnicas utilizadas pelos atacantes para a realização do ataque.

5.1 - Syn Flood Quando um computador está estabelecendo uma conexão com um servidor

através de um sinal TCP conhecido por SYN (Capítulo 02). O servidor atendendo ao pedido de conexão enviará ao computador solicitante um sinal resposta ACK.

SYN flood ou ataque SYN é uma forma de ataque de negação de serviço (DoS)

que explora algumas vulnerabilidades existentes entre o conceito da Internet e a maneira com que os sistemas operacionais tratam uma requisição de conexão. (SOUZA, 2006, p. 26)

O problema é que quando essa técnica é utilizada em um ataque, o

servidor não consegue responder as solicitações e passa a recusar novos pedidos.

Figura 6 - Conexão SYN Flood http://pt.wikipedia.org/wiki/SYN_Flood

Na figura 6 ilustra um ataque SYN Flood, quando o atacante envia diversas

vezes pacotes maliciosos com SYN e recebe respostas válidas O servidor é sobrecarregado e novas requisições válidas não são realizadas com sucesso.

Portanto, quando são enviados alguns milhares de SYN para um determinado

host e estes não são respondidos, a fila de solicitações ficará cheia e todos os recursos ficam ocupados, fazendo com que nenhuma nova conexão, legítima ou não, possa ser feita, resultando em negação de serviço.

5.2 - Smurf

Segundo Souza (2006) um ataque Smurf acontece quando o agressor envia uma seqüência de pacotes broadcast, ou seja, para todos os hosts de uma mesma sub rede, e modifica o IP de origem – Técnica conhecida como Spoofing (Capítulo 03) - para outro IP qualquer forçando desta forma que as repostas dos diversos hosts sejam enviadas para este outro IP, sobrecarregando dessa forma este host como é ilustrado na figura abaixo:

Figura 4.3-2 - Técnica Smurf Fonte: Souza (2006, p. 27)

6 - FERRAMENTAS UTILIZADAS PARA O ATAQUE Para a realização do ataque é necessário à utilização de ferramentas, estas

ferramentas estão disponíveis gratuitamente na Internet, ao alcance de qualquer pessoa, tornando-se assim um ataque simples de ser praticado, até mesmo por pessoas que não tenham nenhum conhecimento sobre o assunto.

Segundo Aschoff (2007), a primeira ferramenta desenvolvida para efetuar

ataques surgiu em 1998. A partir daí muitas ferramentas foram desenvolvidas, cada vez com mais sofisticação e facilidade de uso. Nesta seção serão apresentadas algumas ferramentas utilizadas para a realização dos ataques. A finalidade dessa monografia não é demonstrar todas as ferramentas existentes para a implementação do ataque e nem como são utilizadas, mas para conhecer um pouco das principais, que são: Trin00, TFN, Stacheldraht e TFN2K.

Tabela 1 - Ferramentas Utilizadas para o Ataque

TIPO

DESCRIÇÃO

TRINOO O Trin00 é uma ferramenta distribuída usada para lançar ataques DoS

coordenados, especificamente, ataques do tipo UDP flood. Arquitetura

operador / agentes. Atacante se comunica com o operador via TCP; O

operador se comunica com os agentes via UDP. Permite senhas para

operadores e agentes, e gera pacotes UDP para portas aleatórias para

múltiplos recipientes.

TFN (TRIBLE

FLOOD

NETWORK

O TFN é uma ferramenta distribuída usada para lançar ataques DoS

coordenados a uma ou mais máquinas vítimas, a partir de várias máquinas

comprometidas. Além de serem capazes de gerar ataques do tipo UDP flood

como o Trin00, uma rede TFN pode gerar ataques do tipo SYN flood, ICMP

Flood e Smurf/Fraggle. TFN

STACHELDRAHT Baseado no código do TFN, o Stacheldraht é outra ferramenta distribuída

usada para lançar ataques DoS coordenados a uma ou mais máquinas

vítimas, a partir de várias máquinas comprometidas. Como sua antecessor

TFN, ela também é capaz de gerar ataques DoS do tipo UDP flood,

TCP flood, ICMP flood e Smurf/fraggle. Funcionalmente, Stacheldraht

combina basicamente características dasferramentas Trin00 e TFN, mas

adiciona alguns aspectos, tais como: criptografia da comunicação entre o

atacante e o master;e atualização automática dos agentes.

TFN2K (Tribe

Flood Network

2000)

Versão melhorada do TFN, adiciona características para dificultar detecção

do tráfego e controle remoto da rede de agentes.

7 - SEGURANÇA

Esse capítulo tem como objetivo apresentar uma visão de segurança contra ataques DDoS, Aborda as dificuldades na defesa contra a negação de serviço, apresenta as ferramentas de segurança disponível no mercado e descreve algumas de suas características.

As empresas modernas perceberam a importância do mercado virtual para seus negócios, fazendo com que a utilização da rede mundial de computadores, seja um fator positivo e até mesmo diferencial no mercado tão competitivo, em que os meios disponibilizados para se ter destaque neste cenário estão cada vez mais escassos. Entretanto, a sociedade está se tornando predominantemente mais atrelada a viabilidade da Internet.

Segundo Nakamura e Geus (2007) o mundo moderno e globalizado faz com que as organizações busquem o mais alto nível de competitividade, no qual a principal ferramenta utilizada é a Internet. De acordo com as constatações da pesquisa, observa-se que a internet tem sido utilizada como elo de ligação entre empresas e clientes ou entre empresas e empresas, visto que, os que a utilizam da melhor forma conquistam mais espaço no mundo comercial. As empresas estão confiando a Internet como a sua ligação aos seus clientes. A sociedade está sendo induzida a fazer a maior parte de seus negócios através da Internet.

Partindo dessa base de informações, torna-se simples imaginar como a internet é algo realmente importante para as empresas, que também pode causar dependência antes não vista, pois algumas corporações não possuem outra forma de crescimento a não ser através do uso desta ferramenta. Dentro do contexto mencionado, pode-se dizer que as empresas possuem uma quantidade enorme de informações em seus servidores, ou seja, em hipótese alguma esses dados poderão ser acessados por pessoas não autorizadas.

Contudo, as empresas com as características descritas, devem ter uma

preocupação maior no que se refere à qualidade e disponibilidade dos serviços, pois uma simples falha nos serviços que acarretam em uma indisponibilidade temporária dos servidores que contém os sistemas utilizados, poderá proporcionar prejuízos imensuráveis. Principalmente com relação ao sigilo dos dados, nunca foram tão ameaçados quanto nos últimos anos e, com essa grande porcentagem do uso da internet nos negócios das empresas e a crescente automatização dos processos produtivos através da tecnologia, são necessárias medidas para preservar o sigilo e a integridade das organizações.

O 11º estudo de segurança estratégica, realizado por InformationWeek EUA,

que entrevistou mais 1,1 mil profissionais de TI e negócios sobre os planos e as prioridades para assegurar as suas ações, revelou que as empresas estão gastando mais. No entanto, os dados não estão mais seguros hoje, comparados com o ano de 2007. Para 66% dos participantes, a vulnerabilidade aos ataques de códigos maliciosos é a mesma do ano passado ou pior. (InformationW eek Brasil7 . Ago 2008, nº. 206), ou seja, as empresas estão gastando mais.

Para a maioria dos casos de DoS, as documentações para uma solução

capaz de realmente detectar e evitar maneira eficaz os ataques são poucas. Contudo, não é impossível detectar o ataque e aplicar certas estratégias, mas sem conhecer os conceitos e a forma que esses ataques acontecem essa tarefa se torna difícil.

Segundo Mirkovic (2004, sp) grandes estudos de segurança priorizam a atenção sobre invasões onde acontecem roubos de serviços, já no caso da negação de serviço, muitos ignoram como sendo pouco provável de ocorrer porque o atacante não ganha nada com esse tipo de ataque comparando com outros ataques onde o hacker rouba senhas de banco para obter dinheiro da vítima. Mas uma máquina não protegida pode ser utilizada como agente de ataque, onde o hacker irá utilizá-la para o ataque distribuído.

O gráfico 5-1 representa em porcentagem notificações de incidentes

reportados ao CERT, no período de julho a setembro de 2008.

Gráfico 5-1 - Tipos de Ataque (porcentagem)

Fonte: http://www.cert.br/stats/incidentes

Uma ferramenta definitiva contra ataques DDoS ainda é um problema em

aberto, mas podemos dizer que existem sim algumas soluções já existentes que procuram atacar essa questão. Existem diversos tipos de ataques DDoS e um dos maiores problemas na sua detecção é a similaridade entre o tráfego anômalo gerado por um ataque e o tráfego normal de rede. Um problema recorrente nas soluções que aparecem é poder compará-las para testar a eficácia.

Baseado nessa informação e na pesquisa realizada existem estratégias

para combater esses ataques, embora à medida que são desenvolvidas ferramentas de defesa, os atacantes encontram maneiras de contornar essas defesas. Tal como acontece com outras ameaças de segurança em rede de computadores, também existem formas de se proteger contra esses ataques de negação de serviços, podendo tentar evitar caso os ataques ocorram, ou podendo tentar detectar e reagir eficazmente quando eles ocorrem. Existem dois grupos de vítima de ataques de negação de serviço DoS e DDoS (capítulo 03), que podem ser os

proprietários de máquinas que tenham sido comprometidos a servir como agentes, as máquinas escravizadas pelos hackers e as vítimas que tem como objetivo final o ataque DDoS, que são os servidores. Desta forma, a finalidade desse capítulo é apresentar informações de defesa contra o objetivo final dos ataques DDoS, a máquina que o atacante pretende negar o serviço. Nesta perspectiva serão apresentadas as principais dificuldades contra a negação de serviços e quais os mecanismos de proteção de segurança.

7.1 - DIFICULDADES NA DEFESA CONTRA NEGAÇÃO

Os ataques de negação de serviço são considerados problemas cruciais, causando a paralisação de serviços onde essa indisponibilidade não é tolerada. Achar uma solução para detectar e evitar esses ataques de maneira eficaz é um grande desafio, mas não é impossível. É importante que os administradores de redes entendam os conceitos e a forma como esses ataques acontecem para que as estratégias de defesa sejam bem aplicadas. Assim, para desenvolvimento de novas técnicas eficazes é necessário um nível bastante considerável de conhecimento da dinâmica do ataque, os administradores de redes, por um lado, gastam uma enorme quantidade de tempo e recursos para aumentar os seus sistemas de segurança contra ataques, já os atacantes só precisam alterar linhas de código ou encontrar vulnerabilidade em máquinas transformando-as em agentes ou esgotando a defesa existente.

Segundo Souza (2006) é essencial um planejamento técnico da organização para detectar rapidamente e responder contra os ataques. Para isso é necessário uma análise que requer um maior nível de detalhe para que se possa estudar e planejar a dinâmica do ataque. Porém, são poucas as informações e pesquisas publicadas. A eficácia de um ataque DDoS reside nas grandes quantidades de máquinas “agentes” distribuída por toda a rede. Com tantos agentes, o invasor pode assumir ainda maiores redes, e ele pode variar seu ataque por implantar subconjuntos de agentes num momento ou enviar poucos pacotes de cada máquina agente. Dessa forma as diferentes estratégias de ataque derrota muitos mecanismos de defesa, ou seja, as estratégias de ataques geralmente são mais eficientes que os mecanismos usados para a defesa que tentam rastrear novos ataques e a sua origem mesmo que o atacante não mude de máquina agente, o simples fato de se utilizar várias máquinas agentes envolvidas no ataque, por conseguinte, torna a busca por eles uma boa solução de defesa.sobre o ataque de negação de serviçoe a maioria das informações encontradas se referem às atividades do DoS na Internet, ou seja, torna se difícil criar um bom planejamento estratégico de defesa contra o ataque de negação de serviço pela falta de conhecimento e informações.

Segundo Mirkovic (2004, sp) outro aspecto que torna ambos os ataques DoS e DDoS difícil de lidar são as defesas que funcionam bem contra muitos outros tipos de ataques que não são necessariamente decisivos contra a negação de serviço, como exemplo, o uso do firewall. Os administradores do sistema são avisados

para instalar e manter as configurações atualizadas, fechar portas desnecessárias em todas as máquinas, ficar com patch atuais dos sistemas operacionais e outros software importantes, e para executar sistemas de detecção de intrusão que descubra qualquer ataque infiltrado nos sistemas de segurança de defesa. Porque muitas vezes essas medidas de segurança não ajudam contra a negação de serviço. Os ataques podem consistir de tráfego em que o firewall pode achar aceitável, provavelmente porque tem uma semelhança com o tráfego legítimo. Os ataques de negação de serviço necessitam consumir os recursos da vítima, para isso pode funcionar em qualquer porta deixada aberta, incluindo aqueles que devem ser abertas para um nó para fazer sua atividade normal.

Eficiência das medidas de reação a ataques DDoS não depende apenas de quão bem eles reduzem o efeito dos DoS uma vez que são implantadas, mas também da precisão do sistema que determina quais defesas são necessárias para lidar com o ataque em particular, quando requisitados, e onde deve implantá-lo.

Tal como acontece com outras ameaças de segurança em rede de

computadores, existem formas de se proteger contra esses ataques, podendo tentar evitar (prevenção) os ataques de negação de serviço, ou podendo tentar detectar e reagir (proteção e reação) eficazmente quando eles ocorrem. Independente de qual é o papel da vítima no ataque DDoS, seja ela a vítima final (servidores) ou as máquinas agentes do atacante, as medidas de defesa que se devem tomar não são muito diferentes.

A prevenção é visivelmente desejável, quando pode ser feita. Uma forma

simples e eficaz que fique impossível executar um ataque DDoS em qualquer site da Internet seria a melhor solução, mas não é prático.

As formas existentes de prevenção contra ataques DDoS, é impedir o

lançamento de ataques, impossibilitando os atacantes de reunir máquinas agentes para concretizar o ataque ou melhorar a capacidade dos sistemas. Mesmo que os administradores de redes e usuários típicos tomem seus devidos cuidados, sempre haverá máquinas que não estão executando o patch mais recentes versões de seus software, ou que tenham deixado portas abertas permitindo as invasões. Entretanto, como não existe software perfeitos, qualquer prática e técnica de segurança são valiosas. De certa forma pode tornar as máquinas com menos probabilidade de serem comprometidas.

O mecanismo de segurança tem por objetivo fornecer apoio em um

sistema de informação de forma a proporcionar capacidades de detectar, reagir e proteger o sistema. Para montar uma estratégia de segurança de prevenção contra os ataques é necessário levar em consideração as necessidades e condições que uma empresa dispõe de forma a unificar todos os propósitos da organização.

Souza (2006) afirma que nenhum mecanismo de segurança é totalmente

seguro e eficaz e que assegure à total proteção as informações e na maioria das vezes são utilizados em conjuntos para melhor proteção contra invasores. O autor ainda afirma que a falta de uma punição legal, imposta aos invasores, propicia e incentiva ações dos invasores, forçando as organizações a investirem cada vez mais na proteção de suas informações, embora nem sempre com o sucesso desejado.

Rohr (2008) também afirma que independente do software que o administrador

ou o usuário típico escolha, ele não irá funcionar sozinho. O programa de segurança mais adequado é aquele que o usuário conhece as suas configurações, seus pontos fortes e fracos, porque não existe uma solução sem falhas.

7.2 - Firewall

De acordo com o conceito da Wikipédia (http://pt.wikipedia.org/wiki/Firewall): Firewall é o nome dado ao dispositivo de uma rede de computadores que tem

por objetivo aplicar uma política de segurança a um determinado ponto de controle da rede. Sua função consiste em regular o tráfego de dados entre redes distintas e impedir a transmissão e/ou recepção de acessos nocivos ou não autorizados de uma rede para outra. Este conceito inclui os equipamentos de filtros de pacotes e de proxy de aplicações, comumente associados a redes TCP/IP.

Com base no conceito citado logo acima o firewall tem por objetivo controlar o tráfego de dados do computador e a internet, permitindo somente a transmissão e a recepção de dados autorizados através de regras e filtragem de dados. O firewall também é definido como barreira de fogo ou barreira de proteção. Na figura ilustra o firewall situado entre uma rede LAN e WAN, como dispositivo de segurança para impedir os intrusos.

Há mais de uma forma de funcionamento de um firewall, que varia de acordo com o sistema, aplicação ou do desenvolvedor do programa. No entanto, existem dois tipos básicos de conceitos de firewalls: o que é baseado em filtragem de pacotes e o que é baseado em controle de aplicações. Ambos não devem ser comparados para se saber qual o melhor, uma vez que cada um trabalha para um determinado fim, fazendo que a comparação não seja aplicável.

Como foi citado acima existem dois tipos o baseado em filtragem de pacotes, como o nome já diz, filtra pacotes e é muito utilizado em redes pequenas ou de porte médio. Através das regras estabelecidas, o firewall determina que endereços IPs e dados possam estabelecer comunicação ou a transmissão e recebimento dos dados.

Já o baseado em controle de aplicações segundo o site inforwester são geralmente instalados em computadores servidores e são conhecidos como proxy. Como exemplo de aplicações: SMTP, FTP, HTTP e etc. Esse tipo não permite a comunicação direta entre a rede e a internet. Tudo deve passar pelo firewall que age como um intermediador. Como o estudo apresentado não será realizado uma pesquisa de campo e nem testes em laboratórios, e como sem dúvida qualquer usuário precisa saber dados precisos a respeito da qualidade de um software. Portanto, foi escolhido o teste realizado pelo site Matousec (http://www.matousec.com/projects/firewall-challenge/results.php#firewalls-ratings). O site realiza análise e testes relacionados à segurança de software executados nas plataformas Windows NT (Windows 2000, XP, 2003 e Vista).

7.3 - Antivírus

O antivírus são software projetados para detectar e eliminar vírus de computadores. Existe uma grande variedade de produtos com esse intuito no mercado, diferença está nos métodos de detecção, no preço e nas funcionalidades. (Wikipédia: http://pt.wikipedia.org/wiki/Antivírus).

Como foi explicado logo acima pela Wikipédia, os antivírus detectam e eliminam

os programas maliciosos que contaminam os arquivos e partições do disco. Portanto, software de antivírus devem ser atualizados freqüentemente pelos administradores e usuários típicos. Conforme os vírus evoluem, ou seja, estão sempre surgindo novos, um antivírus desatualizado não oferecerá uma segurança eficaz, podendo ele não suprir as reais necessidades de proteção diante de um código malicioso11, como por exemplo: vírus, worms e bots, backdoors, cavalos de tróia, keyloggers e outros programas spyware e rootkits.

A figura abaixo representa um teste realizado pela Av-Compartives.org1 2, um site que realiza testes comparativos de software de antivírus. O último teste foi realizado em agosto de 2008, e até essa data, não está disponível o próximo teste de novembro de 2008.

Falta TABELA de antivurus

A figura mostra os níveis atingidos pelos diversos produtos de anti-vírus testados. Os produtos são classificados como: Advanced+, Advanced e Standard. Os que estão classificados como “standard” são produtos que tem uma boa taxa de detecção por demanda. “Advanced” são produtos que tem uma taxa muito boa de detecção por demanda e os produtos classificados por “Advanced+” possuem uma excelente taxa de detecção por demanda. No mesmo site pode ser encontrado relatórios com informações mais detalhadas sobre todos os antivírus testados.

Segundo o site Av-Comparatives é importante que o usuário considere a taxa de alarme falso. Avira, AVK e Kaspersky, por exemplo, possuem ótimas taxas de detecção, mas alta taxa de alarmes falsos, enquanto o McAfee e o Norton detectam menos pragas, mas tem menos alarmes falsos. O site http://www.virustotal.com oferece um serviço que analisa arquivos suspeitos e proporciona uma rápida detecção de vírus, worms, cavalo de tróia, e todos os tipos de arquivos maliciosos detectados por vários mecanismos de antivírus.

Mesmo com esses exemplos citados, não é possível identificar qual o programa de segurança mais adequado, qual desses antivírus é o melhor entre eles. O fator importante é que o usuário conheça a ferramenta que se está utilizando para melhor poder utilizá-lo. Segundo Rohr (2008) todo antivírus tem seu ponto negativo e positivo, não existe um antivírus melhor que o outro, cada um possui qualidades e defeitos e certamente haverá algum que se encaixa no perfil do usuário, na potência de sua máquina e seu conhecimento. Portanto, à medida que os antivírus se atualizam, os ataques de códigos maliciosos também, com o objetivo de driblar os antivírus mais populares. Essa capacidade dos vírus de burlarem a segurança dos antivírus faz com que os usuários procurem sempre por alternativas de antivírus. Com base no que foi estudado, o primeiro passo para a prevenção de ataques DDoS é usar software de proteção começando por um firewall e antivírus. É importante também que os usuários típicos e os administradores de redes procurem manter todos os programas que são utilizados, sempre atualizados e instalar todas as correções de segurança.

7.4 – IDS Intrusion Detection System

O firewall vigia as portas de entrada do computador, analisando cada informação que se aproxima e para impedir a passagem de dados suspeitos e evitar diversos ataques. Porém, o firewall muitas vezes não consegue analisar todos os detalhes dos dados que chegam deixando passar alguns ataques e programas maliciosos. Mesmo sabendo que os mecanismos de proteção têm

vulnerabilidade, ainda assim, os software são importantes ferramentas de proteção e trabalhando em conjunto garantem um melhor resultado na segurança.

Para que um conjunto de segurança seja formado não basta somente à

prevenção é importante também utiliza as ferramentas de detecção de intrusão, conhecidas por IDS (Intrusion Detection System), no português Sistema de Detecção de Intrusos. É uma ferramenta que pode ser utilizada para detecção de ataques de negação de serviço.

Essa ferramenta tem como um dos objetivos principais detectar se existe

algum usuário mal intencionado tentando entrar no sistema ou até mesmo se existe algum usuário legítimo tentando fazer o mau uso do sistema. Funciona de forma que não seja percebida, ao detectar algum evento que seja suspeito, gerando notificações. O IDS também pode notificar uma situação como sendo ataque, quando na verdade a atividade ocorrida não faz parte de um ataque. Isso ocorre quando a ferramenta é driblada por prováveis erros que podem acontecer ao sistema.

Esses possíveis erros que podem acontecer são classificados:

Falso positivo: ocorre quando a ferramenta classifica uma ação como

uma possível intrusão, quando na verdade trata-se de uma ação legítima; Falso negativo: ocorre quando uma intrusão real acontece, mas a

ferramenta permite que ela passe como se fosse uma ação legítima;

Erros de subversão: ocorre quando o intruso modifica a operação da ferramenta de IDS para forçar a ocorrência de falso negativo.

Com base nessa informação, esses erros conhecidos como falsos

positivos, é a freqüência com que a ferramenta de segurança detecta software legítimos como malicioso, ou seja, são os alarmes falsos. Um usuário mais experiente pode identificar um falso positivo com facilidade, mas os mais leigos optam por soluções com menos erros.

Os IDS baseados em host são conhecidos como HIDS (Host Intrusion

Detection System). Eles Monitoram dados em uma determinada máquina, sejam processos, sistemas de arquivos ou uso de CPU. E os baseados em redes NIDS (Network Intrusion Detection System) monitoram todo o tráfego trocados entre hosts, ou seja, todos os dados que passam através da rede. Segundo Aschoff (2007) os sistemas de detecção de intrusão podem ser classificados quanto à tecnologia empregada nessa fase de análise. Segundo Caletti os mesmos métodos de detecção do IDS e IPS são os mesmos para gerarem seus alertas ou bloqueios de possíveis tráfegos maliciosos.

Análise de Assinatura – Sistemas de Detecção de Intrusos baseados na analise de assinatura ou por uso indevido ("misuse detection") são sistemas que procuram por padrões de ataques e intrusões previamente conhecidos. São também conhecidos como sistemas de detecção de intrusão baseado em conhecimento. A premissa básica dos IDs que se enquadram nesta classe é que existem ataques com características precisas, bem definidas e que podem ser facilmente codif icadas em um sistema especialista. Esses sistemas possuem

uma base de assinaturas de ataques conhecidos que deve ser constantemente atualizada à medida que novos ataques sejam descobertos.

O mesmo autor ainda afirma que independentemente do foco (rede ou

host) os sistemas baseados em analise de assinaturas necessitam de conhecimento especialista humano para operar. Um dos principais benefícios dessa técnica é que ataques conhecidos podem ser detectados com uma taxa muito baixa de falsos positivos. Outro benefício é que a técnica permite que o sistema fique protegido imediatamente após sua instalação. A principal desvantagem dos sistemas de detecção baseados em assinaturas é a sua incapacidade de detectar novos ataques, ou mesmo, ataques que ainda não façam parte da sua base de assinaturas e padrões. Este é o principal fator motivador para pesquisa e desenvolvimento de sistemas de detecção de intrusos baseado em anomalias.

Análise de Anomalia – Sistemas de detecção de intrusão baseados na análise de anomalia, também chamados sistemas de detecção de intrusão baseados em comportamento, procuram determinar ou criar modelos que representem o comportamento normal ou esperado do sistema computacional ou rede em análise e alertam sempre que desvios neste comportamento esperado forem encontrados. Sistemas dessa categoria oferecem vários benefícios. Em primeiro lugar, eles possuem a capacidade de detectar ataques internos. Por exemplo, se um usuário ou alguém usando uma conta roubada inicia a execução de ações que estão fora do padrão normal desse usuário, um sistema de detecção de anomalia pode gerar um alarme. Em segundo lugar, devido ao sistema ser baseado em perfis personalizados, é difícil para um atacante saber com certeza o que ele pode realizar sem disparar um alarme. Em terceiro lugar, um sistema de detecção de anomalia tem a capacidade de detectar ataques previamente desconhecidos. Isto se deve ao fato de que um perfil de atividade intrusiva não é baseado em assinaturas específicas. Uma atividade intrusiva gera um alarme porque se afasta da atividade normal, não porque alguém tenha conf igurado o sistema para procurar por uma assinatura de ataque específica.

Por outro lado, estes sistemas também sofrem de várias desvantagens. A primeira desvantagem evidente é que deve passar por um período de treinamento no qual os perfis de usuários normais são criados através da definição de perfis de tráfego ''normal''. Além disso, criar um perfil de tráfego normal é uma tarefa difícil. A criação desse perfil de maneira inadequada pode levar a um desempenho indesejado. A manutenção desses perfis também pode ser uma tarefa que consuma muito tempo. Uma vez que sistemas de detecção de anomalia estão procurando por acontecimentos anômalos ao invés de ataques, estes estão sujeitos aos alarmes falsos. Por fim, uma armadilha destes sistemas acontece quando um usuário malicioso consegue gradualmente treinar o sistema para entender o comportamento malicioso como normal. Análise Híbrida - Sistemas híbridos ou compostos combinam as duas abordagens apresentadas. Um sistema híbrido atua inspirado num sistema de detecção de intrusão por assinatura que toma suas decisões através de um modelo híbrido, ou seja, leva em consideração tanto o comportamento normal do sistema como o comportamento intrusivo dos atacantes.

Baseado nas afirmações realizadas um sistema de detecção e prevenção de intrusos permite ação rápida dos administradores para eventual correção de problemas ou atuação rápida na correção de falhas e/ou fechamento de acessos indevidos. Em se tratando de segurança, não podemos simplesmente ter sistemas de Firewall para bloquear um possível intruso ou uma tentativa de ataque. É preciso ter ferramentas que nos possibilitem identificar essas tentativas e tomar uma atitude contra isso.

Segundo Nakamura e Geus (2007, p. 269) a identificação de pontos

fracos relacionados a determinados tipos de IDS levou ao desenvolvimento de sistemas de prevenção de intrusão IPS, que buscam não apenas detectar, mas também prevenir os ataques. O IPS será apresentado na próxima seção.

7.5 - IPS – Intrusion Prevention System

Como complemento do IDS, é utilizada a ferramenta IPS (Intrusion Prevention System), em português, Sistema de Prevenção de Intrusão. É uma ferramenta que tem a habilidade de identificar uma intrusão, analisar a relevância do evento e bloquear determinados eventos, fortalecendo assim a técnica de detecção de intrusos. O IPS usa a capacidade de detecção do IDS junto com a capacidade de bloqueio de um firewall, notificando e bloqueando de forma eficaz qualquer tipo de ação suspeita ou indevida e é uma das ferramentas de segurança de maior abrangência, uma vez que seu poder de alertar e bloquear age em diversos pontos de uma arquitetura de rede. A diferença básica entre um IPS e um IDS segundo a Wikipédia (http://pt.wikipedia.org/wiki/IPS) é que o IDS, além de detectar um tráfego anômalo, é capaz de tratá-lo. Com isso, é possível obter um maior grau de segurança nas redes de computadores. Souza ainda afirma que a vantagem de utilizar o IPS junto com o firewall é que no caso do IPS deixar de funcionar por algum problema, não é permitida a saída de conexões geradas internamente, o que evita a invasão a terceiros pela falha do sistema.

Segundo Caletti a arquitetura do IPS é baseada em host, redes e

arquitetura distribuída: Portanto a arquitetura baseada em host conhecidos como HIPS (Host Intrusion Prevention System) tem um funcionamento similar ao HIDS e podem parar ataques antes que sejam bem sucedidos. Arquitetura baseada em redes conhecidos como NIPS (Network Intrusion Prevention System), segundo Rash (apud Caletti 2006), a principal diferença entre um NIDS com resposta ativa e um NIPS é que o NIPS é um dispositivo inline, ou seja, situa-se diretamente no trajeto que os pacotes fazem enquanto atravessam a rede. Um exemplo de dispositivos inline são os roteadores, que são responsáveis por passar pacotes IP entre redes e os firewalls. E Arquitetura Distribuída conhecida como DIPS (Distributed Intrusion Prevention System) podem possuir sensores locais (HIDS) e/ou sensores de rede (NIDS). Segundo Casswell (apud Caletti, 2006) o que difere essa arquitetura das outras é que ela possui uma estação de gerenciamento à qual os sensores se reportam ou os mesmos podem

trocar informações entre si. As regras de cada sensor podem ser personalizadas dependendo da necessidade.

Conforme Mirkovic (2004, sp): estar bem preparado para detectar e reagir aos ataques DDoS, irá revelar muito mais útil do que qualquer método que o usuário pode comprar ou instalar. Para os administradores reagirem de forma correta é necessário se ter uma boa preparação, ou seja, se o administrador souber quem contactar da assistência, o que podem fazer por ele e que tipo de informação dará para fazê-lo, a sua reação sempre será mais rápida e mais eficaz. Sem dúvida os mecanismos de defesa devem estar preparados, devem ter a capacidade de analisar o que está acontecendo em uma rede. O que pode acontecer é um administrador assumir que sofreu um ataque DDoS em sua rede quando efetivamente não houve o problema, e na verdade uma lentidão na rede. Portanto, ao contrário de medidas preventivas, medidas reativas requerem detecção de ataques. Deste modo, pode-se dizer que, uma reação pode ser executada a menos que um problema é percebido e entendido. Como foi afirmado por Mirkovic (2004, sp):

Sendo as medidas contra DoS e DDoS preventivas ou reativas, ou até uma combinação de ambas, há objetivos que se deseja conseguir. A defesa deve ser efetiva, isto é, ela tem que funcionar. Isto vale tanto para medidas que impeçam ataques de ocorrer quanto para reações aos ataques. Deve ser completa no que se refere a ser capaz de lidar com todos os tipos de ataque

Ainda que a defesa deva ser eficaz, que seja um objetivo óbvio de um mecanismo de proteção, é difícil conseguir uma segurança efetiva. A todo o momento surgem novos ataques e especialmente aqueles para quebrar defesas existentes. As defesas devem também ser capazes de continuar fornecendo serviços a clientes legítimos, que é o principal objetivo das medidas contra DDoS.

Para isso, como também é citado por Mirkovic (2004, sp), é preciso uma baixa taxa de falsos positivos, ou seja, baixa taxa de tráfego legítimo sendo confundido com tráfego falso. Por fim, deve ser necessário baixo custo operacional e bom retorno, fazendo com que os sistemas operem normalmente durante ataques.

7.6 – Ferramentas IDS

Durante as pesquisas realizadas, não foi detectado dados e informações detalhados sobre ferramentas IDS e IPS.

O Snort é um exemplo de IDS baseado em rede (NIDS), gratuito, o seu código fonte é aberto, open source. Dessa forma os desenvolvedores podem analisar e acrescentar novas funcionalidades. Criada em 1998 por Martin Roesch, o fundador do Sourcefire. Utiliza a análise por assinaturas, ou seja, analisa as atividades do sistema procurando por eventos que correspondam a padrões pré-definidos de ataques e outras atividades maliciosas, geralmente cada assinatura corresponde a um ataque. Ele é capaz de detectar quando um ataque está sendo realizado. Baseado nas características do ataque, ele pode alterar ou remodelar sua

configuração de acordo com as necessidades e avisar ao administrador do ambiente sobre o ataque.

Segundo Northcutt (apud Vieira, sd) a desvantagem desta técnica de detecção é que ela pode detectar somente ataques conhecidos, ou seja, que estão incluídos no conjunto de assinaturas que o IDS possui, necessitando-se assim de constante atualização deste conjunto. O Snort, por ser um sistema de código aberto, permite a criação de novas assinaturas de ataques por parte do administrador. Porém, como foi citado por Santos (2005) as assinaturas de ataques devem ser aplicadas somente as relevantes a realizada da rede. Santos descreve que seu diferencial é a capacidade inspecionar o payload do pacote, área que contém os dados do mesmo, fazendo o registros dos pacotes, além de detectar as invasões. Fornece funções de farejamento (sniffer) e registros de pacotes é a parte fundamental do Snort, sendo sua grande vantagem os recursos de detecção de invasão, que fazem a correspondência do conteúdo de cada pacote com as regra de invasão.

O seu funcionamento se da seguinte forma: O pacote passa pelo Farejador, de forma que o farejador vai analisar todos os pacotes que trafegam na rede, independente do tipo de protocolo. Depois ele os envia para o Pré-Processador onde recebe todos os pacotes brutos, analisando cada comportamento com os plug-ins1 7 disponíveis. Logo após de ser detectado o comportamento particular do pacote, o mesmo é encaminhado para o Mecanismo de Detecção onde vão ser verificados os dados recebidos do pré-processador e seus plug-ins com a base de dados contendo as Regras. Uma vez que os dados dos pacotes correspondam com as informações de alguma regra, estes são enviados para o processador de Alerta/Registro. Segundo Caswell (apud Borges e Coutinho, 2007), os plug-ins de saída fornecem aos administradores a capacidade de configurar logs e alertas de maneira fácil de entender, ler e usar no ambiente de suas empresas. A análise de fluxo seria inútil sem eles para processar, formatar os dados analisados. Produto: RealSecure Categoria: IDS baseado em rede e host Licença: Shareware Plataforma: Windows NT/2000/XP, Solaris, HP/UX, AIX

Descrição:

O RealSecure foi desenvolvido pela ISS - Internet Security System. Trata-se de

uma ferramenta híbrida, ou seja, combina detecção baseada em host e em rede em uma única plataforma, de maneira integrada. Reconhece ataques em rede em tempo real analisando pacotes à medida que estes passam pela rede, comparando sua base de dados de assinaturas dos ataques conhecidos. Também analisa artigos de log para auxiliar na identificação dos ataques.

7.6 - Ferramentas IPS Produto: Cisco IPS Licença: Comercial Fonte: http://www.cisco.com/en/US/products/index.html Descrição: Cisco IPS A Cisco IPS - Cisco Intrusion Prevention System, é baseado em redes, ou seja, NIPS. Pode identificar classificar, e parar as ameaças conhecidas e desconhecidas, incluindo worms, vírus, aplicativos de ameaças, tentativas de invasão no sistema e utilização abusiva do sistema. Atualmente existem outras categorias da Cisco IPS, mas uma que se destacou para o estudo que está sendo realizado é a Cisco DDoS

Multidevice18. Outras categorias da Cisco IPS são: Cisco IOS Intrusion Prevention System (IPS), Cisco Catalyst ® 6500 Series Intrusion Detection System Services Module (IDSM-2, Cisco IPS 4200 Series Sensores e Cisco IPS 4270 Sensor. Produto: DefenseWall Licença: Shareware, 30 dias. Plataforma: Windows 2000/XP/2003/Vista 32-bit. Descrição: DefenseWall HIPS – Host Intrusion Prevention System, é baseada em host. É destinada a proteger contra software malicioso, como: spyware, keyloggers, rootkits entre outros. Uma de suas características é que alem de combater vírus funciona como firewall. A ferramenta funciona dividindo todos os aplicativos em grupos: Confiáveis e Não Confiáveis. Toda a sua configuração pode ser feita pelo usuário. Os aplicativos não confiáveis são iniciados com direitos limitados de alteração de parâmetros, por conseguinte, ficam separados pelos aplicativos confiáveis. No caso havendo uma penetração por software mal intencionado através de um dos aplicativos não confiáveis, ele não poderá danificar seu sistema e pode ser encerrado com apenas um clique

Broadcast - é o envio da mesma mensagem a vários usuários e ao mesmo tempo Floode de Pacotes: Segundo o dicionário Inglês Flood significa inundar ou alagar. Ou seja, é encher a máquina de pacotes com solicitações desnecessárias.