Xiaomi Phone Bug a autorisé la falsification des paiements

Les transactions mobiles auraient pu être désactivées, créées et signées par des attaquants.

Le fabricant de smartphones Xiaomi, le numéro trois mondial des fabricants de téléphones derrière Apple et Samsung, a annoncé avoir corrigé une faille très grave dans son "environnement de confiance" utilisé pour stocker les données de paiement qui ont ouvert certains de ses combinés aux attaques.

Chercheurs chez Check Point Research révélé la semaine dernière, dans un rapport publié à DEF CON, la faille du smartphone Xiaomi aurait pu permettre aux pirates de détourner le système de paiement mobile et de le désactiver ou de créer et signer leurs propres transactions falsifiées.

Le bassin potentiel de victimes était énorme, étant donné qu'un smartphone sur sept dans le monde est fabriqué par Xiaomi, selon les données du T2/22 de Canalys. La société est le troisième fournisseur mondial, selon Canalys.
Newsletter des initiés de la sécurité informatique« Nous avons découvert un ensemble de vulnérabilités qui pourraient permettre de falsifier des packages de paiement ou de désactiver le système de paiement directement, à partir d'une application Android non privilégiée. Nous avons pu pirater WeChat Pay et mettre en œuvre une preuve de concept entièrement fonctionnelle », a écrit Slava Makkaveev, chercheur en sécurité chez Check Point.

Il a déclaré que l'étude Check Point marque la première fois que les applications de confiance de Xiaomi ont été examinées pour des problèmes de sécurité. WeChat Pay est un service de paiement mobile et de portefeuille numérique développé par une société du même nom, basée en Chine. Le service est utilisé par plus de 300 millions de clients et permet aux utilisateurs d'Android d'effectuer des paiements mobiles et des transactions en ligne.

La faille

On ne sait pas depuis combien de temps la vulnérabilité a existé ou si elle a été exploitée par des attaquants dans la nature. Le bug, suivi comme CVE-2020-14125, a été corrigé par Xiaomi en juin et a un indice de gravité CVSS élevé.

« Une vulnérabilité de déni de service existe dans certains modèles de téléphones Xiaomi. La vulnérabilité est causée par une lecture/écriture hors limites et peut être exploitée par des attaquants pour faire un déni de service », selon la vulnérabilité commune du NIST et description de l'exposition du bogue.

Alors que les détails de l'impact du bogue étaient limités au moment où Xiaomi a révélé la vulnérabilité en juin, les chercheurs de Check Point ont décrit dans son post-mortem le bogue corrigé et l'impact potentiel total de la faille.

Le problème principal avec le téléphone Xiaomi était la méthode de paiement des téléphones mobiles et le composant Trusted Execution Environment (TEE) du téléphone. Le TEE est l'enclave virtuelle du téléphone de Xiaomi, responsable du traitement et du stockage des informations de sécurité ultra-sensibles telles que les empreintes digitales et les clés cryptographiques utilisées pour signer les transactions.

« Sans correctif, un attaquant pourrait voler les clés privées utilisées pour signer les packages de contrôle et de paiement WeChat Pay. Dans le pire des cas, une application Android non privilégiée aurait pu créer et signer un faux package de paiement », ont écrit les chercheurs.

Selon Check Point, deux types d'attaques auraient pu être menées contre les combinés présentant la faille.

  • Depuis une application Android non privilégiée : L'utilisateur installe une application malveillante et la lance. L'application extrait les clés et envoie un faux paquet de paiement pour voler l'argent.
  • Si l'attaquant a les appareils cibles entre ses mains : l'attaquant roote l'appareil, puis rétrograde l'environnement de confiance, puis exécute le code pour créer un faux package de paiement sans application.

Deux façons de dépecer un TEE

Le contrôle du TEE, selon Check Point, est un composant de puce MediaTek qui devait être présent pour mener l'attaque. Pour être clair, la faille n'était pas dans la puce MediaTek - cependant, le bogue n'était exécutable que sur les téléphones configurés avec le processeur MediaTek.

"Le marché asiatique", ont noté les chercheurs, est "principalement représenté par les smartphones basés sur des puces MediaTek". Les téléphones Xiaomi qui fonctionnent sur des puces MediaTek utilisent une architecture TEE appelée "Kinibi", dans laquelle Xiaomi peut intégrer et signer ses propres applications de confiance.

"Habituellement, les applications de confiance du système d'exploitation Kinibi ont le format MCLF" - Mobicore Loadable Format - "mais Xiaomi a décidé de proposer l'une des leurs." Dans leur propre format, cependant, il y avait un défaut : une absence de contrôle de version, sans laquelle "un attaquant peut transférer une ancienne version d'une application de confiance sur l'appareil et l'utiliser pour écraser le nouveau fichier d'application". La signature entre les versions ne change pas, donc le TEE ne connaît pas la différence, et il charge l'ancienne.

Essentiellement, l'attaquant aurait pu remonter le temps, en contournant les correctifs de sécurité apportés par Xiaomi ou MediaTek dans la zone la plus sensible du téléphone.

À titre d'exemple, les chercheurs ont ciblé "Tencent soter", le framework intégré de Xiaomi fournissant une API aux applications tierces qui souhaitent intégrer les paiements mobiles. Soter est responsable de la vérification des paiements entre les téléphones et les serveurs principaux, pour des centaines de millions d'appareils Android dans le monde. Les chercheurs ont effectué un voyage dans le temps pour exploiter une vulnérabilité de lecture arbitraire dans l'application soter. Cela leur a permis de voler les clés privées utilisées pour signer les transactions.

La vulnérabilité de lecture arbitraire est déjà corrigée, tandis que la vulnérabilité de contrôle de version est « en cours de correction ».

De plus, les chercheurs ont trouvé une autre astuce pour exploiter soter.

À l'aide d'une application Android standard et non privilégiée, ils ont pu communiquer avec l'application soter de confiance via « SoterService », une API de gestion des clés soter. "En pratique, notre objectif est de voler l'une des clés privées les plus importantes", ont écrit les auteurs. Cependant, en effectuant une attaque classique par débordement de tas, ils ont pu "complètement compromettre la plate-forme Tencent soter", permettant ainsi une puissance beaucoup plus grande pour, par exemple, signer de faux packages de paiement.

Les téléphones restent non contrôlés

Les paiements mobiles reçoivent déjà PLUS examen minutieux des chercheurs en sécurité, alors que des services comme Apple Pay et Google Pay gagnent en popularité en Occident. Mais l'enjeu est encore plus important pour l'Extrême-Orient, où le marché des paiements mobiles est déjà bien avancé. Selon les données de Statesman, cet hémisphère était responsable des deux tiers des paiements mobiles dans le monde en 2021, soit environ quatre milliards de dollars de transactions au total.

Et pourtant, le marché asiatique "n'a pas encore été largement exploré", notent les chercheurs. "Personne n'examine les applications de confiance écrites par des fournisseurs d'appareils, tels que Xiaomi, plutôt que par des fabricants de puces, même si la gestion de la sécurité et le cœur des paiements mobiles y sont mis en œuvre."

Comme indiqué précédemment, Check Point a affirmé que c'était la première fois que les applications de confiance de Xiaomi étaient examinées pour des problèmes de sécurité.

Horodatage:

Plus de vulnérabilités