Instagram est l’une des plateformes de réseaux sociaux les plus populaires au monde, avec plus de 100 millions de photos téléchargées chaque jour et près d’un milliard d’utilisateurs actifs. Des personnes et des entreprises partagent des photos et des messages sur leur vie et leurs produits avec leurs fans dans le monde entier. Imaginez donc ce qui pourrait se passer si un pirate pouvait s'emparer complètement des comptes Instagram, et accéder à tous les messages et photos de ces comptes, poster de nouvelles photos, ou supprimer ou manipuler des photos existantes. Quel effet cela pourrait-il avoir sur la réputation d'une personne ou d'une entreprise ?
Au début de l'année, les chercheurs de Check Point ont découvert une vulnérabilité critique dans l'application Instagram, qui aurait permis à un pirate de prendre le contrôle du compte Instagram d'une victime et de transformer son téléphone en outil d'espionnage, simplement en lui envoyant un fichier image malveillant. Lorsque l'image est enregistrée et ouverte dans l'application Instagram, la vulnérabilité associée fournirait au pirate un accès complet aux messages et aux images Instagram de la victime, lui permettant de poster ou de supprimer des images à volonté, ainsi que d’accéder aux contacts du téléphone, à l'appareil photo et aux données de localisation.
Voici comment nous avons découvert la vulnérabilité et avons travaillé avec Facebook et Instagram pour y remédier afin de protéger les utilisateurs.
Quelles sont les autorisations accordées aux applications sur votre téléphone ?
Où que nous allions, nos téléphones mobiles nous accompagnent généralement, pour nous permettre de rester en contact avec nos familles, nos proches, et notre travail. C'est également bien sûr la raison pour laquelle les mobiles sont une cible attrayante pour les pirates. Non seulement ils peuvent voler des données et des identifiants sur nos téléphones, mais ils peuvent également les utiliser pour nous espionner : suivre notre position, écouter nos conversations, et accéder à nos données et nos messages.
Heureusement, tous les systèmes d'exploitation mobiles modernes comportent plusieurs couches de protection contre ce type d'activité malveillante. Ces protections reposent généralement sur un concept "d'isolement des applications" : même si quelqu'un était en mesure de pirater une application spécifique, il serait toujours confiné à cette seule application, avec ses autorisations strictes, et ne pourrait pas étendre sa tentative de piratage plus en avant.
Le terme clé ici est celui de permissions strictes. Par exemple, une application de cartographie devrait pouvoir accéder à votre localisation, mais ne devrait pas avoir accès à votre microphone ; une application de rencontre devrait pouvoir accéder à votre caméra et rien d'autre, etc.
Mais que se passe-t-il lorsqu’une application a des autorisations étendues sur votre appareil ? Si l'application est piratée, le pirate aura facilement accès à vos données GPS, à votre appareil photo, à votre microphone, à vos contacts, etc.
Heureusement, le nombre d'applications qui ont des autorisations aussi étendues sur les appareils des utilisateurs est limité. Instagram en est un exemple. Compte tenu de sa popularité et de l'étendue des autorisations, nous avons décidé examiner la sécurité de l'application mobile d'Instagram pour les systèmes d'exploitation Android et iOS.
Qu'avons-nous trouvé ?
Nos recherches ont révélé une vulnérabilité critique qui pourrait permettre à des pirates ce que l'on appelle techniquement une exécution de code à distance -RCE-. Cette vulnérabilité pourrait permettre à un pirate d'effectuer toutes les actions qu'il souhaite dans l'application Instagram -même si ces actions ne font pas partie de la logique ou des fonctionnalités de l'application-. Comme l'application Instagram dispose d'autorisations très étendues, cela pourrait permettre à un pirate de transformer instantanément le téléphone ciblé en un parfait outil d'espionnage, mettant ainsi la vie privée de millions d'utilisateurs en grand danger.
Mode opératoire
Comment une application aussi populaire peut-elle comporter des vulnérabilités, alors que d'énormes quantités de temps et de ressources sont investies dans son développement ?
La réponse est que la plupart des développeurs d'applications modernes ne programment pas eux-mêmes toute l'application : si c’était le cas, il faudrait des années pour programmer une application. Ils ont recours à des bibliothèques tierces pour traiter des tâches courantes - et souvent compliquées - telles que le traitement des images, le traitement du son, la connectivité réseau, etc. Cela permet aux développeurs de gagner du temps et de n’avoir à s’occuper que des tâches de programmation qui représentent la véritable valeur de l'application. Cependant, cela dépend de la fiabilité et de la sécurité de ces bibliothèques tierces.
Notre mode opératoire pour cette étude a consisté à examiner les bibliothèques tierces utilisées par Instagram. Et la vulnérabilité que nous avons découverte réside dans la façon dont Instagram utilise Mozjpeg, un projet open source utilisé par Instagram pour décoder les images au format JPEG téléchargées dans l’application.
Mauvaise image : piratage et prise de contrôle de compte Instagram d’un utilisateur mobile
Dans le scénario d'attaque que nous décrivons dans notre étude, un pirate peut simplement envoyer une image à sa victime cible par email, par WhatsApp ou par une autre plateforme d'échange de fichiers. L'utilisateur ciblé enregistre l'image sur son téléphone, et lorsqu'il ouvre l'application Instagram, la vulnérabilité est exploitée, permettant au pirate d'accéder à toutes les ressources du téléphone qui sont préautorisées par Instagram.
Ces ressources comprennent les contacts, le stockage, les services de localisation et l'appareil photo. Le pirate obtient en effet un contrôle total sur l'application et peut effectuer des actions au nom de l'utilisateur, notamment lire tous ses messages personnels dans son compte Instagram, et supprimer ou publier des photos à volonté. L’appareil mobile devient ainsi un outil permettant d'espionner les utilisateurs à leur insu, et de manipuler leur profil Instagram de façon malveillante. Dans les deux cas, l'attaque pourrait entraîner une atteinte massive à la vie privée des utilisateurs et affecter leur réputation, ou entraîner des risques de sécurité encore plus graves.
À un niveau élémentaire, cette vulnérabilité peut être utilisée pour empêcher le fonctionnement de l'application Instagram d'un utilisateur, lui interdisant effectivement l'accès à l'application jusqu'à ce qu'il la supprime de son appareil et la réinstalle, ce qui entraîne des désagréments et une perte possible de données.
Communication responsable et protection
Nous avons communiqué nos conclusions de manière responsable à Facebook et à l'équipe d'Instagram. Facebook a été très réactif, publiant un avertissement utile décrivant cette vulnérabilité comme étant "un débordement d’entier conduisant à un débordement de tampon de pile", et a publié un correctif pour remédier au problème sur les nouvelles versions de l'application Instagram sur toutes les plateformes. Facebook a publié le commentaire suivant pour accompagner cette étude : "Nous avons réglé le problème et nous n'avons constaté aucune preuve de son utilisation. Nous sommes reconnaissants à Check Point de nous avoir aidé à assurer la sécurité d'Instagram." - Un porte-parole de Facebook
Le correctif pour cette vulnérabilité est déjà disponible depuis maintenant 6 mois, ce qui donne le temps à la majorité des utilisateurs de mettre à jour leur application Instagram, réduisant ainsi le risque d'exploitation de cette vulnérabilité. Nous recommandons vivement tous les utilisateurs d'Instagram de s'assurer qu'ils utilisent la dernière version de l'application Instagram, et à la mettre à jour lorsqu’une nouvelle version est disponible.
Check Point SandBlast Mobile - SBM - fournit une visibilité complète sur les risques mobiles, avec des fonctionnalités avancées de prévention des menaces Avec le taux de blocage des menaces le plus élevé du marché, les utilisateurs de SBM restent protégés contre les logiciels malveillants, le phishing, les attaques de type Man-in-the-Middle, les exploitations de vulnérabilités des systèmes d'exploitation, et plus encore. Facile à utiliser, les utilisateurs de SandBlast Mobile ne le verront qu’en cas d’attaque.
Le 25 septembre 2020