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.

Accédez aux commentaires de l'article