À la suite de l’interdiction américaine, Huawei a perdu l’accès aux services de Google. En conséquence, elle a dû investir davantage de ressources dans son propre logiciel, Huawei Mobile Services (HMS), destiné à être utilisé sur ses smartphones. Une partie de ce logiciel est la Huawei AppGallery, l’alternative de la société au Google Play Store. L’objectif d’une boutique d’applications est de distribuer des logiciels, et cela inclut la collecte d’argent pour les titres payants. Malheureusement pour Huawei, une faille semble permettre aux utilisateurs de télécharger gratuitement des applications payantes.
Dylan Roussel, développeur Android, a découvert une faille dans l’API de la boutique d’applications, qui renvoie des liens de téléchargement d’APK pour des applications gratuites et payantes. Il a pu télécharger lesdites applications via ces liens, les installer et les utiliser sans problème.
Pour s’assurer qu’il ne s’agissait pas d’un problème de vérification de licence avec une application, il a répété le processus avec plusieurs applications les résultats étaient les mêmes, confirmant que la faille était bien du côté de Huawei. Pour corroborer cette découverte, l’un des jeux qu’il a testés présentait une vérification de licence qui a réussi à l’empêcher de l’utiliser
Cette vulnérabilité est énorme pour plusieurs raisons. Outre la perte de revenus possible pour Huawei et les développeurs, les pirates d’applications pourraient exploiter la faille pour accéder à des titres premium à des fins douteuses. M. Roussel a contacté Huawei peu après avoir découvert la faille en février. Il leur a offert 5 semaines pour régler le problème, mais après un silence radio de 13 semaines, il rend enfin ses conclusions publiques.
Si vous êtes un développeur ayant une application payante sur l’AppGallery de Huawei, vous devez absolument penser à ajouter un moyen de protection supplémentaire à votre logiciel, comme le SDK AppGallery DRM Service. Celui-ci vérifie si un utilisateur a acheté votre application dès qu’il l’ouvre, et s’il ne l’a pas fait, il l’invite à le faire. C’est également un bon moyen de s’assurer que l’application n’est pas distribuée gratuitement à d’autres personnes après un seul achat.