Évolution des protections du moteur Javascript V8 — Francois Jolivet
Date : 05 June 2024 à 11:30 — 30 min.
L'article propose une exploration approfondie des techniques utilisées par les attaquants pour exploiter une vulnérabilité ciblant le moteur Javascript V8. L'analyse se concentre sur la démystification des différentes étapes de l'exploitation, depuis le déclenchement de la vulnérabilité jusqu'à l'aboutissement de l'exécution de code arbitraire. Cette investigation se déroule dans le contexte des mécanismes de sécurité en constante évolution de V8, mettant en avant l'implémentation du projet V8 Sandbox.
La famille des typer bugs est utilisée comme exemple concret pour illustrer les techniques discutées. En examinant en détail les tenants et aboutissants de l'exploitation, l'article met en évidence les défis posés par les mesures de sécurité telles que la compression de pointeurs et l'isolation des objets Javascript, soulignant l'importance cruciale de protéger les pointeurs sensibles pour atténuer les menaces potentielles, tout en mettant en évidence la nécessité croissante d'intégrer des protections matérielles.
L'analyse va plus loin en soulignant la capacité d'adaptation des attaquants face aux innovations des développeurs, mettant ainsi en lumière l'évolution continue des attaques et des mesures de protection dans l'écosystème des navigateurs. Trois techniques d'évasion modernes sont présentées avec les techniques développées dans la sandbox pour y remédier.