Par conception, Firefox permet à toutes les extensions JavaScript installées sur un système de partager le même espace de noms JavaScript. L’espace de noms est un conteneur numérique d’identifiants, de fonctions ou méthodes spécifiques. Le partage de l’espace de noms permet aux extensions de lire et écrire des variables globales définies par d’autres extensions, d’appeler ou remplacer d’autres fonctions globales, ou encore modifier des objets instanciés, expliquent les chercheurs. Cela peut donc exposer les utilisateurs de Firefox à de réels dangers.
Dans un article présenté à la conférence Black Hat la semaine dernière à Singapour, les chercheurs ont montré que ce manque d’isolement peut permettre à des attaquants d’exploiter les capacités des extensions les plus populaires de Firefox pour lancer des attaques. Ces vulnérabilités qu’ils appellent vulnérabilités de réutilisation d’extension permettent à une extension développée par un attaquant de cacher son comportement malveillant en utilisant les fonctionnalités d’autres extensions légitimes et approuvées par Mozilla.
« Ces vulnérabilités permettent à une extension apparemment inoffensive de réutiliser des fonctionnalités de sécurité critiques fournies par d'autres extensions bienveillantes légitimes pour lancer furtivement des attaques », expliquent les chercheurs. « Les extensions malveillantes qui utilisent cette technique seraient beaucoup plus difficiles à détecter par les techniques d’analyse statiques ou dynamiques actuelles, ou les procédures de vérification des extensions », ont-ils précisé.
Pour réussir son attaque, un acteur malveillant aura toutefois quelques étapes à franchir. Il faut avant tout que son extension malveillante puisse être installée par un utilisateur. Ensuite, il faudrait qu’il y ait, sur l’ordinateur qui télécharge l’extension malveillante, assez d’extensions dont les capacités pourraient être exploitées par l’attaquant pour atteindre son objectif. Malheureusement, la multitude d’add-ons exploitables offre plus de chances à l’attaquant de réussir son coup. Il faut par exemple noter que sur les 10 extensions de Firefox les plus populaires, seul Abdblock Plus ne présente aucune vulnérabilité qui peut être exploitée. Il faut donc préciser que les chercheurs ont trouvé dans les extensions telles que NoScript, Video DownloadHelper, Firebug, Greasemonkey, et Flash Video Downloader, des bogues qui ont permis à l’add-on malicieux d’exécuter du code malveillant.
Vulnérabilités chez les 10 extensions Firefox les plus populaires
Ces extensions, ainsi que de nombreuses autres dans un échantillon de 2000 analysé par les chercheurs, ont permis de voler des cookies de navigateur, contrôler ou accéder au système de fichiers d’un ordinateur, ou ouvrir des pages web vers des sites de choix de l’attaquant. Dans une proof of concept, les chercheurs ont développé une extension qui a passé l'analyse automatisée de Mozilla et son processus d’examen complet. Celle-ci a fait un appel cross-extension à NoScript pour ouvrir via Firefox une page web choisie par les chercheurs.
Ce qui rend cette nouvelle menace plus sérieuse, c’est que dans de nombreux cas, une seule extension contient toutes les fonctionnalités dont une extension malveillante a besoin pour amener un ordinateur à ouvrir un site web malveillant. Dans cette nouvelle classe d’attaques, l’extension malicieuse pourrait aussi exploiter une extension tierce pour télécharger un fichier malveillant et exploiter une deuxième extension tierce pour exécuter le fichier malveillant, comme vous pouvez le voir à travers le schéma suivant.
Les chercheurs notent que « bien qu’il soit possible de combiner plusieurs vulnérabilités de réutilisation d’extensions de cette manière pour concevoir des attaques complexes, il est souvent suffisant d’utiliser une seule vulnérabilité pour lancer avec succès des attaques nuisibles, ce qui rend cette attaque pratique même quand un très petit nombre d’extensions sont installées sur un système ». Ils expliquent par exemple qu’un attaquant « peut simplement rediriger un utilisateur qui visite une certaine URL vers un site de phishing ou automatiquement charger une page web contenant un exploit drive-by-download. »
Si les extensions développées pour exploiter les vulnérabilités de réutilisation d’extension sont difficiles à détecter par les techniques standards, les chercheurs ont développé un outil qui permet de détecter celles qui contiennent des vulnérabilités de réutilisation.
Du côté de Mozilla, la nouvelle menace n’est pas ignorée et des solutions sont déjà envisagées. « La façon dont les extensions sont mises en œuvre aujourd’hui dans Firefox permet le scénario présenté au Black Hat Asie. La méthode décrite repose sur un add-on populaire vulnérable qui est installé, puis sur le fait que l’add-on qui profite de cette vulnérabilité est également installé », explique le vice-président Produit de Firefox, dans un email. « Parce que les risques comme celui-ci existent, nous sommes en train de faire évoluer à la fois notre produit de base et notre plateforme d’extensions pour bâtir une plus grande sécurité. Les nouvelles API d’extensions de navigateur qui composent WebExtensions, qui sont disponibles dans Firefox aujourd'hui, sont intrinsèquement plus sures que les add-ons traditionnels, et ne sont pas vulnérables à l'attaque particulière exposée dans la présentation au Black Hat Asie ». Le vice-président Produit de Firefox termine en rassurant les utilisateurs : « dans le cadre de notre projet visant à introduire l'architecture multiprocessus dans Firefox plus tard cette année, nous allons commencer à isoler les extensions Firefox de sorte qu’elles ne puissent pas partager de code ».
Rapport des chercheurs
Source
Et vous ?
Qu’en pensez-vous ?
Voir aussi :
Forum Sécurité
Forum Firefox