O DNS resolver do Android 4.0.4 é vulnerável, através do método de envenenamento por DNS, devido ao facto do seu mecanismo aleatório de geração de números ser demasiado fraco. O envenenamento por DNS é uma técnica que permite redirecionar pedidos legítimos aos DNS para sites ilícitos/diferentes do site verdadeiro.
Os investigadores Roee Hay e Roi Saltzman da IBM Application Security Research Group, demonstraram como é que um atacante pode adivinhar o nonce (numero ou conjunto de bits usado apenas uma única vez) do pedido DNS, com uma probabilidade suficiente para conseguir com que o ataque tenha sucesso.
Tanto a versão 4.0.4 como as anteriores estão vulneráveis a este ataque.
Este artigo está inserido no passatempo Pplware 20k (ver aqui). Não se esqueça de comentar o assunto do artigo e também de responder à questão colocada no final (pode ser no mesmo comentário) – são dois requisitos fundamentais para quem se pretende habilitar a um Mikrotik RouterBoard RB2011L-IN
Para que serve um servidor/serviço de DNS?
Quando abrimos um browser costumamos indicar o nome do site que pretendemos consultar. Em traços gerais, o serviço DNS é responsável por traduzir nomes em IP’s e vice-versa, isto é, quando introduzimos por exemplo o url: www.pplware.com, há uma consulta ao servidor de DNS para saber qual o IP correspondente (para saber mais como tudo funciona, leia aqui o nosso artigo sobre DNS).
DNS resolver no Android 4.0.4
O ponto fraco está no pseudo-aleatório gerador de números (PRNG – pseudorandom number generator) que faz com que os ataques através de envenenamento do DNS sejam viáveis. Os ataques por envenenamento de DNS podem por em perigo toda a integridade e confidencialidade das comunicações do sistema atacado.
Por exemplo, no Android, a aplicação Navegador/Internet pode ser atacada de forma a roubar os cookies da vítima de um domínio que o atacante escolha. Se o atacante conseguir atrair a vítima para navegar até uma página controlada por ele, pode facilmente utilizar o JavaScript para começar a “resolver” subdomínios não existentes.
Além de tudo isso, pode iniciar alguma aplicação maliciosa desde a página que conseguiu com que a vítima fosse lá parar através dos subdomínios não existentes. Se o atacante descobrir o PID (proportional integral derivative controller) através da aplicação maliciosa previamente inicializada, este tipo de ataque pode ser efectuado num curto espaço de tempo.
Esta vulnerabilidade está apelidada como “CVE-2012-2808“.
A partir da versão 4.1.1 serão lançadas actualizações para corrigir este bug. O PRNG estará a partir dessa versão localizado em /dev/urandom
que deve ter a entropia suficiente para dificultar o acesso do atacante e também aumentar o tempo necessário para concluir o ataque com sucesso.
Pergunta do passatempo:
- Qual a versão do sistema operativo do RouterBoard MikroTik RB2011L-IN?