O que é um ataque DDoS?
Quem já teve problemas com seu website ou aplicação na web certamente já ouviu falar do termo “DdoS” de uma maneira nada agradável. Esses ataques são mais comuns do que se possa imaginar e, longe de afetarem apenas grandes empresas, podem tirar do ar websites e serviços de empresas menores e até usuários individuais.
O DdoS é um ataque de “negação de serviços distribuída”, ou seja, diversos computadores anteriormente infectados por hackers são acionados de modo remoto contra um alvo determinado pelo criminoso virtual, e a partir daí passam a gerar milhares ou milhões de requisições, até que tirem o serviço ou site do ar por sobrecarga ou excesso de tráfego.
Esses ataques obrigam as vítimas a reiniciar seus sistemas, suspendendo serviços temporariamente, ou obstruem a comunicação entre usuários e a vítima, gerando muita confusão e até desespero em alguns casos (ataques a sistemas bancários, por exemplo).
A volta dos mortos-vivos
Os computadores infectados e utilizados por hackers para esses ataques são conhecidos como “zumbis”, um nome sem dúvida adequado. Essas centenas ou milhares de máquinas são geralmente invadidos por hackers e deixados em estado de espera, aguardando comandos. Os usuários originais desses computadores geralmente desconhecem até mesmo o fato de estar sendo usados por criminosos virtuais.
Uma vez escolhida a vítima por parte do hacker e disparado o comando, esses “zumbis” passam a atacar ininterruptamente o servidor-alvo, até que este caia ou seja posto fora de serviço.
Os zumbis são instruídos pelos comandos do hackers a acessar recursos de forma repetitiva junto ao alvo, de forma simultânea. Em determinado momento, todos os zumbis irão efetuar a mesma requisição, no mesmo segundo, criando uma sobrecarga na vítima (servidores possuem um número limitado de usuários que podem manter conectados ao mesmo tempo, os “slots”, e esses ataques excedem esse número).
Alguns ataques, a depender do recurso acionado ou requisição feita, podem levar o servidor atacado a reiniciar, saindo do ar de modo temporário, ou mesmo gerar bugs em determinados recursos e serviços.
Mas nem todos os ataques DdoS são idênticos – eles podem, grosso modo, ser divididos em três pequenos grupos distintos, a depender de seu modo e estratégia de ataque.
Inundações
No mundo real, inundações por vezes ocorrem em questão de minutos e tomam cidades inteiras, levando casas, automóveis e até pessoas de forma caótica, até que o nível da água baixe e reste apenas destruição e escombros.
No contexto da web, a coisa não é muito diferente. Ataques DdoS por inundação são aqueles que geram um volume brutal de tráfego no servidor do sistema vítima, até que os limites de sua banda sejam completamente congestionados.
Na melhor das hipóteses, o sistema continua no ar, mas com extrema lentidão e, a depender do software e sistema operacional, com recursos limitados. Contudo, em alguns casos esses ataques podem simplesmente derrubar a vítima, tirando-a completamente do ar.
Esses ataques geralmente intensificam o tráfego através do uso indevido de pacotes UDP e ICMP, que podem ser bloqueados por meio do uso de alguns sistemas de firewall.
Amplificação
Os ataques de amplificação se assemelham a onda criadas na água quando jogamos uma pedra. Esses ataques emitem requisições falsas a muitos computadores e serviços de broadcasting, os quais respondem tais requisições, gerando uma quantidade ainda maior de tráfego.
O problema é que as requisições falsas são emitidas com o endereço de IP da vítima do ataque – em outras palavras, a vítima receberá todas as respostas geradas, entrando finalmente em colapso em razão do volume de banda utilizado.
Alguns ataques mais elaborados chegam inclusive a utilizar várias etapas para aumentar o tráfego e centralizar todas as requisições em uma mesma vítima final. Novamente, o ataque implica em redução drástica da banda e, em alguns casos, queda dos sistemas no alvo.
Explorando protocolos
Um último tipo de ataque DdoS consome recursos da vítima de forma excessiva, a partir da exploração de falhas ou brechas na instalação e implementação de protocolos no servidor alvo.
Esses ataques se utilizam de falhas e equívocos de configuração em protocolos de transferência para gerar tarefas repetitivas que congestionem o sistema e levem computadores e servidores a quedas e reinicializações.