Falsificação de pagamento permitida por bug do telefone Xiaomi

As transações móveis podem ter sido desativadas, criadas e assinadas por invasores.

A fabricante de smartphones Xiaomi, a terceira fabricante de telefones do mundo atrás da Apple e da Samsung, informou que corrigiu uma falha de alta gravidade em seu “ambiente confiável” usado para armazenar dados de pagamento que abriram alguns de seus aparelhos para ataques.

Pesquisadores da Check Point Research revelou na semana passada, em um relatório divulgado no DEF CON, que a falha do smartphone Xiaomi poderia ter permitido que hackers sequestrassem o sistema de pagamento móvel e o desativassem ou criassem e assinassem suas próprias transações forjadas.

O potencial grupo de vítimas foi enorme, considerando que um em cada sete smartphones do mundo é fabricado pela Xiaomi, de acordo com dados do segundo trimestre de 2 da Canalys. A empresa é a terceira maior fornecedora globalmente, de acordo com a Canalys.
Boletim Informativo Infosec Insiders“Descobrimos um conjunto de vulnerabilidades que podem permitir falsificar pacotes de pagamento ou desabilitar o sistema de pagamento diretamente, a partir de um aplicativo Android sem privilégios. Conseguimos invadir o WeChat Pay e implementamos uma prova de conceito totalmente trabalhada”, escreveu Slava Makkaveev, pesquisador de segurança da Check Point.

Ele disse que o estudo da Check Point marca a primeira vez que os aplicativos confiáveis ​​​​da Xiaomi foram revisados ​​​​para problemas de segurança. WeChat Pay é um serviço de pagamento móvel e carteira digital desenvolvido por uma empresa de mesmo nome, com sede na China. O serviço é usado por mais de 300 milhões de clientes e permite que usuários do Android façam pagamentos móveis e transações online.

A falha

Não está claro por quanto tempo a vulnerabilidade existiu ou se foi explorada por invasores em estado selvagem. O bug, rastreado como CVE-2020-14125, foi corrigido pela Xiaomi em junho e tem uma classificação de gravidade CVSS alta.

“Existe uma vulnerabilidade de negação de serviço em alguns modelos de telefones Xiaomi. A vulnerabilidade é causada por leitura/gravação fora do limite e pode ser explorada por invasores para fazer negação de serviço”, de acordo com a vulnerabilidade comum do NIST e descrição da exposição do bug.

Embora os detalhes do impacto do bug fossem limitados no momento em que a Xiaomi divulgou a vulnerabilidade em junho, pesquisadores da Check Point descreveram em seu post-mortem o bug corrigido e o impacto potencial total da falha.

O principal problema com o telefone Xiaomi era o método de pagamento dos telefones celulares e o componente Trusted Execution Environment (TEE) do telefone. O TEE é o enclave virtual do telefone da Xiaomi, responsável por processar e armazenar informações de segurança ultrassensíveis, como impressões digitais e as chaves criptográficas usadas na assinatura de transações.

“Se não for corrigido, um invasor pode roubar chaves privadas usadas para assinar pacotes de controle e pagamento do WeChat Pay. Na pior das hipóteses, um aplicativo Android sem privilégios poderia ter criado e assinado um pacote de pagamento falso”, escreveram os pesquisadores.

Dois tipos de ataques poderiam ter sido realizados contra aparelhos com a falha de acordo com a Check Point.

  • De um aplicativo Android sem privilégios: o usuário instala um aplicativo malicioso e o inicia. O aplicativo extrai as chaves e envia um pacote de pagamento falso para roubar o dinheiro.
  • Se o invasor tiver os dispositivos de destino em suas mãos: o invasor enraíza o dispositivo, faz o downgrade do ambiente de confiança e executa o código para criar um pacote de pagamento falso sem um aplicativo.

Duas maneiras de esfolar um TEE

Controlar o TEE, de acordo com a Check Point, é um componente do chip MediaTek que precisava estar presente para conduzir o ataque. Para ficar claro, a falha não estava no chip MediaTek – porém o bug só era executável em telefones configurados com o processador MediaTek.

“O mercado asiático”, observaram os pesquisadores, é “representado principalmente por smartphones baseados em chips MediaTek”. Os telefones Xiaomi que rodam em chips MediaTek usam uma arquitetura TEE chamada “Kinibi”, na qual a Xiaomi pode incorporar e assinar seus próprios aplicativos confiáveis.

“Geralmente, os aplicativos confiáveis ​​do Kinibi OS têm o formato MCLF” – Mobicore Loadable Format – “mas a Xiaomi decidiu criar um próprio.” Dentro de seu próprio formato, no entanto, havia uma falha: a ausência de controle de versão, sem o qual “um invasor pode transferir uma versão antiga de um aplicativo confiável para o dispositivo e usá-lo para substituir o novo arquivo do aplicativo”. A assinatura entre as versões não muda, então o TEE não sabe a diferença e carrega o antigo.

Em essência, o invasor poderia ter voltado no tempo, ignorando quaisquer correções de segurança feitas pela Xiaomi ou MediaTek na área mais sensível do telefone.

Como exemplo, os pesquisadores visaram o “Tencent soter”, a estrutura incorporada da Xiaomi que fornece uma API para aplicativos de terceiros que desejam integrar pagamentos móveis. A Soter é responsável por verificar os pagamentos entre telefones e servidores de back-end, para centenas de milhões de dispositivos Android em todo o mundo. Os pesquisadores realizaram viagens no tempo para explorar uma vulnerabilidade de leitura arbitrária no aplicativo soter. Isso permitiu que eles roubassem as chaves privadas usadas para assinar transações.

A vulnerabilidade de leitura arbitrária já está corrigida, enquanto a vulnerabilidade de controle de versão está “sendo corrigida”.

Além disso, os pesquisadores criaram outro truque para explorar o soter.

Usando um aplicativo Android normal e sem privilégios, eles conseguiram se comunicar com o aplicativo confiável por meio de “SoterService”, uma API para gerenciar chaves de soter. “Na prática, nosso objetivo é roubar uma das chaves privadas”, escreveram os autores. No entanto, ao realizar um ataque de estouro de heap clássico, eles conseguiram “comprometer completamente a plataforma de soter Tencent”, permitindo um poder muito maior para, por exemplo, assinar pacotes de pagamento falsos.

Telefones permanecem não examinados

Os pagamentos móveis já estão recebendo mais escrutínio de pesquisadores de segurança, à medida que serviços como Apple Pay e Google Pay ganham popularidade no Ocidente. Mas a questão é ainda mais significativa para o Extremo Oriente, onde o mercado de pagamentos móveis já está muito à frente. De acordo com dados de Estadista, esse hemisfério foi responsável por dois terços dos pagamentos móveis globalmente em 2021 – cerca de quatro bilhões de dólares em transações no total.

E, no entanto, o mercado asiático “ainda não foi amplamente explorado”, observaram os pesquisadores. “Ninguém está examinando aplicativos confiáveis ​​escritos por fornecedores de dispositivos, como Xiaomi, em vez de fabricantes de chips, mesmo que o gerenciamento de segurança e o núcleo de pagamentos móveis sejam implementados lá.”

Como observado anteriormente, a Check Point afirmou que esta foi a primeira vez que os aplicativos confiáveis ​​​​da Xiaomi foram revisados ​​​​para problemas de segurança.

Carimbo de hora:

Mais de vulnerabilidades