Un très sérieux problème de sécurité affecte actuellement la plupart des appareils sous Android. Une faille permet en effet de déclencher l’exécution d’un code arbitraire via un simple MMS. Et si un correctif existe, beaucoup risquent de passer à côté. On fait le point.

Les problèmes de sécurité ne sont pas rares sur Android, mais ils sont le plus souvent liés aux mauvaises manipulations des utilisateurs eux-mêmes. Le système mobile laisse le choix notamment d’installer des applications par d’autres sources que le Play Store, pavant la voie aux malwares contenus dans certains distributeurs bien peu scrupuleux. Mais cette fois, il est question d'un problème bien plus sérieux. Car un utilisateur peut voir son smartphone piraté sans qu’il ait besoin d’effectuer la moindre action.

Une faille dans Stagefright, responsable des contenus multimédias

La vulnérabilité réside dans Stagefright, une bibliothèque Android en charge de la lecture de certains formats multimédia. Elle a été trouvée par une équipe de chercheurs de Zimperium, qui indique qu’en raison des impératifs de performances au niveau du multimédia justement, le code est rédigé en C++, « plus souvent sujet aux corruptions de mémoire que les langages memory-safe tels que Java ».

Pour les chercheurs, qui ont trouvé la brèche en analysant le code d’Android via l’AOSP (Android Open Source Project), le problème serait le plus sérieux jamais découvert puisqu’il toucherait pas moins de 95 % des utilisateurs de la plateforme mobile. Zimperium, en se basant sur un chiffre d’un milliard d’appareils en circulation, estime donc que 950 millions d’entre eux sont vulnérables, les anciennes versions d’Android étant encore plus exposées.

Le problème de la bibliothèque Stagefright est qu’elle est appelée chaque fois qu’un contenu pris en charge est repéré. Il suffit par exemple qu’un simple MMS arrive sur un téléphone pour qu’elle commence à traiter la photo ou la vidéo qui y est contenue. L’utilisateur n’a pas besoin de réveiller son téléphone et d’aller lire le MMS en question, puisque le travail est effectué en amont.

Si un code particulier est intégré dans un cliché, Stagefright se charge de le lire et de le traiter, ouvrant alors la voie à un malware. Un autre scénario possible est la visite d’une page web spécialement conçue puisque la bibliothèque est appelée par d’autres applications pour lire les photos, vidéos, etc. Cela est donc loin de concerner seulement les outils de messageries.

Facile à mettre en œuvre et à masquer

En fait, la faille ouvre tellement de portes qu’une attaque bien préparée pourrait ne laisser aucune trace. Selon les chercheurs, des pirates pourraient tout à fait préparer un MMS contenant à la fois le code d’un malware et une séquence d’instructions visant notamment à supprimer le message. L’utilisateur peut très bien avoir été piraté la nuit pendant qu’il dormait et ne pas trouver le moindre signe d’une activité suspecte à son réveil. C’est évidemment tout le danger : aucune action n'étant nécessaire.

En elle-même, la faille peut donner accès à un certain nombre de données, au minimum la pellicule photo, aux périphériques audio ainsi qu’au stockage externe (carte mémoire). Zimperium indique bien qu’une sandbox permet en théorie de bloquer ce type d’accès, mais les chercheurs insistent sur le peu d’étapes qu’une attaque aurait à accomplir pour s’affranchir de cette limite. Le problème est pire sur les anciennes versions d’Android car les privilèges accordés au code lu par Stagefright sont plus importants.

La faille est en fait décrite comme « pire que Heartbleed », puisque toutes les versions d’Android sont concernées à partir de la 2.2. Les moutures du système antérieures à la 4.3 sont les plus concernées car aucun mécanisme d’atténuation n’est présent dans le système.

Google a réagi rapidement, mais...

Pourtant, Google a manifestement été très rapide à réagir, Zimperium remerciant d’ailleurs la firme pour sa promptitude. Les chercheurs ont fourni les explications ainsi que des patchs pour le code d’Android, que Google a analysés et intégrés dans son système en à peine 48 heures. Mais voilà, cela date de plusieurs mois puisque ces informations ont été envoyées en avril et en mai à Google. Le problème est donc connu depuis plus de trois mois.

Et le fait d’intégrer les correctifs dans le code d’Android n’est que la première d’une longue série d’étapes, car l’arrivée effective du patch sur les appareils mobiles prendra plus de temps. Selon Zimperium, seul le Nexus 6 est en partie protégé, sans qu'il soit précisé pourquoi. Sans doute parce qu’il possède une version plus récente d’Android, qui contient une correction partielle.

Les autres appareils Nexus n’ont pas encore été mis à jour, mais Google a indiqué à Forbes que les correctifs commenceraient à être déployés à partir de la semaine prochaine « dans le cadre d'une mise à jour de sécurité régulière ». On se demande par contre bien pourquoi le patch n'a pas été envoyé bien plus tôt, cette faille étant corrigée depuis plusieurs semaines.

Certains utilisateurs sont déjà protégés contre la faille de sécurité, en particulier ceux qui ont fait l’acquisition d’un Blackphone de SilentCircle, via la mise à jour 1.1.7 du système d’exploitation PrivatOS. Si le navigateur Firefox est également touché, la version 38 contient le correctif (la version actuelle étant la 39).

Les utilisateurs de CyanogenMod 11 recevront une mise à jour ce week-end, mais les moutures 12 et 12.1 ne sont actuellement corrigées que dans les « nightlies ». Rien n'a par ailleurs été dit concernant CyanogenMod 10 et les versions antérieures. Pour les autres - et donc tous les dérivés d'Android - l’attente va être de rigueur et Zimperium encourage tous les acteurs fournissant des dérivés d’Android à prendre contact pour obtenir au plus vite des correctifs à implémenter.

... les correctifs n'arriveront que plus tard (ou pas du tout)

Pour les autres constructeurs justement, il n'y aura pas de salut tant que les correctifs ne seront pas prêts et surtout déployés sur l'ensemble des terminaux, et c'est bien là le problème.

Google a indiqué dans un communiqué que les partenaires avaient été avertis et que des mises à jour seraient fournies « dans les prochaines semaines ou les prochains mois » sans plus de précisions. Et pour le moment, rares sont ceux qui ont communiqué sur la question, HTC ayant été le seul à confirmer à Forbes que les correctifs étaient bien en cours de préparation.

Mais pour quels smartphones exactement ? Zimperium doute que les modèles âgés de plus de 18 mois seront mis à jour, et le niveau de fragmentation d'Android va dans le même sens. Une situation ubuesque puisque face à un souci de sécurité aussi important, les constructeurs ne comptent corriger le problème que par l'intermédiaire de nouveaux firmwares, et donc pour les appareils les plus récents. Si tel était le cas, on peut penser que les choses n'en resteront pas là, et que certaines associations de consommateurs pourraient prendre le relais.

Que faire en attendant ?

Car les solutions ne sont pas nombreuses pour ceux qui veulent se protéger d'ici une éventuelle mise à jour. Les utilisateurs peuvent désactiver dans les applications concernées le chargement automatique des photos et des vidéos, tout en s’assurant auprès de l’expéditeur qu’il s’agit d’un contenu légitime. Malheureusement, cela ne préviendra pas les autres scénarios d’attaque, particulièrement le fait de visiter une page web conçue pour exploiter la vulnérabilité.

Des détails supplémentaires sur la faille (qui n'ont été partagés qu'avec Google en privé) seront dévoilés le 5 août lors de la conférence Black Hat, puis le 7 août à la DEF CON. Zimperium vient également de prévenir qu'une vidéo de démonstration serait publiée plus tard dans la semaine, et même qu'un code d'exploitation serait fourni à la Black Hat, en même temps qu'un patch en open source. Ce qui ne pourra qu'augmenter le sentiment d'urgence chez les utilisateurs et mettra un peu plus la pression sur les constructeurs.