- Отключаем систему защиты Control Flow Guard в Windows 10
- Что такое Control Flow Guard
- Как отключить Control Flow Guard в Windows 10
- Что такое Control Flow Guard в Windows 10 – как его включить или выключить
- Контроль Flow Guard в Windows 10
- 1] Что такое Control Flow Guard и как он работает
- 2] Как Control Flow Guard влияет на производительность браузера
- 3] Как отключить Control Flow Guard в Windows 10
- Настройка защиты от эксплойтов Customize exploit protection
- Использование смягчения защиты Exploit protection mitigations
- Настройка системных смягчений с помощью приложения Безопасности Windows Configure system-level mitigations with the Windows Security app
- Справка PowerShell PowerShell reference
- Справочная таблица PowerShell PowerShell reference table
- Настройка уведомления Customize the notification
Отключаем систему защиты Control Flow Guard в Windows 10
Совершенно случайно наткнулся на статью о системе защиты Control Flow Guard, которая появилась в Windows 10 и Windows 8.1 Update 3 после одного из обновлений. Оказывается это технология сильно тормозит работу компьютера, особенно это ощущается на ПК без SSD диска.
Вот как было у меня:
Пользовался ноутбуком на Windows 8, скорость работы и всё остальное меня вполне устраивало. Но потом вышла Windows 10 и компьютер постоянно начал предлагать обновится. Я с этим делом не торопился и решил, что буду переходить на десятку намного позже, чтобы разработчики исправили баги, так присущие их продуктам, особенно «сырым».
Обновился до Windows 10 в один из последних дней возможного бесплатного перехода на новую операционную систему и сразу заметил как упала скорость работы по сравнению с восьмеркой. Возможности откатить на Windows 8 уже не было. Пришлось «наслаждаться» тем что имеем.
И вот спустя почти год я вдруг узнал, что есть такая программа как Control Flow Guard и она всему виной. Как говорится — «Лучше поздно, чем никогда!».
Что такое Control Flow Guard
Это система защиты персонального компьютера от атак, которые направлены на повреждение памяти. Стал разбираться и оказалось, данная технология непосредственна связана с Защитником Windows. Получается большое количество людей, которые используют другие антивирусы и у которых стандартный виндосовский защитник отключен не используют эту технологию защиты. Ну и славно. Значит не так она и важна.
В любом случае интересно провести эксперимент и сравнить скорость загрузки и работы ноутбука с CFG и без неё. Сказано — сделано!
Как отключить Control Flow Guard в Windows 10
У кого стоит Windows 8, думаю, по аналогии не составит труда разобраться ведь отключается CFG в защитнике виндоус. Для наглядности прилагаю скриншот ниже.
- Заходим в Защитник Windows.
- Переходим на вкладку «Управление приложениями и браузером».
- Находим там защиту потока управления и в выпадающем списке ставим значение «Выкл, по умолчанию».
- Перезагружаем компьютер и наслаждаемся более быстрой загрузкой.
Что такое Control Flow Guard в Windows 10 – как его включить или выключить
Встроенная функция безопасности Windows 10 – Control Flow Guard (CFG) предназначена для борьбы с уязвимостями повреждения памяти. Control Flow Guard помогает предотвратить повреждение памяти, что очень помогает предотвратить атаки вымогателей. Возможности сервера ограничены тем, что необходимо в этот момент времени, чтобы уменьшить поверхность атаки. Защита от эксплойтов является частью функции защиты от эксплойтов в Защитнике Windows. CFG является частью этой функции.
Контроль Flow Guard в Windows 10
Давайте немного углубимся в функцию Control Flow Guard в Windows 10 и ответим на несколько вопросов, таких как:
- Что такое Control Flow Guard и как он работает?
- Как Control Flow Guard влияет на производительность браузера?
- Как отключить Control Flow Guard?
1] Что такое Control Flow Guard и как он работает
Control Flow Guard – это функция, которая усложняет эксплойтам выполнение произвольного кода из-за уязвимостей, таких как переполнение буфера. Как мы знаем, уязвимости программного обеспечения часто эксплуатируются путем предоставления маловероятных, необычных или экстремальных данных работающей программе. Например, злоумышленник может воспользоваться уязвимостью, связанной с переполнением буфера, предоставляя программе больше входных данных, чем ожидалось, тем самым превышая область, зарезервированную программой для хранения ответа. Эта схема может повредить соседнюю память, которая может содержать указатель на функцию. Когда программа вызывает эту функцию, она может перейти в непредусмотренное место, указанное злоумышленником.
Чтобы избежать таких случаев, мощная комбинация поддержки компиляции и времени выполнения от Control Flow Guard реализует целостность потока управления, которая жестко ограничивает места, где могут выполняться инструкции косвенного вызова. Он также определяет набор функций в приложении, которые могут быть потенциальными целями для косвенных вызовов. Таким образом, Control Flow Guard добавляет дополнительные проверки безопасности, которые могут обнаружить попытки взлома исходного кода.
Когда проверка CFG не выполняется во время выполнения, Windows немедленно завершает работу программы, тем самым устраняя любую уязвимость, которая пытается косвенно вызвать неверный адрес.
2] Как Control Flow Guard влияет на производительность браузера
Сообщается, что эта функция вызывает проблемы с производительностью браузеров на базе Chromium. Все основные браузеры, такие как Google Chrome, Microsoft Edge browser, Vivaldi и многие другие, похоже, пострадали от этого. Эта проблема обнаружилась, когда разработчики Vivaldi запустили модульные тесты Chromium в Windows 7 и обнаружили, что они работают быстрее, чем в самой последней версии Windows 10.
Менеджер команды ядра Windows признал проблему и сказал, что они создали исправление, которое будет выпущено через пару недель.
3] Как отключить Control Flow Guard в Windows 10
Если вы хотите отключить эту функцию, следуйте этой процедуре.
Нажмите Пуск и найдите Безопасность Windows .
Выберите «Безопасность Windows» на левой панели раздела « Обновление и безопасность » в настройках Защитника Windows.
Выберите « Управление приложениями и браузером » и прокрутите вниз, чтобы найти « Настройки защиты от эксплойтов ». Выберите его и выберите Control Flow Guard ’.
Нажмите стрелку раскрывающегося списка и выберите «Выключить по умолчанию».
Настройка защиты от эксплойтов Customize exploit protection
Область применения: Applies to:
Хотите испытать Defender для конечной точки? Want to experience Defender for Endpoint? Зарегистрився для бесплатной пробной. Sign up for a free trial.
Защита от эксплойтов автоматически применяет ряд методов смягчения последствий эксплойта как в операционных системах, так и в отдельных приложениях. Exploit protection automatically applies a number of exploit mitigation techniques on both the operating system processes and on individual apps.
Настройка этих параметров с помощью приложения Windows Security на отдельном устройстве. Configure these settings using the Windows Security app on an individual device. Затем экспортировать конфигурацию в качестве XML-файла, чтобы можно было развернуть на других устройствах. Then, export the configuration as an XML file so you can deploy to other devices. Используйте групповую политику для распространения XML-файла сразу на нескольких устройствах. Use Group Policy to distribute the XML file to multiple devices at once. Вы также можете настроить смягчение с помощью PowerShell. You can also configure the mitigations with PowerShell.
В этой статье перечислены все меры по смягчению последствий, доступные в защите от эксплойтов. This article lists each of the mitigations available in exploit protection. В нем указывается, можно ли применять смягчение по всей системе или к отдельным приложениям, и содержит краткое описание работы по смягчению последствий. It indicates whether the mitigation can be applied system-wide or to individual apps, and provides a brief description of how the mitigation works.
В нем также описывается, как включить или настроить меры по смягчению последствий с помощью поставщиков служб конфигурации Windows Security, PowerShell и управления мобильными устройствами (MDM). It also describes how to enable or configure the mitigations using Windows Security, PowerShell, and mobile device management (MDM) configuration service providers (CSPs). Это первый шаг в создании конфигурации, которую можно развернуть по всей сети. This is the first step in creating a configuration that you can deploy across your network. Следующий шаг включает создание, экспорт, импорт и развертывание конфигурации на нескольких устройствах. The next step involves generating, exporting, importing, and deploying the configuration to multiple devices.
Некоторые технологии по смягчению последствий для безопасности могут иметь проблемы с совместимостью с некоторыми приложениями. Some security mitigation technologies may have compatibility issues with some applications. Необходимо протестировать защиту от эксплуатации во всех сценариях целевого использования с помощью режима аудита перед развертыванием конфигурации в производственной среде или остальной части сети. You should test exploit protection in all target use scenarios by using audit mode before deploying the configuration across a production environment or the rest of your network.
Использование смягчения защиты Exploit protection mitigations
Все смягчающие меры можно настроить для отдельных приложений. All mitigations can be configured for individual apps. Некоторые меры по смягчению последствий также могут применяться на уровне операционной системы. Some mitigations can also be applied at the operating system level.
Вы можете установить каждое из этих значений по умолчанию. You can set each of the mitigations on, off, or to their default value. Некоторые меры по смягчению последствий имеют дополнительные параметры, указанные в описании в таблице. Some mitigations have additional options that are indicated in the description in the table.
Значения по умолчанию всегда заданы в скобках в параметре Use default для каждого смягчения. Default values are always specified in brackets at the Use default option for each mitigation. В следующем примере по умолчанию для предотвращения выполнения данных существует значение «On». In the following example, the default for Data Execution Prevention is «On».
Конфигурация Использования по умолчанию для каждого из параметров смягчения указывает на нашу рекомендацию по базовому уровню защиты для повседневного использования для домашних пользователей. The Use default configuration for each of the mitigation settings indicates our recommendation for a base level of protection for everyday usage for home users. Развертывания предприятий должны учитывать защиту, необходимую для их индивидуальных потребностей, и, возможно, потребуется изменить конфигурацию вдали от по умолчанию. Enterprise deployments should consider the protection required for their individual needs and may need to modify configuration away from the defaults.
Для связанных с PowerShell cmdlets для каждого смягчения см. в справочной таблице PowerShell в нижней части этой статьи. For the associated PowerShell cmdlets for each mitigation, see the PowerShell reference table at the bottom of this article.
Устранение рисков Mitigation | Описание Description | Можно применить к Can be applied to | Доступный режим аудита Audit mode available |
---|---|---|---|
Диспетчерская система потока (CFG) Control flow guard (CFG) | Обеспечивает целостность потока управления для непрямых вызовов. Ensures control flow integrity for indirect calls. Может необязательным образом подавлять экспорт и использовать строгий CFG. Can optionally suppress exports and use strict CFG. | Системный и app-level System and app-level | |
Предотвращение выполнения данных (DEP) Data Execution Prevention (DEP) | Предотвращает запуск кода со страниц памяти только для данных, таких как куча и стеки. Prevents code from being run from data-only memory pages such as the heap and stacks. Настраивается только для 32-битных (x86) приложений, которые постоянно включены для всех других архитектур. Only configurable for 32-bit (x86) apps, permanently enabled for all other architectures. Может дополнительно включить эмуляцию thunk ATL. Can optionally enable ATL thunk emulation. | Системный и app-level System and app-level | |
Force randomization for images (Mandatory ASLR) Force randomization for images (Mandatory ASLR) | Принудительно передает изображения, не компилироваться с /DYNAMICBASE. Forcibly relocates images not compiled with /DYNAMICBASE. Может по желанию сбой загрузки изображений, которые не имеют данных о переносе. Can optionally fail loading images that don’t have relocation information. | Системный и app-level System and app-level | |
Рандомизация распределений памяти (Снизу вверх ASLR) Randomize memory allocations (Bottom-Up ASLR) | Рандомизирует расположения для виртуальных распределений памяти. Randomizes locations for virtual memory allocations. Он включает в себя кучи структуры системы, стеки, TEBs и PEBs. It includes system structure heaps, stacks, TEBs, and PEBs. Можно дополнительно использовать более широкую дисперсию рандомизации для 64-битных процессов. Can optionally use a wider randomization variance for 64-bit processes. | Системный и app-level System and app-level | |
Проверка цепочек исключений (SEHOP) Validate exception chains (SEHOP) | Обеспечивает целостность цепочки исключений во время отправки исключений. Ensures the integrity of an exception chain during exception dispatch. Настраивается только для 32-битных (x86) приложений. Only configurable for 32-bit (x86) applications. | Системный и app-level System and app-level | |
Проверка целостности кучи Validate heap integrity | Завершает процесс при обнаружении повреждения кучи. Terminates a process when heap corruption is detected. | Системный и app-level System and app-level | |
Произвольный охранник кода (ACG) Arbitrary code guard (ACG) | Предотвращает введение исполняемого кода, не являемого изображением, и предотвращает изменение страниц кода. Prevents the introduction of non-image-backed executable code and prevents code pages from being modified. Можно дополнительно разрешить отключение потока и разрешить удаленное понижение (настраиваемое только с Помощью PowerShell). Can optionally allow thread opt-out and allow remote downgrade (configurable only with PowerShell). | Только на уровне приложений App-level only | |
Блокировка изображений с низкой целостностью Block low integrity images | Предотвращает загрузку изображений с низкой целостностью. Prevents the loading of images marked with Low Integrity. | Только на уровне приложений App-level only | |
Блокировка удаленных изображений Block remote images | Предотвращает загрузку изображений с удаленных устройств. Prevents loading of images from remote devices. | Только на уровне приложений App-level only | ! [Проверить метку нет] (/security/defender-endpoint/images/svg/check-no  Export address filtering (EAF) | Обнаруживает опасные операции, разрешаемые вредоносным кодом. Detects dangerous operations being resolved by malicious code. Может дополнительно проверять доступ к модулям, часто используемым эксплойтами. Can optionally validate access by modules commonly used by exploits. | Только на уровне приложений App-level only | |
Фильтрация адресов импорта (IAF) Import address filtering (IAF) | Обнаруживает опасные операции, разрешаемые вредоносным кодом. Detects dangerous operations being resolved by malicious code. | Только на уровне приложений App-level only | |
Имитация выполнения (SimExec) Simulate execution (SimExec) | Гарантирует, что вызовы конфиденциальных API возвращаются законным звонителям. Ensures that calls to sensitive APIs return to legitimate callers. Настраивается только для 32-битных (x86) приложений. Only configurable for 32-bit (x86) applications. Несовместимо с ACG Not compatible with ACG | Только на уровне приложений App-level only | |
Проверка вызова API (CallerCheck) Validate API invocation (CallerCheck) | Гарантирует, что конфиденциальные API вызываются законными звонителями. Ensures that sensitive APIs are invoked by legitimate callers. Настраивается только для 32-битных (x86) приложений. Only configurable for 32-bit (x86) applications. Несовместимо с ACG Not compatible with ACG | Только на уровне приложений App-level only | |
Проверка использования ручки Validate handle usage | Вызывает исключение, которое будет поднято на любые ссылки на недействительные ручки. Causes an exception to be raised on any invalid handle references. | Только на уровне приложений App-level only | |
Проверка целостности зависимостей изображений Validate image dependency integrity | Обеспечивает выполнение подписи кода для загрузки зависимостей изображений Windows. Enforces code signing for Windows image dependency loading. | Только на уровне приложений App-level only | |
Проверка целостности стека (StackPivot) Validate stack integrity (StackPivot) | Гарантирует, что стек не был перенаправлен для конфиденциальных API. Ensures that the stack hasn’t been redirected for sensitive APIs. Несовместимо с ACG Not compatible with ACG | Только на уровне приложений App-level only |
Если вы добавите приложение в раздел Параметры программы и настроите там отдельные параметры смягчения, они будут соблюдаться выше конфигурации для тех же смягчений, указанных в разделе Параметры системы. If you add an app to the Program settings section and configure individual mitigation settings there, they will be honored above the configuration for the same mitigations specified in the System settings section. В следующей матрице и примерах показано, как работают по умолчанию: The following matrix and examples help to illustrate how defaults work:
Включено в параметрах программы Enabled in Program settings | Включено в параметрах System Enabled in System settings | Поведение Behavior |
---|---|---|
Как определено в параметрах программы As defined in Program settings | ||
Как определено в параметрах программы As defined in Program settings | ||
Как определено в параметрах System As defined in System settings | ||
По умолчанию, как определено в параметре Использование по умолчанию Default as defined in Use default option |
Пример 1 Example 1
Mikael настраивает предотвращение выполнения данных (DEP) в разделе Параметры системы для отключения по умолчанию. Mikael configures Data Execution Prevention (DEP) in the System settings section to be Off by default.
Затем Микаэль добавляет приложение test.exe в раздел Параметры программы. Mikael then adds the app test.exe to the Program settings section. В параметрах этого приложения в статье Предотвращение выполнения данных (DEP) он включает параметр параметры системы Override и задает переключатель На. In the options for that app, under Data Execution Prevention (DEP), he enables the Override system settings option and sets the switch to On. В разделе Параметры программы не указаны другие приложения. There are no other apps listed in the Program settings section.
В результате deP будет включен только для test.exe. The result will be that DEP only will be enabled for test.exe. Все другие приложения не будут применяться к DEP. All other apps will not have DEP applied.
Пример 2 Example 2
Josie настраивает предотвращение выполнения данных (DEP) в разделе Параметры системы, которые будут отключены по умолчанию. Josie configures Data Execution Prevention (DEP) in the System settings section to be Off by default.
Затем Джози добавляет приложение test.exe в раздел Параметры программы. Josie then adds the app test.exe to the Program settings section. В параметрах для этого приложения в статье Предотвращение выполнения данных (DEP) она включает параметр параметры системы Override и задает переключатель На. In the options for that app, under Data Execution Prevention (DEP), she enables the Override system settings option and sets the switch to On.
Джози также добавляет приложениеmiles.exe в раздел Параметры программы и настраивает службу управления потоком (CFG) в On. Josie also adds the app miles.exe to the Program settings section and configures Control flow guard (CFG) to On. Она не включает параметры системы Переопределения для DEP или любые другие меры по смягчению последствий для этого приложения. She doesn’t enable the Override system settings option for DEP or any other mitigations for that app.
В результате deP будет включен для test.exe. The result will be that DEP will be enabled for test.exe. DEP не будет включен для любого другого приложения, включая miles.exe. DEP will not be enabled for any other app, including miles.exe. CFG будет включен для miles.exe. CFG will be enabled for miles.exe.
Если вы нашли какие-либо проблемы в этой статье, вы можете сообщить об этом непосредственно партнеру Windows Server/Windows Client или использовать номера технической поддержки Майкрософт для вашей страны. If you have found any issues in this article, you can report it directly to a Windows Server/Windows Client partner or use the Microsoft technical support numbers for your country.
Настройка системных смягчений с помощью приложения Безопасности Windows Configure system-level mitigations with the Windows Security app
Откройте приложение Windows Security, выбрав значок щита в панели задач или нажав меню пусковых пусков для Defender. Open the Windows Security app by selecting the shield icon in the task bar or searching the start menu for Defender.
Выберите плитку управления & браузера (или значок приложения в левой панели меню), а затем выберите защиту exploit. Select the App & browser control tile (or the app icon on the left menu bar) and then select Exploit protection.
В разделе Параметры системы найдите смягчение, необходимое для настройки, и выберите один из следующих. Under the System settings section, find the mitigation you want to configure and select one of the following. Приложения, которые не настроены по отдельности в разделе Параметры программы, будут использовать параметры, настроенные здесь: Apps that aren’t configured individually in the Program settings section will use the settings configured here:
- По умолчанию — смягчение включено для приложений, которые не имеют этого набора смягчения в разделе параметры программы, определенные для приложения.On by default — The mitigation is enabled for apps that don’t have this mitigation set in the app-specific Program settings section
- Отключено по умолчанию . Смягчение отключено для приложений, которые не имеют этого набора смягчения в разделе параметры программы для определенных приложений.Off by default — The mitigation is disabled for apps that don’t have this mitigation set in the app-specific Program settings section
- Использование по умолчанию . Смягчение может быть включено или отключено в зависимости от конфигурации по умолчанию, настроенной установкой Windows 10; значение по умолчанию (On or Off) всегда указывается рядом со меткой Использование по умолчанию для каждого смягчения Use default — The mitigation is either enabled or disabled, depending on the default configuration that is set up by Windows 10 installation; the default value (On or Off) is always specified next to the Use default label for each mitigation
При изменении некоторых параметров может появиться окно управления учетной записью пользователя. You may see a User Account Control window when changing some settings. Введите учетные данные администратора, чтобы применить этот параметр. Enter administrator credentials to apply the setting.
Изменение некоторых параметров может потребовать перезапуска. Changing some settings may require a restart.
Повторите это для всех системных смягчений, которые необходимо настроить. Repeat this for all the system-level mitigations you want to configure.
Перейдите в раздел Параметры программы и выберите приложение, которое необходимо применить к: Go to the Program settings section and choose the app you want to apply mitigations to:
- Если приложение, которое нужно настроить, уже перечислены, выберите его и выберите Изменить If the app you want to configure is already listed, select it and then select Edit
- Если приложение не указано, в верхней части списка выберите программу Добавить для настройки, а затем выберите, как добавить приложение: If the app isn’t listed, at the top of the list select Add program to customize and then choose how you want to add the app:
- Используйте Add по имени программы, чтобы смягчение было применено к любому запущенного процесса с этим именем. Use Add by program name to have the mitigation applied to any running process with that name. Необходимо указать файл с расширением. You must specify a file with an extension. Вы можете ввести полный путь, чтобы ограничить смягчение только приложение с этим именем в этом расположении. You can enter a full path to limit the mitigation to only the app with that name in that location.
- Выберите точный путь к файлу, чтобы использовать стандартное окно выбора файлов Windows Explorer для поиска и выбора нужного файла. Use Choose exact file path to use a standard Windows Explorer file picker window to find and select the file you want.
После выбора приложения вы увидите список всех смягчающих последствий, которые можно применить. After selecting the app, you’ll see a list of all the mitigations that can be applied. Чтобы включить смягчение, выберите шажок, а затем измените ползунок на On. To enable the mitigation, select the check box and then change the slider to On. Выберите дополнительные параметры. Select any additional options. Выбор аудита будет применяться только в режиме аудита. Choosing Audit will apply the mitigation in audit mode only. Вы будете уведомлены о необходимости перезапустить процесс или приложение или перезапустить Windows. You will be notified if you need to restart the process or app, or if you need to restart Windows.
Повторите эти действия для всех приложений и смягчения последствий, которые необходимо настроить. Repeat these steps for all the apps and mitigations you want to configure. Выберите Применить, когда вы закончили настройку конфигурации. Select Apply when you’re done setting up your configuration.
Теперь вы можете экспортировать эти параметры в качестве XML-файла или продолжить настройку специальных приложений для смягчения последствий. You can now export these settings as an XML file or continue on to configure app-specific mitigations.
Экспорт конфигурации в виде XML-файла позволяет скопировать конфигурацию с одного устройства на другие устройства. Exporting the configuration as an XML file allows you to copy the configuration from one device onto other devices.
Справка PowerShell PowerShell reference
Вы можете использовать приложение Windows Security для настройки защиты от эксплойтов, или можно использовать cmdlets PowerShell. You can use the Windows Security app to configure Exploit protection, or you can use PowerShell cmdlets.
Параметры конфигурации, которые были недавно изменены, всегда будут применяться независимо от того, используете ли вы PowerShell или Windows Security. The configuration settings that were most recently modified will always be applied — regardless of whether you use PowerShell or Windows Security. Это означает, что если вы используете приложение для настройки смягчения, затем используйте PowerShell для настройки того же смягчения, приложение будет обновляться, чтобы показать изменения, внесенные в PowerShell. This means that if you use the app to configure a mitigation, then use PowerShell to configure the same mitigation, the app will update to show the changes you made with PowerShell. Если вы должны были затем использовать приложение, чтобы изменить смягчение снова, это изменение будет применяться. If you were to then use the app to change the mitigation again, that change would apply.
Любые изменения, развернутые на устройстве с помощью групповой политики, переопределяют локализованную конфигурацию. Any changes that are deployed to a device through Group Policy will override the local configuration. При настройке начальной конфигурации используйте устройство, на которое не будет применена конфигурация групповой политики, чтобы не переопределять изменения. When setting up an initial configuration, use a device that will not have a Group Policy configuration applied to ensure your changes aren’t overridden.
Вы можете использовать глагол PowerShell Get или Set с помощью ProcessMitigation команды. You can use the PowerShell verb Get or Set with the cmdlet ProcessMitigation . Использование будет перечислять текущее состояние конфигурации любых смягчений, которые были включены на устройстве — добавьте Get cmdlet и exe приложения, чтобы увидеть смягчения только для -Name этого приложения: Using Get will list the current configuration status of any mitigations that have been enabled on the device — add the -Name cmdlet and app exe to see mitigations for just that app:
Не настроенные на системном уровне меры по смягчению последствий будут показывать состояние NOTSET . System-level mitigations that have not been configured will show a status of NOTSET .
Для параметров системного уровня указывается параметр по умолчанию для этого NOTSET смягчения. For system-level settings, NOTSET indicates the default setting for that mitigation has been applied.
Для параметров уровня приложения указывается, что параметр системного уровня для смягчения будет NOTSET применен. For app-level settings, NOTSET indicates the system-level setting for the mitigation will be applied.
Параметр по умолчанию для каждого смягчения на уровне системы можно увидеть в Windows Security. The default setting for each system-level mitigation can be seen in the Windows Security.
Используйте Set для настройки каждого смягчения в следующем формате: Use Set to configure each mitigation in the following format:
- : :
- -Name чтобы указать, какие меры по смягчению последствий должны применяться к определенному приложению. -Name to indicate the mitigations should be applied to a specific app. Укажите исполняемое приложение после этого флага. Specify the app’s executable after this flag.
- -System чтобы указать, что смягчение должно применяться на уровне системы -System to indicate the mitigation should be applied at the system level
- : :
- -Enable чтобы включить смягчение -Enable to enable the mitigation
- -Disable отключение смягчения -Disable to disable the mitigation
- : :
- Комлет смягчения, как определено в таблице смлетов смягчения ниже, наряду с любыми подопциями (в окружении пробелов). The mitigation’s cmdlet as defined in the mitigation cmdlets table below, along with any suboptions (surrounded with spaces). Каждое смягчение разделено запятой. Each mitigation is separated with a comma.
Например, чтобы включить смягчение меры по предотвращению выполнения данных (DEP) с помощью эмуляции thunk ATL и для исполняемого под названием testing.exe в папке C:\Apps\LOB\tests, а также предотвратить создание детских процессов, необходимо использовать следующую команду: For example, to enable the Data Execution Prevention (DEP) mitigation with ATL thunk emulation and for an executable called testing.exe in the folder C:\Apps\LOB\tests, and to prevent that executable from creating child processes, you’d use the following command:
Разделите каждый вариант смягчения с запятой. Separate each mitigation option with commas.
Если вы хотите применить DEP на уровне системы, вы используете следующую команду: If you wanted to apply DEP at the system level, you’d use the following command:
Чтобы отключить смягчение последствий, можно -Enable заменить -Disable . To disable mitigations, you can replace -Enable with -Disable . Однако для смягчения последствий на уровне приложений это заставит отключить смягчение только для этого приложения. However, for app-level mitigations, this will force the mitigation to be disabled only for that app.
Если требуется восстановить смягчение до системного по умолчанию, необходимо также включить этот список, как в -Remove следующем примере: If you need to restore the mitigation back to the system default, you need to include the -Remove cmdlet as well, as in the following example:
Вы также можете настроить некоторые меры по смягчению последствий для режима аудита. You can also set some mitigations to audit mode. Вместо того, чтобы использовать для смягчения эту меру, используйте комлет режима Аудита, как указано в таблице смдлетов по смягчению последствий. Instead of using the PowerShell cmdlet for the mitigation, use the Audit mode cmdlet as specified in the mitigation cmdlets table below.
Например, чтобы включить произвольный код Guard (ACG) в режиме аудита для используемой ранееtesting.exe, необходимо использовать следующую команду: For example, to enable Arbitrary Code Guard (ACG) in audit mode for the testing.exe used previously, you’d use the following command:
Режим аудита можно отключить, используя ту же команду, но заменив -Enable -Disable . You can disable audit mode by using the same command but replacing -Enable with -Disable .
Справочная таблица PowerShell PowerShell reference table
В этой таблице перечислены cmdlets PowerShell (и связанный с ним режим аудита), которые можно использовать для настройки каждого смягчения. This table lists the PowerShell cmdlets (and associated audit mode cmdlet) that can be used to configure each mitigation.
Устранение рисков Mitigation | Область применения Applies to | Командлеты PowerShell PowerShell cmdlets | Комлет режима аудита Audit mode cmdlet |
---|---|---|---|
Диспетчерская система потока (CFG) Control flow guard (CFG) | Системный и app-level System and app-level | CFG, StrictCFG, SuppressExports CFG, StrictCFG, SuppressExports | Аудит не доступен Audit not available |
Предотвращение выполнения данных (DEP) Data Execution Prevention (DEP) | Системный и app-level System and app-level | DEP, EmulateAtlThunks DEP, EmulateAtlThunks | Аудит не доступен Audit not available |
Force randomization for images (Mandatory ASLR) Force randomization for images (Mandatory ASLR) | Системный и app-level System and app-level | ForceRelocateImages ForceRelocateImages | Аудит не доступен Audit not available |
Рандомизация распределений памяти (Снизу вверх ASLR) Randomize memory allocations (Bottom-Up ASLR) | Системный и app-level System and app-level | BottomUp, HighEntropy BottomUp, HighEntropy | Аудит не доступен Audit not available |
Проверка цепочек исключений (SEHOP) Validate exception chains (SEHOP) | Системный и app-level System and app-level | SEHOP, SEHOPTelemetry SEHOP, SEHOPTelemetry | Аудит не доступен Audit not available |
Проверка целостности кучи Validate heap integrity | Системный и app-level System and app-level | TerminateOnError TerminateOnError | Аудит не доступен Audit not available |
Произвольный охранник кода (ACG) Arbitrary code guard (ACG) | Только на уровне приложений App-level only | DynamicCode DynamicCode | AuditDynamicCode AuditDynamicCode |
Блокировка изображений с низкой целостностью Block low integrity images | Только на уровне приложений App-level only | BlockLowLabel BlockLowLabel | AuditImageLoad AuditImageLoad |
Блокировка удаленных изображений Block remote images | Только на уровне приложений App-level only | BlockRemoteImages BlockRemoteImages | Аудит не доступен Audit not available |
Блокировка ненарушимого шрифта Block untrusted fonts | Только на уровне приложений App-level only | ОтключениеNonSystemFonts DisableNonSystemFonts | AuditFont, FontAuditOnly AuditFont, FontAuditOnly |
Охрана целостности кода Code integrity guard | Только на уровне приложений App-level only | BlockNonMicrosoftSigned, AllowStoreSigned BlockNonMicrosoftSigned, AllowStoreSigned | AuditMicrosoftSigned, AuditStoreSigned AuditMicrosoftSigned, AuditStoreSigned |
Отключение точек расширения Disable extension points | Только на уровне приложений App-level only | ExtensionPoint ExtensionPoint | Аудит не доступен Audit not available |
Отключение вызовов системы Win32k Disable Win32k system calls | Только на уровне приложений App-level only | DisableWin32kSystemCalls DisableWin32kSystemCalls | AuditSystemCall AuditSystemCall |
Не разрешайте детские процессы Do not allow child processes | Только на уровне приложений App-level only | DisallowChildProcessCreation DisallowChildProcessCreation | AuditChildProcess AuditChildProcess |
Фильтрация адресов экспорта (EAF) Export address filtering (EAF) | Только на уровне приложений App-level only | EnableExportAddressFilterPlus, EnableExportAddressFilter [ 1 ] EnableExportAddressFilterPlus, EnableExportAddressFilter [1] | Аудит не доступен [ 2 ] Audit not available[2] |
Фильтрация адресов импорта (IAF) Import address filtering (IAF) | Только на уровне приложений App-level only | EnableImportAddressFilter EnableImportAddressFilter | Аудит не доступен [ 2 ] Audit not available[2] |
Имитация выполнения (SimExec) Simulate execution (SimExec) | Только на уровне приложений App-level only | EnableRopSimExec EnableRopSimExec | Аудит не доступен [ 2 ] Audit not available[2] |
Проверка вызова API (CallerCheck) Validate API invocation (CallerCheck) | Только на уровне приложений App-level only | EnableRopCallerCheck EnableRopCallerCheck | Аудит не доступен [ 2 ] Audit not available[2] |
Проверка использования ручки Validate handle usage | Только на уровне приложений App-level only | StrictHandle StrictHandle | Аудит не доступен Audit not available |
Проверка целостности зависимостей изображений Validate image dependency integrity | Только на уровне приложений App-level only | EnforceModuleDepencySigning EnforceModuleDepencySigning | Аудит не доступен Audit not available |
Проверка целостности стека (StackPivot) Validate stack integrity (StackPivot) | Только на уровне приложений App-level only | EnableRopStackPivot EnableRopStackPivot | Аудит не доступен [ 2 ] Audit not available[2] |
[ 1. ] Используйте следующий формат, чтобы включить модули EAF для dlls для процесса: [1]: Use the following format to enable EAF modules for dlls for a process:
[ 2. ] Аудит для этого смягчения не доступен с помощью cmdlets PowerShell. [2]: Audit for this mitigation is not available via PowerShell cmdlets.
Настройка уведомления Customize the notification
Дополнительные сведения о настройке уведомления при запуске правила и блокировке приложения или файла см. в примере Windows Security. For more information about customizing the notification when a rule is triggered and blocks an app or file, see Windows Security.