Windows Defender 애플리케이션 제어 정책에서 COM 개체 등록 허용

참고

Windows Defender Application Control의 일부 기능은 특정 Windows 버전에서만 사용할 수 있습니다. 애플리케이션 제어 기능 가용성에 대해 자세히 알아봅니다.

COM(Microsoft Component Object Model)은 상호 작용할 수 있는 이진 소프트웨어 구성 요소를 만들기 위한 플랫폼 독립적이고 분산된 개체 지향 시스템입니다. COM은 COM 개체가 다른 개체와 상호 작용할 수 있도록 하는 개체 모델 및 프로그래밍 요구 사항을 지정합니다.

WDAC 정책의 COM 개체 구성 가능성

Windows Defender WDAC(애플리케이션 제어)는 COM 개체 등록을 위한 기본 제공 허용 목록을 적용합니다. 이 목록은 가장 일반적인 애플리케이션 사용 시나리오에서 작동하지만 더 많은 COM 개체가 organization 사용되는 앱을 지원하도록 허용해야 할 수 있습니다. 이 문서에 설명된 대로 WDAC 정책에서 GUID를 통해 허용된 COM 개체를 지정할 수 있습니다.

참고

이 기능을 다른 버전의 Windows 10 추가하려면 다음 이상 업데이트를 설치할 수 있습니다.

COM 개체 GUID 가져오기

애플리케이션 및 서비스 로그 > Microsoft > Windows > AppLocker > MSI 및 스크립트에 있는 이벤트 뷰어 8036 COM 개체 블록 이벤트에서 COM 애플리케이션 GUID를 가져와서 이벤트 데이터에서 GUID를 추출할 수 있습니다.

COM 개체 GUID를 허용하거나 거부하는 작성자 정책 설정

세 가지 요소:

  • 공급자: 코드가 실행되는 플랫폼(값은 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: 모든 공급자에서 모든 COM 개체 GUID 등록 허용

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

예제 2: 특정 COM 개체가 IE(인터넷 Explorer)를 통해 등록되지 않도록 차단합니다.

<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
날짜: 2020년 11월 11일 오후 1:18:11
이벤트 ID: 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 ISE를 엽니다.

  2. 이 명령을 복사하고 편집한 다음 관리자 PowerShell ISE에서 실행합니다. 정책 이름을 로 간주합니다 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 개체 허용 목록

다음 표에서는 Windows Defender Application Control에서 기본적으로 신뢰할 수 있는 COM 개체 목록을 설명합니다. 이 목록의 개체는 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. Logger.Log 70B46225-C474-4852-BB81-48E0D36F9A5A
Te. Common.TestData 1d68f3c0-b5f8-4abd-806a-7bc57cdce35a
Te. Common.RuntimeParameters 9f3d4048-6028-4c5b-a92d-01bc977af600
Te. Common.Verify e72cbabf-8e48-4d27-b14e-1f347f6ec71a
Te. Common.Interruption 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-8843802020222
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