Разрешение регистрации COM-объектов в политике управления приложениями Защитник Windows

Примечание.

Некоторые возможности управления приложениями в Защитнике Windows доступны только в определенных версиях для Windows. Дополнительные сведения о доступности функций управления приложениями.

Microsoft Component Object Model (COM) — это независимая от платформы распределенная объектно-ориентированная система для создания двоичных программных компонентов, которые могут взаимодействовать. COM задает объектную модель и требования к программированию, которые позволяют COM-объектам взаимодействовать с другими объектами.

Возможность настройки com-объектов в политике WDAC

Защитник Windows управление приложениями (WDAC) применяет встроенный список разрешений для регистрации COM-объектов. Хотя этот список подходит для наиболее распространенных сценариев использования приложений, может потребоваться разрешить больше COM-объектов для поддержки приложений, используемых в вашей организации. Вы можете указать разрешенные COM-объекты с помощью guid в политике WDAC, как описано в этой статье.

Примечание.

Чтобы добавить эту функцию в другие версии Windows 10, можно установить следующие или более поздние обновления.

Получение GUID COM-объекта

Вы можете получить GUID приложения COM из событий блока com-объектов 8036 в Просмотр событий, расположенных в разделе Журналы > приложений и служб Microsoft > Windows > AppLocker > MSI и script, а также извлечь GUID из данных о событиях.

Создание параметра политики для разрешения или запрета GUID COM-объекта

Три элемента:

  • Поставщик: платформа, на которой выполняется код (значения PowerShell, WSH, IE, VBA, MSI или подстановочный знак AllHostIds).
  • Ключ: GUID для программы, которую вы хотите запустить, в формате Key="{33333333-4444-4444-1616-161616161616}"
  • ValueName: необходимо задать значение EnterpriseDefinedClsId.

Один атрибут:

  • Значение: должно быть "true" для разрешения и "false" для запрета.

    Примечание.

    Запрет работает только в базовых политиках, но не в дополнительных политиках

  • Параметр должен быть помещен в порядке значений ASCII (сначала по поставщику, затем по ключу, а затем по значению ValueName).

Рекомендации по нескольким политикам

Как и в случае с исполняемыми файлами, COM-объекты должны передавать все принудительные политики WDAC в системе для запуска. Например, если объект COM, который выполняется вычисление, пропускает большинство, но не все политики WDAC, com-объект блокируется. Если вы используете сочетание базовых и дополнительных политик, объект COM должен быть включен в список разрешений либо в базовой политике, либо в одной из дополнительных политик.

Примеры:

Пример 1. Разрешает регистрацию всех идентификаторов GUID ОБЪЕКТОВ COM в любом поставщике

<Setting Provider="AllHostIds" Key="AllKeys" ValueName="EnterpriseDefinedClsId">
  <Value>
    <Boolean>true</Boolean>
  </Value>
</Setting>

Пример 2. Блокирует регистрацию определенного COM-объекта через Интернет-Обозреватель (IE)

<Setting Provider="IE" Key="{00000000-4444-4444-1616-161616161616}" ValueName="EnterpriseDefinedClsId">
  <Value>
    <Boolean>false</Boolean>
  </Value>
</Setting>

Пример 3. Позволяет зарегистрировать определенный COM-объект в PowerShell

<Setting Provider="PowerShell" Key="{33333333-4444-4444-1616-161616161616}" ValueName="EnterpriseDefinedClsId">
  <Value>
    <Boolean>true</Boolean>
  </Value>
</Setting>

Настройка параметров для идентификаторов CLSID

Ниже приведен пример ошибки в Просмотр событий, найденной в разделе Журналы > приложений и служб Microsoft > Windows > AppLocker > MSI и скрипт:

Имя журнала: Microsoft-Windows-AppLocker/MSI и скрипт
Источник: Microsoft-Windows-AppLocker
Дата: 11.11.2020 13:18:11
Идентификатор события: 8036
Категория задачи: Нет
Уровень: ошибка
Ключевые слова:
Пользователь: S-1-5-21-3340858017-3068726007-3466559902-3647
Компьютер: contoso.com
Описание: {f8d253d9-89a4-4daa-87b6-1168369f0b21} было запрещено из-за политики конфигурации CI.

XML события:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-AppLocker" Guid="{cbda4dbf-8d5d-4f69-9578-be14aa540d22}" />
    <EventID>8036</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x4000000000000000</Keywords>
    <TimeCreated SystemTime="2020-11-11T13:18:11.4029179Z" />
    <EventRecordID>819347</EventRecordID>
    <Correlation ActivityID="{61e3e871-adb0-0047-c9cc-e761b0add601}" />
    <Execution ProcessID="21060" ThreadID="23324" />
    <Channel>Microsoft-Windows-AppLocker/MSI and Script</Channel>
    <Computer>contoso.com</Computer>
    <Security UserID="S-1-5-21-3340858017-3068726007-3466559902-3647" />
  </System>
  <EventData>
    <Data Name="IsApproved">false</Data>
    <Data Name="CLSID">{f8d253d9-89a4-4daa-87b6-1168369f0b21}</Data>
  </EventData>
</Event>

Чтобы добавить этот CLSID в существующую политику, выполните следующие действия:

  1. Откройте среду интегрированной среды сценариев PowerShell с правами администратора.

  2. Скопируйте и измените эту команду, а затем запустите ее из интегрированной среды сценариев PowerShell администратора. Рассмотрите имя политики как WDAC_policy.xml.

    PS C:\WINDOWS\system32> Set-CIPolicySetting -FilePath <path to policy xml>\WDAC_policy.xml -Key "{f8d253d9-89a4-4daa-87b6-1168369f0b21}" -Provider WSH -Value true -ValueName EnterpriseDefinedClsId -ValueType Boolean
    

    После выполнения команды найдите следующий раздел, добавленный в XML-код политики.

    <Settings>
      <Setting Provider="WSH" Key="{f8d253d9-89a4-4daa-87b6-1168369f0b21}" ValueName="EnterpriseDefinedClsId">
        <Value>
          <Boolean>true</Boolean>
        </Value>
      </Setting>
    

Список разрешенных com-объектов по умолчанию

В следующей таблице описан список COM-объектов, которые по своей сути являются доверенными в Защитник Windows Application Control. Объекты в этом списке не обязательно должны быть разрешены в политиках WDAC. Их можно запретить, создав явные правила запрета в политике WDAC.

Имя файла CLSID
scrrun.dll EE09B103-97E0-11CF-978F-00A02463E06F
scrrun.dll 0D43FE01-F093-11CF-8940-00A0C9054228
vbscript.dll 3F4DACA4-160D-11D2-A8E9-00104B365C9F
WEX. Loger.Log 70B46225-C474-4852-BB81-48E0D36F9A5A
TE. Common.TestData 1d68f3c0-b5f8-4abd-806a-7bc57cdce35a
TE. Common.RuntimeParameters 9f3d4048-6028-4c5b-a92d-01bc9777af600
TE. Common.Verify e72cbabf-8e48-4d27-b14e-1f347f6ec71a
TE. Common.Прерывание 5850ba6f-ce72-46d4-a29b-0d3d9f08cc0b
msxml6.dll 2933BF90-7B36-11d2-B20E-00C04F983E60
msxml6.dll ED8C108E-4349-11D2-91A4-00C04F7969E8
mmcndmgr.dll ADE6444B-C91F-4E37-92A4-5BB430A33340
puiobj.dll B021FF57-A928-459C-9D6C-14DED0C9BED2
wdtf.dll 041E868E-0C7D-48C6-965F-5FD576530E5B
wdtfedtaction.dll 0438C02B-EB9C-4E42-81AD-407F6CD6CDE1
wdtfioattackaction.dll 078B1F7D-C34C-4B13-A7C3-9663901650F1
wdtfmutt2tcdsimpleioaction.dll 0ABB2961-2CC1-4F1D-BE8E-9D330D06B77D
wdtfdriverpackageaction.dll 0D7237E6-930F-4682-AD0A-52EBFFD3AEE3
wdtf.dll 0D972387-817B-46E7-913F-E9993FF401EB
wdtf.dll 0E770B12-7221-4A5D-86EE-77310A5506BB
wdtfdriversetupdeviceaction.dll 0FA57208-5100-4CD6-955C-FE69F8898973
wdtf.dll 1080A020-2B47-4DA9-8095-DBC9CEFFFC04
wdtfnetworksimpleioaction.dll 10CF2E12-1681-4C53-ADC0-932C84832CD8
wdtf.dll 140F2286-3B39-4DE1-AF94-E083DEEA6BB9
wdtfinterfaces.dll 1A7D6D61-4FE5-42E2-8F23-4FC1731C474F
wdtfaudiosimpleioaction.dll 1C658D42-4256-4743-A4C5-90BF3A3A186A
wdtf.dll 2236B1F3-4A33-48C2-B22C-A1F93A626F05
wdtfsystemaction.dll 23440924-1AB0-41F2-A732-B75069E5C823
wdtfdriversetupsystemaction.dll 238C0AEB-1DFC-4575-AAF3-C67FE15C1819
wdtffuzztestaction.dll 23D0E542-0390-4873-9AC7-EF86E95E5215
wdtf.dll 240FA08C-1D70-40CB-BDB3-2CC41A45496B
wdtf.dll 26CC4211-A9A6-4E5C-A30D-3C659BB4CDC9
wdtf.dll 28EE5F0B-97D8-4A59-BAC8-A8A80E11F56B
wdtf.dll 2C9AF7D6-2589-4413-A2BA-9926EBCFD67C
wdtf.dll 32A9798D-987F-489E-8DB6-2EFB240248BD
wdtfinterfaces.dll 3C0B0D50-611A-4368-AC87-4488D6E0C4A7
wdtfcdromsimpleioaction.dll 3F2C07F3-199B-4165-A948-B8B59A97FCC5
wdtf.dll 485785D3-8820-4C3D-A532-4C0F66392A30
wdtfinterfaces.dll 5EAE59BE-6946-44B7-A7B3-1D59811B246A
wdtfiospyaction.dll 698F6A82-7833-4499-8BA5-2145D604ABD4
wdtfdevicesupportaction.dll 69D94D1B-0833-40D4-9AE7-7FC6F64F2624
wdtf.dll 6EE5B280-3B0F-4358-9E20-99F169FAA700
wdtfmuttsimpleioaction.dll 7776915A-0370-49A7-90B7-20EB36E80B6D
wdtfcpuutilizationsystemaction.dll 7926C7DE-299C-4B09-BB1B-649A4B917ED0
wdtfwirelesssimpleioaction.dll 7A686BCD-9203-435C-8B06-9D7E7A518F98
wdtfbluetoothsimpleioaction.dll 7E6C4615-6184-4077-A150-5D30F29993A4
wdtf.dll 9663A00A-5B72-4810-9014-C77108062949
wdtfinterfaces.dll 9C261B2B-DBD6-4087-B636-ABE1607989E8
wdtfwebcamsimpleioaction.dll A1B74619-F02D-4574-8091-2AADD46A5B2B
wdtf.dll A2FD15D7-64F0-4080-AABD-884380202022
wdtfvolumesimpleioaction.dll AC91E813-B116-4676-AE33-2988B590F3C7
wdtfconcurrentioaction.dll AE278430-ABC2-49D1-AF30-910B9A88CB1E
wdtf.dll B43FF7F1-629C-4DE5-9559-1D09E0A07037
wdtfdriververifiersystemaction.dll B7770265-B643-4600-A60B-93F9BA9F4B24
wdtfpnpaction.dll B8D74985-4EB9-46AA-B2ED-DD2D918849DF
wdtfmobilebroadbandsimpleioaction.dll BCFBBB02-4DA5-466C-9DA7-DC672877B075
wdtf.dll BE56FAD1-A489-4508-ABB7-3348E1C2C885
wdtfpnpaction.dll C0B6C572-D37D-47CC-A89D-E6B9E0852764
wdtfioattackaction.dll C88B324E-6B26-49BC-9D05-A221F15D7E13
wdtfsensorsiosimpleioaction.dll C8BF7EC0-C746-4DE8-BA46-34528C6329FB
wdtfanysimpleioaction.dll C8C574DA-367B-4130-AED6-1EA61A5C6A4B
simpleio_d3dtest.dll CBC36BDB-A6BC-4383-8194-659470553488
wdtfsystemaction.dll D30E1E07-AA39-4086-A7E6-9245FBD0A730
wdtf.dll DD34E741-139D-4F4C-A1E2-D4184FCDD4F9
wdtfsupaction.dll EA48171B-4265-48C3-B56B-70B175A7FDFA
wdtfinterfaces.dll EB9DB874-D23D-44D5-A988-85E966322843
wdtfinterfaces.dll ED05EF76-09A9-4409-90CA-C5D0711CA057
wdtfwpdsimpleioaction.dll EEA17F2B-8E8E-41A3-9776-A87FACD625D0
wdtfinterfaces.dll F30FC2BB-F424-4A1F-8F95-68CFEE935E92
wdtfedtaction.dll F6694E02-5AD0-476D-BD2D-43F7E5D10AF6
wdtfsmartcardreadersimpleioaction.dll FA6F7E49-76C6-490C-B50E-8B1E8E0EEE2A
wdtfiospyaction.dll FE36026D-CDA8-4514-B3D9-57BDA3870D0C