DNS
O DNS é um sistema bem distribuído: cada provedor tem sua própria infraestrutura. Normalmente, são usados dois servidores de DNS na conexão com a internet: um principal e um reserva, caso o primeiro esteja lento ou inoperante. Os sites que existem na internet também têm dois ou mais Name Servers (NS) que são responsáveis por informar a cada servidor DNS o endereço IP correto do site. Existem ainda vários NSs operados pelas organizações responsáveis pelo funcionamento dos endereços na internet. Esses servidores têm como objetivo apenas informar ao servidor DNS qual é o NS específico de um site. Assim, a responsabilidade do sistema não está centralizada, garantindo que uma falha num único local não afete os demais usuários. Por isso, o envenenamento de cache afeta apenas usuários de um determinado DNS, normalmente um grupo de usuários dentro de um provedor. O processo de “tradução” é um pouco complicado e irrelevante, portanto a coluna não irá descrevê-lo em detalhes. Vale dizer, no entanto, que, para otimizar tudo, o DNS usa uma memória temporária chamada cache. Ela serve para que o DNS guarde as informações que obtém, para não ter de repetir o processo inteiro se um mesmo site for acessado dezenas de vezes. Eventualmente essa memória é zerada, para que sites que mudaram de IP, por exemplo, sejam retraduzidos. Para interferir com a tradução, o criminoso precisa se “disfarçar” de um NS. Ou seja, quando o DNS perguntar a um NS a respeito do IP de um endereço, o criminoso deve responder antes que o NS legítimo faça isso. Por causa da memória temporária (cache) explicada acima, a resposta falsa ficará ativa no DNS por algumas horas, dias ou semanas. Por isso, o ataque se chama Envenenamento de Cache DNS.