Prudence au moment de saisir vos identifiants dans une app
Craig Hockenberry, un des développeurs de Twitterrific qui vient d'être mis à jour pour iOS 8, a repéré une faille potentiellement inquiétante dans le système d'exploitation mobile d'Apple. Les applications qui intègrent un navigateur web peuvent siphonner les données tapées par l'utilisateur avec le clavier virtuel; c'est d'autant plus problématique lorsqu'il s'agit d'identifiants et de mots de passe. Hockenberry a mis au point un exemple édifiant, avec une application test qui affiche la version mobile de Twitter. Les informations que l'on voit au dessus de la fenêtre de connexion au réseau social sont générées par l'application, et pas par la webapp : elles peuvent donc être aisément récupérées sur un serveur distant.
Cette technique, qui n'est pas de l'hameçonnage (il s'agit de la vraie fenêtre d'identification de Twitter) et qui fonctionne aussi bien sous iOS 7 et 8, peut s'appliquer à n'importe quel site comportant un formulaire d'authentification. Y compris celui de sa banque en ligne, par exemple… Et les sites en question ne peuvent rien faire contre l'aspiration des données de l'utilisateur, ni contre les modifications opérées par l'application, comme on peut le voir dans la vidéo : l'inscription « Suck it up » sur le bouton (normalement marqué « Sign In ») n'est pas une facétie de Twitter.
Un développeur indélicat est donc en mesure de récupérer les mots de passe et autres précieuses données d'identification des utilisateurs de ses applications. Craig Hockenberry n'a malheureusement aucune solution à fournir, si ce n'est de faire preuve de la plus grande prudence et de ne se fier qu'aux applications en lesquelles on a confiance. Pour éradiquer cette vulnérabilité, Apple devrait revoir WebKit et UIWebView pour toutes les versions d'iOS touchées, intégrant Safari et le moteur de rendu web.
Apple pourrait également protéger ses utilisateurs en mettant en pratique le protocole OAuth, qui autorise un site web à utiliser l'API sécurisée d'un autre site web, tout en protégeant les identifiants et mots de passe de l'utilisateur. Il semble cependant que l'implémentation de cette technique soit contraire aux règles de l'App Store : c'est d'ailleurs la raison pour laquelle la dernière mise à jour de Twitterrific n'a pas pu être disponible en même temps qu'iOS 8, une première pour le client Twitter. Ce dernier devait justement intégrer un système d'échange de jetons avec Safari à la manière d'OAuth, mais cela a été rejeté par la boutique d'apps.
Plan de match d'Apple ; On va d'abord faire la 8.0.2 et après on s'occupera de la sécurité même si ce dernier problème était corrigé avec la 8.0.1 sur les iPhones 6 vu qu'il n'était plus possible de se connecter au réseau :)
Bendgate, 8.0.1gate, now this...
HAHAHAHAHAHA
Nan mais sérieusement, merci Apple pour avoir donné à mes amis androïdophones pour me pourrir pour les 5 prochaines années >_<
bah, si c'est une compétition que vous faites avec vos amis, vous avez tous les problèmes de android et de CHAQUE constructeur android combinés pour "se pourrir pour les 5 prochaines années"
(ça fait +30 ans que je bricole en info, je peux vous garantir que le "pourrissement" se fera pendant des décennies encore, et pas seulement 5 ans...)
Apple a recruté Samsung pour le design et Microsoft pour le système .... C'est une mascarade l.iphone 6 ! Vivement le 6s
Putain ce qui faut pas entendre... Ta raison a mon avis Samsung donne gentiment son design à Apple alors que tout les smatphone Samsung sont critiquer pour leur sale design plastique
Aïe, mes oeils!
@Xav852 :
D'abord c'est "mes yeux" :)
@iPotable :
Ensuite, ce "sont" mes yeux ;)
Pour le coup le design plastique résiste au bendtest ! Il vaut mieux un sale design qu'un beau design courbé quand même.
En tout cas je peux mettre mon xperia m3 dans ma poche de jean, mais mon i6 va falloir porte toujours une veste. En tout cas la question de la taille des poches de Jeans a été résolu par Jon Ive...
Si c'tait le cas ios serait aussi fonctionnel que windows phone, ce qui n'est pas le cas. :)
@julien76 :
N'importe quoi
Apple aura des failles de sécurité de ce type tant qu'ils s'obstineront à faire 1 release par an avec autant de changements et avec un beta test aussi restreint.
@Xalio
En terme de sécurité on peut difficilement avancer que la v-concurence est des leçon a donner.
@Xalio :
Je suis bien d accord mais aussi il faut aller chercher le vrai fond du problème
Les réseaux sociaux. A forcer de balancer de ci delà vos identifiants, on a une porte dérobée. Réseaux sociaux égale boîte de Pandore.
?
mais il a jamais été dit qu'une vue web dans iOS était une sorte d'enclos protégée de l'application hôte.
j'ai du mal à suivre.
Oui, Safari est préférable à une application faite par un développeur sans réputation.
D'ailleurs,
Apple n'indique-t'elle pas de passer à la nouvelle API pour les vues web ? celle qui permet d'utiliser Nitro. Utilisant XPC, elle est peut être totalement secrète pour l'application. Je ne me rappelle pas avoir lu ça, mais bon, à fouiner, pour ceux que ça passionne.
Est-ce que c'est le même sujet que donner l'accès complet aux claviers tiers??
J'en ai téléchargé un qui fait des GIF, et si on active pas l'accès complet ça ne fonctionne pas...
Par contre c'est dit que l'activation de l'accès complet ne donne pas seulement l'accès à ce qui est tapé dessus à partir de maintenant... Mais également tout ce qui a été tapé par le passé... Et donc avec le clavier d'origine... Et donc des identifiants ou des mots de passe, qui seront pour beaucoup facile à identifier car souvent composé de lettres et chiffres...
@pfx
Non.
Pour faire simple, si tu utilises un navigateur web tiers ou une app qui intègre un navigateur web tiers pour te connecter à un site, l'app peut récupérer ce que tu tapes au clavier.
Je vois pas trop ce qu'il y a d'étonnant là-dedans d'ailleurs. Navigateur web ou pas dès que tu tapes un truc dans une app ça me semble plutôt normal que ladite app sache ce que tu tapes puisque c'est pour ça que tu le tapes...
Bref, ça m'a tout l'air d'une grosse tempête dans un verre d'eau.
Pour les champs text/textarea, email et autres ok.
Mais pour les champs mot de passe, il ne devrait juste transmettre qu'on a tapé un mot de passe avec peut-être le nombre de caractère. Et ce mot de passe devrait être transmit uniquement qu'aux sites web et si possible en https.
Ils sont ou ceux qui critiquaient la sécurité des app de Cydia (Store pour iDevices JailBreakés)
J'aimerai bien qu'ils s'expriment ici que l'on rigole un peu ...
@CorbeilleNews
T'es débile ou tu le fais exprès ?
Personne n'a jamais dit qu'iOS était infaillible.
Le fait est qu'avec Cydia t'ajoutes des portes d'entrée pour les développeurs malintentionnés.
Ça change absolument rien au problème.
"Apple" a changé de nom tout récemment.
Aujourd'hui c'est "Gate".
On comprend mieux dans quoi on se lance avec celui la.
"On a voulu mettre une part de Steve dans le nouvel iPhone...son cancer."
@joneskind :
il est indéniable que cette phase de Login à travers le navigateur de l'app représente une faille existante.
dans l'article il est expliqué que SI un dev avec des idées peu scrupuleuse développe cela, il lui sera alors possible de récupérer ce genre d'infos.
je te rejoints quand au fait que cette affaire ne fera pas la une des médias : si une app avec ce genre de mécanisme apparaît sur l'app store, je pense qu'elle serait dénoncée très rapidement.
@finaleSportivo
Personnellement ça me semble au contraire un comportement tout à fait normal.
J'utilise par exemple TabToolKit sur iOS, depuis iOS3. C'est un lecteur de fichier tablatures GuitarPro ou PowerTab. L'app intègre un navigateur qui me permet d'aller récupérer des tablatures sur les différents sites dédiés comme 911Tabs ou UltimateGuitar. Ces sites demandent de se connecter pour pouvoir télécharger du contenu. Ben j'ai pas été étonné de voir que l'app avait enregistré mes identifiants et mots de passe pour ces sites. Et je ne me suis pas dit "Oh mon Dieu l'app récupère mes mots de passe, c'est une faille de sécurité inadmissible" mais "Cool, j'aurai pas besoin de les taper à chaque fois parce que c'est chiant".
Bref, je ne comprends pas le craquage du développeur de Twitruc. Quand tu remplies un champ dans une app, quelle qu'elle soit, tu dois t'attendre à ce que l'app enregistre ou traite ce que tu tapes. Il n'y a absolument rien de nouveau là-dedans.
@joneskind
Merci pour la précision!
Mais alors ça a toujours été le cas, et pour tous les OS, non?
@pfx
D'après moi, oui.
Quelle incroyable découverte qui date d'il y a environ 10 ans avec l'introduction des WebView sous Mac OS... C'est pas une faille, Apple est bien conscient de ça c'est pour ça qu'ils sont entrain de revoir ce principe mais ça va introduire des limitations.
@olaola
Merci pour ton commentaire.
Effectivement, Apple est consciente que ce genre de "service" peut permettre à des développeurs mal intentionnés de récupérer des données, et c'est pour ça qu'elle a introduit le Trousseau par exemple.
"ne se fier qu'aux applications en lesquelles on a confiance" : ne serait-ce pas une tautologie ? :-)
C'est assez amusant de voir une faille de cette nature passer à travers les différentes couches de vérification. Cela permet de relativiser la capacité de l'entreprise à tout dominer (un peu d'humilité serait bienvenue).
Mais que les autres ne se réjouissent pas trop : des âneries comme ça, on en trouve un peu partout.
Il y en a qui doivent être un peu déçus : les ceusses des services secrets (toutes nationalités confondues) qui voient une faille bien pratique mise en lumière.
Je ne m'authentifie jamais sur un site, quelqu'il soit, en passant par le navigateur intégré d'une application tiers.
@patrick86
Ça me paraît assez évident !
Déjà que je fais aucune confiance à Chrome alors tu penses bien qu'un navigateur dans une app... D'ailleurs j'ai toujours trouvé ça bizarre sur iOS qu'une app puisse intégrer son propre moteur Webkit. J'en ai jamais trop compris l'utilité.
Les données devraient (je pensais que c’était le cas) être traitées et envoyées par WebKit (ou n'importe quelle méthode pourvu qu'elle soit privée).
Ce problème de lecture du cache est un gros problème mais peut être pas le seul. Je me demande si une application (d'un dev peu honnête) ne peut pas modifier l'url de destination pour passer par un serveur perso (en parallèle ; hors https) afin de faire du monitoring réseau et ainsi récupérer le login et mot de passe de toutes façons.