Vulnerabilidade no Android permite ignorar a tela de bloqueio

Pesquisadores descobriram que uma vulnerabilidade no Android permite ignorar a tela de bloqueio. Confira os detalhes dessa falha.

Recentemente, foi divulgada a notícia de que foi identificada uma vulnerabilidade no Android (CVE-2022-20465) que permite desativar o bloqueio de tela trocando o cartão SIM e inserindo o código PUK.

Se exploradas, essas falhas podem permitir que invasores obtenham acesso não autorizado a informações confidenciais ou geralmente causem problemas.

Vulnerabilidade no Android permite ignorar a tela de bloqueio

Vulnerabilidade no Android permite ignorar a tela de bloqueio
Vulnerabilidade no Android permite ignorar a tela de bloqueio

O problema é causado pelo processamento de desbloqueio incorreto após inserir um código PUK (chave de desbloqueio pessoal), que é usado para reativar um cartão SIM que foi bloqueado após várias entradas incorretas de PIN.

Para desativar o bloqueio de tela, basta inserir o cartão SIM no telefone, que possui proteção baseada em PIN. Depois de trocar o cartão SIM protegido por PIN, uma solicitação de código PIN é exibida primeiro na tela.

Se o código PIN for inserido incorretamente três vezes, o cartão SIM será bloqueado, após o que você terá a oportunidade de inserir o código PUK para desbloqueá-lo.

Descobriu-se que a entrada correta do código PUK não apenas desbloqueia o cartão SIM, mas leva a uma transição para a interface principal ignorando o protetor de tela, sem confirmar o acesso com a senha ou padrão principal.

A vulnerabilidade se deve a um bug na lógica de verificação do PUK no KeyguardSimPukViewController, responsável por exibir uma tela de autenticação adicional.

O Android usa vários tipos de telas de autenticação (para PIN, PUK, senha, padrão, autenticação biométrica) e essas telas são invocadas sequencialmente quando várias verificações são necessárias, como quando PIN e padrão são necessários.

Se o código PIN for digitado corretamente, a segunda etapa de verificação é ativada, o que requer a entrada do código mestre de desbloqueio, mas ao inserir o código PUK, essa etapa é pulada e o acesso é concedido sem solicitar a senha mestre ou padrão.

“O próximo estágio de desbloqueio é descartado porque quando KeyguardSecurityContainerController#dismiss() é chamado, o método de verificação esperado e aprovado não é comparado, ou seja, o manipulador considera que a alteração do método de verificação não ocorreu e a conclusão da verificação do código PUK indica uma confirmação bem-sucedida de autoridade.”

A vulnerabilidade foi descoberta por acidente: o telefone do usuário ficou sem bateria e, após carregá-lo e ligá-lo, ele cometeu um erro ao inserir o código PIN várias vezes, após o que desbloqueou o código PUK e ficou surpreso ao ver que o sistema não solicitará a senha mestra usada para descriptografar os dados, após o que aparecerá a mensagem “Pixel está iniciando…”.

O usuário acabou sendo meticuloso, decidiu descobrir o que estava acontecendo e começou a experimentar a inserção de códigos PIN e PUK de várias maneiras, até que acidentalmente esqueceu de reiniciar o aparelho após trocar o cartão SIM e teve acesso ao ambiente em vez de congelar.

Vulnerabilidade no Android permite ignorar a tela de bloqueio
Vulnerabilidade no Android permite ignorar a tela de bloqueio

De particular interesse é a resposta do Google ao relatório de vulnerabilidade.

A informação sobre o problema foi enviada em junho, mas até setembro o pesquisador não conseguiu uma resposta clara. Ele considerou que esse comportamento se devia ao fato de ele não ter sido o primeiro a relatar esse bug.

As suspeitas de que algo estava errado foram levantadas em setembro, quando o problema permaneceu sem solução após o lançamento de uma atualização de firmware 90 dias depois, após o período de sigilo declarado já ter expirado.

Como todas as tentativas de descobrir o status do relatório de problemas enviado levaram apenas a modelos e cancelamentos automáticos, o pesquisador tentou entrar em contato pessoalmente com os funcionários do Google para esclarecer a situação com a preparação de uma solução e até demonstrou uma vulnerabilidade no escritório do Google em Londres.

Só depois disso o trabalho para eliminar a vulnerabilidade avançou. Durante a análise descobriu-se que alguém já havia relatado o problema antes, mas o Google decidiu abrir uma exceção e pagar uma recompensa por relatar novamente o problema, pois foi somente graças à perseverança de seu autor que o problema foi percebido.

A capacidade de desativar o bloqueio foi demonstrada em dispositivos Google Pixel, mas como a correção afeta a base de código principal do Android, é provável que o problema também afete o firmware de terceiros.

O problema foi resolvido no Android Security Patch Roll de novembro. O pesquisador que chamou a atenção para o problema recebeu uma recompensa de US$ 70.000 do Google.

Fonte: https://bugs.xdavidhu.me

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.