DNS Reflective Attacks
Um ataque DNS reflector é usado em muitos ataques distribuídos de negação de serviço (DDoS) para derrubar um tubo de Internet. O ataque é um ataque em duas etapas; o atacante envia uma grande quantidade de pedidos para um ou mais servidores DNS legítimos enquanto usa o IP de origem falsificado da vítima alvo. O servidor DNS que recebe os pedidos semi-legítimos responde ao IP falsificado, lançando assim, sem saber, um ataque à vítima alvo com respostas a pedidos que a vítima nunca enviou.
A Internet está cheia de servidores DNS oferecidos como servidores abertos que servirão qualquer pedido enviado a eles, alguns reportam o nome de milhões como o montante. Este número enorme torna muito difícil pré-identificar o ataque usando a reputação do IP. Além disso, os servidores são na verdade servidores legítimos que normalmente enviam tráfego legítimo, tornando qualquer serviço de reputação IP confuso sobre se sua natureza é ou não maliciosa.
Mais as consultas DNS são enviadas usando UDP, um protocolo que não permite a validação do IP de origem. É por isso que o servidor DNS intermediário assume que os pedidos estão chegando da vítima e envia as respostas de volta para ela. O IP spoofing torna extremamente difícil para o servidor da vítima detectar o atacante, pois parece que ele está sendo atacado por um servidor DNS legítimo, e o IP do atacante está completamente escondido. A falsificação do IP também invalida os serviços de reputação do IP, que, se não for devidamente escrita, pode atribuir uma má reputação a um servidor DNS legítimo. Ele também remove qualquer tractabilidade para a segurança espera tentar identificar a fonte do ataque.
Outra vantagem para spoofing é a capacidade de atacar qualquer servidor ou serviço. O atacante pode usar o IP e a porta do servidor público da vítima para garantir que o ataque seja enviado para qualquer serviço, e não apenas para um serviço DNS. O tráfego irá simplesmente parecer um monte de dados e o servidor terá que analisar e examinar os dados para garantir que não é tráfego legítimo.
Note que o spoofing de IP também é uma limitação deste ataque – se o spoofing de IP não for possível, o ataque não pode ser lançado, pois não há como direcionar as respostas para o IP da vítima. Este é o caso dos bots Mirai rodando em dispositivos IoT atrás de um roteador que realiza NAT. No entanto, as táticas recentes de infecção por Mirai visam os próprios roteadores domésticos, contornando assim a limitação do NAT.
A última e maior vantagem que contribui para o potencial destrutivo dos floods DNS reflexivos é a amplificação, que pode ser alcançada usando extensões DNS (EDNS0, definido no RFC 2671) e DNSSec. EDNS0 permite que a resposta DNS seja maior que a 512 original permitida, enquanto DNSSec permite a autenticação da resposta para evitar o envenenamento do cache. O DNSSec requer EDNS0 para operar uma vez que adiciona dados criptográficos à resposta. Uma vez que o DNSSec está se tornando popular na atual Internet sensível à segurança, ele faz com que mais e mais servidores DNS suportem EDNS0 e permite que um atacante obtenha grandes respostas às suas solicitações.
O tamanho possível da resposta – até 4096 bytes, permite que o atacante envie um pequeno número de solicitações curtas, enquanto as respostas enviadas pelo servidor DNS são grandemente amplificadas, esgotando o tubo de Internet da vítima. Os atacantes podem estudar o servidor DNS e descobrir quais consultas legítimas podem resultar em grandes respostas, e também usar DNSSec para torná-las ainda maiores com dados criptográficos. Em muitos casos, a resposta pode chegar até o máximo de 4096 bytes, o que dá um fator de amplificação de x100 para o pedido original.
Com a grande conectividade de Internet de hoje, uma conexão de 100 M à Internet pode enviar um ataque modesto por conta própria e ainda causar alguns danos a um site normal. No entanto, se o atacante tiver a capacidade de usar esta enorme resposta de 4096 bytes para seu pedido de 44bytes e obter uma amplificação de 100x, o servidor vítima receberá 10G de tráfego de ataque, acima de sua largura de banda de tráfego normal. Tal tráfego fará com que qualquer serviço normal fique imediatamente fora de serviço. Imagine o que pode ser alcançado com um botnet de mesmo poucos bots.
Adicionando ao tamanho da resposta, vem o fato de que tais respostas não podem caber em um pacote IP normal. Em casos como este, os servidores usam a opção de fragmentação IP, o que lhes permite dividir a mensagem em vários pacotes. O uso de tráfego fragmentado no ataque torna a mitigação do ataque ainda mais difícil – o mitigador precisa armazenar os dados da camada 4 do primeiro pacote (portas UDP) em uma tabela e aplicá-los ao resto dos pacotes a partir da mesma mensagem. Muitas entidades de rede são rapidamente exauridas por muito tráfego fragmentado, o que torna este ataque ainda mais eficiente.
Ataque de amplificação do DNS do YouTube O vídeo ilustra graficamente a estrutura e o fluxo de um ataque DNS Reflexivo.
Após aprender todos os ins e outs do ataque refletivo do DNS, uma coisa permanece – como proteger uma organização contra tal ataque e mitigá-lo? Ao contrário da sofisticação do ataque em si, este problema tem uma solução conhecida – para mitigar um ataque de reflexão DNS, é preciso ter um bom detector no local para detectar rapidamente o ataque e prevenir o tempo de inatividade. O detector deve ser suficientemente inteligente para compreender que o ataque que vê está saturando a conexão à Internet e que o desvio de tráfego precisa ocorrer em um centro de limpeza de nuvens. Uma vez que o tráfego é desviado para o cloud scrubbing, ele será limpo e enviado para o site.
O próprio scrubbing depende da quantidade de tráfego similar que é considerado legítimo – o site vê muito tráfego UDP? Tráfego DNS? Tráfego fragmentado? E se sim, o que o distingue do tráfego de ataque? Usar uma técnica automatizada para separar o tráfego legítimo do tráfego de ataque lhe dará uma boa e rápida atenuação da nuvem e também, alguma paz de espírito.
Para mais informações, confira meu blog anterior: Ataques DNS e DNS
Ler “Criando um ambiente seguro para APIs desprotegidas” para saber mais.
Download Now