Os pesquisadores da Check Point Research identificaram vulnerabilidades no mecanismo de pagamento móvel da Xiaomi. Se não fosse corrigido, um atacante poderia roubar as chaves privadas usadas para assinar os 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.
Os pagamentos móveis tornaram-se muito populares bem como uma forma comum de pagamento em todo o mundo. De acordo com as estatísticas mais recentes do portal Statistica, o Extremo Oriente e a China representaram dois terços dos pagamentos móveis no mundo em 2021. Isso equivale a cerca de US$ 4 trilhões em transações de carteira móvel.
Uma quantia tão grande de dinheiro certamente atrai a atenção dos cibercriminosos. No caso do Brasil, de acordo com o relatório da Minsait Payments “Tendências em Meios de Pagamento”, divulgado em abril de 2022, o método de transação financeira com uso de aplicativos de pagamento móvel pelos brasileiros representou 61,5%, impulsionado pelo PIX, para pagamento de suas compras.
Essas vulnerabilidades nos smartphones foram encontradas no Trusted Environment (ambiente confiável) da Xiaomi, que é responsável por armazenar e gerenciar informações confidenciais, como chaves e senhas. Os dispositivos estudados pela CPR estavam equipados com chips MediaTek. A CPR descobriu duas maneiras de atacar o código confiável:
1) 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.
2) Se o cibercriminoso tiver os dispositivos de destino em suas mãos: o atacante penetra no dispositivo e faz a reversão (downgrade) do ambiente de confiança e executa o código para criar um pacote de pagamento falso sem um aplicativo.
O ambiente de execução confiável (TEE – Trusted Execution Environment) é parte integrante dos dispositivos móveis há muitos anos. Seu principal objetivo é processar e armazenar informações de segurança confidenciais, como chaves criptográficas e impressões digitais. A proteção TEE é baseada em extensões de hardware (como ARM TrustZone) que mantêm o mundo TEE seguro, mesmo em dispositivos com root ou comprometidos por malware. Enquanto o TEE for seguro, os pagamentos também serão.
O mercado asiático, representado principalmente por smartphones baseados em chips MediaTek, ainda não foi amplamente explorado. Ninguém está examinando aplicativos confiáveis escritos por fornecedores de dispositivos, como a Xiaomi, embora o gerenciamento de segurança e o núcleo de pagamentos móveis sejam implementados na região. A investigação atual é a primeira a examinar seus aplicativos para problemas de segurança.
Um aplicativo confiável pode sofrer downgrade
A Xiaomi pode incorporar e assinar seus próprios aplicativos confiáveis. Os pesquisadores da Check Point Research descobriram que um atacante pode transferir uma versão antiga de um aplicativo confiável para o dispositivo e usá-la para substituir o novo arquivo do aplicativo. Portanto, um cibercriminoso pode ignorar as correções de segurança feitas pela Xiaomi ou MediaTek em seus aplicativos.
Além disso, várias vulnerabilidades foram descobertas no aplicativo confiável thhadmin, responsável pelo gerenciamento de segurança, que pode ser explorado para vazar chaves armazenadas ou executar código no contexto do aplicativo e, em seguida, realizar ações maliciosas virtualmente falsificadas.
Estrutura de pagamento móvel integrada comprometida
Os dispositivos Xiaomi têm uma estrutura de pagamento móvel integrada chamada Tencent Soter, que fornece uma API para aplicativos Android de terceiros para integrar recursos de pagamento. Sua principal função é fornecer a capacidade de verificar as transferências de pacotes de pagamento entre um aplicativo móvel e um servidor de backend remoto, que é essencialmente a segurança com a qual todos contamos ao fazer pagamentos móveis. De acordo com a Tencent, centenas de milhões de dispositivos Android são compatíveis com a Tencent Soter. A vulnerabilidade encontrada, à qual a Xiaomi denominou CVE-2020-14125, compromete totalmente a plataforma da Tencent, permitindo que um usuário não autorizado assine pacotes de pagamento falsos.
WeChat Pay e Alipay são as duas maiores operadoras do setor de pagamentos digitais na China. Juntas, elas representam cerca de 95% do mercado chinês de pagamentos móveis. Cada uma dessas plataformas tem mais de um bilhão de usuários. O WeChat Pay é baseado no submundo da Tencent. Se um fornecedor de aplicativo quiser implementar seu próprio sistema de pagamento, incluindo o backend que armazena os cartões de crédito, contas bancárias e outras dos usuários, sem estar vinculado ao aplicativo WeChat, ele poderá usar diretamente o Soter daTencent para verificar a autenticidade das transações em seu servidor de backend.
A Check Point Research colaborou com a Xiaomi, que reconheceu as vulnerabilidades e forneceu correções para elas.
“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. Nosso estudo marca a primeira vez que os aplicativos confiáveis da Xiaomi estão sendo revisados quanto a problemas de segurança”, explica Slava Makkaveev, pesquisador de segurança da Check Point Software.
“Divulgamos imediatamente nossas descobertas à Xiaomi, que trabalhou rapidamente para emitir um patch. Nossa recomendação aos usuários é que garantam constantemente que seus dispositivos móveis sejam atualizados para a versão mais recente fornecida pelo fabricante”, reforça Makkaveev.