iPhone : quel danger pour ses données personnelles
Par Didier Pulicani - Publié le
Expert en développement Cocoa et en sécurité, Nicolas Seriot intervenait récemment à une conférence sur le sujet, à Genève, autour d'un par-terre de programmeurs iPhone.
Mise en contexte
Fin 2009, de nombreux magazines en ligne, dont Mac4Ever, relèvent des pratiques pour le moins douteuses (mais encore peu connues), d'applications gratuites proposées sur l'AppStore, qui collecteraient discrètement un certain nombre de données personnelles de l'utilisateurs, sans prendre la peine de l'en informer. Le but n'est pas toujours très clair : pouvoir identifier ses clients, les rappeler, constituer des bases de données commerciales ciblées... Le marché est juteux et la tentation grande de profiter du succès du téléphone pour en tirer des bénéfices insoupçonnés.
Le problème est complexe : d'un côté Apple, qui ne verrouille pas assez son appareil, et de l'autre, des développeurs peu scrupuleux des lois en vigueur, et qui profitent que les portes soient ouvertes pour récupérer votre numéro de téléphone, vos favoris, votre carnet d'adresse complet... Bref, tout ce qui est dans notre téléphone et que l'on croyait à l'abri de tout, serait finalement plutôt accessible pour le moindre programmeur un peu averti.
Nicolas Seriot, développeur pour une entreprise suisse spécialisée dans les applications iPhone, a animé cette semaine une conférence sur le sujet à Genève, lors de la réunion mensuelle des développeurs iPhone de Suisse romande, un groupe de programmeurs passionnés et souvent professionnels du bassin lémanique.
Reprenant point par point les différents scandales qui ont pu éclater ces dernières semaines, Nicolas a voulu aller plus loin. La localisation, les photos, certains caches non protégées (les historique de frape, les logs WiFi)... Pour matérialiser ses recherche, Nicolas a mis en Open Source une application nommée SpyPhone, qui démontre point par point (PDF), jusqu'où on peut aller en matière de Spyware sur l'iPhone.
Le problème de la confidentialité des données sur l’iPhone semble avoir été présent depuis le début. Apple prend-elle les risques au sérieux ?
Selon Andy Hertzfeld, un des pères du premier Macintosh,engineering is really the art of working within the constraints(voir l'article).
Apple doit tout à la fois :
- mettre ses logiciels sur le marché très rapidement
- accélérer le processus de review de l'AppStore
- avoir un architecture de sécurité efficace
- ne pas se mettre les utilisateurs à dos avec des questions de sécurité envahissantes
L'iPhone OS est la résultante de plusieurs forces opposées.
Apple clame bloquer 100 spywares par jour à la validation. Les entreprises et les particuliers sont-ils suffisamment conscients des risques ?
Dans l'ensemble, les gens ont bien sûr tendance à sous-estimer les risques, ou préfèrent faire comme s'ils n'existaient pas. D'autres au contraire les surestiment. La seule façon d'y voir clair c'est d'examiner les faits de manière objective.
Les vers qui s'attaquent aux iPhones jailbreakés rappellent que tous les points d'entrée qui peuvent être exploités le seront un jour.
Le fait que l’utilisation des API privées puisse être masquée (avec NSClassFromString par exemple), ou que certains appels puissent être évités durant la phase de validation est assez inquiétant. Un bon développeur arrivera-t-il donc toujours à outrepasser les règles ? Apple pourrait-elle mieux protéger ces aspects ?
Oui bien entendu, mais là encore c'est une question d'équilibre.
Apple ne peut pas se permettre d'investir des ressources déraisonnables dans les revues d'applications. Apple fait ce qui est le plus efficace tout en restant économiquement acceptable.
Mais il faut dire que la nature dynamique de Cocoa/Objective-C ne lui facilite pas la tâche. Il sera toujours possible de passer au travers des mailles du filet, pour peu que l'on ait le temps et les connaissances nécessaires.
Selon toi, il serait sage pour Apple de mettre en place un FireWall afin de bloquer les connexions sortante. Mais un tel outil est-il vraiment envisageable compte tenu de la complexité de son paramétrage ? Et même avec un firewall, comment savoir si les données sortantes sont fiables de manière simple ?
Un firewall, même s'il ne permet pas de connaître le contenu du trafic, laisse au moins la possibilité de refuser une connexion suspecte. Un utilisateur devrait pouvoir refuser que son jeu de memory se connecte à un serveur chinois, y compris pour des raisons tarifaires.
Je pense que cela devrait être ajouté à l'iPhone OS, quitte à ce que son activation soit optionnelle.
Concrètement, j’ai un iPhone et je télécharge une ou deux applications gratuites par semaine. Dois-je vraiment craindre pour mes données personnelles ? Puis-je me prémunir contre les spywares ?
Il est de la responsabilité de chacun de faire attention à préserver sa sphère privée. Comme sur un ordinateur de bureau, on s'expose à des risque dès que l'on exécute du code inconnu.
Toute la question est alors de savoir dans quelle mesure on peut faire confiance à une application particulière. Certains marketeurs, certains états ou même certains concurrents peu scrupuleux ne prennent pas de gants.
Si le moyen le plus simple pour eux d'obtenir un information est d'aller la lire dans votre iPhone, alors ils le feront.
Les entreprises peuvent envisager le programme "iPhone in business", qui leur permet d'affiner les réglages de sécurité.
http://www.apple.com/iphone/business/integration/
Afin de démontrer quelques « prouesses » en matière de vol de données personnelles, tu as développé une application, SpyPhone. Quel est le but exactement de cette application ? Ne crains-tu pas qu’elle soit utilisée à mauvais escient ?
J'ai effectué cette recherche en marge d'un projet industriel relatif à la protection des données sur iPhone. L'objectif était de pouvoir prendre des décisions rationnelles basées sur des éléments objectifs.
Les techniques utilisées dans SpyPhone sont toutes triviales et à la portée de n'importe quel programmeur du dimanche. Elles utilisent des points d'entrée présents depuis longtemps et consistent essentiellement à lire des fichiers.
S'il existe des vulnérabilités moins apparentes et dont l'exploitation n'est pas immédiate, elles sont à signaler à Apple.
Que conclure concernant notre exposition au risque lorsqu’on possède un iPhone ? D’après ton expérience, l’iPhone est-il plutôt un bon ou un mauvais élève, parmi ses concurrents ?
Je n'ai pas d'expérience sur les autres plate-formes mobiles.
A priori, je pense que l'iPhone est plutôt un bon élève dans la mesure où :
- le processus de revue de l'AppStore évite un certain nombre de problèmes
- le système de sandboxing est relativement efficace
D'autre part, et pour finir sur une note optimiste :-) il faut relever que les mises à jour l'iPhone OS tiennent à chaque fois mieux compte de la sécurité des données.
On remercie chaleureusement Nicolas Seriot pour avoir accepté de répondre à nos questions.
Notons que si Mac4Ever s'intéresse plus particulièrement à l'iPhone, la problématique se pose et va se poser pour tous les type de smartphones/PDA. De manière générale, ces petits ordinateurs de poche sont devenus en quelques années de vrais terminaux mobiles, et qui n'ont plus grand chose en commun avec le premier GSM.
Quelques liens
SpyPhone
iPhonePrivacy.pdf, les slides de la présentation de Nicolas Seriot
Le groupe FaceBook des développeurs iPhone de Suisse romande