Ataques DoS (Denial of Service) e DDoS (Distributed DoS)
Introdução
Quem acompanha os noticiários de tecnologia e internet certamente já se deparou com matérias que citam ataques DoS ou ataques DDoS a sites ou servidores na internet. As motivações são as mais diversas: protestos, tentativas de fraude, disputa entre grupos que atuam on-line, entre outros. No entanto, poucos realmente sabem o que estas ações significam, como funcionam e quais as suas consequências. Por este motivo, o Infowester apresenta a seguir uma breve explicação sobre o assunto.
O que são ataques DoS?
Os ataques DoS (sigla para Denial of Service), que podem ser interpretados como "Ataques de Negação de Serviços", consistem em tentativas de fazer com que computadores - servidores Web, por exemplo - tenham dificuldade ou mesmo sejam impedidos de executar suas tarefas. Para isso, em vez de "invadir" o computador ou mesmo infectá-lo com malwares, o autor do ataque faz com que a máquina receba tantas requisições que esta chega ao ponto de não conseguir dar conta delas. Em outras palavras, o computador fica tão sobrecarregado que nega serviço.
Explicando de maneira figurada, imagine que você utiliza um ônibus regularmente para ir ao trabalho. Certo dia, no entanto, uma quantidade grande de pessoas "furou a fila" e entrou no veículo, deixando-o tão cheio que você e os demais passageiros regulares não conseguiram entrar. Ou então, imagine que você tenha conseguido entrar no ônibus, mas este ficou lotado ao ponto de não conseguir 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.
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 por meio 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 deste 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.
Menos frequente, outro exemplo de ataque explora falhas de segurança em softwares, especialmente sistemas operacionais (daí a importância de sempre mantê-los atualizados e protegidos com ferramentas de segurança). Neste tipo, um atacante pode rastrear a rede à procura de máquinas vulneráveis e enviar a elas pacotes que, por alguma razão, fazem o sistema interromper sua atividade.
O que são ataques DoS?
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, distribuindo a ação entre elas. Trata-se de uma forma que aparece constantemente no noticiário, já que é o tipo de ataque mais comum na internet.
Ataques DDoS são executados há tempos e já prejudicaram empresas bastante conhecidas. Historicamente, servidores da CNN, Amazon, Yahoo, Microsoft e eBay já foram "vítimas". Em dezembro de 2010, por exemplo, os sites da Visa, Mastercard e Paypal sofreram ataques DDoS de um grupo defendendo a não existência de "censura" na internet. Em fevereiro de 2012, ataques foram executados contra sites de bancos brasileiros por motivos semelhantes.
Para que 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 "exército" que participará da ação. 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.
Inicialmente, organizadores de ataques DDoS tentavam "escravizar" computadores que agiam como servidores na internet. Entretanto, com o aumento constante na velocidade de acesso à internet 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 e, muitas vezes, 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 utilizada para tais fins. Como a quantidade de computadores que participa do ataque é grande, é uma tarefa bastante complicada descobrir exatamente qual é a máquina principal do ataque.
Uma forma de ataque bastante comum faz uso de botnets, em poucas palavras, um tipo de rede formada por computadores infectados que pode ser controlada remotamente pelo atacante. Assim, os computadores que a compõem passam a trabalhar da já mencionada maneira "escravizada".
Nesta forma de ataque, é comum o uso de computadores domésticos, já que estes são maioria e, muitas vezes, não são devidamente protegidos. Assim, é mais fácil infectá-los com um malware que possui instruções para fazer com que a máquina participe de um ataque DDoS.
Quando o computador passa a fazer parte de uma botnet, esta máquina pode ser chamado de "zumbi". Após a contaminação, os "zumbis" podem entrar em contato com máquinas "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".
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", fazendo jus ao nome Distributed Denial of Service (Negação de Serviço Distribuído). A imagem abaixo ilustra a hierarquia de botnets em ataques DDoS:
Uma vez infectados, os computadores passam a executar as ordens que recebem, como enviar constantemente pacotes de dados a um determinado servidor até que este não consiga mais responder a tantas requisições.
Para tornar o ataque ainda mais eficiente, várias técnicas podem ser utilizadas. Em uma delas, o IP de origem dos pacotes utilizados é alterado para uma sequência falsa, dificultando a descoberta da origem da ação.
Combatendo ataques DoS ou DDoS
Como servidores podem ter estrutura e recursos diferentes, não há fórmula mágica que funcione em todas as implementações que consiga evitar ou combater ataques de negação de serviço. Cada caso é um caso, sem contar que, em boa parte das vezes, é difícil identificar o problema. Mas é possível contar com algumas armas para combatê-lo, embora nenhuma delas garanta 100% de proteção.
Pode-se, por exemplo, utilizar filtros que identificam e bloqueiam pacotes com endereços IP falsos (anti-spoofing). Outra ideia consiste em utilizar ferramentas que ajudam a identificar os ataques, inclusive IDS (Intrusion Detection System - Sistema de Identificação de Intrusos) e tomar alguma decisão com base nas informações obtidas, como aumentar a capacidade de processamento (se possível) ou limitar a largura de banda de acordo com o tipo de pacote de dados. Dependendo da aplicação, pode-se ainda utilizar recursos capazes de identificar uma solicitação legítima (por meio de autenticação, por exemplo) e atender apenas a ela.
Como cada caso é um caso, o ideal é que haja um plano para combater o problema. Em atividades de grande porte, como serviços de hospedagem de sites, por exemplo, uma equipe de segurança bem preparada, que conheça bem a estrutura da aplicação e conte com ferramentas computacionais adequadas pode ser bastante eficiente no combate aos ataques.
Finalizando
Ataques DoS ou DDoS são assuntos bastante recorrentes, especialmente porque há várias ferramentas que auxiliam em sua execução, fazendo com que o número de casos não seja necessariamente pequeno. Além disso, quando um site conhecido é afetado, o assunto vira pauta de noticiários facilmente.
Isso faz com que determinados equívocos se disseminem. Quando o alvo são sites de instituições financeiras, por exemplo, há o temor de que dados de clientes possam ser capturados. No entanto, ataques DDoS apenas "derrubam" servidores. Para captura de dados ou descaracterizar sites, é necessário que haja algum tipo de invasão, o que é muito mais difícil.
Vale frisar que instituições de todos os portes e usuários domésticos também podem executar algumas ações para ajudar a evitar problemas do tipo: atualizar softwares, proteger o sistema com soluções de segurança (firewall, antivírus e afins) e colocar em prática outros cuidados podem impedir que seus computadores sejam usados como "zumbis" em ataques, situação que inclusive pode elevar o consumo de recursos e o tráfego do acesso à internet.
Escrito por Emerson Alecrim - Publicado em 09_10_2004 - Atualizado em 24_02_2012