Início » Segurança » Falha no kernel Linux permite interceptar conexões de 80% dos Androids

Falha no kernel Linux permite interceptar conexões de 80% dos Androids

Por
2 anos atrás
Já conhece a nova extensão do Tecnoblog? Baixe Agora

Não é um bom momento para usuários de Android. Dias após a descoberta do QuadRooter, falha que coloca em risco mais de 900 milhões de Androids com chips da Qualcomm, foi revelada uma nova brecha que permite interceptar conexões de 80% dos Androids, cerca de 1,4 bilhão de dispositivos. A vulnerabilidade está no kernel Linux, que é a base do Android.

O problema foi divulgado nesta segunda-feira (15) pela empresa de segurança Lookout. A estimativa é que todas as versões de Android com kernel Linux 3.6 estejam vulneráveis, o que significa que a brecha afeta especialmente aparelhos com Android 4.4 KitKat ou superior. A correção foi realizada no kernel apenas na quinta-feira (11), logo, nem mesmo o Developer Preview mais recente do Android 7.0 Nougat está imune.

falha-kernel-tcp

A brecha traz consequências graves, embora não seja tão simples explorá-la. Ao se aproveitar da vulnerabilidade, uma pessoa pode descobrir quando seu aparelho está se conectando a algum servidor — é possível saber, por exemplo, se você está ou não acessando o Tecnoblog no seu Android neste exato momento. Se a conexão não for criptografada, um criminoso pode injetar código malicioso na página. Se for, ainda é possível fechar a conexão e forçar o usuário a acessar uma versão não criptografada.

Uma forma prática de explorar a falha, como apontado pelo Ars Technica, é injetar na página um código em JavaScript que mostre uma janela dizendo que você foi deslogado do serviço que está acessando agora — e então direcioná-lo para uma página falsa que capture seus dados de login e senha. Como o processo de injetar o código é meio demorado (pode levar até 45 segundos), é pouco provável que a falha seja explorada em larga escala como no QuadRooter, mas não impossível.

E o que você pode fazer?

cadeado-seguranca

Antes de começar, é importante verificar se você está vulnerável. Uma maneira “simples” é consultando o valor do parâmetro “net.ipv4.tcp_challenge_ack_limit” no seu Android. Você pode fazer isso abrindo um shell no ADB ou, mais fácil, instalando um terminal (eu uso o Terminal Emulator). Então, rode o comando “sysctl net.ipv4.tcp_challenge_ack_limit”. Se for exibido um valor menor que 1000, você está sujeito à falha.

E como é quase certo que seu dispositivo tem a falha, há duas (ou três) formas de evitar que sua conexão seja interceptada e códigos maliciosos sejam injetados nas páginas que você acessa.

Nem todos os sites que você acessa possuem conexão segura (o Tecnoblog tem, como você pode ver ali no cadeado na barra de endereços). Então, uma maneira de forçar a criptografia é utilizando um VPN — com isso, sua conexão passará por um túnel seguro, o que impede a alteração do conteúdo da página. A maioria dos serviços de VPN confiáveis é paga; há alguns gratuitos, mas o produto pode acabar sendo você.

A outra forma é, caso você tenha root e familiaridade com o Linux, alterar o valor do net.ipv4.tcp_challenge_ack_limit para algo bem grande, tipo 9999999, o que vai impedir a exploração da falha. Aqui tem uma documentação da ferramenta sysctl, utilizada nesse método. (É estranho como alguém ainda não desenvolveu uma ferramenta que automatize esse processo.)

Mas, para a maioria das pessoas, o jeito será esperar a atualização de segurança do Android de setembro, que vai consertar este e outros problemas (e torcer para que você a receba). Até lá, é bom ficar de olho em qualquer coisa estranha que apareça nos sites que você visita frequentemente.

Mais sobre: ,