CrossFire : une vulnérabilité dans les extensions Firefox
mar, 05/04/2016 - 15:51
Les extensions au navigateurs Web sont un élément important de leur succès auprès des utilisateurs. En témoigne Firefox et Chrome. En témoigne aussi l'application dont fait preuve Microsoft pour rattraper son retard dans ce domaine.
Mais qui dit extensions dit code ajouté par un tiers, pas forcément de confiance. Un code mal écrit peut provoquer des soucis, sans parler d'un code fondamentalement malveillant.
Pour pallier à ce problème potentiel, les éditeurs de navigateurs prennent des dispositions. Dans la conception de l'architecture du mécanisme d'extensions tout d'abord. Ensuite les extensions proposées sont analysées à la recherche de code malveillant avant d'être validées et placées dans un dépôt depuis lequel tout un chacun peut les télécharger et les installer sur son navigateur.
Mais si le code malveillant des extensions était suffisamment malin pour être indétectable ? Cela est possible sous Firefox. Des chercheurs en sécurité ont découvert une vulnérabilité structurelle, qu'ils décrivent en détail dans ce document.
Cette vulnérabilité a été baptisée CrossFire. Un nom qui évoque la manière de l'exploiter. Le code malveillant n'opère pas directement, mais invoque des fonctionnalités présentes dans d'autres extensions installées sur le navigateur. CrossFire est également baptisée extension-reuse vulnarability, ou vulnérabilité par réutilisation d'extensions. Dans ce cas, un code malveillant analyse l'espace de noms global JavaScript. Ayant ainsi fait son marché, le code malveillant va attaquer en utilisant plusieurs fonctionnalités empruntées à plusieurs extensions. Le schéma ci-dessous montre comment un code malveillant peut voler des données sur un ordinateur, en s'appuyant sur deux extensions tierces.
Les chercheurs ont mis au point un analyseur de l'espace JavaScript ainsi qu'un générateur d'exploits à partir du résultat des analyses. Ils ont testé les 10 extensions Firefox les plus installées. Hormis AdBlock Plus, toutes sont vulnérables dans le sens où elle présentent des fuites de capacités. Le test appliqué aux 2 000 extensions les plus populaires a permis de découvrir 351 vulnérabilités.