IOs a aussi ses aspirateurs de données
Le gros Buzz du moment concernant la sécurité des données, nous le devons à Path, une application présente sur iPhone et Android qui permet de partager avec des proches des informations. Une sorte de réseau social restreint. Le problème, c’est que l’application semble prendre beaucoup de libertés, et notamment celle d’envoyer l’intégralité du carnet d’adresse sur les serveurs de l’éditeur…
La mise en évidence
L’affaire a été révélée suite à la préparation d’un Hackathon par la simple écoute des connexions réalisées par l’application. Profitez de cet article pour vous intéresser à mitmproxy qui vous permet, par la technique maîtrisée du Man in the middle, de suivre les connexions ayant lieu de et vers votre appareil (mobile mais tout ce que vous voulez pour lequel vous pouvez créer un Proxy).
L’affaire
Ce qui a donc été révélé est que l’application Path envoi à l’URL https://api.path.com/3/contacts/add l’intégralité de votre carnet d’adresse. Il s’agit d’une action totalement inattendue, et l’utilisateur n’est à aucun moment averti que l’application réalisera cette opération. Il ne suffit que de ça pour que la nouvelle fasse le tour du web. Elle fait même très vite les gros titres de Tachmeme. Le CEO de Path, Dave Morin a vite réagit et une partie de sa réponse est disponible sur l’article qui a révélé l’affaire. A priori, Path utiliserai les données du carnet d’adresse pour proposer les personnes utilisant déjà le service. Si on peut croire en la bonne foie de Dave Morin, il en demeure le problème de l’information de l’utilisateur de l’appli et du fait qu’il n’a eu aucun choix. Nul part dans les conditions d’utilisations, qui parlent pourtant de récolte de données à but de statistiques, il n’est fait mention de cette récolte de données-ci. Il n’existe (sous iPhone) aucun moyen d’interdire ce comportement à l’application. D’après Dave Morin, l’application se serait enrichi d’un opt-in pour cette fonctionalité, la version Android en bénéficierai, la version iPhone serait en attente de validation.
Le problème, la confiance
Path serait donc bien conscient du problème vis à vis du respect à la vie privée de leur démarche, et auraient entrepris de corriger le tir. Mais la révélation de cette affaire provoque une rupture de confiance vis à vis de l’éditeur. Path n’a pas respecté certains principes queRobert Scoble rappel dans son post sur le sujet, à savoir que les applications devraient :
- Faire preuve de transparence sur ce à quoi elles accèdent et qu’elles envoient.
- Offrir l’accès à cette fonctionnalité par un opt-in ou l’interdire par un opt-out.
- Indiquer clairement ce qui sera fait avec ces données.
- Permettre de les supprimer à distance (on peut rêver pour ce point là).
Un incident iPhone après Android
A l’heure de la rédaction de cet article, la nouvelle est encore fraîche. Les esprits ne se sont pas encore chauffé, surtout en Europe. Mais nul doute que les détracteurs de l’iPhone et Apple vont pointer du doigt ce comportement et s’en servir comme argument que l’iPhone n’est pas moins sécurisé par rapport aux Chevaux de Troie.
Et en fait ils auront raison…
Du point de vue de leur architecture, les systèmes mobiles mettent à disposition des applications beaucoup d’informations. Les applications peuvent également demander l’accès à beaucoup de privilèges. Récemment, un programme malveillant sur Android envoyait des SMS surtaxés à l’insu de l’utilisateur. Ici, c’est le carnet d’adresses qui est envoyé à l’insu de l’utilisateur. On insiste souvent sur la vérification des privilèges demandés par les applications (Android a une granularité plus fine à ce sujet), mais on oublie que quel que soit la plate-forme, une fois ces privilèges attribués, on ne contrôle plus ce qui va en être fait. Sur nos vieux ordinateurs, des cas similaires ont été observés : il a été démontré que Skype envoyait le répertoire Firefox à ses serveurs. Mais la différence est que sur nos vieux ordinateurs, l’accès aux données est une jungle du fait de la non-uniformisation de l’accès aux données (et ceci est faux pour MacOs). Les cas comme Skype sont rare. De plus, la conséquence est une simple intrusion, et il est facile de se prémunir contre les comportements malveillants.
Sur les plate-formes mobiles, l’unification de l’accès à certaines données rend leur accès plus facile. De plus, par nature ces appareils ont accès à des services qui peuvent être préjudiciable pour l’utilisateur : appels ou envois de SMS à des numéros surtaxés, envoi de mails ou messages à des contacts… Ces scénarios sont certes extrêmes, mais les épisodes récents montrent qu’ils sont réaliste.
Comment se prémunir d’un comportement malveillant.
La réponse n’est évidemment pas simple. La seul certitude de ne pas subir un comportement malveillant est de ne pas utiliser un mobidule. Mais cette option est difficilement acceptable aujourd’hui. Les différentes informations à prendre en compte sont donc :
La validation de la place de marché
On ne peut se reposer sur les validation des places de marché. Même si elles peuvent filtrer les applications évidemment malveillantes, elles ne peuvent couvrir tous les cas vicieux qui provoquerai une action malveillante. Elles ne peuvent pas non plus faire la différence entre certains comportement qui semblent tout à fait normaux mais cachent une action malveillante. Ou plutôt si, mais ceci aura pour conséquence d’augmenter le coût d’une validation, donc certainement de publication, donc de prix final d’une application, pour un bénéfice assez aléatoire. on peut compter sur le suivi de l’application sur la place de Marché. Google a bien supprimé des applications qui se sont révélées malveillantes. On jour donc sur la confiance de la place de marché sur le long terme. Mais cette confiance peut être ébranlée par une simple mise à jour : début 2011, la mise à jour d’Andry Birds demandait, sous Android, l’accès à la lecture et l’envoi de SMS. Si l’action semblait justifiée (In-App payement via l’opérateur), ces droits n’étaient pas acceptable pour un simple jeu. Les risques sont donc bien moindre sur une place de marché reconnue (les malwares Android étaient présents sur les place de marché alternatives), mais ils ne sont pas absents.
La confiance vis à vis de l’éditeur
Un éditeur qui communique sur ce qu’il fait des données met en jeu sa crédibilité, donc son business. La communication est l’approche prônée par Robert Scoble telle que je l’ai citée précédemment. Après tout, on sait qu’on a exposé tout carnet d’adresse à Google en ouvrant un compte GMail, ou à facebook en ouvrant un compte Facebook. La limite est qu’on ignore si la partie du carnet d’adresse privée est lue par l’application Facebook et envoyée à leurs services ou non…
Compter sur la vigilance de la communauté
On peut aussi espérer que lorsqu’un comportement suspect sera décelé, quelqu’un communiquera dessus. C’est le cas présent. Le problème ici est qu’on n’est averti que des malveillances révélées, et plus l’application est confidentielle, moins elle a de chance d’être vérifiée par quelqu’un.
Et les logiciels Open Source ?
Il s’agit du grand argument des logiciels Open Source : le code étant ouvert, tout le monde peut le lire et déceler si il y a ou non un comportement malicieux. Bon, ça c’est la théorie. Dans la pratique, un code sera peut être lu. Plus il est complexe ou plus il est mal écrit, et moins le défauts seront décelés. Le problème est qu’il n’y a pas un référentiel de la confiance vis à vis de codes sources permettant de savoir si le code a en effet été lu et compris.
Mais admettons que vous avez une confiance absolue dans le code source publié. Cette confiance n’a de valeur que si vous générez l’exécutable (en ayant confiance dans le compilateur) et que vous le déployez. Car qu’est ce qui vous permet de vous assurer que le code sur la place de marché est le code que vous avez validé ? Dans la plupart des cas, par simple paramétrage, ce ne sera pas le cas.
En conclusion, c’est la panique ?
Evidemment non. Ces affaires tendent à rappeler à quel point l’utilisateur doit comprendre ce qu’il a entre les mains. Path démontre surtout qu’aucune plate-forme n’est à l’abris d’un comportement malicieux. Il faut donc avant tout ne pas récupérer n’importe quoi, et d’avoir une notion du comportement indélicat que pourrait avoir une application et de son acceptation de ce comportement. Car même averti, l’utilisateur bien que conscient de l’intrusion de l’application, cédera à l’attrait de l’appli (surtout quand c’est une application fun) au détriment de ses principes.
Ajout le 13 février : Les déconvenues de Path auront au moins eu un effet positif : les éditeurs jouent maintenant de plus en plus la transparence comme peuvent en témoigner certaines captures d’écran.
Et vous, quel est votre comportement face aux applications mobiles ? Quels sont les critères qui vous donnent confiance en une application ? Les respectez vous ?
À propos de... Darko Stankovski
iT guy, photographe et papa 3.0, je vous fais partager mon expérience et découvertes dans ces domaines. Vous pouvez me suivre sur les liens ci-dessous.
2 réponses
[…] L’actualité récente a montré que les fournisseurs de service peuvent prendre beaucoup de libertés avec l’accès à des ressources sur les périphériques mobiles. Pourtant, ces équipements permettent à l’utilisateur d’avoir un certain contrôle sur ce sur quoi l’application a droit. Mais ces autorisations sont elles bien comprise ? D’après Fox News, l’appli Facebook lirait le contenu des SMSs sans qu’aucune fonctionnalité n’y soit aujourd’hui rattachée. Ignorance ? Laxisme de l’utilisateur ? Rappel sur la gestion de droits sous Android. […]
[…] considération sur la confidentialité des données. Il y a eu récemment un gros bruit autour de l’accès par certaines apps à des données privées. On sait donc qu’Instagram envoi du contenu de votre carnet d’adresse à ses serveurs : […]