Ataques homográficos: não acredite em tudo que você vê

Ataques homográficos: não acredite em tudo que você vê

O que acontece quando um cibercriminoso registra domínios parecidos com os originais e obtém certificados válidos? Assim funcionam os ataques homográficos.

O que acontece quando um cibercriminoso registra domínios parecidos com os originais e obtém certificados válidos? Assim funcionam os ataques homográficos.

Da mesma forma que os atacantes encontram métodos cada vez mais sofisticados com o intuito de burlar as técnicas de detecção do antivírus, também melhoram aquelas que permitem enganar os usuários ou que pelo menos tentam burlar as dicas básicas que são ensinadas em uma clássica capacitação de segurança informática.

Apesar disso, sempre podemos dar um passo à frente para reforçar a nossa segurança e detectar as fraudes, como veremos a seguir.

Atualmente, os cibercriminosos estão focados em melhorar o designer dos golpes de phishing, utilizando imagens elaboradoras ou incluindo iframes provenientes de uma página legítima.

Além disso, graças aos dicionários e tradutores online, conseguem evitar (alguns) erros de gramática ou de ortografia nos emails.

Por outro lado, já não basta apenas observar o endereço do remetente de um email ou SMS, pois graças às técnicas de spoofing um atacante pode se passar por uma instituição diferente, falsificando os dados em uma comunicação.

Também é necessário prestar muita atenção aos links que estão nos emails da fraude, considerando que muitas vezes os sites falsos se escondem por trás de endereços encurtados ou compostos, para não revelarem as suas verdadeiras intenções apenas com uma “simples olhada”.

De qualquer forma, tínhamos uma dica que, até agora, considerávamos infalível: verificar se a página é segura, observando o uso do protocolo HTTPS e, sobretudo, do certificado de segurança.

Cibercriminosos com sites seguros

Embora a maioria das páginas falsas utilizem HTTP, enquanto que os sites legítimos que solicitam credenciais de acesso (como as redes sociais, os sites de bancos, etc.) usam o HTTPS, isso não significa que um atacante não possa fazer o mesmo. De fato, um atacante pode facilmente transformar uma página em HTPPS, obtendo um certificado SSL/TLS completamente válido, inclusive de forma gratuita.

No entanto, para que isso funcione, o cibercriminoso precisa ser capaz de registrar um domínio que seja o mais parecido possível com o do site que deseja falsificar e, em seguida, adquirir o certificado para esse novo domínio. Uma opção é procurar por domínios que sejam escritos de forma bem parecida. Por exemplo, “twiitter.com” contra o original que é “twitter.com”, ou “rnercadolivre.com.br” contra o original “mercadolivre.com.br”.

Lembra daqueles testes que mostram palavras incompletas ou com erros quase imperceptíveis, e que você acaba lendo como se estivessem completos e bem escritos? Bom, o mesmo ocorre com as URLs no navegador.

Com apenas uma simples olhada e lendo rapidamente, esses exemplos podem enganar a muitos usuários, mas basta prestar um pouco mais de atenção sobre como o endereço está escrito para poder detectar o golpe. Para isso, os atacantes precisam descobrir uma forma de registrar um site que seja escrito de uma forma diferente, mas que visualmente seja igual para o usuário, e para isso utilizam os ataques homográficos.

Veja um exemplo. Você acha que este site é falso?

Esse exemplo faz parte de um teste de conceito realizado pelo pesquisador Xudong Zheng, quem cadastrou o domínio https://www.xn--80ak6aa92e.com/. Você pode ver como isso funciona, acessando o link através do navegador Firefox.

O que torna isso possível é a utilização de caracteres Unicode em outros idiomas, como cirílico, grego ou russo. Nesses idiomas podemos encontrar caracteres semelhantes ou, muitas vezes, iguais aos que utilizamos habitualmente no latim e nas URLs. Devido ao Punycode, que é uma sintaxe de codificação que permite que qualquer caractere Unicode possa ser traduzido em uma cadeia de caracteres mais limitada e compatível com as URLs, é possível registrar um nome de domínio utilizando esses caracteres.

Por exemplo, é possível registrar um domínio como “xn--pple-43d.com”, que é interpretado pelo navegador como “apple.com”, mas na realidade está escrito utilizando o caractere cirílico “а” (U+0430) em vez de “a” em ASCII (U+0041). Apesar de ambos caracteres poderem ser vistos da mesma forma com apenas uma olhada, para os navegadores e certificados de segurança se trata de dois caracteres diferentes e, portanto, fazem parte de domínios diferentes.

Existem diversos exemplos, como “tωitter.com” (xn--titter-i2e.com em Punycode) ou “gmạil.com” (xn--gmil-6q5a.com). Inclusive, você pode criar as suas próprias combinações com um conversor de Unicode a Punycode.

Atualmente, muitos navegadores possuem mecanismos que tentam evitar esse tipo de ataque. Por exemplo, no Firefox ou Chrome, quando um domínio contém caracteres em diferentes idiomas, no lugar de mostrar sua forma Unicode, mostrará o Punycode correspondente. Ou seja, nos exemplos anteriores, em vez de ver “apple.com” (forma Unicode), veríamos “xn--pple-43d.com” (forma Punycode), e no caso de tωitter.com” seria “xn--titter-i2e.com”.

No entanto, no teste de conceito, Xudong Zheng consegue evitar essa proteção registrando o domínio “apple.com” utilizando apenas caracteres na linguagem cirílico. Dessa forma, “xn--80ak6aa92e.com” será visto como: аррӏе.com

Além disso, os pesquisadores vão mais além, obtendo através do Amazon um certificado TLS para o seu domínio, o qual a primeira vista pode ser bastante convincente:

No entanto, se observarmos os detalhes, poderemos ver que na realidade pertence a “xn--80ak6aa92e.com”:

Apesar dessa realidade ter sido corrigida nas últimas versões do Chrome e Internet Explorer, navegadores como o Firefox ainda sofrem esse problema. Para esse último navegador, uma alternativa é configurar a opção network.IDN_show_punycode em true, de forma que sempre mostre os caracteres em sua forma Punycode.

De qualquer forma, o site gmạil.com do exemplo anterior também consegue evitar a proteção do Chrome, pois utiliza unicamente caracteres do latim, inclusive caracteres especiais como “ạ”, que podem ser vistos pelo navegador.

É necessário reforçar a proteção

Cada vez que encontramos um novo caso de phishing ou alguma página falsa que tenta enganar o usuário, repetimos as mesmas dicas: verificar o remente da mensagem, prestar atenção no link da página acessada, garantindo que o endereço esteja bem escrito e, além de tudo isso, que seja seguro (utilize HTTPS) e tenha o certificado de segurança.

No entanto, hoje em dia também são necessários outros cuidados, considerando que os cibercriminosos usam técnicas cada vez mais complexas para enganar o usuário. Implementar HTTPS e certificados não é um assunto de segurança para o atacante. Além disso, se estiver roubando as suas credenciais, qual a diferença de recebê-las criptografadas ou não?

O ponto é que essa técnica utilizada para dar aos usuários uma falsa sensação de segurança, os leva a inserir os seus dados acreditando que estão em um site seguro, apenas observando a dica de analisar se o site tem um cadeado e HTTPS. No entanto, como vimos, apenas esse aspecto não é mais suficiente.

Por isso, além de prestar bastante atenção aos emails e sites, também é fundamental observar cuidadosamente os certificados de segurança, evitar acessar aos sites através de links no email (o ideal é sempre digitá-los no seu navegador) e adicionar uma camada extra de proteção em suas contas utilizando o duplo fator de autenticação.

Leia também: Cuidado com os phishing escondidos em URLs falsas

Discussão