[ALERTE CERT] Vulnérabilité critique sur le moteur de protection Microsoft

Olivier Chatail Alerte CERT

Une vulnérabilité a été identifiée très récemment par les équipes de Google Project Zero dans le moteur de protection de Microsoft :

  • CVE-2017-0290 : Remote Code Exploitation in Microsoft Malware Protection Engine

Le correctif de sécurité Microsoft est maintenant diffusé, via la mise à jour KB890830 pour les postes utilisateurs.

Le risque associé est critique car cette vulnérabilité permet l’exécution de code à distance sur les serveurs et postes utilisateurs Windows via de nombreux vecteurs d’infection.

Les équipes du CERT Devoteam recommandent une mise à jour urgente de l’applicatif concerné par cette vulnérabilité.

Produits concernés

Le composant impacté est MsMpEng, moteur de sécurité Microsoft, vulnérable dans les versions antérieures à 1.1.13704.0.

Ce composant est utilisé par de nombreux produits, comme indiqué dans le bulletin Microsoft 4022344 publié le 8 Mai 2017 :

  • Microsoft Forefront Endpoint Protection 2010
  • Microsoft Endpoint Protection
  • Microsoft Forefront Security for SharePoint Service Pack 3
  • Microsoft System Center Endpoint Protection
  • Microsoft Security Essentials
  • Windows Defender for Windows 7
  • Windows Defender for Windows 8.1
  • Windows Defender for Windows RT 8.1
  • Windows Defender for Windows 10, Windows 10 1511, Windows 10 1607, Windows Server 2016, Windows 10 1703
  • Windows Intune Endpoint Protection

 

Détails techniques

MsMpEng est un composant central des outils de sécurité Windows et permet l’analyse des fichiers pour la détection de malware via mpengine.

Ce composant est exécuté en tant que NT AUTHORITY\SYSTEM et n’est pas sandboxé, une RCE sur ce composant permet théoriquement la compromission totale de la machine.

MsMpEng  permet la protection en temps réel des systèmes Windows via l’analyse des fichiers déposés sur le système. Pour ce faire, il déploie un driver minifilter WdFilter qui, lors de l’écriture d’un fichier sur le système de fichier, l’envoie vers son moteur d’analyse si il répond à des critères d’entropie spécifiques.

La vulnérabilité, un défaut de validation d’entrée, se situe dans un des moteurs de mpengine : le moteur NScript. NScript a pour but d’évaluer la sécurité de ce qui « ressemble à du Javascript » d’après le commentaire du PoC fourni par l’équipe de Google.

La vulnérabilité peut donc être déclenchée en déposant un fichier sur le système de fichier dont la structure s’approche d’un script JS et dont l’entropie entraîne un scan par MsMpEng.

Par conséquent la surface d’attaque est très grande et permet l’exploitation à distance.

Les scénarios concernent à la fois les serveurs (dépôt de fichier sur IIS, envoi de mail via Exchange) et les postes utilisateurs (réception d’une pièce jointe, téléchargement d’un fichier sur Internet…).