Failles de longue date dans des applications mobiles Android

Failles de longue date dans des applications mobiles Android

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. Une société spécialisée dans la cybersécurité a cependant dé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.

Les applications mobiles populaires utilisent 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. C’est un peu si vous fabriquiez un site web immobilier comme celui d’Alfa Concept et que vous vous retrouviez avec un porte d’accès accessible en raison d’un plug-in obsolète, oublié… mais prêt à être exploité par le malveillant qui connaîtrait le « tour » de passe-passe.

Vulnérabilité du 3ème age !

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.

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.

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.

Corrigées… mais …

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...

Lire la suite