Évaluation de la protection contre les exploits

Cet article explique comment utiliser le mode d’audit pour évaluer les atténuations contre les attaques, passer en revue les instructions de compatibilité, configurer les paramètres système et programme pour les tests et interpréter les événements d’audit avant d’activer les atténuations en production.

Exploit Protection permet de protéger les appareils contre les programmes malveillants qui utilisent des attaques pour propager et infecter d’autres appareils. L’atténuation peut être appliquée au système d’exploitation ou à une application individuelle. La plupart des fonctionnalités qui faisaient partie de l’EMET (Enhanced Mitigation Experience Toolkit) sont incluses dans Exploit Protection. (L’EMET a atteint sa fin de support.)

Dans l’audit, vous pouvez voir le fonctionnement de l’atténuation pour certaines applications dans un environnement de test. Le mode d’audit indique ce qui se passerait si vous activez la protection contre les attaques dans votre environnement de production. En utilisant le mode Audit, vous pouvez vérifier que la protection contre les exploits n’a pas d’incidence négative sur vos applications métier, et voir quels événements suspects ou malveillants se produisent.

Instructions générales pour l’évaluation de la protection contre les attaques

Les atténuations exploit protection fonctionnent à un niveau bas dans le système d’exploitation, et certains types de logiciels qui effectuent des opérations de bas niveau similaires peuvent rencontrer des problèmes de compatibilité lorsqu’ils sont configurés pour être protégés à l’aide d’exploit protection.

Quels types de logiciels ne doivent pas être protégés par exploit protection ?

  • Logiciel anti-programme malveillant et de prévention ou de détection des intrusions
  • Débogueurs
  • Logiciels qui gèrent les technologies de gestion des droits numériques (DRM) (autrement dit, les jeux vidéo)
  • Logiciels qui utilisent des technologies d’anti-débogage, d’obfuscation ou de raccordement

Quel type d’application devez-vous envisager d’activer exploit protection ?

Applications qui reçoivent ou gèrent des données non approuvées.

Quel type de processus n’entre pas dans le cadre de la protection contre les attaques ?

Services

  • Services système
  • Services réseau

Atténuations d’Exploit Protection activées par défaut

Le tableau suivant répertorie les atténuations de protection contre les attaques activées par défaut :

Limitation des risques Activé par défaut
Prévention de l’exécution des données (PED) Applications 64 bits et 32 bits
Valider les chaînes d’exception (SEHOP) Applications 64 bits
Valider l’intégrité du tas Applications 64 bits et 32 bits

Atténuations des « paramètres du programme » obsolètes

Les atténuations des paramètres de programme suivantes sont déconseillées. Le tableau explique pourquoi chacun d’eux a été supprimé :

Atténuations des « paramètres du programme » Raison
Filtrage d’adresses d’exportation (EAF) Problèmes de compatibilité des applications
Filtrage des adresses importées (IAF) Problèmes de compatibilité des applications
Simuler l’exécution (SimExec) Remplacé par Arbitraire Code Guard (ACG)
Valider l’invocation de l’API (CallerCheck) Remplacé par Arbitraire Code Guard (ACG)
Valider l’intégrité de la pile (StackPivot) Remplacé par Arbitraire Code Guard (ACG)

Bonnes pratiques pour les applications Office

Pour les applications Office telles que Outlook, Word, Excel, PowerPoint et OneNote, utilisez des règles de réduction de la surface d’attaque (ASR) au lieu d’Exploit Protection. Les règles ASR offrent un moyen plus moderne d’empêcher l’utilisation abusive de ces applications :

Pour Adobe Reader, utilisez la règle ASR suivante :

Empêcher Adobe Reader de créer des processus enfants

Google Chrome ne recommande plus d’activer Exploit Protection (EMET), car il est redondant ou remplacé par des atténuations intégrées des attaques.

Liste de compatibilité des applications

Le tableau suivant répertorie les produits spécifiques qui présentent des problèmes de compatibilité avec les atténuations incluses dans exploit Protection. Vous devez désactiver les atténuations incompatibles spécifiques si vous souhaitez protéger le produit à l’aide d’exploit protection. N’oubliez pas que cette liste prend en compte les paramètres par défaut pour les dernières versions du produit. Des problèmes de compatibilité peuvent être introduits lorsque vous appliquez certains compléments ou d’autres composants au logiciel standard.

Note

Les atténuations EMET peuvent être incompatibles avec oracle Java lorsqu'elles sont exécutées à l'aide de paramètres qui réservent un grand segment de mémoire pour la machine virtuelle (autrement dit, à l'aide de l'option -Xms).

Produit Atténuation de la protection contre les attaques
.NET 2.0/3.5 EAF/IAF
Console 7-Zip/interface graphique/gestionnaire de fichiers EAF
Processeurs AMD 62xx EAF
Avecto (Beyond Trust) Power Broker EAF, EAF+, Tableau croisé dynamique de pile
Certains pilotes vidéo AMD (ATI) Système ASLR=AlwaysOn
Dropbox EAF
Excel Power Query, Power View, Power Map et PowerPivot EAF
Google Chrome (n’est plus recommandé) EAF+
Immidio Flex+ EAF
composants Web de Microsoft Office (OWC) Système DEP=AlwaysOn
Microsoft PowerPoint EAF
Microsoft Teams EAF+
Oracle Javaǂ Heapspray
Pitney Bowes Print Audit 6 SimExecFlow
Siebel CRM est en version 8.1.1.9 SEHOP
Skype EAF
SolarWinds Syslogd Manager EAF
Lecteur Windows Media ObligatoireASLR, EAF

ǂ les atténuations EMET peuvent être incompatibles avec Oracle Java lorsqu’elles sont exécutées à l’aide de paramètres qui réservent une grande partie de la mémoire pour la machine virtuelle (autrement dit, à l’aide de l’option -Xms).

Activer les paramètres système de protection contre les failles à des fins de test

Ces paramètres système Exploit Protection sont activés par défaut, à l’exception de la randomisation de disposition de l’espace d’adressage obligatoire (ASLR) sur Windows 10 et versions ultérieures, Windows Server 2019 et ultérieures, et sur Windows Server version 1803 core edition et ultérieure.

Paramètres système Paramètre
Protection du flux de contrôle (CFG) Utiliser la valeur par défaut (Activé)
Prévention de l’exécution des données (PED) Utiliser la valeur par défaut (Activé)
Forcer la sélection aléatoire des images (ASRL obligatoire) Utiliser la valeur par défaut (Désactivé)
Rendre aléatoires les allocations de mémoire (Bottom-up ASRL) Utiliser la valeur par défaut (Activé)
ASRL à haute entropie Utiliser la valeur par défaut (Activé)
Valider les chaînes d’exception (SEHOP) Utiliser la valeur par défaut (Activé)

L’exemple XML suivant montre la configuration d’atténuation du système par défaut :

<?xml version="1.0" encoding="UTF-8"?>
<MitigationPolicy>
  <SystemConfig>
    <DEP Enable="true" EmulateAtlThunks="false" />
    <ASLR ForceRelocateImages="false" RequireInfo="false" BottomUp="true" HighEntropy="true" />
    <ControlFlowGuard Enable="true" SuppressExports="false" />
    <SEHOP Enable="true" TelemetryOnly="false" />
    <Heap TerminateOnError="true" />
  </SystemConfig>
</MitigationPolicy>

Activer les paramètres du programme Exploit Protection pour les tests

Conseil

Nous vous recommandons vivement de passer en revue l’approche moderne pour l’atténuation des vulnérabilités, qui consiste à utiliser des règles ASR.

Vous pouvez définir des atténuations dans un mode de test pour des programmes spécifiques à l’aide de l’application Sécurité Windows ou Windows PowerShell.

application Sécurité Windows

Utilisez l’application Sécurité Windows pour configurer les atténuations d’exploit protection en mode test pour un programme spécifique :

  1. Ouvrez l’application Sécurité Windows. Sélectionnez l’icône de bouclier dans la barre des tâches ou recherchez Sécurité Windows dans le menu Démarrer.

  2. Sélectionnez la vignette Contrôle Applications et navigateur (ou l’icône de l’application dans la barre de menus de gauche), puis sélectionnez Exploit Protection.

  3. Accédez aux paramètres du programme et choisissez l’application à laquelle vous souhaitez appliquer la protection :

    1. Si l’application que vous souhaitez configurer est déjà répertoriée, sélectionnez-la, puis sélectionnez Modifier.

    2. Si l’application n’est pas répertoriée en haut de la liste, sélectionnez Ajouter un programme à personnaliser. Ensuite, choisissez la façon dont vous souhaitez ajouter l’application.

      • Utilisez Ajouter par nom de programme pour appliquer l’atténuation à tout processus en cours d’exécution portant ce nom. Spécifiez un fichier avec une extension. Vous pouvez saisir un chemin d’accès complet pour limiter la mesure d’atténuation à la seule application portant ce nom et située à cet emplacement.
      • Utilisez Choisir le chemin exact du fichier pour utiliser une fenêtre standard de sélecteur de fichiers Explorateur Windows pour rechercher et sélectionner le fichier souhaité.
  4. Après avoir sélectionné l’application, vous verrez une liste de toutes les atténuations qui peuvent être appliquées. Choisir Audit applique l’atténuation en mode test uniquement. Vous êtes averti si vous devez redémarrer le processus, l’application ou Windows.

  5. Répétez cette procédure pour toutes les applications et atténuations que vous souhaitez configurer. Sélectionnez Appliquer lorsque vous avez terminé de paramétrer votre configuration.

PowerShell

Pour définir les atténuations au niveau de l’application en mode test, utilisez Set-ProcessMitigation avec l’applet de commande Mode Audit .

Utilisez la syntaxe suivante Set-ProcessMitigation pour activer ou auditer les atténuations pour une application spécifique. Remplacez les espaces réservés par la portée, le fichier exécutable, l’action et les applets de commande d’atténuation :

Set-ProcessMitigation -<scope> <app executable> -<action> <mitigation or options>,<mitigation or options>,<mitigation or options>

Où :

  • <Étendue> :
    • -Name pour indiquer que les atténuations doivent être appliquées à une application spécifique. Spécifiez l’exécutable de l’application après cet indicateur.
  • <Action> :
    • -Enable pour activer l’atténuation
      • -Disable désactiver la mesure d’atténuation
  • <Atténuation :>
    • Cmdlet de l’atténuation telle que définie dans le tableau suivant. Chaque atténuation est séparée par une virgule.
Limitation des risques Applet de commande du mode test
Guard de code arbitraire (ACG) AuditDynamicCode
Bloquer les images de faible intégrité AuditImageLoad
Bloquer les polices non approuvées AuditFont, FontAuditOnly
Protection de l’intégrité du code AuditMicrosoftSigned, AuditStoreSigned
Désactiver les appels système Win32k AuditSystemCall
Ne pas autoriser les processus enfants AuditChildProcess

Par exemple, la commande suivante active Arbitraire Code Guard (ACG) en mode audit pour une application nommée testing.exe, afin de pouvoir tester l’impact des restrictions de code dynamique avant de les appliquer :

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable AuditDynamicCode

Vous pouvez désactiver le mode audit en remplaçant -Enable par -Disable.

Consulter les événements d’audit de la protection contre les exploits

Pour vérifier quelles applications seraient bloquées, ouvrez l’Observateur d’événements et filtrez sur les événements suivants dans le journal Security-Mitigations.

Fonctionnalité Fournisseur/source ID d’événement Description
Protection contre les exploits Atténuations de sécurité (mode noyau/mode utilisateur) 1 Audit ACG
Protection contre les exploits Atténuations de sécurité (mode noyau/mode utilisateur) 3 Ne pas autoriser l’audit des processus enfants
Protection contre les exploits Atténuations de sécurité (mode noyau/mode utilisateur) 5 Bloquer l’audit des images à faible intégrité
Protection contre les exploits Atténuations de sécurité (mode noyau/mode utilisateur) 7 Bloquer l’audit des images distantes
Protection contre les exploits Atténuations de sécurité (mode noyau/mode utilisateur) 9 Désactiver l’audit des appels système win32k
Protection contre les exploits Atténuations de sécurité (mode noyau/mode utilisateur) 11 Audit de la protection d’intégrité du code