O que é envenenamento por cache?

Envenenamento por cache é um tipo de ataque cibernético no qual os atacantes inserem informações falsas em um cache de sistema de nomes de domínio(DNS)ou cache web com o propósito de prejudicar os usuários.

Em envenenamento por cache DNS ou falsificação de DNS, um invasor desvia o tráfego de um servidor legítimo para um servidor malicioso/perigoso. O criminoso insere informações falsas - como um endereço de site adulterado - no cache DNS, o que resulta no redirecionamento dos usuários para um site errado, inesperado ou perigoso.

O envenenamento por cache DNS é um ataque altamente enganoso que não só desvia o tráfego de sites legítimos, mas também deixa os usuários vulneráveis a muitos riscos, incluindo infecções por malware e roubo de dados. Em envenenamento por cache web, um invasor explora um servidor web e um cache para servir a uma resposta de 3008 (HypertextTransfer Protocol) aos usuários.

O que é o sistema de nome de domínio (DNS)?

Para entender totalmente o envenenamento por cache DNS, é importante entender os fundamentos por trás do DNS e como ele funciona.

DNS é como o vasto diretório da internet. Quando os usuários humanos querem acessar um determinado site, eles digitam o URLdo site /nome de domínio na janela do navegador; - por exemplo, https://searchsecurity.techtarget.com. Em seguida, o DNS traduz o nome de domínio humano em um endereço IPamigável à máquina, como 193.167.2.1. Esses endereços IP são exclusivos para cada dispositivo conectado à internet.

Para localizar e carregar os recursos - por exemplo, um site - solicitado pelo usuário, o DNS converte o que o usuário digita em seu navegador em um endereço IP que o computador pode entender.

Além de aprender como o DNS funciona e realiza consultas,é essencial entender o papel do cache DNS, como ocorre o envenenamento por cache e por que ele cria problemas na economia moderna da internet.

O que é cache de DNS?

Um resolve DNS fornece a um usuário da Web o endereço IP associado a um nome de domínio específico. Em seguida, o navegador do usuário pega esse endereço e carrega o site solicitado.

O cache DNS, ou simplesmente cache, ocorre quando o resolver salva temporariamente respostas às consultas de endereço IP em um cache.

O cache permite que o resolução DNS responda mais rapidamente às consultas futuras e melhore o desempenho sem ter que se comunicar com os vários servidores envolvidos no processo de resolução do DNS. Normalmente, os dados DNS podem ser armazenados em cache em diferentes locais para um período de tempo fixo conhecido comoTTL (Time-to-live).

O que é envenenamento por cache DNS?

O envenenamento por cache DNS ocorre quando um ator de ameaças fornece informações falsas no cache DNS, fazendo com que o navegador da Web de um usuário retorne uma resposta incorreta.

Essa resposta geralmente redireciona os usuários para um site diferente do que eles pretendiam visualizar. Uma vez que isso aconteça, um worm, spyware,programa de sequestro do navegador da Web ou outro tipo de malware podem ser baixados para o computador do usuário a partir do local desonesto.

Os resolvedores de DNS não podem verificar os dados armazenados em seus caches, o que significa que as informações incorretas permanecem no cache até que o TTL expire ou até que o problema seja resolvido manualmente. Embora o envenenamento por cache não desconecte o site real de seu endereço IP real, se as informações incorretas permanecerem no cache DNS, os usuários continuarão a ser levados ao site desonesto, o que pode levar a um novo compromisso.

image

O envenenamento por cache DNS redireciona o tráfego de um servidor válido para um mal-intencionado.

Como ocorre o envenenamento por cache?

Um invasor adiciona informações fraudulentas de endereço IP no cache DNS, fazendo com que o DNS resolve ligar para o site malicioso em vez do original. Este ataque é possível por muitas razões. Uma delas é que o DNS foi construído para uma internet menor e não foi projetado com segurança em mente. Além disso, foi baseado em um princípio de confiança, já que não havia razão para esperar ou assumir que alguém tentaria espalhar informações falsas de DNS, muito menos redirecionar os usuários para sites maliciosos.

Devido a essas fraquezas inerentes e de longa data, é fácil para os atacantes sequestrar uma procura DNS para fins maliciosos, como envenenar o cache DNS.

Além disso, os servidores DNS usam o User Datagram Protocol (UDP)em vez do Protocolo de Controle de Transmissão(TCP). Normalmente, quando um servidor usa TCP, ele exige que as partes comunicantes realizem um aperto de mão, tanto para iniciar a comunicação bidirecional quanto para verificar a identidade dos dispositivos envolvidos na comunicação. A UDP não usa esse mecanismo de aperto de mão, então não há garantia de que os remetentes são quem eles dizem ser.

Essa vulnerabilidade permite que um invasor envenene o cache DNS.

Por que o envenenamento por cache DNS é perigoso?

Envenenamento por cache DNS é um tipo de ataque de pharming no qual o código malicioso é instalado em um dispositivo. Como a URL é legítima, os usuários pensam que estão em um site legítimo.

O navegador resolve automaticamente o endereço de domínio sem qualquer intervenção do usuário, de modo que o usuário não tem motivos para suspeitar. Esta é uma das razões pelas quais o envenenamento por cache DNS é um tipo tão sorrateiro de ataque cibernético.

Além disso, se um invasor tiver sucesso em inserir uma única entrada falsa em um servidor de cache – o que significa que o servidor aceitou o registro falso – centenas ou milhares de usuários podem ser redirecionados para o site desonesto do invasor. Se o domínio originalmente solicitado pelos usuários já for popular, então tal ataque pode ser perpetrado em grande escala para fazer o seguinte:

  • instalar malware no computador de um usuário;
  • roubar dados do usuário, incluindo informações pessoais ou financeiras; ou
  • roubar credenciais de usuário, como senhas.

Riscos associados ao envenenamento por cache DNS

A seguir, alguns riscos que estão envolvidos com envenenamento por cache DNS:

  • Infecção por malware. O envenenamento por cache DNS redireciona os visitantes para um site fraudulento, que permite que os invasores instalem malware em sistemas de usuário, por exemplo, através de downloads automatizados de drives,que podem instalar malware mesmo que o usuário não clique em um link, baixe qualquer coisa ou abra um anexo de e-mail malicioso.
  • Roubo de dados. Redirecionar para um site de phishing desconhecido também pode levar ao comprometimento dos dados pessoais dos usuários, como senhas e informações de cartão de crédito. Os usuários podem nem perceber que suas informações foram comprometidas.
  • Dificultando as atualizações de segurança. O envenenamento por cache pode dificultar ou deter atualizações importantes de segurança, deixando os sistemas de usuário suscetíveis a vírus ou Trojans prejudiciais.

image

O envenenamento por cache DNS normalmente redireciona os usuários para um site diferente do que eles pretendiam visualizar. Uma vez que isso aconteça, pode levar os usuários a baixar todos os tipos de malware para o seu computador.

Como prevenir o envenenamento por cache DNS

É difícil eliminar completamente o problema do envenenamento por cache DNS porque, mesmo que um servidor infectado seja limpo, desktops individuais ou dispositivos móveis ainda podem retornar ao site falsificado e causar problemas para os usuários. No entanto, é possível aumentar as chances de prevenir o envenenamento por cache. A prevenção vem com uma dupla responsabilidade para os proprietários de sites/provedores de serviços DNS e usuários finais.

Os proprietários de sites e os provedores de serviços DNS podem evitar o envenenamento por cache DNS. As estratégias de prevenção popular incluem o seguinte:

  • Usando o protocolo DNSSEC (DNSSEC). O DNSSEC implementa uma política hierárquica de assinatura digital em todos os níveis do processo de pesquisa do DNS para evitar ataques de envenenamento por cache.
  • Implementação de criptografia de ponta a ponta (E2EE). Tornando os sistemas mais extensos e resistentes, o E2EE pode manter os atacantes à distância enviando solicitações de DNS criptografadas que apenas os destinatários pretendidos podem descriptografar.
  • Implantação de ferramentas de detecção de falsificação de DNS. Ferramentas como dnstraceroute podem verificar se uma solicitação de DNS é respondida pelo servidor DNS correto ou se um invasor falsificou ou sequestrou a resposta do DNS.

Para se proteger do envenenamento por cache DNS, os usuários devem fazer o seguinte:

  • nunca clique em links desconhecidos;
  • scaneie regularmente seu dispositivo para malware, vírus, Trojans, worms e keyloggers;
  • efetue flush do cache DNS regularmente; e
  • usar uma rede virtual privada quando possível.

O que é envenenamento por cache na web?

Envenenamento por cache web é um tipo mais recente de ataque de envenenamento por cache. Nesta técnica avançada, um invasor explora o comportamento de um servidor web e cache para servir a uma resposta HTTP prejudicial ou maliciosa a usuários desavisados. Os atacantes frequentemente abusam de entradas sem chave para assumir o controle de caches da Web e manipular plataformas, como o Drupal e o navegador Firefox da Mozilla.

Os atacantes podem usar um cache web envenenado para distribuir e dimensionar muitos tipos de ataques explorando vulnerabilidades, como o seguinte:

  • cross-site scripting
  • JavaScript injection
  • open redirection

Como prevenir o envenenamento por cache na Web

Os administradores da Web desempenham um papel significativo na prevenção de ataques de envenenamento por cache na Web. Para evitar que os sites tenham seus caches usados como sistemas de entrega de exploração, os administradores devem definir corretamente os arquivos de configuração de cabeçalho de resposta HTTP em seus servidores.

Os desenvolvedores web também devem evitar o uso de entrada de cabeçalhos e cookiesde solicitação HTTP , e eles devem validar e limpar todas as entradas. Eles também devem usar a extensão Param Miner para auditar seus aplicativos para ver se há insumos não-chave que foram introduzidos por frameworks em uso ou componentes de terceiros e garantir que eles sejam gerenciados corretamente.

Entender as implicações de segurança de componentes de terceiros antes de integrá-los ao site também é crucial.


Autor: Rahul Awati

Artigo Original