Normalmente eu não tenho medo de navegar em sites que eu conheço como seguros (ainda que não exista 100% de segurança na rede), mas hoje me fizeram pensar duas vezes. Especialistas em segurança digital como o Hacker News estão alertando para uma vulnerabilidade já bem antiga do Chrome e Firefox, que permite exibir um site inseguro com um URL visualmente idêntico ao de um site seguro e confiável.
Veja este site de exemplo. No momento que estou escrevendo este texto, usando o Chrome ou o Firefox, este link leva para um domínio “www.аpple.com”, com certificado SSL, cadeadinho e tudo. Mas este não é o site da marca Apple. A letra latina “a” foi substituída pelo caractere “a” do cirílico, visualmente idêntico, mas é uma letra diferente. Dependendo da fonte, não tem como notar a diferença.
Isso cria o risco do chamado homograph attack, ou ataque homógrafo. Um site malicioso pode registrar um domínio que se escreve de forma semelhante a um site seguro como Paypal ou Gmail e ser extremamente difícil de detectar. Este problema teoricamente foi antecipado pelo ICANN e foram rejeitados domínios e extensões de domínios com caracteres cirílicos, chineses e de outros alfabetos por anos, mas a partir de 2003, as regras para o registro dependem da região, e especificamente domínios .com têm regras bastante liberais.
Para exibir caracteres internacionais (não ascii), diferentes navegadores usam o chamado Punycode, lendo uma sequência de letras e números em código e exibindo os caracteres internacionais correspondentes. Para restringir tentativas de phishing, o navegador não deveria misturar caracteres de alfabetos diferentes, mas isso é exatamente o que acontece no exemplo acima.
Como se proteger?
Para o Firefox, é possível evitar este problema alterando manualmente uma configuração. Veja os passos abaixo:
- Abre o Firefox.
- Digita about:config no endereço e aperta Enter.
- Busca por punycode.
- Na configuração network.IDN_show_punycode, se estiver “false”, clica com o botão direito e manda inverter o valor, para “true”.
- Reinicia o navegador.
Fazendo isso, ao invés de o Firefox exibir caracteres internacionais na barra de endereços, ele vai exibir o código Punycode por trás do endereço. No exemplo acima, ao invés de exibir www.аpple.com, aparece www.xn--80ak6aa92e.com.
Testei isso no Windows e no Android, pode funcionar em outras plataformas.
No Chrome, não é possível alterar esta configuração. A Google promete uma atualização que previne este problema para daqui a alguns dias, ainda em abril.
Para finalizar, lembre-se que este artigo está no ar graças ao patrocinador. Não esqueça de agradecer a ele também!