O registrador APNIC, responsável pela distribuição de endereços IP na região da Ásia-Pacífico, resultados da análise da distribuição de tráfego em um dos servidores DNS raiz a.root-servers.net. 45,80% das consultas ao servidor raiz estavam relacionadas a verificações realizadas por navegadores baseados no motor Chromium. Assim, quase metade dos recursos dos servidores DNS raiz é gasta na execução de verificações diagnósticas do Chromium, em vez de processar solicitações de servidores DNS ao determinar zonas raiz. Considerando que o Chrome detém 70% do mercado de navegadores web, essa atividade diagnóstica resulta no envio de cerca de 60 bilhões de solicitações aos servidores raiz por dia.
Verificações diagnósticas são usadas no Chromium para determinar a aplicação por provedores de serviços que redirecionam solicitações para nomes inexistentes a seus manipuladores. Sistemas desse tipo são implementados por alguns provedores para desviar o tráfego de nomes de domínio digitados incorretamente — geralmente, para domínios inexistentes, páginas de erro são exibidas, apresentando uma lista de nomes possivelmente corretos e propaganda. Essa atividade, porém, destrói completamente a lógica de identificação de hosts intranet no navegador.
Ao processar uma consulta de pesquisa digitada na barra de endereços, se é inserida apenas uma palavra sem pontos, o navegador inicialmente determinar essa palavra no DNS, presumindo que o usuário pode estar tentando acessar um site da intranet em uma rede interna, em vez de enviar uma consulta ao mecanismo de busca. Se o provedor redireciona solicitações para nomes de domínio inexistentes, os usuários enfrentam o problema de que qualquer consulta de pesquisa de uma única palavra digitada na barra de endereços começa a ser redirecionada para páginas do provedor, em vez de ser enviada ao mecanismo de busca.
Para resolver o problema surgido, os desenvolvedores do Chromium adicionaram ao navegador , que, ao detectar redirecionamentos, alteram a lógica de processamento de solicitações na barra de endereços.
A cada reinício, alteração nas configurações de DNS ou troca de endereço IP, o navegador envia três consultas DNS com nomes de domínio de primeiro nível aleatórios, que provavelmente não existem. Os nomes incluem entre 7 e 15 letras latinas (sem pontos) e são utilizados para identificar o redirecionamento de nomes de domínio inexistentes pelo provedor para seu próprio host. Se, durante o processamento das três solicitações HTTP com nomes aleatórios, duas resultarem em redirecionamento para a mesma página, o Chromium considera que o usuário foi redirecionado para uma página externa.
Para destacar a atividade do Chromium do fluxo geral de solicitações no servidor DNS raiz, foram utilizados tamanhos não típicos de domínio de primeiro nível (de 7 a 15 letras) e o fator de repetição das solicitações (os nomes eram gerados aleatoriamente a cada vez e não se repetiam).
No registro, inicialmente foram filtradas as solicitações de domínios inexistentes (78,09%), depois foram selecionadas as solicitações que se repetiram no máximo três vezes (51,41%), e em seguida filtrados os domínios que incluíam entre 7 e 15 letras (45,80%). Curiosamente, apenas 21,91% das solicitações aos servidores raiz estavam relacionadas à determinação de domínios existentes.
Durante a pesquisa, também foi analisada a relação entre o aumento da carga nos servidores raiz a.root-servers.net e j.root-servers.net e o crescimento da popularidade do Chrome.
No Firefox, as verificações de redirecionamento através do DNS à determinação de redirecionamento para páginas de autenticação (captive portal) e com de um subdomínio fixo "detectportal.firefox.com", sem solicitar nomes de domínio de primeiro nível. Esse comportamento não cria carga adicional nos servidores DNS raiz, mas potencialmente pode uma vazamento de dados confidenciais sobre o endereço IP do usuário (a cada reinício, a página "detectportal.firefox.com/success.txt" é solicitada). Para desativar a verificação no Firefox, existe a configuração "network.captive-portal-service.enabled", que pode ser alterada na página "about:config".
Fonte: opennet.ru
