Destaques

O CERT.PT associa-se à Secunia na sensibilização dos utilizadores Internet para a necessidade de removerem as vulnerabilidades dos seus computadores.

Secunia PSI Download do software Personal Software Inspector

Cuidados a ter com o Pharming PDF Versão para impressão
Escrito por Luis Morais   
Quarta, 23 Abril 2008 09:55

1 Introdução

Os ataques de Pharming surgiram como uma evolução técnica e mais eficaz dos ataques de Phishing, que têm como principal objectivo o roubo de identidade na Internet. O termo Pharming foi adoptado em Março de 2005, na sequência de um taque de cache poisoning em larga escala.

Tal como no Phishing, o objectivo do Pharming é obter informações pessoais relevantes, frequentemente associadas a serviços financeiros (banca online, cartões de crédito, etc.), recorrendo à apresentação de sites de aspecto semelhante (ou esmo igual) ao dos serviços cujos dados se pretendem roubar. O utilizador é assim levado a introduzir os seus dados pessoais num site que julga ser de confiança, estando na verdade a fornecê-los a uma pessoa (ou organização) que os utilizará de forma maliciosa.

As principais diferenças entre o Phishing e o Pharming residem no URL1 que a vítima é induzida a utilizar e no método de dissimulação. No ataque de Phishing o URL de um site malicioso é transmitido ao utilizador através de mensagens de correio electrónico, janelas publicitárias, comentários em redes sociais, programas de mensagens instantâneas ou outros conteúdos. No de Pharming o atacante altera a orrespondência entre um URL legítimo e um endereço IP, de forma que o URL de um site fidedigno passa a estar associado ao endereço IP de um site malicioso. Depois, quando alguém toma a iniciativa de utilizar o URL do site fidedigno os dados são dirigidos para o site malicioso.

O Pharming é muito mais transparente que o Phishing porque, ao contrário deste, não expõe conteúdos adicionais (mensagens, páginas publicitárias, etc.) para ludibriar o utilizar. E torna-se mais difícil de detectar porque associa um nome habitualmente válido - o URL de um site fidedigno - a um endereço IP fraudulento.

Esta recomendação descreve variantes de Pharming por ataque a servidores de DNS, modificação de ficheiros ou alteração de configurações locais, e sugere medidas preventivas.

2 Resolução de nomes (DNS)

Nas comunicações na Internet são utilizados endereços IP para troca de mensagens entre os nós da rede (computadores pessoais, servidores, encaminhadores, etc.). Estes endereços são representados na forma xxx.xxx.xxx.xxx, em que cada x corresponde a um número inteiro de 0 a 9. Como se pode facilmente perceber, os endereços são de difícil percepção e memorização para os humanos e por isso foram introduzidos os URL (designados por “nomes”) e a resolução na Internet - processo de tradução de nomes em endereços IP, ou vice-versa, através do Domain Name System (DNS).

Na prática, quando um utilizador quer aceder a um site (por exemplo http://www.meubanco.pt) ele necessita contactar o servidor com um determinado endereço IP (por exemplo 123.456.789.012). Mas como o utilizador habitualmente não conhece o IP do servidor que aloja o site, escreve na barra de endereço do seu programa de navegação o nome (www.meubanco.pt) e o seu sistema operativo “resolve” o nome introduzido, através do DNS, adquirindo assim o endereço IP (123.456.789.012).

No Pharming o ataque ocorre na fase de resolução do nome pelo sistema operativo, quando este é “enganado” recebendo um endereço IP incorrecto para a tradução do nome. No nosso exemplo, o utilizador pensa que está a aceder ao site do seu banco num servidor com o IP 123.456.789.012, mas na verdade está a aceder a uma cópia falsificada do site do banco, alojada num servidor fraudulento com IP diferente, apesar de na barra de endereços aparecer o nome correcto do seu banco (www.meubanco.pt).

Esta particularidade torna o Pharming muito mais perigoso que o Phishing, como referimos na secção anterior. A ameaça torna-se ainda mais significativa porque o DNS, além de apoiar deste modo o serviço de páginas web, resolve nomes para muitos outros serviços na Internet, tais como correio electrónico, transferência de ficheiros e ligações por ssh.

3 Variantes

No processo de resolução de um nome, o sistema operativo pode recorrer a dois métodos:

  • Resolução Local – Lendo um ficheiro no computador do utilizador, tipicamente denominado por hosts, que estabelece a correspondência entre alguns endereços e os respectivos nomes.
  • Resolução Remota – Contactando um servidor de DNS que lhe indica o endereço IP correspondente a cada nome.

Estes dois métodos introduzem diversas variantes de ataques de Pharming que diferem principalmente no alvo do ataque.

3.1 Ataques a servidores de DNS

Com o objectivo de estruturar a atribuição e gestão de nomes na Internet, foi criada uma estrutura hierárquica de 3 níveis de servidores de DNS. O primeiro nível é constituído pelos Root Servers. Estes servidores têm como responsabilidade informar sobre o servidor responsável por um determinado domínio de topo (.pt,.com,.net, etc.) e não fazem qualquer resolução de nomes. No segundo nível estão os Top Level Domain Servers. Estes servidores são responsáveis por gerir e traduzir os nomes dos domínios de topo (.pt,.com,.uk,.net,etc.). No terceiro nível encontram-se os Authoritative Domain Servers. Este tipo de servidores são responsáveis por gerir e traduzir endereços de zonas proprietárias, como redes empresariais e corporativas ou redes de ISP (Internet Service Providers). Imaginando que um ISP é responsável pelo domínio meuisp.pt, este terá um servidor de DNS responsável por traduzir todos os nomes que dependem de si, como por exemplo o nome http://site1.meuisp.pt.

Os servidores do nível 3 são os mais susceptíveis de sofrerem um ataque. Os ataques a estes visam alterar a resposta que fornecem aos seus clientes, levando os servidores a indicarem endereços IP errados para determinados nomes.

Servidores desactualizados ou mal configurados

Aproveitando uma vulnerabilidade ou uma configuração errada num servidor de DNS, o atacante pode aceder ao sistema e ganhar o controlo do servidor. Dependendo do tipo de servidor em questão (Top Level Domain ou Authoritative Domain), as consequências deste ataque podem variar desde a falsificação de um IP associado a determinado nome (técnica designada por spoofing) até à intrusão na rede em que o servidor se encontra e, neste caso, possibilitando subversões potencialmente mais gravosas - como reconfigurar manualmente o servidor para que utilize os servidores de DNS controlados pelo atacante.

Cache Poisoning (envenenamento da memória temporária)

Os servidores de nível 3 (Authoritative Domain), com o objectivo de pouparem tempo e recursos, armazenam em memória temporária (cache) informações (pares endereço IP/nome) resultantes de traduções que não são da sua directa responsabilidade. Imaginemos, por exemplo, que para um utilizador de um ISP aceder a www.site1.com, o servidor de DNS do seu ISP (Srv-DNS-ISP) necessita obter o endereço IP do site. E que a resolução do nome www.site1.com não é da directa responsabilidade de Srv-DNS-ISP. Então Serv-DNS-ISP resolve www.site1.com consultando outros servidores de DNS e, no fim da consulta, disponibiliza o endereço IP ao programa de navegação do utilizador. Como esta consulta consome recursos, Srv-DNS-ISP evita repeti-la sempre que necessita saber o endereço IP de www.site1.com. Para isso, armazena a informação em memória temporária durante um período de tempo parametrizável.

Uma forma simples de ataque por cache poisoning pode ocorrer se, devido a erro ou configuração incorrecta do software de Srv-DNS-ISP, este não assegurar que o servidor de DNS que responde à consulta tem autoridade para o fazer, ou se não verificar se a resposta se adequa ao pedido formulado. Srv-DNS-ISP pode receber uma tradução intencionalmente fraudulenta para “envenenar” a sua memória temporária.

Suponhamos que um registo DNS de Srv-DNS-ISP associa o endereço IP 123.456.789.012 ao nome www.meubanco.pt, mas um atacante cria uma cópia fraudulenta deste site num servidor com o endereço 123.456.789.099. Se este atacante contaminar a memória temporária de Srv-DNS-ISP, substituindo 123.456.789.012 por 123.456.789.099, quando um cliente do ISP escrever http://ww.meubanco.pt na barra de endereço do seu programa de navegação, o sistema operativo “resolve” o nome através de Srv-DNS-ISP e adquire o endereço IP 123.456.789.099. Consequentemente, o utilizador acede à cópia fraudulenta de www.meubanco.pt convencido que está a aceder a um site legítimo.

Vejamos outra situação. O atacante efectua uma pesquisa de um endereço que é gerido por um servidor de DNS controlado por este mesmo atacante, por exemplo: www.controladopeloatacante.com. Em seguida o atacante efectua uma pesquisa ao servidor de DNS alvo solicitando que este lhe indique o endereço do nome www.controladopeloatacante.com, fazendo com que o servidor de DNS alvo contacte o servidor de DNS controlado pelo atacante a solicitar o IP para o nome www.controladopeloatacante.com. Para além do endereço IP do respectivo site o servidor controlado pelo atacante responde também com pares nome/ip falsos com a indicação de que o nome www.meubanco.pt corresponde a um endereço falso. O servidor alvo responde ao pedido do atacante e armazena em memória que o nome www.meubanco.pt corresponde ao endereço fornecido pelo servidor de DNS do atacante. Mais tarde um utilizador que contacte o servidor infectado receberá a informação errada e será encaminhado para um site malicioso.

Spoofing

A técnica de Spoofing consiste em fornecer uma informação falsa a um pedido de resolução de um determinado nome.

Um dos ataques típicos envolve a escuta do meio de comunicação (sniffing), colocando um computador algures na rede entre o computador do utilizador e o servidor de DNS. Quando o computador do atacante detecta uma mensagem com um pedido de um cliente a um servidor de DNS este responde ao utilizador com uma informação errada, fazendo-se passar por servidor de DNS. O único mecanismo de controlo na troca deste tipo de mensagens é um número que o computador cliente envia na mensagem que contém o pedido. Quando recebe a mensagem com a resposta, o cliente verifica se o número coincide com o enviado. Este sistema de controlo é bastante fácil de contornar uma vez que, por o número ser enviado na mensagem original, basta ao computador do atacante copiar o número para a mensagem de resposta.

O método anterior apresenta um problema ao atacante se este não tiver acesso à rede entre o cliente e o servidor. Esta limitação inspirou um novo método de ataque.

Visto o protocolo de comunicação só permitir que o número de controlo assuma 65535 valores, o atacante teria que enviar 65535 respostas falsas (cada uma com um número de controlo diferente) para garantir que o cliente obtivesse a resposta errada antes de receber a correcta por parte do servidor de DNS. Adicionalmente, não tendo acesso à rede o atacante não conseguiria detectar pedidos de clientes. Logo, ataca o próprio servidor de DNS recorrendo também ao Cache Poisoning:

  • Um atacante faz um pedido ao servidor de DNS alvo para resolver o nome www.meubanco.pt. Como este nome não faz parte do seu domínio, o servidor de DNS alvo tem que contactar outro servidor de DNS para obter a informação.
  • Neste preciso momento, um servidor controlado pelo atacante envia 65535 mensagens (cada com um número de controlo diferente) com o endereço IP fraudulento para o nome www.meubanco.pt.
  • Com alguma sorte/azar, o atacante consegue que a sua resposta falsa chegue antes da resposta correcta, sendo que nesta altura o servidor de DNS alvo armazena na memória temporária a informação falsa (cache poisoning) Se o atacante for bem sucedido, futuros pedidos de clientes para resolver o nome www.meubanco.pt recebem respostas erradas.

3.2 Modificações de ficheiros locais

Os sistemas operativos além de recorrerem a traduções remotas (servidores DNS) têm capacidade para efectuar traduções localmente. Estas traduções são feitas com apoio de um ficheiro do sistema operativo. O ficheiro, geralmente denominado de hosts, contém uma lista de nomes e respectivos endereços. Normalmente o nome completo (path) é %Systemroot%\System32\drivers\etc\ em sistemas Microsoft Windows e /etc/hosts em sistemas Linux.

Um ataque comum consiste na criação de uma entrada ilegítima no ficheiro hosts, associando fraudulentamente um endereço IP a determinado nome, como por exemplo www.meubanco.pt. Esta alteração pode ser feita através de uma infecção por um vírus ou através de uma intrusão num computador de um utilizador recorrendo a um cavalo de tróia.

Adicionalmente, e também como resultado de uma infecção por um vírus ou por uma intrusão num computador de um utilizador, o atacante pode alterar os favoritos no browser do utilizador para que a entrada correspondente ao seu banco ou outra organização aponte para um site falso.

3.3 Alteração das configurações locais

Um atacante que tenha acesso ao computador de um cliente pode ainda reconfigurar o sistema para que este contacte um servidor de DNS controlado pelo atacante, em vez de contactar um servidor válido do ISP ou da corporação. Deste modo torna-se muito mais simples fornecer informações erradas ao utilizador.

4 Recomendações

Os ataques de Pharming são extremamente eficazes por serem muito difíceis de detectar. Não existem ferramentas específicas no mercado para detectar este tipo de ataques. Para os prevenir:

  • Mantenha o seu sistema actualizado.
  • Utilize uma ferramenta antí-vírus e mantenha-a actualizada.
  • Confirme a validade dos certificados SSL utilizados em páginas web.
  • Utilize ferramentas - disponíveis para os principais browsers - que permitem identificar a localização física (País) dos sites, chamando, por exemplo, a atenção se o site de um banco Português estiver alojado na Rússia.
  • Ao aceder a sites sensíveis (banca online, finanças, serviços financeiros em geral ou quaisquer outros que impliquem a transferência de dados pessoais relevantes ou informação confidencial) não utilize os favoritos. Neste casos opte sempre por digitar manualmente o URL na barra de endereços, ou, melhor ainda, o endereço IP.

5 Referências

Pharming.org
http://www.pharming.org/index.jsp

Phishing
http://www.internetsegura.pt/pt-PT/Perigos/phishing/ContentDetail.aspx

InternetSegura.PT
http://www.internetsegura.pt

CERT.PT
http://www.cert.pt

 

 

Missão

O CERT.PT tem como missão contribuir para o esforço de cibersegurança nacional nomeadamente no tratamento e coordenação da resposta a incidentes, na produção de alertas e recomendações de segurança e na promoção de uma cultura de segurança em Portugal.

PT EN

Contactos

Av. do Brasil 101 
1700-066 Lisboa 
Portugal

Tel: +351 218440177 (9h30-12h30, 14h00-17h30; GMT)  
Fax: +351 218472167

email:

pgp: 342A 17BA DF71 E193 6871 0357 8BDE A247 C523 AAE7

Filiação internacional

Acreditação Internacional