bugs android
Produits et Services PRODUITS & SERVICES

Bugs Android : Pie potentiellement la cible d’attaques via des images piégées !

Un trio de bugs Android causés par des incohérences dans la programmation aurait pu rendre Android 7, 8 et 9 vulnérables vis à vis d’attaquants distants par le biais de fichiers image piégés.

Google a lui-même déclaré :

[Ces bugs Android] auraient pu permettre à un attaquant distant utilisant un fichier PNG spécialement conçu d’exécuter du code arbitraire dans le contexte d’un processus privilégié.  

Si vous souhaitez suivre ces bugs Android par numéro, c’est facile car ils ses suivent : CVE-2019-1986, CVE-2019-1987 et CVE-2019-1988.

Les bugs Android ont été hérités d’un toolkit de programmation de traitement d’images open source appelé Skia, financé et géré par Google, et utilisé comme moteur graphique dans de nombreux produits, notamment Chrome, ChromeOS et Android.

NB : Malgré les bugs décrits dans cet article, Skia vaut la peine d’être examiné si vous recherchez une bibliothèque graphique gratuite et à la licence très répandue qui fonctionne bien, même sur du matériel informatique de faible puissance. 

Cette série de bugs Android génère des variables non initialisées et une gestion imprécise des erreurs dans le code responsable du traitement des fichiers image PNG.

Si vous introduisez des fichiers PNG mal structurés dans le code de rendu des images de Skia, celui-ci pourra accéder et utiliser de la mémoire de manière non autorisée.

En théorie, ce type de faille signifie que les attaquants peuvent presque à coup sûr faire planter Skia, et peuvent même le duper en le mettant en échec d’une manière qu’ils pourront contrôler.

Par exemple, si vous pouvez tromper un programme en l’incitant à utiliser et à faire confiance à de la mémoire qu’il n’a pas initialisé lui-même, et que vous pouvez trouver un moyen de manipuler à l’avance le contenu de cette mémoire dangereuse à utiliser…

… alors vous avez une bonne longueur d’avance pour créer un exploit d’exécution de code à distance, ou RCE.

En règle générale, les RCE basées sur une mauvaise gestion de la mémoire nécessitent de persuader un programme de télécharger et d’utiliser des données piégées, ce qui devrait être parfaitement sécurisé si la vérification des erreurs dans le programme est correcte. Ensuite il suffit d’inciter le programme à traiter certaines de ces données en tant que code, en l’exécutant au lieu de le traiter simplement.

Sécurisé par défaut ?

Les bugs pouvant être déclenchés par des fichiers image tels que JPEG et PNG sont particulièrement prisés des attaquants, car ils ne sont pas considérés comme controversés par les logiciels tels que votre navigateur web pour récupérer et afficher par défaut les images de sites web distants.

Nous sommes généralement prudents lors de l’ouverture de fichiers tels que des PDF, des documents Word et d’autres programmes si nous les avons téléchargés depuis Internet ou reçus sous forme de pièces jointes attachées à des emails, car nous savons qu’ils peuvent contenir des éléments à risque tels que des macros, des scripts, etc.

En effet, les fichiers PDF, DOC et EXE peuvent tous être des supports actifs pour des malwares, même si les fichiers ne sont pas délibérément mal construits et ne contiennent pas de bugs à exploiter en particulier.

Mais les images ne sont pas censées contenir du code exécutable, et même si c’est le cas, elles ne sont pas censées causer de problèmes. Par conséquent, les navigateurs et les visionneuses d’images qui extraient des fichiers image à partir de serveurs web distants se contentent de les traiter et de les afficher sans trop vous demander la permission.

C’est pourquoi les bugs potentiellement exploitables dans les bibliothèques de logiciels que votre système d’exploitation utilise pour afficher des images suscitent souvent de vives inquiétudes.

Quel est le réel danger ?

La mauvaise nouvelle dans ce cas-ci est que ces bugs Android affectent les versions 7, 8 et 9. Ainsi, le simple fait d’avoir une version moderne et à priori sécurisée d’Android ne vous protégera pas.

La bonne nouvelle est que les bugs Android ont été corrigés dans la mise à jour Google de février 2019.

Bien sûr, compte tenu de la taille et de la variabilité de l’écosystème Android, il est difficile de deviner quand, ou même si, les correctifs pertinents arriveront jusqu’à votre téléphone.

L’autre bonne nouvelle est qu’il ne semble pas que d’éventuels cybercriminels aient découvert ces bugs en premier, car rien n’indique qu’ils aient été utilisés sur le terrain pour lancer des attaques.

En conséquence, le danger que représente le RCE dans ce cas est plus théorique que pratique.

En fait, toutes les vulnérabilités potentielles de type RCE ne sont pas susceptibles d’être transformées en attaques efficaces, et ce grâce à des mesures d’atténuation telles que DEP et ASLR.

DEP est l’abréviation de Data Execution Prevention. Il s’agit d’une méthode par laquelle le système d’exploitation refuse d’exécuter en tant que code tout élément qui se présente à l’origine sous forme de données.

ASLR est l’abréviation de Address Space Layout Randomisation. Cette technique consiste à charger le logiciel système à partir d’un emplacement différent au niveau de la mémoire de chaque appareil, de sorte que les attaquants ne puissent pas deviner où trouver les fonctions vitales du système ou les données nécessaires pour faire fonctionner leurs exploits.

Quoi faire ?

Si vous utilisez la version 7 ou ultérieure d’Android, assurez-vous de disposer des mises à jour de février 2019.

Si ce n’est pas le cas, demandez à votre revendeur de téléphone ou à votre opérateur la date de disponibilité de ce correctif.

Garder la pression sur les fournisseurs Android pour qu’ils agissent rapidement concernant les correctifs est un moyen d’aider à mettre fin aux incohérences et à la confusion entourant les mises à jour qui caractérisent l’écosystème Android.


Billet inspiré de Android vulnerabilities open Pie to booby-trapped image attacks, sur Sophos nakedsecurity.