Um ataque Distributed Denial of Service, ou DDoS, ocorre quando um grupo de sistemas inunda um servidor com tráfego fraudulento. A certa altura, o servidor é sobrecarregado pode desligar-se, ou deixar de responder a pedidos, mesmo os oriundos de tráfego legítimo.
Entre 2020 e 2021, os ataques DDoS cresceram 341% em todo o mundo. O principal motivo foi a pandemia, que forçou muitas empresas a virarem-se para um modelo de funcionamento no mundo digital, o que as torna mais susceptíveis a ataques.
Há razões para temer os ataques DDoS. Um ataque deste tipo, que seja bem executado, pode ser muito difícil de impedir e muito complicado de parar. Estes ataques podem começar em qualquer altura e deixar servidores inoperacionais, mesmo nas empresas com os departamentos de TI mais bem apetrechados. Por exemplo, em 2018, o GitHub foi vítima de um dos maiores ataques DDoS de sempre, em que os servidores do serviço chegaram a receber mais de 120 milhões de pedidos por segundo.
Independentemente da escala, o método é sempre o mesmo: bombardear um servidor com mais pedidos do ele pode processar e continuar a fazê-lo até que fique em baixo, ou deixe de responder. Estes tipos de danos podem demorar horas, ou dias, até serem resolvidos, o que causa grandes perdas financeiras e neste caso da Vodafone podem pôr em causa infra-estruturas críticas de um país.
Como funcionam os ataques DDoS
Em vez de entrarmos pelos aspectos mais técnicos, vamos usar uma analogia. Num restaurante de takeaway, os clientes fazem os seus pedidos por telefone e vão lá buscá-los quando estão prontos. Um dia, um engraçadinho decide pregar uma partida e faz várias chamadas e encomenda 100 pratos de uma vez.
Isto é suficiente para manter a cozinha a funcionar sem parar, por isso o restaurante deixa de poder processar novas encomendas. Para ajudar à situação, a pessoa que pregou a partida nunca aparece para recolher os 100 pratos encomendados. Não só o dono do restaurante desperdiçou tempo e dinheiro, como não conseguiu satisfazer as encomendas legítimas.
Pode acontecer a mesma coisa com um servidor ligado à Internet. Um cliente malicioso pode enviar milhões de pedidos falsos, que fazem com que deixe de responder a pedidos legítimos.
Mas, tal como no nosso exemplo, detectar um único cliente falso ligado a um servidor é fácil, basta bloquear todo o tráfego que tem origem nesse cliente. Estes ataques chamam-se DoS, ou Denial of Service e são os precursores dos ataques DDoS modernos.
Agora, vamos supor que o restaurante do nosso exemplo, em vez de um único cliente falso, tem vários clientes falsos. O telefone nunca pára de tocar e torna-se impossível distinguir um cliente real de um cliente falso. Os números de telefone também não podem ser bloqueados, porque podem ser de clientes reais. O restaurante fica paralisado. Isto é exactamente o que acontece quando se dá um ataque DDoS. O tráfego falso tem origem em várias máquinas que são iguais a máquinas legítimas, o que acontece inevitavelmente é que o servidor deixa de funcionar.
Porque é que acontecem os ataques DDoS?
Algumas das razões principais para os ataques DDoS são:
Resgates – Os atacantes podem pedir um resgate após realizarem um ataque DDoS. Contudo, por vezes, é enviado um pedido de resgate antes de o ataque acontecer.
Hacktivismo – Os ataques DDoS podem ser usados para chamar a atenção. Hacktivistas podem levar a acabo DDoS para mostrarem apoio, ou oposição, a regras, pessoas ou empresas.
Concorrência – Um inquérito feito em 2017, revelou que 40% das empresas que forma vítimas de ataques DDoS, põem as culpas em empresas concorrência. Hoje em dia, isto é plausível, porque é muito fácil “comprar” um ataque DDoS.
Sabotagem – Alguns grupos que levam a cabo este tipo de ataques, podem ter ligações a governos ou organizações que os encomendam para dificultar a vida em países rivais ou em países com quem estão em conflito.
Tipos de ataques DDoS
Embora o objectivo de um ataque DDoS seja sempre o de sobrecarregar o sistema alvo, os meios que são usados podem ser diferentes. Essencialmente, são três:
Ataques à camada de aplicação
A camada de aplicação (Application Layer), é onde o servidor gera a resposta a um pedido que chega. Por exemplo, se um utilizador inserir o URL http://www.xpto.com/xpto, no browser, é enviado um pedido HTTP ao servidor para enviar a página xpto. O servidor recolhe toda a informação relacionada com essa página, agrupa-a e envia-a para o browser que a pediu.
A recolha e tratamento da informação que é pedida são feitos na camada de aplicação. Um ataque deste género acontece, quando são usadas várias máquinas, ou bots, para pedir repetidamente os mesmos conteúdos a um servidor, o que pode levar à sua paralisação.
Os ataques mais comuns à camada de aplicação são os HTTP Flood, em que os atacantes mandam continuamente vários pedidos HTTP para um servidor, usando endereços IP diferentes. Um exemplo de um ataque deste tipo, é pedir continuamente ao servidor para gerar documentos PDF. Devido ao facto de os endereços IP e outros identificadores dos dispositivos usados nos ataques mudarem a cada pedido, o servidor não consegue detectar que está sob ataque.
Ataques de protocolo
Os ataques de protocolo têm como objectivo exaurir os recursos de um servidor ou de sistemas de sistemas ligados à rede, como firewall, routers ou load balancers. Um exemplo de um ataque deste tipo é SYN Flood.
Antes de dois computadores possam inicializar um canal de comunicação seguro, têm de fazer um handshake TCP. Este processo serve para que as duas máquinas troquem informações preliminares. Um pacote SYN é o primeiro passo no processo, indicando ao servidor que o cliente quer inicializar um novo canal.
Num ataque SYN Flood, o atacante inunda o servidor com pacotes SYN, cada um com um endereço IP falso. O servidor responde a cada pacote que recebe, pedindo ao cliente que complete o handshake. Contudo, os clientes nunca chegam a responder, o que faz com que o servidor se mantenha em espera. O resultado final é que o servidor deixe de responder porque fica à espera de muitos pedidos durante muito tempo.
Ataques volumétricos
Os Ataques Volumétricos acontecem quando um servidor é bombardeado com tanto tráfego que a largura de banda disponível é exaurida. O ataque deste tipo mais comum é o DNS Amplification.
Num ataque deste, o atacante envia pedidos a um servidor DNS, usando endereços IP do alvo. Depois, o servidor DNS envia as respostas ao servidor. Se isto for feito em larga escala, a inundação de respostas DNS pode causar danos no alvo.
Sintomas de que um servidor está sob ataque DDoS
Grandes quantidades de tráfego originário em clientes com as mesmas características.
Um aumento exponencial de tráfego num único ponto da rede.
Um servidor que deixa de funcionar sem razão aparente.
Um site demora muito tempo a responder aos pedidos.
Como responder a um ataque DDoS
Depois de o ataque ser identificado, é importante agir rapidamente para minimizar o tempo em que o servidor está em baixo. Se a resposta demorar muito tempo, o servidor pode começar a deixar de funcionar e a recuperação pode demorar horas.
A parte mais complicada na mitigação de um ataque DDoS é que é quase impossível fazê-lo sem impactar negativamente o tráfego legítimo. Isto acontece, porque os atacantes fazem tudo para mascarar o tráfego falso como real.
Como prevenir ataques DDoS
Apesar da sua imprevisibilidade, existem alguns métodos para tentar impedir ataques DDoS:
Análise de tráfego e tempo real: Os pacotes de informação são analisados, com base em regras diferentes, à medida que entram no sistema. Os que são potencialmente maliciosos são descartados.
Sistemas de defesa DDoS ou DDS: Um DDS consegue detectar tráfego que parece legítimo, mas com intenções maliciosas. Estes sistemas são eficazes na protecção contra ataques Volumétricos e de Protocolo, não requerendo intervenção humana.
Web Application Firewall: As Web Application Firewalls (WAF) são eficazes a limitar os ataques DDoS à Camada de Aplicação. São um meio de filtrar os pedidos que chegam, baseando-se em várias regras, que podem ser adicionadas no momento em resposta a um ataque.
Rate Limiting: Limita o número de pedidos que um servidor consegue receber durante um determinado período.
Como se pode perceber, os ataques DDoS são bastante difíceis de prevenir, mesmo quando há sistemas de segurança eficazes, mas os efeitos destes ataques são mais efémeros que, por exemplo, os ataques de Ransomware, que podem deixar uma organização completamente paralisada durante mais tempo.