Deploy Microsoft Defender for Endpoint (MDE). (5) Attack surface reduction Rule
이전글
Attack surface reduction (ASR) Rule에 대해서 다뤄보겠습니다.
우선 아래의 자료에서 ASR에 대해서 확인하였습니다.
Demystifying attack surface reduction rules - Part 1 - Microsoft Community Hub
우선 ASR과 ASR Rule은 차이점이 존재합니다.
ASR(공격 표면 감소)은 Microsoft가 일반적인 맬웨어 및 악용 기술을 제한하는 컨트롤 모음에 부여한 이름입니다. 업계 용어로 HIPS(호스트 침입 방지 시스템) 솔루션이라고 부르는 것입니다.
MDE에서 ASR에 대응 되는 부분은 다음과 같습니다.
- Attack surface reduction rules
- Hardware based isolation
- Application control
- Exploit protection
- Network protection
- Web protection
- Controlled folder access
- Network firewall
Why do I need ASR rules?
ASR Rule은 멀웨어나 랜섬웨어가 많이 사용하는 공통 진입로를 차단하여 공격이 AV나 EDR 자체에 도달하는 것을 방지합니다.
ASR Rule에서 지정한 몇가지 로직에 해당하면, AV에서 신뢰성을 검사하는 개념이 아닌 바로 차단하는 개념으로 이해하시면 좋을 것 같습니다. ASR Rule -> AV -> EDR 순서로 처리 되는 개념이라고 볼 수 있습니다. 예를 들면 Exchange의 경우 규칙 1에 해당하지 않으면 2를 적용하고, 2에 해당하지 않으면 3을 적용하는 개념으로 볼 수 있습니다.
MDE에서 Office, email, script, WMI, LSASS 등과 같이 알려진 몇가지 패턴에 대해서 16개의 ASR Rule을 제공합니다.
ASR rules |
E-mail and Webmail |
Block executable content from email client and webmail |
Microsoft Office |
Block all Office applications from creating child processes |
Block Office applications from creating executable content |
Block Office applications from injecting code into other processes |
Block Win32 API calls from Office macros |
Block Office communication application from creating child processes |
Executables and Scripts |
Block JavaScript or VBScript from launching downloaded executable content |
Block execution of potentially obfuscated scripts |
Block executable files from running unless they meet a prevalence, age, or trusted list criterion |
Use advanced protection against ransomware |
3rd Party Apps |
Block Adobe Reader from creating child processes |
Windows Credentials |
Block credential stealing from the Windows local security authority subsystem |
Windows Management Interface (WMI) |
Block process creations originating from PSExec and WMI commands |
Block persistence through WMI event subscription (Requires Windows 10 version 1903) |
Device Control |
Block untrusted and unsigned processes that run from USB |
우선 위의 Rule을 감사 모드로 적용한 뒤, 조직에서 어떠한 규칙에 대해서 예외처리가 필요한지 설계해야 합니다.
Attack surface reduction -> Create Policy
Platform / Profile 선택 -> Create
Profile Name 입력 -> Next
모든 ASR Rule에 대해서 실제 환경이면 Audit으로 설정하고, 테스트 대상이면 Warn or Block 으로 설정합니다.
Client OS, Server OS 지정
Create
아래의 명령어로 ASR Rule의 적용된 GUID를 확인할 수 있습니다.
Get-MPPreference | Select-Object -ExpandProperty AttackSurfaceReductionRules_Ids
Rule Name | GUID |
Block abuse of exploited vulnerable signed drivers | 56a863a9-875e-4185-98a7-b882c64b5ce5 |
Block Adobe Reader from creating child processes | 7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c |
Block all Office applications from creating child processes | d4f940ab-401b-4efc-aadc-ad5f3c50688a |
Block credential stealing from the Windows local security authority subsystem (lsass.exe) | 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 |
Block executable content from email client and webmail | be9ba2d9-53ea-4cdc-84e5-9b1eeee46550 |
Block executable files from running unless they meet a prevalence, age, or trusted list criterion | 01443614-cd74-433a-b99e-2ecdc07bfc25 |
Block execution of potentially obfuscated scripts | 5beb7efe-fd9a-4556-801d-275e5ffc04cc |
Block JavaScript or VBScript from launching downloaded executable content | d3e037e1-3eb8-44c8-a917-57927947596d |
Block Office applications from creating executable content | 3b576869-a4ec-4529-8536-b80a7769e899 |
Block Office applications from injecting code into other processes | 75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84 |
Block Office communication application from creating child processes | 26190899-1602-49e8-8b27-eb1d0a1ce869 |
Block persistence through WMI event subscription * File and folder exclusions not supported. |
e6db77e5-3df2-4cf1-b95a-636979351e5b |
Block process creations originating from PSExec and WMI commands | d1e49aac-8f56-4280-b9ba-993a6d77406c |
Block untrusted and unsigned processes that run from USB | b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 |
Block Win32 API calls from Office macros | 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b |
Use advanced protection against ransomware | c1db55ab-c21a-4637-bb3f-a12568109d35 |
Attack surface reduction rules reference | Microsoft Learn
Get-MPPreference | Select-Object -ExpandProperty AttackSurfaceReductionRules_Actions
0 = Disable, 1 = Block, 2 = Audit, 6 = Warn
아래의 사이트에서 ASR Test File download
Microsoft Defender for Endpoint attack surface reduction rules demonstrations | Microsoft Learn
[Rule Test] Block Office applications from creating child processes
Test를 위해서 모든 Rule은 Block으로 설정하고 진행하였습니다.
파일 다운로드 -> Open
파일 속성 -> Unblock -> OK
Enable Content
아래와 같이 Block 처리되면서
Error가 발생합니다.
이벤트 뷰어 -> Applications -> Services Logs -> Microsoft -> Windows -> Windows Defender -> Operational
ASR Rule ID가 기록되며, 관련된 세부 정보까지 확인할 수 있습니다.
Windows Security -> Protection history에서도 확인할 수 있습니다.
Advanced Hunting에서 다음과 같이 쿼리
DeviceEvents
| where ActionType contains "Asr"
| extend ParsedFields=parse_json(AdditionalFields)
| project Timestamp, ActionType, FileName, SHA1, InitiatingProcessFileName, InitiatingProcessCommandLine,
DeviceName
Export 결과를 확인합니다.
이것으로 ASR Rule에 대한 포스팅을 마치겠습니다. 더 다루고 싶은 영역들이 있지만, 아직 완벽하게 이해가 되지 않은 부분들이 많습니다.
이 후에 조금 더 Deep dive하여 추가 업데이트를 하겠습니다.
다음 포스팅은 Device Group을 나누어 AIR을 적용을 진행하기전에 Tagging 하는 것에 대해서 다루겠습니다.
2023.11.19 - [Microsoft 365/MDE] - Deploy Microsoft Defender for Endpoint (MDE). (6) Tagging