Afin de mieux comprendre en quoi les caméras pour smartphones risquent d’entraîner des risques pour la vie privée des utilisateurs, l’équipe de recherche sur la sécurité Checkmarx a étudié les applications elles-mêmes qui contrôlent ces caméras dans l'optique d’identifier les scénarios d’abus potentiels. Disposant de Google Pixel 2 XL et de Pixel 3, l'équipe a entamé des recherches sur l'application Google Camera et a finalement découvert plusieurs vulnérabilités liées à des problèmes de contournement des autorisations. Après des recherches plus approfondies, elle a également constaté que ces mêmes vulnérabilités avaient des répercussions importantes sur les applications pour appareils photo d'autres fournisseurs de smartphones de l'écosystème Android (notamment Samsung), ce qui aurait des conséquences importantes pour des centaines de millions d'utilisateurs de smartphones.
Les vulnérabilités et les implications
Après une analyse détaillée de l'application Google Camera, l'équipe a découvert qu'en manipulant des actions et des intentions spécifiques, un attaquant pouvait contrôler l'application pour prendre des photos et/ou enregistrer des vidéos via une application non autorisée ne disposant pas de l'autorisation de le faire. De plus, elle a constaté que certains scénarios d’attaque permettaient à des acteurs malveillants de contourner diverses règles d’autorisation de stockage en leur donnant accès aux vidéos et photos stockées, ainsi qu’aux métadonnées GPS incorporées dans les photos, afin de localiser l’utilisateur en prenant une photo ou une vidéo et en analysant le contenu approprié des données EXIF (l'Exchangeable image file format ou EXIF est une spécification de format de fichier pour les images utilisées par les appareils photographiques numériques). Cette même technique s’applique également à l’application Camera de Samsung.
Ce faisant, les chercheurs ont déterminé un moyen de permettre à une application non autorisée de forcer les applications de l'appareil photo à prendre des photos et à enregistrer des vidéos, même si le téléphone est verrouillé ou si l'écran est éteint. Les chercheurs pourraient faire la même chose tandis qu'un utilisateur est en train de passer un appel vocal.
La possibilité pour une application de récupérer les entrées de la caméra, du microphone et de la position GPS est considérée comme extrêmement invasive par Google. En conséquence, AOSP a créé un ensemble spécifique d'autorisations qu'une application doit demander à l'utilisateur. Comme c'était le cas, les chercheurs de Checkmarx ont conçu un scénario d'attaque qui contourne cette règle d'autorisation en abusant de l'application Google Camera, ce qui l'oblige à effectuer le travail pour le compte de l'attaquant.
Il est connu que les applications Android faisant usage de l'appareil photo stockent généralement les photos et vidéos sur la mémoire interne ou sur la carte SD. Comme les photos et les vidéos sont des informations utilisateur sensibles, pour qu'une application puisse y accéder, des autorisations spéciales sont nécessaires : autorisations de stockage. Malheureusement, les autorisations de stockage sont très larges et donnent l’accès à l’ensemble de la carte SD. Un grand nombre d'applications, avec des cas d'utilisation légitimes, demandent l'accès à ce stockage, mais n'ont aucun intérêt particulier pour les photos ou les vidéos. En fait, il s’agit de l’une des autorisations demandées les plus courantes.
Cela signifie qu'une application non autorisée peut prendre des photos et/ou des vidéos sans autorisations spécifiques de l'appareil photo. Elle n'a besoin que d'autorisations de stockage pour aller plus loin et récupérer des photos et des vidéos une fois qu'elles ont été prises. De plus, si l'emplacement est activé dans l'application Appareil photo, l'application non autorisée dispose également d'un moyen d'accéder à la position GPS actuelle du téléphone et de l'utilisateur.
Bien sûr, une vidéo contient également du son. Il était intéressant de prouver qu’une vidéo pouvait être lancée lors d’un appel vocal. Dans ce cas de figure, il serait possible d'enregistrer facilement la voix du destinataire pendant l’appel, mais aussi d'enregistrer la voix de l’appelant.
De la théorie à la pratique
Pour bien démontrer à quel point cela pourrait être dangereux pour les utilisateurs d'Android, l'équipe de recherche a conçu et mis en œuvre une application de validation technique ne nécessitant aucune autorisation spéciale au-delà de l'autorisation de stockage de base. Simulant un attaquant avancé, le PoC comportait deux parties fonctionnelles : la partie client représentant une application malveillante s'exécutant sur un périphérique Android et une partie serveur représentant le serveur de commande et contrôle (C&C) de l'attaquant.
L'application malveillante que l'équipe a conçue pour la démonstration n'était rien de plus qu'une application de simulation météo qui aurait pu être malveillante de par sa conception. Lorsque le client démarre l’application, il crée essentiellement une connexion persistante avec le serveur C&C et attend les commandes et les instructions de l’attaquant, qui exploite la console du serveur C&C depuis n’importe où dans le monde. Même la fermeture de l'application ne met pas fin à la connexion persistante.
L’opérateur de la console C&C peut voir avec quels appareils il est connecté et effectuer les actions suivantes (entre autres):
- Prendre une photo sur le téléphone de la victime et la télécharger sur le serveur C&C ;
- enregistrer une vidéo depuis le téléphone de la victime et la télécharger sur le serveur C&C ;
- analyser toutes les dernières photos à la recherche de balises GPS et localiser le téléphone sur une carte ;
- fonctionner en mode furtif dans lequel le téléphone est mis au silence tandis qu'il prend des photos et enregistre des vidéos ;
- attendre un appel vocal et lancer un enregistrement automatique:
- vidéo du côté de la victime ;
- audio des deux côtés de la conversation.
Ci-dessous, une vidéo montrant une exploitation réussie de ces vulnérabilités (commencez la lecture à 1:00) :
Lorsque les vulnérabilités ont été découvertes, l'équipe de recherche s'est assurée qu'elle pouvait reproduire le processus permettant de les exploiter facilement. Une fois que cela a été confirmé, l’équipe de recherche Checkmarx a informé Google de ses conclusions. Google a confirmé les doutes de l'équipe selon lesquels cette vulnérabilité (CVE-2019-2234) n'était pas spécifique aux Pixel. Google a indiqué à l'équipe de recherche que l'impact était beaucoup plus important et étendu à l'ensemble de l'écosystème Android. Des fournisseurs supplémentaires tels que Samsung ont reconnu que ces défauts affectaient également leurs applications pour appareils photo et avaient commencé à prendre des mesures d'atténuation.
Source : CheckMarx
Voir aussi :
Android : Google dit comment il compte s'arrimer aux versions vanilla du noyau Linux pour éliminer la fragmentation de l'écosystème
Microsoft décide de supprimer l'application Cortana pour iOS et Android en janvier 2020, pour l'intégrer dans des applications de productivité
USA : l'enquête visant à déterminer si Google abuse de sa position dominante dans le secteur de la publicité pourrait s'élargir et englober la recherche et Android
Windows Mobile aurait-il pu s'imposer devant Android ? Oui, d'après Bill Gates qui pointe les enquêtes antitrust contre Microsoft comme frein à la conquête de la filière smartphones