Une équipe collaborative d'informaticiens a développé un framework pour améliorer la sécurité de Mozilla Firefox, un navigateur Web populaire. Le cadre, appelé RLBox, finira par rendre les navigateurs de millions d'utilisateurs plus sûrs. Crédit :Université de Californie - San Diego
Des chercheurs de l'Université de Californie à San Diego, Université du Texas à Austin, L'Université de Stanford et Mozilla ont développé un nouveau cadre pour améliorer la sécurité des navigateurs Web. Le cadre, appelé RLBox, a été intégré à Firefox pour compléter les autres efforts de renforcement de la sécurité de Firefox.
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. L'étude sera publiée dans les actes du Symposium USENIX sur la sécurité.
Navigateurs, comme Firefox, s'appuyer sur des bibliothèques tierces pour prendre en charge le décodage multimédia (par exemple, rendu d'images ou lecture de fichiers audio) parmi de nombreuses autres fonctionnalités. Ces bibliothèques sont souvent écrites dans des langages de programmation de bas niveau, comme C, et hautement optimisé pour la performance.
"Malheureusement, les bogues dans le code C sont souvent des failles de sécurité — des failles de sécurité que les attaquants savent très bien exploiter, " a noté l'auteur principal Deian Stefan, professeur adjoint au département d'informatique et d'ingénierie de l'UC San Diego.
RLBox permet aux navigateurs de continuer à utiliser le standard, bibliothèques hautement optimisées sans se soucier de l'impact de ces bibliothèques sur la sécurité. "En isolant les bibliothèques, nous pouvons garantir que les attaquants ne peuvent pas exploiter les bogues dans ces bibliothèques pour compromettre le reste du navigateur, " a déclaré le doctorant principal du projet, Shravan Narayan.
Un élément clé de RLBox est le mécanisme de sandboxing sous-jacent, qui empêche une bibliothèque boguée d'interférer avec le reste du navigateur. L'étude examine diverses techniques de sandboxing avec différents compromis. Mais l'équipe s'est finalement associée à l'équipe d'ingénierie de Fastly, basée à San Francisco, pour adopter une technique de sandboxing basée sur WebAssembly, un nouveau langage intermédiaire conçu pour le sandboxing. L'équipe pense que WebAssembly sera un élément clé des futurs navigateurs sécurisés et des systèmes sécurisés en général. L'effort de sandboxing WebAssembly est détaillé dans un récent article de blog de Mozilla Hacks.
"Malheureusement, il ne suffit pas de mettre une bibliothèque dans un bac à sable, vous devez vérifier soigneusement toutes les données qui sortent du bac à sable, sinon un attaquant sophistiqué peut amener le navigateur à faire la mauvaise chose et rendre l'effort de bac à sable inutile, ", a déclaré Stefan. RLBox élimine ces classes d'attaques en marquant tout ce qui traverse la frontière et en veillant à ce que toutes ces données étiquetées soient validées avant d'être utilisées.
RLBox a été intégré dans Firefox de Mozilla et sera livré aux utilisateurs Linux dans Firefox 74 et aux utilisateurs Mac dans Firefox 75, avec des projets de mise en œuvre sur d'autres plateformes.
"Ceci est une grosse affaire, " dit Bobby Holley, ingénieur principal chez Mozilla. "La sécurité est une priorité pour nous, et il est tout simplement trop facile de faire des erreurs dangereuses en C/C++. Nous écrivons beaucoup de nouveau code dans Rust, mais Firefox est une énorme base de code avec des millions de lignes de C/C++ qui ne vont pas disparaître de sitôt. RLBox permet d'isoler rapidement et facilement les morceaux de code existants à une granularité qui n'a pas été possible avec le sandboxing au niveau du processus utilisé dans les navigateurs aujourd'hui. »
Dans l'étude, l'équipe a isolé une demi-douzaine de bibliothèques à l'aide de RLBox. Commencer, Firefox sera livré avec sa bibliothèque de mise en forme de polices Graphite en bac à sable. Mozilla prévoit d'appliquer le sandbox plus largement à l'avenir, en fin de compte rendant les navigateurs de millions d'utilisateurs plus sûrs.