En savoir plus sur le livre de Benny Czarny, « Cybersecurity Upside Down »

En savoir plus
Nous utilisons l'intelligence artificielle pour les traductions de sites et, bien que nous nous efforcions d'être précis, il se peut que les traductions ne soient pas toujours exactes à 100 %. Nous vous remercions de votre compréhension.

Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint

Par OPSWAT

Nous sommes heureux de vous présenter une série de blogs d'analyse technique portant sur diverses vulnérabilités et expositions communes (CVE), identifiées et corrigées à l'aide de nos technologies avancées de détection des menaces.Toutes les recherches sont effectuées par les étudiants diplômés qui participent au programme Cybersecurity Fellowship ( OPSWAT ) lancé en septembre 2023.

Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint
Des étudiants ont participé au programme de bourses OPSWAT .

Dans ce blog, nous expliquerons la CVE-2019-13720 de Google Chrome et comment les organisations peuvent se défendre contre les attaques d'exploitation de la CVE-2019-13720.

Qu'est-ce que Google Chrome et quand a-t-il été créé ?

Google Chrome est un navigateur web multiplateforme développé par Google et officiellement lancé le 2 septembre 2008. Il a été développé dans le cadre des efforts de Google pour créer un navigateur meilleur et plus moderne. Il offrait à l'époque de nombreuses nouvelles fonctionnalités, notamment la navigation par onglets, le mode de confidentialité et la synchronisation avec les services Google. Depuis sa sortie, il est devenu l'un des navigateurs web les plus populaires au monde. En 2021, Google Chrome devrait compter environ 3,2 milliards d'utilisateurs.

En raison de sa popularité, Google Chrome est devenu un point focal pour la recherche et les attaques, attirant à la fois les pirates éthiques et les pirates malveillants. Les vulnérabilités les plus courantes identifiées dans Google Chrome sont, entre autres, le déni de service, la fuite d'informations et l'exécution de code à distance. En ce qui concerne la vulnérabilité d'exécution de code à distance, il existe deux types de vulnérabilités dans Google Chrome : l'évasion du bac à sable et la non-évasion.

Qu'est-ce que CVE-2019-13720 ?

CVE-2019-13720 est une vulnérabilité de type Use After Free (UAF) de WebAudio dans Google Chrome avant la version 78.0.3904.87 qui permet à un attaquant distant d'exploiter potentiellement une corruption de tas via une page HTML conçue. Lorsque la victime accède à une page web malveillante ou ouvre une page HTML mal conçue sur un navigateur Google Chrome vulnérable, le code malveillant est exécuté sur le point de terminaison de la victime. Cette CVE a été rapportée pour la première fois par Anton Ivanov et Alexey Kulaev en 2019.

Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint
Informations sur CVE-2019-13720 dans le NIST NVD

D'un point de vue technique, une vulnérabilité de type "use-after-free" peut être exploitée en raison d'une condition de course entre les threads Render et Audio dans le composant audio de Qt WebEngine. Cette vulnérabilité permet à des attaquants distants d'exécuter du code shell WebAssembly, ce qui peut compromettre l'appareil de la victime. Pour résoudre ce problème, tous les utilisateurs de Qt WebEngine doivent mettre à jour leur système avec la dernière version.

Les phases d'attaque

Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint
Les processus d'attaque

Les attaquants créent une URL spéciale avec le code HTML malveillant et envoient un courriel d'hameçonnage avec le lien à la victime. Lorsque la victime ouvre le courriel et clique sur le lien, le code malveillant est exécuté et permet à l'attaquant de prendre le contrôle du système affecté. Les détails de la tactique du code à distance, tels qu'ils apparaissent dans un document HTML, peuvent être consultés ici.

Que sont les vulnérabilités de type Use After Free (UAF) et heap spray ?

Une vulnérabilité UAF est un type de faille de sécurité qui se produit lorsqu'un programme continue d'utiliser la mémoire après qu'elle a été libérée. Cela peut avoir diverses conséquences négatives, notamment la corruption de données, l'exécution de codes arbitraires et le blocage du système.

La pulvérisation du tas est une technique de livraison de données utiles qui consiste à écrire plusieurs octets à différents endroits du tas. Il s'agit d'injecter une charge utile élaborée (c'est-à-dire des données nuisibles) dans le tas de mémoire, en veillant à ce que le flux d'exécution saute dans la mémoire pulvérisée plutôt que dans le code d'origine de l'application. L'objectif de cette attaque est généralement de prendre le contrôle du registre EIP.

Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint
Visualisation de la technique de pulvérisation en tas

Qu'est-ce que WebAssembly ?

WebAssembly, souvent abrégé en Wasm, est un nouveau format d'instructions binaires qui sert de cible portable pour la compilation de langages de haut niveau tels que C/C++, leur permettant de fonctionner à une vitesse proche de la normale dans le moteur JavaScript d'un navigateur web.

Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint
Compilation du code en WebAssembly

Cependant, comme WebAssembly peut être compilé à partir de langages qui ne sont pas sûrs pour la mémoire, tels que C/C++, des vulnérabilités de codage courantes telles que les débordements de mémoire tampon ou les vulnérabilités de chaînes de format peuvent être introduites dans les binaires WebAssembly compilés de manière croisée. Cette possibilité d'inclure des vulnérabilités dans les modules WebAssembly a augmenté la surface d'attaque des applications web contemporaines.

Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint
Conception d'une application typique utilisant WebAssembly

Qu'est-ce qu'une vulnérabilité de type "race condition" ?

Une vulnérabilité de type "race condition" dans un logiciel survient lorsque plusieurs processus ou threads tentent d'accéder simultanément à une ressource partagée, ce qui entraîne des résultats imprévisibles ou des perturbations opérationnelles en raison du moment de l'accès. Lorsqu'un programme présente une vulnérabilité de type "race condition", cela peut entraîner divers problèmes tels que le blocage de l'application, la corruption des données, des résultats incorrects ou des incohérences. Les attaquants peuvent exploiter cette vulnérabilité pour obtenir un accès non autorisé, faire fuir des informations, élever les privilèges ou provoquer des pannes du système.

Classée dans la catégorie des vulnérabilités de type "race condition", la vulnérabilité TOCTTOU exploite l'écart de temps entre la vérification et l'utilisation d'une ressource.

Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint
Illustration d'une condition de course logicielle. Source : Devopedia 2020 Devopedia 2020 (*) TOCTOU (Time of Check to Time Of Use) (Temps de vérification au temps d'utilisation)

Comment fonctionne CVE-2019-13720 ?

Pour exploiter cette vulnérabilité, le chercheur attache du code JavaScript à un fichier HTML. Lorsqu'un utilisateur lance le fichier HTML, le script tente de trouver l'adresse de la fuite en créant deux threads (thread principal et thread audio) qui traitent les mêmes données de la mémoire tampon. L'adresse de l'objet temporary_buffer_object dans ReverbConvolverStage est ensuite utilisée pour obtenir le pointeur du feedforward_array dans IIRFilterNode (qui partage la même super page que le Convolver). Par la suite, le chercheur tente d'obtenir le pointeur du feedforward_array dans le second trigger UAF.

Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint
Processus de déclenchement de l'utilisation après la fin de la période de gratuité

WebAssembly gère l'exécution du code shell. Pour permettre l'exécution du shellcode, le chercheur tente de libérer l'IIRFilter et écrit dans le GCPreventer jusqu'à ce qu'il prenne le contrôle de l'endroit où les nouvelles allocations sont faites sans avoir besoin de sprays. Enfin, le chercheur écrit le shellcode dans la région Just-In Time (JIT) de la mémoire. Par conséquent, dès l'ajout d'un événement d'erreur du lecteur de fichiers, le module WebAssembly exécutera le code shell.

Pour exécuter le code shell associé à cette vulnérabilité, l'utilisateur doit désactiver le bac à sable dans la version vulnérable de Chrome.

Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint

Lorsque le code shell est exécuté, il ouvre automatiquement les services Notepad sur l'appareil de la victime.

Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint

Méthode d'assainissement

MetaDefender Endpoint, une solution de sécurité des terminaux développée par OPSWAT, permet aux utilisateurs de détecter ces attaques et de protéger leurs systèmes contre celles-ci. Une fois que l'utilisateur a désactivé la fonctionnalité « Privacy Sandbox » (--no-sandbox), MetaDefender Endpoint peut détecter les CVE et appliquer les derniers correctifs de Google Chrome. L'utilisateur peut ensuite mettre à jour manuellement Google Chrome vers la dernière version ou activer la fonctionnalité « mise à jour automatique » dans l'onglet « Patch Management » afin que OPSWAT MetaDefender Endpoint mette automatiquement à jour le navigateur dès que de nouveaux correctifs sont disponibles.

Pour se prémunir contre l'exposition à des codes malveillants, les utilisateurs doivent recourir à des outils de filtrage des e-mails permettant de détecter les attaques de hameçonnage et éviter de cliquer sur des liens inconnus contenus dans les e-mails.

MetaDefender Endpoint - Principales caractéristiques et avantages du produit

  • Examiner et remédier aux applications à risque. Les applications vulnérables ou obsolètes peuvent être visualisées dans l'interface utilisateur de MetaDefender Endpoint .
  • Vérifiez que la protection anti-malware est correctement configurée sur le système d'exploitation.
  • Veiller au respect des normes de sécurité de l'organisation.
  • Assurance du cryptage du disque dur.
  • Vérification des correctifs du système d'exploitation.
  • Plusieurs options pour l'analyse des logiciels malveillants et l'annonce de l'absence de logiciels malveillants sur les points finaux.
Remédier aux vulnérabilités de Google Chrome avec les solutions MetaDefender Endpoint
MetaDefender Endpoint UI

MetaDefender Endpoint for Endpoint Vulnerability and Application Patching peut être téléchargé ici.


Référence

  1. https://nvd.nist.gov/vuln/detail/CVE-2019-13720
  2. https://bugs.chromium.org/p/chromium/issues/detail?id=1019226
  3. https://www.w3.org/TR/webaudio/
  4. https://security.gentoo.org/glsa/202004-04
  5. https://www.cve.org/CVERecord?id=CVE-2019-13720
  6. https://packetstormsecurity.com/files/167066/Google-Chrome-78.0.3904.70-Remote-Code-Execution.html
  7. https://devopedia.org/race-condition-software
  8. https://webassembly.org/
  9. https://www.researchgate.net/figure/WebAssembly-high-level-architecture_fig1_360232889
  10. https://www.researchgate.net/publication/331990070_Native_Web_Audio_API_Plugins
  11. https://whitehat.vn/threads/gioi-thieu-ky-thuat-khai-thac-exploit-heap-spray.5056/
  12. https://www.opswat.com/

Restez à jour avec OPSWAT!

Inscrivez-vous dès aujourd'hui pour recevoir les dernières actualités de l'entreprise, des témoignages, des informations sur les événements et bien plus encore.