Le navigateur web peut constituer le point d’entrée d’une compromission d’un téléphone mobile ou d’un ordinateur personnel. Sur des systèmes correctement mis à jour, l’attaquant devra faire l’usage de failles 0-days afin de prendre le contrôle du navigateur. Cette année, on a pu observer une attention particulière portée aux moteurs JavaScript, que ce soit via les bugs corrigés, les attaques démontrées à des événements du type pwn2own ou encore des attaques réelles. Il y a deux exemples très récents d’attaques ciblées de ce type : les chaînes d’exploits visant certains utilisateurs d’iPhone ainsi que la chaîne d’exploits pour Firefox visant coinbase.
Comme l’actualité le montre avec le nouvel article de Google Project Zero [1], le moteur JavaScript des navigateurs web est un composant fortement ciblé. Leur article analyse des « full-chains » utilisées dans le contexte d’opérations réelles et l’on remarque que le point d’entrée initial est souvent le même : JavaScriptCore, le moteur JavaScript utilisé par Safari. Dans le contexte d’attaques ciblant des utilisateurs de téléphones Android, le point d’entrée pourra être Chrome ou une variante telle que sBrowser. De manière simplifiée, de nombreux bugs affectant le moteur JavaScript seront soit des problèmes liés aux fonctionnalités dites « built-in » qui correspondent à l’implémentation du standard ECMAScript, soit au moteur d’optimisation. Par exemple, la méthode ‘Array.concat’ à elle seule a été responsable de nombreuses failles de sécurité. On peut citer CVE-2017-5030 dans v8 (chrome), CVE-2017-2464 dans JSC (Safari) ou encore...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première