Ataques DoS (Denial of Service) e DDoS (Distributed Denial of Service) estão se tornando cada vez mais comuns e potentes. Ataques de Negação de Serviço vêm em muitas formas, mas compartilham um propósito comum: impedir que usuários acessem um recurso, seja uma página da web, e-mail, rede telefônica ou algo totalmente diferente. Vamos dar uma olhada nos tipos mais comuns de ataques contra alvos da web e como DoS pode se tornar DDoS.
Os tipos mais comuns de ataques de negação de serviço (DoS)
Em sua essência, um ataque de Negação de Serviço é tipicamente realizado inundando um servidor — digamos, o servidor de um site — tanto que ele é incapaz de fornecer seus serviços a usuários legítimos. Existem algumas maneiras de fazer isso, as mais comuns sendo ataques de inundação de TCP e ataques de amplificação de DNS.
Ataques de inundação TCP
Quase todo o tráfego da web (HTTP/HTTPS) é realizado usando o Transmission Control Protocol (TCP). O TCP tem mais overhead do que a alternativa, User Datagram Protocol (UDP), mas é projetado para ser confiável. Dois computadores conectados um ao outro via TCP confirmarão o recebimento de cada pacote. Se nenhuma confirmação for fornecida, o pacote deve ser enviado novamente.
O que acontece se um computador for desconectado? Talvez um usuário fique sem energia, seu ISP tenha uma falha ou qualquer aplicativo que ele esteja usando feche sem informar o outro computador. O outro cliente precisa parar de reenviar o mesmo pacote, ou então estará desperdiçando recursos. Para evitar a transmissão sem fim, uma duração de tempo limite é especificada e/ou um limite é colocado em quantas vezes um pacote pode ser reenviado antes de interromper a conexão completamente.
O TCP foi projetado para facilitar a comunicação confiável entre bases militares no caso de um desastre, mas esse mesmo design o deixa vulnerável a ataques de negação de serviço. Quando o TCP foi criado, ninguém imaginou que ele seria usado por mais de um bilhão de dispositivos clientes. A proteção contra ataques modernos de negação de serviço simplesmente não fazia parte do processo de design.
O ataque de negação de serviço mais comum contra servidores web é realizado por meio de spam de pacotes SYN (sincronização). Enviar um pacote SYN é o primeiro passo para iniciar uma conexão TCP. Após receber o pacote SYN, o servidor responde com um pacote SYN-ACK (reconhecimento de sincronização). Finalmente, o cliente envia um pacote ACK (reconhecimento), completando a conexão.
No entanto, se o cliente não responder ao pacote SYN-ACK dentro de um tempo definido, o servidor envia o pacote novamente e aguarda uma resposta. Ele repetirá esse procedimento várias vezes, o que pode desperdiçar memória e tempo de processador no servidor. Na verdade, se feito o suficiente, ele pode desperdiçar tanta memória e tempo de processador que usuários legítimos têm suas sessões interrompidas ou novas sessões não conseguem iniciar. Além disso, o aumento do uso de largura de banda de todos os pacotes pode saturar as redes, tornando-as incapazes de transportar o tráfego que realmente desejam.
Ataques de amplificação de DNS
Ataques de negação de serviço também podem mirar em servidores DNS : os servidores que traduzem nomes de domínio (como o tudogeek.com ) em endereços IP (12.345.678.900) que os computadores usam para se comunicar. Quando você digita tudogeek.com no seu navegador, ele é enviado para um servidor DNS. O servidor DNS então o direciona para o site real. Velocidade e baixa latência são grandes preocupações para DNS, então o protocolo opera sobre UDP em vez de TCP. DNS é uma parte crítica da infraestrutura da internet, e a largura de banda consumida por solicitações de DNS é geralmente mínima.
No entanto, o DNS cresceu lentamente, com novos recursos sendo gradualmente adicionados ao longo do tempo. Isso introduziu um problema: o DNS tinha um limite de tamanho de pacote de 512 bytes, o que não era suficiente para todos esses novos recursos. Então, em 1999, o IEEE publicou a especificação para mecanismos de extensão para DNS (EDNS) , que aumentou o limite para 4096 bytes, permitindo que mais informações fossem incluídas em cada solicitação.
Essa mudança, no entanto, tornou o DNS vulnerável a “ataques de amplificação”. Um invasor pode enviar solicitações especialmente criadas para servidores DNS, solicitando grandes quantidades de informações e pedindo que elas sejam enviadas para o endereço IP do alvo. Uma “amplificação” é criada porque a resposta do servidor é muito maior do que a solicitação que a gerou, e o servidor DNS enviará sua resposta para o IP forjado.
Muitos servidores DNS não são configurados para detectar ou descartar solicitações ruins, então, quando os invasores enviam solicitações forjadas repetidamente, a vítima é inundada com enormes pacotes EDNS, congestionando a rede. Incapaz de lidar com tantos dados, seu tráfego legítimo será perdido.
Então, o que é um ataque de negação de serviço distribuído (DDoS)?
Um ataque de negação de serviço distribuído é aquele que tem múltiplos (às vezes involuntários) atacantes. Sites e aplicativos são projetados para lidar com muitas conexões simultâneas — afinal, sites não seriam muito úteis se apenas uma pessoa pudesse visitá-los por vez. Serviços gigantes como Google, Facebook ou Amazon são projetados para lidar com milhões ou dezenas de milhões de usuários simultâneos. Por isso, não é viável para um único atacante derrubá-los com um ataque de negação de serviço. Mas muitos atacantes poderiam.
O método mais comum de recrutamento de invasores é por meio de uma botnet. Em uma botnet, os hackers infectam todos os tipos de dispositivos conectados à Internet com malware. Esses dispositivos podem ser computadores, telefones ou até mesmo outros dispositivos em sua casa, como DVRs e câmeras de segurança. Uma vez infectados, eles podem usar esses dispositivos (chamados de zumbis) para contatar periodicamente um servidor de comando e controle para pedir instruções. Esses comandos podem variar de mineração de criptomoedas a, sim, participação em ataques DDoS. Dessa forma, eles não precisam de uma tonelada de hackers para se unirem — eles podem usar os dispositivos inseguros de usuários domésticos normais para fazer seu trabalho sujo.
Outros ataques DDoS podem ser realizados em grupos, geralmente por motivos políticos. Clientes como o Low Orbit Ion Cannon tornam os ataques DoS simples e fáceis de distribuir. Tenha em mente que é ilegal na maioria dos países participar (intencionalmente) de um ataque DDoS.
Finalmente, alguns ataques DDoS podem ser não intencionais. Originalmente chamado de efeito Slashdot e generalizado como o “abraço da morte”, grandes volumes de tráfego legítimo podem prejudicar um site. Você provavelmente já viu isso acontecer antes — um site popular tem links para um pequeno blog e um grande fluxo de usuários acidentalmente derruba o site.
Como posso me proteger contra ataques de negação de serviço?
Usuários típicos não precisam se preocupar em ser alvo de ataques de negação de serviço. Com Exceção de streamers e jogadores profissionais , é muito raro que um DDoS seja direcionado a um indivíduo. Dito isso, você ainda deve fazer o melhor que puder para proteger todos os seus dispositivos de malware que pode fazer de você parte de uma botnet.
Se você for um administrador de um servidor web, no entanto, há uma riqueza de informações sobre como proteger seus serviços contra ataques DoS. A configuração do servidor e os appliances podem mitigar alguns ataques. E garantindo que usuários não autenticados não possam executar operações que exijam recursos significativos do servidor. Infelizmente, o sucesso de um ataque DoS é mais frequentemente determinado por quem tem o maior pipe. Serviços como Cloudflare e Incapsula oferecem proteção ficando na frente de sites, mas podem ser caros.