Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Vulnérabilités de longue date dans des applications Android à forte visibilité

novembre 2019 par Artyom Skrobov, Slava Makkaveev, chercheurs de Check Point

La plupart des utilisateurs mobiles s’inquiètent des vulnérabilités connues du système d’exploitation de leurs appareils, qui peuvent fournir à un pirate un contrôle total sur leurs téléphones mobiles, ainsi que des vulnérabilités zero-day qui n’ont pas encore été corrigées par les éditeurs de logiciels. On a souvent l’impression que dès qu’une vulnérabilité est découverte dans un composant logiciel, elle est immédiatement corrigée. Par conséquent, en maintenant à jour les versions du système d’exploitation mobile et de toutes les applications, vous pouvez sécuriser votre appareil mobile. Check Point Research a cependant montré que même les vulnérabilités corrigées depuis longtemps peuvent revêtir une importance capitale, car du code obsolète peut se retrouver même dans les applications les plus populaires.

Une application mobile populaire utilise généralement des dizaines de composants réutilisables écrits dans un langage de bas niveau tel que le langage C. Ces composants, appelés bibliothèques natives, sont souvent dérivés de projets open source ou incorporent des fragments de code issus de projets open source. Lorsqu’une vulnérabilité est découverte et corrigée dans un projet open source, ses responsables n’ont généralement aucun contrôle sur les bibliothèques natives susceptibles d’être affectées par la vulnérabilité, ni sur les applications utilisant ces bibliothèques natives. C’est ainsi qu’une application peut continuer à utiliser des bibliothèques obsolètes même des années après la découverte d’une vulnérabilité. Il peut sembler un peu exagéré de déclarer que l’application est vulnérable, car son utilisation risque de ne jamais activer le code de la bibliothèque concernée, mais cela mérite certainement une enquête approfondie de la part des responsables de l’application.

Pour vérifier notre hypothèse selon laquelle des vulnérabilités connues depuis longtemps pourraient persister même dans les applications récemment publiées sur Google Play, nous les avons analysées pour y rechercher des schémas connus associés à des versions vulnérables de code open source. Les tableaux suivants résument nos résultats, en date de juin 2019, concernant trois vulnérabilités de gravité critique (exécution de code arbitraire) de 2014, 2015 et 2016. La liste comprend des centaines d’applications Android populaires, notamment Yahoo Browser, Facebook, Instagram et WeChat.

CVE-2014-8962 (codec audio FLAC)
https://git.xiph.org/?p=flac.git;a=commit;h=5b3033a2b355068c11fe637e14ac742d273f076e

Nom du package Nom de l’application Téléchargements Bibliothèque vulnérable
com.slacker.radio LiveXLive Plus de 50 000 000 libLibFlacWrapper.so
com.motorola.audiomonitor Moto Voice BETA Plus de 10 000 000 libflacencoder.so, libvasflacencoder.so
jp.co.yahoo.android.apps.transit Yahoo ! Transit Plus de 10 000 000 libyjvoice-4.6.0.so
jp.co.yahoo.android.ybrowser Yahoo ! Navigateur Plus de 10 000 000 libyjvoice-4.7.0.so
jp.co.yahoo.android.apps.map Yahoo ! MAP Plus de 5 000 000 libyjvoice-4.6.0.so
jp.co.yahoo.android.apps.navi Yahoo ! Navigation automobile Plus de 5 000 000 libyjvoice-wakeup-4.6.0.so

CVE-2015-8271 (streaming vidéo RTMP FFmpeg)
http://git.ffmpeg.org/gitweb/rtmpdump.git/commit/39ec7eda489717d503bc4cbfaa591c93205695b6

Nom du package Nom de l’application Téléchargements Bibliothèque vulnérable

com.facebook.katana Facebook Plus de 1 000 000 000 librtmp.so
com.facebook.orca Messenger Plus de 1 000 000 000 librtmp.so
com.lenovo.anyshare.gps SHAREit Plus de 1 000 000 000 librtmp-jni.so
com.mobile.legends Mobile Legends : Bang Bang Plus de 100 000 000 libeasyrtmp.so
com.smule.singandroid Smule Plus de 100 000 000 libliteavsdk.so
com.tencent.ibg.joox JOOX Music Plus de 100 000 000 libliteavsdk.so
com.tencent.mm WeChat Plus de 100 000 000 libliteavsdk.so
Plus de 400

CVE-2016-3062 (gestion des médias libavformat FFmpeg)
http://git.ffmpeg.org/gitweb/ffmpeg.git/commit/7e01d48cfd168c3dfc663f03a3b6a98e0ecba328

Nom du package Nom de l’application Téléchargements Bibliothèque vulnérable
com.instagram.android Instagram Plus de 1 000 000 000 libfb_ffmpeg.so
com.alibaba.aliexpresshd AliExpress Plus de 100 000 000 libtbffmpeg.so
com.fundevs.app.mediaconverter Video MP3 Converter Plus de 100 000 000 mediaplay
com.lazada.android Lazada Plus de 100 000 000 libtbffmpeg.so
com.quvideo.xiaoying VivaVideo Plus de 100 000 000 libffmpeg.so
com.smule.singandroid Smule Plus de 100 000 000 libsing.so
com.tencent.ibg.joox JOOX Music Plus de 100 000 000 libm4adecoder.so
com.venticake.retrica Retrica Plus de 100 000 000 libavformat.so, libf.so
tunein.player TuneIn Plus de 100 000 000 libtunein.uap.so
Plus de 200

Une vulnérabilité CVE-2016-3062 supplémentaire a été identifiée durant nos tests de l’application Instagram (com.instagram.android). Lors d’une correspondance avec Instagram, nous avons été informés que
« Deux correctifs différents ont été créés par erreur pour ce problème : un pour FFmpeg il y a 7 ans (qui n’était pas un CVE) et un pour libav il y a 3 ans (qui était un CVE), puis il semble que FFmpeg ait intégré le second correctif de libav, qui comprend donc les deux correctifs, alors que l’un ou l’autre suffirait. »
com.instagram.android Instagram Plus de 1 000 000 000 libfb_ffmpeg.so

Il est important de noter, comme indiqué précédemment, que notre étude portait principalement sur l’état de la sécurité des applications sur Google Play et non sur des vulnérabilités spécifiques dans des applications spécifiques. Ceci s’applique également à l’exemple Instagram mentionné ci-dessus.

Trois vulnérabilités seulement, toutes corrigées il y a plus de deux ans, rendent des centaines d’applications potentiellement vulnérables à une exécution de code à distance. Imaginez le nombre d’applications populaires qu’un pirate pourrait cibler s’il recherchait une centaine de vulnérabilités connues dans Google Play.

La démo suivante montre l’exemplaire de fichier vidéo du rapport CVE-2016-3062 d’origine provoquant le crash de la dernière version de l’application VivaVideo (com.quvideo.xiaoying, avec plus de 100 millions de téléchargements).

Conclusion

Si vous disposez d’un appareil mobile, vous savez à quel point il est important de maintenir à jour le système d’exploitation et toutes les applications installées. Il est choquant de constater que ces précautions ne sont d’aucune aide lorsque les auteurs d’applications négligent d’intégrer des correctifs de sécurité dans les composants courants qu’ils utilisent. Effectuer toutes les mises à jour de sécurité de tous les composants externes d’une application mobile sophistiquée est une tâche fastidieuse, et il n’est pas surprenant que peu de développeurs soient disposés à le faire. Les app stores mobiles et les chercheurs en sécurité analysent les applications de manière proactive à la recherche de logiciels malveillants, mais accordent moins d’attention aux vulnérabilités critiques connues de longue date. Malheureusement, cela signifie que l’utilisateur final ne peut pas faire grand-chose pour protéger son appareil mobile.


Voir les articles précédents

    

Voir les articles suivants