Les webviews, potentielles brèches de sécurité au sein des apps iOS

Stéphane Moussie |

Quand vous ouvrez un lien dans une application, le navigateur intégré (qu’on appelle aussi webview ou vue web) a la possibilité de vous jouer des tours si le développeur en a décidé ainsi. Felix Krause, qui s’attèle depuis quelque temps à soulever les problèmes de sécurité au sein d’iOS, met en garde contre le détournement des web views à des fins malintentionnées.

En personnalisant à sa sauce le navigateur intégré, un développeur vicieux peut subtiliser les identifiants, mots de passe et seconds facteurs d’authentification saisis sur la page web affichée à l’intérieur de son application. Il peut aussi altérer la page web en remplaçant les publicités originales par les siennes pour s’enrichir.

Vue web créée par Felix Krause pour sa démonstration.

Sans aller jusque-là, les vues web d’iOS permettent d’analyser le comportement de l’utilisateur : temps passé sur la page web, vitesse de défilement, liens visités, taps et gestes effectués, géolocalisation si elle a été autorisée pour l’app…

Tous ces risques ne sont pas nouveaux. Apple a d’ailleurs commencé à changer les choses dès 2015 en introduisant dans iOS 9 un nouveau système qui délègue l’affichage des liens externes à Safari, toujours sans quitter l’app. Baptisé Safari View Controller, ce Safari embarqué a de multiples avantages puisqu’il offre toutes les fonctions habituelles du navigateur standard d’iOS : extensions, menu de partage, sessions ouvertes…

Le client officiel Twitter utilise les vues web.
Tweetbot utilise Safari View Controller. Vous pouvez le voir aux boutons et au menu de partage identiques à ceux de Safari (puisque c’est en fait Safari embarqué dans l’app).

Il est aussi plus sécurisé, car il ne peut pas être autant bidouillé que les web views. Mais c’est justement pour cette raison que certains éditeurs, dont Facebook et Twitter, préfèrent rester sur les vues web, plus permissives. Il est vrai qu’à ses débuts Safari View Controller ne pouvait pas être aussi bien intégré esthétiquement que les vues web, mais Apple a ajouté des options de personnalisation depuis.

Pour éviter des désagréments liés aux vues web, Felix Krause propose simplement de les interdire. Les développeurs n’auraient plus le droit que d’utiliser Safari View Controller — dans ce cas-là, Apple les avertirait à l’avance pour qu’ils prennent leur disposition. Felix Krause, lui-même développeur (il travaille sur l’outil de distribution d’apps fastlane qui a été acquis par Google), est prêt à accorder quelques exceptions, mais l’idée générale serait bien de se débarrasser des webviews peu sécurisées.

avatar C1rc3@0rc | 

Ce probleme n'est pas nouveau et met surtout en evidence le danger que represente les applications tierces servant de clients pour des services Web.

Il est evident qu'une application qui sert a se connecter et acceder a un compte Internet a acces aux identifiants, a tout ce que contient le compte et a tout ce que fait l'utilisateur.
C'est pour cela qu'il ne faut employer que l'application de l'editeur sur service web et s'il n
y en a pas il faut utiliser exclusivement le navigateur Web...

Quel interet d'une Webview? A part pour construire un navigateur de plus...

avatar MarcoAix | 

Complètement d'accord, il faut limiter au maximum tous ces greffons intrusifs inter-apps : à la rigueur afficher un aperçu (comme le nom y inciterait) et basta ! Un lien vers Safari est bien plus pertinent.
En plus d'être limités (je me retiens de dire nuls) ils sont autant de brèches potentielles dans beaucoup de cas. Ou alors remettons du Flash partout et vogue la galère, et n'utilisons que ce mot de passe 123 partout.

Ok, le cloisonnement est parfois critiquable mais il y a un moment où il faut arrêter de demander à l'aspirateur de faire "aussi" du café.

Et à ce propos les maisons connectées vont être un sacré foyer... d'intrusions en tous genres, time will tell.

CONNEXION UTILISATEUR