Check Point découvre un problème touchant une appli de sécurité pré-installée sur les appareils mobiles de Xiaomi
Publié le 04/04/2019 Dans Press Releases
Le texte suivant est issu d'un communiqué de presse et ne reflète en rien l'opinion de la rédaction.
Zaventem - Check Point Research a découvert plusieurs vulnérabilités au coeur d’une application pré-installée sur les appareils mobiles de Xiaomi. Avec ses 7,49% de parts de marché, la société chinoise est le quatrième vendeur de téléphones mobiles au monde, derrière Samsung, Apple et Huawei. De manière plutôt ironique, le problème se pose précisément au niveau de l’appli de sécurité “Guard Provider” qui est censée protéger les appareils contre les maliciels.
De nombreux smartphones comportent plusieurs applications qui ont été préalablement installées par le constructeur. Certaines d’entre elles ont une réelle utilité tandis que d’autres applis ne sont que rarement, voire jamais, utilisées. Tout naturellement, les utilisateurs ne s’attendent pas à ce que l’une de ces applis présente un risque pour leur vie privée et leur sécurité. Du côté du constructeur Xiaomi, l’application “Guard Provider” est destinée à protéger les appareils mobiles contre des maliciels. Les recherches de Check Point ont permis de démontrer que l’application rend justement les appareils vulnérables aux attaques.
Xiaomi
L’origine du problème vient de la conjonction de deux phénomènes: d’une part, du trafic réseau non sécurisé au départ et à destination du “Guard Provider” et, de l’autre, l’utilisation de plusieurs SDK (software development kits) au sein de la même application. Ce faisant, un vecteur de menace pourrait se connecter à la victime par le même réseau afin d’effectuer des attaques de type Man-in-the-Middle (MiTM).
En tirant parti de hiatus dans les communications entre les différents SDK, un pirate pourrait avoir la faculté d’ajouter n’importe quel code malveillant, par exemple pour dérober des mots de passe ou installer toutes sortes de maliciels. Consultez le site de Check Point Research pour plus de détails techniques.
« Tous les équipements prêts à l’emploi comportent des applications pré-installées telles que le “Guard Provider”. Il est impossible de les désinstaller. Voilà pourquoi Check Point a averti Xiaomi de l’existence de ce problème. Entre-temps, un correctif a été expédié », explique Christof Jacques, ingénieur en sécurité chez Check Point Belgique et Luxembourg.
SDK: le pour et le contre
Un “software development kit” (SDK en abrégé) est un ensemble d’outils de programmation devant aider les développeurs lors de la conception d’applications destinées à des plates-formes spécifiques. Dans le cas des dispositifs mobiles, les SDK présentent une série d’avantages. Par exemple, les développeurs ne doivent plus consacrer un temps précieux à rédiger du code et à garantir la stabilité back-end pour des fonctions qui n’ont rien à voir avec le coeur de leur appli.
Le nombre de SDK ne faisant qu’augmenter, les développeurs peuvent puiser dans un plus large éventail de possibilités et peuvent ainsi améliorer le fonctionnement des applications au bénéfice de l’utilisateur final. Mais, dans le même temps, la proportion de codes venant de tierces parties ne cesse de s’accroître, ce qui complique sensiblement la protection des données des utilisateurs.
L’utilisation de multiples SDK au sein d’une même application provoque ce qu’on appelle l’“usure par SDK”. Ce phénomène rend en effet une appli nettement plus vulnérable à des problèmes telles que des plantages, des virus, des maliciels, des violations de vie privée, une sur-consommation de la batterie, des ralentissements fonctionnels, et bien d’autres problèmes encore.
Le principal désavantage que présente la coexistence de plusieurs SDK au sein d’une même appli réside dans le fait qu’ils se partagent tous le contexte et les autorisations de l’application. Cela a plusieurs conséquences:
1. en cas de problème avec un SDK en particulier, la protection de tous les autres risque d’être compromise
2. les données de type privé stockées dans un SDK déterminé ne peuvent pas être isolées des autres, de telle sorte qu’elles sont accessibles par un autre SDK.
Un rapport récent révèle que l’utilisation de plusieurs SDK au sein d’une même appli est une pratique beaucoup plus fréquente qu’on ne le croit. On dénombre en moyenne plus de 18 SDK intégrés dans une seule appli. Ce faisant, les entreprises et les utilisateurs ouvrent la porte à des pièges potentiels qui pourront être exploités par des vecteurs de menaces qui perturberont le fonctionnement normal de leur équipement.
2 + 2 ne fait pas toujours 4
On ne peut exiger de l’équipe de sécurité IT d’une entreprise qu’elle connaisse les tenants et aboutissants précis des SDK utilisés pour les applis que les collaborateurs installent sur leurs appareils. Elle doit par contre prendre conscience que le développement de telles applis peut également comporter des risques pour la sécurité. On pourrait par ailleurs s’attendre à ce que les composantes d’une appli de sécurité soient toutes sécurisées.
Toutefois, cela ne semble pas toujours être le cas, comme le démontre le problème relevé du côté de Xiaomi.
Les développeurs et les entreprises doivent prendre conscience que combiner un composant sécurisé avec un autre élément sécurisé ne garantira pas nécessairement la sécurité de l’appareil.
« La seule protection contre les menaces dissimulées consiste à faire en sorte que votre flotte d’appareils mobiles soit protégée contre de potentielles attaques MiTM », déclare Christof Jacques. « SandBlast Mobile de Check Point est en mesure de détecter et de parer à des telles attaques et, ce faisant, de neutraliser le danger insidieux que représente l’utilisation de plusieurs SDK. »
De nombreux smartphones comportent plusieurs applications qui ont été préalablement installées par le constructeur. Certaines d’entre elles ont une réelle utilité tandis que d’autres applis ne sont que rarement, voire jamais, utilisées. Tout naturellement, les utilisateurs ne s’attendent pas à ce que l’une de ces applis présente un risque pour leur vie privée et leur sécurité. Du côté du constructeur Xiaomi, l’application “Guard Provider” est destinée à protéger les appareils mobiles contre des maliciels. Les recherches de Check Point ont permis de démontrer que l’application rend justement les appareils vulnérables aux attaques.
Xiaomi
L’origine du problème vient de la conjonction de deux phénomènes: d’une part, du trafic réseau non sécurisé au départ et à destination du “Guard Provider” et, de l’autre, l’utilisation de plusieurs SDK (software development kits) au sein de la même application. Ce faisant, un vecteur de menace pourrait se connecter à la victime par le même réseau afin d’effectuer des attaques de type Man-in-the-Middle (MiTM).
En tirant parti de hiatus dans les communications entre les différents SDK, un pirate pourrait avoir la faculté d’ajouter n’importe quel code malveillant, par exemple pour dérober des mots de passe ou installer toutes sortes de maliciels. Consultez le site de Check Point Research pour plus de détails techniques.
« Tous les équipements prêts à l’emploi comportent des applications pré-installées telles que le “Guard Provider”. Il est impossible de les désinstaller. Voilà pourquoi Check Point a averti Xiaomi de l’existence de ce problème. Entre-temps, un correctif a été expédié », explique Christof Jacques, ingénieur en sécurité chez Check Point Belgique et Luxembourg.
SDK: le pour et le contre
Un “software development kit” (SDK en abrégé) est un ensemble d’outils de programmation devant aider les développeurs lors de la conception d’applications destinées à des plates-formes spécifiques. Dans le cas des dispositifs mobiles, les SDK présentent une série d’avantages. Par exemple, les développeurs ne doivent plus consacrer un temps précieux à rédiger du code et à garantir la stabilité back-end pour des fonctions qui n’ont rien à voir avec le coeur de leur appli.
Le nombre de SDK ne faisant qu’augmenter, les développeurs peuvent puiser dans un plus large éventail de possibilités et peuvent ainsi améliorer le fonctionnement des applications au bénéfice de l’utilisateur final. Mais, dans le même temps, la proportion de codes venant de tierces parties ne cesse de s’accroître, ce qui complique sensiblement la protection des données des utilisateurs.
L’utilisation de multiples SDK au sein d’une même application provoque ce qu’on appelle l’“usure par SDK”. Ce phénomène rend en effet une appli nettement plus vulnérable à des problèmes telles que des plantages, des virus, des maliciels, des violations de vie privée, une sur-consommation de la batterie, des ralentissements fonctionnels, et bien d’autres problèmes encore.
Le principal désavantage que présente la coexistence de plusieurs SDK au sein d’une même appli réside dans le fait qu’ils se partagent tous le contexte et les autorisations de l’application. Cela a plusieurs conséquences:
1. en cas de problème avec un SDK en particulier, la protection de tous les autres risque d’être compromise
2. les données de type privé stockées dans un SDK déterminé ne peuvent pas être isolées des autres, de telle sorte qu’elles sont accessibles par un autre SDK.
Un rapport récent révèle que l’utilisation de plusieurs SDK au sein d’une même appli est une pratique beaucoup plus fréquente qu’on ne le croit. On dénombre en moyenne plus de 18 SDK intégrés dans une seule appli. Ce faisant, les entreprises et les utilisateurs ouvrent la porte à des pièges potentiels qui pourront être exploités par des vecteurs de menaces qui perturberont le fonctionnement normal de leur équipement.
2 + 2 ne fait pas toujours 4
On ne peut exiger de l’équipe de sécurité IT d’une entreprise qu’elle connaisse les tenants et aboutissants précis des SDK utilisés pour les applis que les collaborateurs installent sur leurs appareils. Elle doit par contre prendre conscience que le développement de telles applis peut également comporter des risques pour la sécurité. On pourrait par ailleurs s’attendre à ce que les composantes d’une appli de sécurité soient toutes sécurisées.
Toutefois, cela ne semble pas toujours être le cas, comme le démontre le problème relevé du côté de Xiaomi.
Les développeurs et les entreprises doivent prendre conscience que combiner un composant sécurisé avec un autre élément sécurisé ne garantira pas nécessairement la sécurité de l’appareil.
« La seule protection contre les menaces dissimulées consiste à faire en sorte que votre flotte d’appareils mobiles soit protégée contre de potentielles attaques MiTM », déclare Christof Jacques. « SandBlast Mobile de Check Point est en mesure de détecter et de parer à des telles attaques et, ce faisant, de neutraliser le danger insidieux que représente l’utilisation de plusieurs SDK. »