Actualité

Divers

Sur Android, une app peut espionner toutes les autres grâce à une faille de sécurité de l'UI

Par Didier Pulicani - Publié le

On a trouvé le moyen de pirater votre compte GMail avec une fiabilité de 92%. Voilà le genre de titre à sensation dont raffole la presse généraliste, et que vous avez pu voir passer ici et là ces derniers jours.

Et pour cause, des chercheurs l'Université de Californie et du Michigan ont démontré le week-end dernier, un joli tour de force sur Android : leur programme serait capable d'espionner tous les autres, sans que le téléphone n'ait été rooté ou piraté d'aucune sorte. Vidéo à l'appui, on y voir une application malicieuse tourner en tâche de fond, prendre le contrôle de programmes tout à fait officiels, comme GMail ou une application bancaire.



La méthode est expliquée ici (PDF) de manière très détaillée. Techniquement, les chercheurs s'en prennent à plusieurs éléments clefs d'Android : la mémoire partagée (shared memory), le système de gestion des fenêtres (Window Manager) et la gestion des écrans (Activity Manager, sous Android). Pour faire simple, une application de type cheval de Troie est d'abord téléchargée par la victime, il peut s'agir d'un programme distribuant des fonds d'écrans par exemple. Cette app va tourner en tâche de fond et écouter les autres applications. Pour éviter toute suspicion, elle ne devra pas consommer trop de mémoire et ne pas drainer la batterie trop rapidement, une tâche qui ne semble pas si aisée.

Pour y parvenir, elle utilise des algorithmes statistiques capables d'identifier avec précision le moment exact où apparaissent les différents écrans dans les autres applications. C'est grâce à la mémoire partagée, un concept utilisée par de nombreux OS, que l'information est captée. Cela ne suffit pas pour pirater un programme comme GMail mais cela va leur permettre aux hackers de savoir quand attaquer, à la seconde près. Leur technique consiste ensuite à pirater le gestionnaire de fenêtre (Window Manager) et à venir y glisser un écran qui n'appartient pas à l'application en premier plan. En clair, vous voilà en train d'entrer vos identifiants dans Gmail.app et au moment précis où l'écran d'identification apparait, vous vous retrouvez en réalité sur une interface qui n'appartient pas à l'application de Google. Ils parviennent apparemment à pirater le buffer du Window Manager pour venir y glisser leurs interfaces et ils utilisent également le système de transition des activités (Activity) -spécifique à Android- pour exécuter du code entre deux écrans officiels.

Dans leur PDF, les auteurs estiment que Windows, OS X et iOS seraient tout aussi vulnérables, car utilisant un système de gestion des fenêtres assez similaire. Pour autant, ils n'ont pas été capables d'en fournir la preuve jusque là. D'autre part, certains experts en sécurité -avec qui j'ai pu échanger- se sont montrés assez perplexes quant à la portabilité d'une telle méthode sur iOS. Je pense qu'ils n'ont pas réellement étudié le fonctionnement de la mémoire partagée sous iOS. Le sanboxing me parait bien trop fort pour y appliquer les mêmes méthodes. me confiait l'un d'entre-eux. Jusqu'à preuve du contraire.

Via