Peut-on obtenir un logiciel malveillant en téléchargeant une image sur un téléphone Android ?


La réponse courte est oui, une image peut contenir un logiciel malveillant et cela peut compromettre votre appareil.

Cela peut sembler mystérieux : "Je regarde juste les valeurs de couleur, comment cela peut-il être un logiciel malveillant ? Je n'exécute rien..." La raison en est que la plupart des formats d'image modernes sont fortement interprétés - un morceau de code qui a l'intention d'afficher l'image va lire le fichier et traiter ce qu'il y trouve de diverses manières. Dans certains cas, il s'agit simplement d'une décompression, mais dans d'autres cas, il existe des moyens d'intégrer des instructions plus sophistiquées dans les fichiers de type image.


Chaque fois qu'un interprète tente de lire un ensemble d'instructions, il exécute effectivement quelque chose. Chaque fois que quelque chose est exécuté à partir d'une source non fiable, il y a un risque de malware. Ce type d'exploit remonte à Windows Metafiles il y a des années, mais nous avons vu des exploits similaires depuis longtemps, sans fin en vue.

Une autre technique connexe implique les techniques classiques de dépassement de tampon : dire à l'interpréteur que l'image contient X octets de données, mais avoir en réalité l'image avec Y octets de données. Si l'interpréteur ne fait pas attention, les Y octets de données pourraient déborder le tampon que l'interpréteur a créé pour eux et potentiellement provoquer l'exécution d'un code malveillant. Un exploit de ce type est apparu récemment, le 14 février, qui tire parti de SetDIBitsToDevice pour déclencher un débordement. Mais il y a déjà eu des failles similaires dans les bibliothèques multimédia d'Android - Stagefright pour citer un exemple célèbre.

C'est donc moins l'image qui pose problème que l'interpréteur qui lit le fichier. Ceux-ci doivent être presque parfaits (ce qui est vraiment très difficile) pour empêcher toutes sortes d'attaques. Alors patchez, patchez, patchez et faites attention à ce sur quoi vous cliquez.