domingo, 29 de maio de 2011

Ataques DoS (Denial of Service) e DDoS (Distributed DoS)

Quem acompanha os noticiários de tecnologia ou segurança certamente já se deparou com matérias que citam ataques DoS ou ataques DDoS a sites ou servidores na internet. No entanto, poucos realmente sabem o que essas ações significam, como funcionam e quais suas consequências. Por esse motivo, apresentamos a seguir uma explicação rápida sobre essas questões.


O que são ataques DoS?


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 que usuários legítimos utilizem determinados serviços de um computador ou de um grupo de computadores. Para isso, são aplicadas várias técnicas que podem: sobrecarregar uma rede a tal ponto em que os verdadeiros usuários não consigam utilizá-la; derrubar uma conexão entre dois ou mais computadores; fazer uma quantidade grande de requisições a um site até que os servidores deste não consigam mais ser acessados; negar acesso a um sistema ou a determinados usuários. 


Explicando de maneira ilustrativa, imagine que você utiliza um ônibus regularmente para ir ao trabalho. No entanto, em um determinado dia, uma quantidade enorme de pessoas furou a fila e entrou no veículo, deixando-o tão lotado que você e os outros passageiros regulares não conseguiram entrar. Ou então, imagine que você tenha conseguido entrar no ônibus, mas este ficou tão cheio que não conseguiu sair do lugar por excesso de peso. Este ônibus acabou negando o seu serviço - o de transportá-lo até um local -, pois recebeu mais solicitações - neste caso, passageiros - do que é capaz de suportar. 


É importante frisar que quando um computador/site sofre ataque DoS, ele geralmente não é invadido, mas sim sobrecarregado. Isso independe do sistema operacional utilizado.


Os ataques do tipo DoS mais comuns podem ser feitos devido a algumas características do protocolo TCP/IP (Transmission Control Protocol / Internet Protocol), sendo possível ocorrer em qualquer computador que o utilize. Uma forma de ataque bastante conhecida, por exemplo, é a SYN Flooding, onde um computador tenta estabelecer uma conexão com um servidor através de um sinal do TCP conhecido por SYN (Synchronize). Se o servidor atender ao pedido de conexão, enviará ao computador solicitante um sinal chamado ACK (Acknowledgement). O problema é que, em ataques desse tipo, o servidor não consegue responder a todas as solicitações e então passa a recusar novos pedidos. 


Outra forma de ataque comum é o UPD Packet Storm, onde um computador faz solicitações constantes para que uma máquina remota envie pacotes de respostas ao solicitante. A máquina fica tão sobrecarregada que não consegue executar suas funções.

Ataques DDoS

DDoS, sigla para Distributed Denial of Service, é um tipo de ataque DoS de grandes dimensões, ou seja, que utiliza até milhares de computadores para atacar uma determinada máquina. Esse é um dos tipos mais eficazes de ataques e já prejudicou sites bastante conhecidos. Historicamente, servidores da CNN, Amazon, Yahoo, Microsoft e eBay já foram vítimas. Em dezembro de 2010, os sites da Visa, Mastercard e Paypal sofreram ataques DDoS de um grupo defendendo a não existência de "censura" na internet.

Para que os ataques do tipo DDoS sejam bem sucedidos, é necessário que se tenha um número grande de computadores para que estes façam parte do ataque. Uma das melhores formas encontradas para se ter tantas máquinas foi a de inserir programas de ataque DDoS em vírus ou em softwares maliciosos. 

Em um primeiro momento, as pessoas que organizavam ataques DDoS tentavam "escravizar" computadores que agiam como servidores na internet. Entretanto, com o aumento na velocidade de acesso por causa das conexões banda larga, passou-se a existir interesse pelos computadores dos usuários domésticos, já que estes representam um número extremamente grande de máquinas na internet e, em muitos casos, podem ser "escravizados" mais facilmente.

Para atingir a massa, isto é, a enorme quantidade de computadores conectados à internet, malwares (ou seja, vírus, cavalos-de-troia, etc) foram e são criados com a intenção de disseminar pequenos programas para ataques DoS. Assim, quando um vírus com tal poder contamina um computador, este fica disponível para fazer parte de um ataque DoS, sendo que o usuário dificilmente fica sabendo que sua máquina está sendo utilizado para tais fins. Como a quantidade de computadores que participam do ataque é grande, é praticamente impossível saber exatamente qual é a máquina principal do ataque.
Quando o computador de um usuário doméstico é infectado por um malware com funções para ataques DoS, esta máquina passa a ser chamado de "zumbi". Após a contaminação, os zumbis entram em contato com máquinas chamadas de "mestres", que por sua vez recebem orientações (quando, em qual site/computador, tipo de ataque, entre outros) de um computador "atacante" ou "líder". Após receberem as ordens, os computadores mestres as repassam às máquinas zumbis, que efetivamente executam o ataque. Um computador mestre pode ter sob sua responsabilidade até milhares de computadores. Repare que, nestes casos, as tarefas de ataque DoS são distribuídas a um "exército" de máquinas escravizadas. Daí é que surgiu o nome Distributed Denial of Service. A imagem abaixo ilustra a hierarquia de computadores usadas em ataques DDoS.


Finalizando: impedindo e detectando ataques DoS

Apesar de não existir nenhum meio que consiga impedir totalmente uma ação DoS, é possível detectar a existência de ataques ou de computadores (zumbis) de uma rede que estão participando de atividades DDoS. Um dos meios para isso consiste em observar se está havendo mais tráfego do que o normal (principalmente em casos de sites, seja ele um menos conhecido, como o InfoWester, seja ele um muito utilizado, como o Google), se há pacotes TCP e UDP que não fazem parte da rede ou se há pacotes com tamanho acima do normal, por exemplo. Outra dica importante é utilizar softwares de IDS (Intrusion Detection System - Sistema de Identificação de Intrusos).


Para prevenção, uma das melhores armas é verificar as atualizações de segurança dos sistemas operacionais e softwares utilizados pelos computadores. Muitos malwares aproveitam as vulnerabilidades encontradas para efetuar contaminações sem que o usuário ou o administrador do sistema perceba. Também é importante filtrar certos tipos de pacotes na rede, criar regras consistentes de firewall e desativar serviços que não são utilizados.



FONTE: INFOWESTER, por Emerson Alecrim

Um comentário: