Internet
La plupart des bogues de sécurité Chrome enracinés dans un code mémoire défectueux
Les chercheurs de Google ont révélé que près des trois quarts de tous les bogues de sécurité du navigateur Web Chrome proviennent de problèmes de codage de la mémoire. Ils disent que leurs moyens de lutter contre les vulnérabilités de la gestion de la mémoire en isolant les composants du navigateur atteignent leur degré maximum d'efficacité et ne seront plus suffisants pour contrer les attaques futures.
Le facteur clé derrière le problème est la dépendance de Chrome sur les langages de programmation C et C ++ standard de l'industrie, qui n'ont pas été conçus à l'origine avec une grande attention aux problèmes de sécurité. C'est compréhensible: le langage de programmation C est né il y a 48 ans, avant que la cyberattaque ne soit un mot, des années avant que les ordinateurs de bureau ne soient monnaie courante, et plus d'une décennie avant que la première exploitation d'une vulnérabilité ne soit confirmée. Cette première attaque a été le ver Morris de 1988, créé par un chercheur pour trouver des vulnérabilités, mais qui a causé jusqu'à 10 millions de dollars de dommages.
Les ingénieurs de Google qui ont effectué des recherches sur le problème ont examiné plus de 900 bogues classés «élevés» ou «critiques» datant de 2015. Rien que l'année dernière, 130 bogues critiques étaient liés à des problèmes de mémoire.
Un rapport publié sur le site Chromium Projects de Google explique: "L'architecture de sécurité de Chromium a toujours été conçue pour supposer que ces bogues existent et le code est mis en bac à sable pour les empêcher de prendre le contrôle de la machine hôte."
"Cet énorme effort nous a permis – simplement – de devancer les assaillants", indique le rapport. "Mais nous atteignons les limites du sandboxing et de l'isolement du site."
Chrome n'est pas seul dans cette exposition. La plupart des concurrents de Chrome s'appuient également sur la programmation C, notamment Microsoft Edge, Brave et Opera.
En fait, un ingénieur de Microsoft a signalé il y a un an que le même nombre exact – 70% – des problèmes de sécurité de son entreprise traités par les mises à jour de sécurité étaient liés à la sécurité de la mémoire. MacOS et iOS sont également vulnérables à ces bogues.
Le créateur de Firefox, Mozilla, a cependant développé un nouveau langage qu'il utilise depuis trois ans et qui a été spécialement conçu pour la sécurité de la mémoire. Les chercheurs de Google disent qu'ils explorent des bibliothèques C ++ personnalisées pour résoudre ces problèmes. Ils envisagent également d'abandonner le C et le C ++ et de passer à Rust ou à d'autres langages de codage plus sûrs tels que JavaScript, Swift, Kotlin ou Java.
Google a répertorié plusieurs vulnérabilités pouvant exposer les ordinateurs à des dysfonctionnements ou à des activités malveillantes.
- condition de concurrence: un ordinateur tente par erreur d'effectuer simultanément plusieurs opérations qui doivent en fait être exécutées dans un ordre approprié.
- double free: lorsqu'une commande de libération de mémoire est appelée plusieurs fois avec la même adresse mémoire, la structure des données est corrompue.
- use-after-free: tentatives illégales d'accès à la mémoire après sa libération, entraînant l'exécution de code arbitraire et l'exposition à un contrôle externe non autorisé.
- pointeurs sauvages: les pointeurs non initialisés visent des adresses aléatoires et provoquent un comportement erratique ou un crash du système.
- débordement de tampon: les données dépassant les limites autorisées débordent dans d'autres tampons de mémoire, corrompant ou effaçant les données initialement stockées à ces emplacements.
Les chercheurs de Google indiquent que la moitié des 912 vulnérabilités détectées étaient liées à des scénarios "d'utilisation après libération".
Les plates-formes de code de programmation développées après C et C ++ ont inclus des mesures de protection pour minimiser ces problèmes et ajouté des systèmes d'avertissement pour alerter les développeurs de tels conflits potentiels.
Le problème a été jugé suffisamment grave pour que les ingénieurs Chrome mandatés par Google appliquent la "règle de 2" à toutes les nouvelles fonctionnalités du navigateur. Leur code ne doit pas rompre plus de deux de ces conditions: le code doit gérer les entrées non fiables, le code doit s'exécuter sans bac à sable et le code ne doit pas être écrit dans un langage de programmation dangereux.
Les chercheurs développent un cadre qui améliore la sécurité de Firefox
www.chromium.org/Home/chromium… sécurité / sécurité-mémoire
© 2020 Science X Network
Citation:
Rapport: la plupart des bogues de sécurité Chrome enracinés dans un code mémoire défectueux (2020, 28 mai)
récupéré le 28 mai 2020
depuis https://techxplore.com/news/2020-05-chrome-bugs-rooted-faulty-memory.html
Ce document est soumis au droit d'auteur. Hormis toute utilisation équitable aux fins d'études ou de recherches privées, aucune
une partie peut être reproduite sans l'autorisation écrite. Le contenu est fourni seulement pour information.
Sommaire