O ataque de DNS spoofing faz a modificação do endereço fonte
      ou destino nas mensagens DNS com diversas finalidades.
      Se uma botnet modifica seu endereço IP de origem trata-se de 
      um Flood Attack de amplificação, 
      através do qual os servidores DNS enviarão respostas para o 
      endereço que supostamente fez as requisições, exaurindo, 
      assim, os recursos do alvo.
      
      Por outro lado, quando a resposta tem seu campo Value 
      alterado pode se tratar de um ataque de 
      Cache Poisoning, que, 
      por sua vez, pode ter como objetivo o sequestro de um 
      domínio ou redirecionar vítimas para endereços Web maliciosos, 
      como ilustra a figura abaixo:
      
      
      
      O ataque é bem sucedido caso o servidor aceite a resposta falsa.
      Softwares como o DNS Server da Microsoft verifica o único
      campo exigido pela RFC 1035 para validar uma resposta, o
      campo ID. Como este campo possui 16 bits, é possível, 
      teoricamente, realizar um ataque de força bruta enviando
      respostas com diferentes IDs. O BIND 
      (Berkley Internet Name Domain), no intuito de aumentar a 
      segurança, verifica campos como IP e porta UDP, entre outros.
      
      Formas de mitigar o ataque
      
      Um método de defesa é guardar uma lista de respostas para uma 
      determinada requisição por um intervalo de tempo. 
      Enquanto outra resposta não for recebida o servidor pode 
      armazenar a primeira resposta em seu cache ou não. Assim que 
      outra resposta chega com o mesmo ID, são verificados os outros 
      campos. Se o Value de alguma das respostas subsequentes for 
      diferente, é identificado o ataque e as devidas medidas são 
      tomadas, como remover a resposta do cache e relatar o ocorrido 
      à administração da rede. As respostas que tiverem o mesmo 
      Value são consideradas como uma única resposta.
      O tempo estimado para análise das respostas DNS é baseado 
      nas estatísticas de performance do DNS mostradas pelo 
      MIT Laboratory for Computer Science e pelo 
      Korea Advance Institute of Science and 
       Technology (KAIST). Essas estatísticas mostraram que o 
      tempo médio para resolução de um nome é de 97 ms, 
      sendo assim, um tempo entre 500 e 900 ms estipulado para 
      análise de detecção de um ataque é suficiente.
      
      Outro método de defesa é utilizar o DNSSEC, 
      nome dado às extensões de segurança que estão sendo propostas 
      para o protocolo DNS, definido pela RFC 2035.
      A principal característica desse modelo é prover autenticação 
      da origem dos dados e verificar sua integridade utilizando 
      criptografia de chave pública.
      No entanto o custo de processamento para validação de 
      assinaturas digitais é demasiadamente elevado. 
      Esse custo depende do algoritmo utilizado:
      Com DSA-512 é possível assinar aproximadamente 
      135 domínios/segundo em um PC de 500 Mhz utilizando FreeBSD 
      e com RSA-1024 a taxa cai para 17 domínios/segundo. 
      Para efeito de comparação um Root Server recebe em torno 
      de 1.8 milhão de requisições por minuto.