Les informaticiens développent un cadre pour protéger les navigateurs des vulnérabilités zero-day dans les bibliothèques tierces

firefox

Crédit : Pixabay/CC0 domaine public

Des chercheurs de l’Université de Californie à San Diego, de l’Université du Texas à Austin et de Mozilla ont conçu un nouveau framework, appelé RLBox, pour rendre le navigateur Firefox plus sécurisé. Mozilla a commencé à déployer RLBox sur toutes les plateformes Firefox cette semaine.

RLBox augmente la sécurité du navigateur en séparant les bibliothèques tierces vulnérables aux attaques du reste du navigateur pour contenir les dommages potentiels, une pratique appelée sandboxing.

Les navigateurs comme Firefox s’appuient sur des bibliothèques tierces pour prendre en charge différentes fonctionnalités, de l’analyse XML à la vérification orthographique et au rendu des polices. Ces bibliothèques sont souvent écrites dans des langages de programmation de bas niveau, comme C, et, malheureusement, introduire des vulnérabilités dans le code C est extrêmement facile. RLBox protège les utilisateurs des vulnérabilités inévitables de ces bibliothèques et des attaques de la chaîne d’approvisionnement qui exploitent ces bibliothèques.

« Des attaquants bien financés exploitent des vulnérabilités et des chaînes d’approvisionnement zero-day pour cibler de vrais utilisateurs », a déclaré Deian Stefan, professeur adjoint au département d’informatique et d’ingénierie de l’UC San Diego. « Pour faire face à des attaquants aussi sophistiqués, nous avons besoin de plusieurs couches de défense et de nouvelles techniques pour minimiser la quantité de code auquel nous devons faire confiance (pour être sécurisé). Nous avons conçu RLBox exactement pour cela. »

Les efforts de l’équipe pour déployer RLBox sur toutes les plates-formes Firefox sont détaillés dans un récent article de blog de Mozilla Hacks.

Avec RLBox, les développeurs peuvent moderniser des systèmes comme Firefox pour mettre des modules, comme des bibliothèques tierces, dans un bac à sable logiciel à grain fin. Comme le sandboxing basé sur les processus, que les navigateurs utilisent pour isoler un site d’un autre, le sandboxing logiciel garantit que les bogues dans le module sandbox ne créeront pas de failles de sécurité — les bogues sont contenus dans le sandbox. « Contrairement au sandboxing basé sur les processus, cependant, la technique de sandboxing de RLBox permet aux développeurs d’isoler des modules étroitement couplés tels que Graphite et Expat sans coûts d’ingénierie ou de performances énormes », a déclaré Shravan Narayan, docteur en informatique de l’UC San Diego. étudiant porteur du projet.

WebAssemblage et sandboxing

À la base, le framework RLBox se compose de deux composants. La première est la technique du sandboxing elle-même : RLBox utilise WebAssembly (Wasm). Plus précisément, RLBox compile les modules en WebAssembly, puis compile Wasm en code natif à l’aide du compilateur wasm2c rapide et portable. « En compilant vers Wasm avant le code natif, nous obtenons le sandboxing gratuitement : nous pouvons garantir que tous les accès à la mémoire et les flux de contrôle seront instrumentés pour être confinés à la frontière du module », a déclaré Narayan.

Wasm permet également à RLBox d’optimiser les appels entrants et sortants de code sandbox en de simples appels de fonction. Dans une étude à venir, qui sera publiée dans les actes du Symposium ACM SIGPLAN Principles of Programming Languages ​​2022, les chercheurs montrent que cela est sûr car Wasm satisfait à un ensemble de conditions théoriques appelées « conditions à coût zéro ». Ceci est différent de la plupart des autres techniques de sandbox, qui nécessitent un code de collage à la limite de l’application sandbox pour être sécurisé. Ce code de collage est sujet aux erreurs et, dans certains cas, contribue à des surcharges de performances importantes – le compilateur Wasm de l’équipe élimine ce code de colle, sa complexité et sa surcharge.

Système de type corrompu

Le deuxième élément clé de RLBox est son système de type corrompu. Des attaquants sophistiqués peuvent sortir du bac à sable Wasm si le code qui s’interface avec le code du bac à sable (le code Firefox) ne valide pas soigneusement toutes les données qui sortent du bac à sable. Le système de types de RLBox, qui est implémenté à l’aide de la métaprogrammation C++, empêche de telles attaques en marquant toutes les données sortant du bac à sable comme « entachées » et en garantissant, par le biais d’erreurs de compilation, que les développeurs désinfectent les données potentiellement dangereuses avant de les utiliser. « Sans un tel système de types, il serait extrêmement difficile de garantir que les développeurs placent tous les bons contrôles aux bons endroits », a déclaré Stefan.

« RLBox est une grande victoire pour Firefox et nos utilisateurs », a déclaré Bobby Holley, ingénieur distingué chez Mozilla. « Cela protège nos utilisateurs contre les défauts accidentels ainsi que les attaques de la chaîne d’approvisionnement, et cela réduit le besoin pour nous de nous dépêcher lorsque de tels problèmes sont divulgués en amont. »

Le travail original de l’équipe sur RLBox a été publié dans les actes du Symposium USENIX sur la sécurité en mars dernier. Depuis lors, ils ont travaillé pour amener RLBox à tous les utilisateurs de Firefox. RLBox sera disponible sur toutes les plates-formes Firefox, de bureau et mobiles, en sandboxing cinq modules différents : Graphite, Hunspell, Ogg, Expat et Woff2. L’équipe travaille activement sur le sandboxing de plus de modules dans les futures versions de Firefox et prend en charge les cas d’utilisation au-delà de Firefox.


Des chercheurs développent un framework qui améliore la sécurité de Firefox


Plus d’information:
Matthew Kolosick et al, Isolement sans imposition : transitions à coût quasi nul pour SFI. arXiv:2105.00033v3 [cs.CR], arxiv.org/abs/2105.00033

Fourni par l’Université de Californie – San Diego

Citation: Les informaticiens développent un cadre pour protéger les navigateurs des vulnérabilités zero-day dans les bibliothèques tierces (2021, 7 décembre) récupéré le 7 décembre 2021 à partir de https://techxplore.com/news/2021-12-scientists-framework-browsers- zero-day-vulnerabilities.html

Ce document est soumis au droit d’auteur. En dehors de toute utilisation équitable à des fins d’étude ou de recherche privée, aucune partie ne peut être reproduite sans l’autorisation écrite. Le contenu est fourni seulement pour information.