O que são ataques de negação de serviço e DDoS?
Os ataques DoS (Denial of Service) e DDoS (Distributed Denial of Service) estão se tornando cada vez mais comuns e potentes. Os ataques de negação de serviço ocorrem em muitas formas, mas compartilham um objetivo comum: impedir que os usuários acessem um recurso, seja uma página da Web, email, rede telefônica ou qualquer outra coisa completamente diferente. Vejamos os tipos mais comuns de ataques contra alvos da Web e como o DoS pode se tornar DDoS.
Os tipos mais comuns de ataques de negação de serviço (DoS)
Em essência, um ataque de negação de serviço é normalmente executado inundando um servidor, digamos, o servidor de um site da Web, a ponto de não ser capaz de fornecer seus serviços a usuários legítimos. Existem algumas maneiras pelas quais isso pode ser realizado, sendo as mais comuns ataques de inundação TCP e ataques de amplificação de DNS..
Ataques de inundação TCP
Quase todo o tráfego da Web (HTTP / HTTPS) é executado usando o TCP (Transmission Control Protocol). TCP tem mais sobrecarga do que a alternativa, User Datagram Protocol (UDP), mas é projetado para ser confiável. Dois computadores conectados entre si 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 perca a energia, seu ISP tenha uma falha ou qualquer aplicativo que esteja usando encerre sem informar o outro computador. O outro cliente precisa parar de reenviar o mesmo pacote, ou então está 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 descartar 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 seria usado por mais de um bilhão de dispositivos clientes. Proteção contra ataques modernos de negação de serviço não era apenas uma parte do processo de design.
O ataque de negação de serviço mais comum contra servidores da web é realizado por meio de spam de pacotes SYN (sincronizar). Enviar um pacote SYN é o primeiro passo para iniciar uma conexão TCP. Depois de receber o pacote SYN, o servidor responde com um pacote SYN-ACK (sincronizar o reconhecimento). Finalmente, o cliente envia um pacote ACK (confirmação), completando a conexão.
No entanto, se o cliente não responder ao pacote SYN-ACK dentro de um horário definido, o servidor enviará o pacote novamente e aguardará uma resposta. Ele repetirá esse procedimento várias vezes, o que pode desperdiçar memória e tempo do processador no servidor. De fato, se feito o suficiente, pode desperdiçar tanto tempo de memória e processador que os usuários legítimos deixam suas sessões interrompidas, ou novas sessões não podem ser iniciadas. Além disso, o aumento do uso da 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 ter como alvo servidores DNS: os servidores que convertem nomes de domínio (como howtogeek.com) em endereços IP (12.345.678.900) que os computadores usam para se comunicar. Quando você digita howtogeek.com no seu navegador, ele é enviado para um servidor DNS. O servidor DNS, em seguida, direciona você para o site real. Velocidade e baixa latência são grandes preocupações para o DNS, então o protocolo opera sobre UDP em vez de TCP. O DNS é uma parte crítica da infraestrutura da Internet, e a largura de banda consumida pelas 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. Assim, 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 a servidores DNS, solicitando grandes quantidades de informações e solicitando que elas sejam enviadas para o endereço IP de seus destinos. Uma “amplificação” é criada porque a resposta do servidor é muito maior do que a solicitação que a gera, e o servidor DNS enviará sua resposta para o IP forjado..
Muitos servidores DNS não estão configurados para detectar ou descartar solicitações incorretas, portanto, quando os invasores enviam repetidamente solicitações forjadas, a vítima é inundada com enormes pacotes EDNS, congestionando a rede. Não é possível lidar com tantos dados, seu tráfego legítimo será perdido.
Então, o que é um ataque distribuído de negação de serviço (DDoS)??
Um ataque de negação de serviço distribuído é aquele que tem vários atacantes (às vezes inconscientes). Sites e aplicativos são projetados para lidar com muitas conexões simultâneas - afinal de contas, os sites da Web não seriam muito úteis se apenas uma pessoa pudesse visitá-la de cada 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 causa disso, não é possível para um único atacante derrubá-lo com um ataque de negação de serviço. Mas muitos atacantes poderiam.
O método mais comum de recrutar invasores é através 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 entrar em contato periodicamente com um servidor de comando e controle para solicitar instruções. Esses comandos podem variar de moedas criptografadas de mineração 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 caseiros normais para fazer seu trabalho sujo.
Outros ataques DDoS podem ser realizados voluntariamente, 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 referido como o 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 vincula a um pequeno blog e um enorme fluxo de usuários acidentalmente derrubam o site. Tecnicamente, isso ainda é classificado como DDoS, mesmo que não seja intencional ou malicioso.
Como posso me proteger contra ataques de negação de serviço?
Os usuários comuns não precisam se preocupar em ser alvo de ataques de negação de serviço. Com a exceção de streamers e pro gamers, é muito raro que um DoS seja apontado para um indivíduo. Dito isso, você ainda deve fazer o melhor que puder para proteger todos os seus dispositivos contra malwares que possam torná-lo parte de uma botnet.
Se você é um administrador de um servidor da Web, no entanto, existe uma grande quantidade de informações sobre como proteger seus serviços contra ataques DoS. A configuração do servidor e os appliances podem atenuar alguns ataques. Outros podem ser evitados, garantindo que usuários não autenticados não possam realizar operações que exijam recursos significativos do servidor. Infelizmente, o sucesso de um ataque DoS é mais freqüentemente determinado por quem tem o maior pipe. Serviços como o Cloudflare e o Incapsula oferecem proteção em frente a sites, mas podem ser caros.