Exploit Protection 계산
적용 대상:
엔드포인트용 Microsoft Defender를 경험하고 싶으신가요? 무료 평가판을 신청하세요.
Exploit Protection은 다른 디바이스에서 확산 및 감염시키는 데 익스플로잇을 사용하는 맬웨어로부터 디바이스를 보호합니다. 운영 체제 또는 개별 앱에 완화를 적용할 수 있습니다. EMET(강화된 완화 환경 도구 키트)에 있던 다양한 기능들이 Exploit Protection에 포함되어 있습니다. (EMET는 지원이 종료되었습니다.)
감사에서 테스트 환경의 특정 앱에 대한 완화가 작동하는 방식을 확인할 수 있습니다. 프로덕션 환경에서 익스플로잇 보호를 사용하도록 설정 하면 어떤 일이 발생하는지 보여 줍니다. 이를 통해 Exploit Protection이 LOB(기간 업무) 앱에 부정적인 영향을 주지 않음을 확인하고 어떤 의심스러운 이벤트나 악의적인 이벤트가 발생하는지 볼 수 있습니다.
일반 지침
익스플로잇 보호 완화는 운영 체제에서 낮은 수준에서 작동하며, 유사한 하위 수준 작업을 수행하는 일부 종류의 소프트웨어는 익스플로잇 보호를 사용하여 보호되도록 구성된 경우 호환성 문제가 있을 수 있습니다.
익스플로잇 보호로 보호해서는 안 되는 소프트웨어의 종류는 무엇인가요?
- 맬웨어 방지 및 침입 방지 또는 탐지 소프트웨어
- 디버거
- DRM(디지털 권한 관리) 기술(즉, 비디오 게임)을 처리하는 소프트웨어
- 디버깅 방지, 난독 처리 또는 후킹 기술을 사용하는 소프트웨어
익스플로잇 보호를 사용하도록 설정하려면 어떤 유형의 애플리케이션을 고려해야 하나요?
신뢰할 수 없는 데이터를 수신하거나 처리하는 애플리케이션입니다.
악용 방지를 위해 scope 없는 프로세스 유형은 무엇인가요?
서비스
- 시스템 서비스
- 네트워크 서비스
기본적으로 사용하도록 설정된 익스플로잇 보호 완화
완화 | 기본적으로 사용 |
---|---|
데이터 실행 방지(DEP) | 64비트 및 32비트 애플리케이션 |
예외 체인 확인(SEHOP) | 64비트 애플리케이션 |
힙 무결성 확인 | 64비트 및 32비트 애플리케이션 |
사용되지 않는 "프로그램 설정" 완화
"프로그램 설정" 완화 | 이유 |
---|---|
주소 필터링 내보내기(EAF) | 애플리케이션 호환성 문제 |
주소 필터링 가져오기(IAF) | 애플리케이션 호환성 문제 |
실행 시뮬레이션(SimExec) | ACG(임의 Code Guard)로 대체됨 |
API 호출 확인(CallerCheck) | ACG(임의 Code Guard)로 대체됨 |
스택 무결성 확인(StackPivot) | ACG(임의 Code Guard)로 대체됨 |
Office 애플리케이션 모범 사례
Outlook, Word, Excel, PowerPoint 및 OneNote와 같은 Office 애플리케이션에 Exploit Protection을 사용하는 대신 최신 접근 방식을 사용하여 오용을 방지하는 것이 좋습니다. ASR 규칙 공격:
- 전자 메일 클라이언트 및 웹 메일에서 실행 파일 콘텐츠 차단
- Office 애플리케이션이 실행 파일 콘텐츠를 만들지 못하도록 차단
- 모든 Office 애플리케이션에서 자식 프로세스를 만들지 못하도록 차단
- Office 통신 애플리케이션이 자식 프로세스를 만들지 못하도록 차단
- Office 애플리케이션이 다른 프로세스에 코드를 삽입하지 못하도록 차단
- 잠재적으로 난독 처리된 스크립트의 실행 차단
- Office 매크로에서 Win32 API 호출 차단
Adobe Reader의 경우 다음 ASR 규칙을 사용합니다.
• Adobe Reader가 자식 프로세스를 만들지 못하도록 차단
애플리케이션 호환성 목록
다음 표에서는 악용 방지에 포함된 완화와 호환성 문제가 있는 특정 제품을 나열합니다. 악용 방지를 사용하여 제품을 보호하려는 경우 호환되지 않는 특정 완화를 사용하지 않도록 설정해야 합니다. 이 목록은 최신 버전의 제품에 대한 기본 설정을 고려합니다. 표준 소프트웨어에 특정 추가 기능 또는 기타 구성 요소를 적용할 때 호환성 문제가 발생할 수 있습니다.
제품 | 악용 방지 완화 |
---|---|
.NET 2.0/3.5 | EAF/IAF |
7-Zip 콘솔/GUI/파일 관리자 | EAF |
AMD 62xx 프로세서 | EAF |
Avecto(신뢰할 수 없음) Power Broker | EAF, EAF+, 스택 피벗 |
특정 AMD(ATI) 비디오 드라이버 | 시스템 ASLR=AlwaysOn |
DropBox | EAF |
Excel Power Query, Power View, Power Map 및 PowerPivot | EAF |
Google Chrome | EAF+ |
Immidio Flex+ | EAF |
Microsoft Office Web Components(OWC) | System DEP=AlwaysOn |
Microsoft PowerPoint | EAF |
Microsoft Teams | EAF+ |
Oracle Java | 힙스프레이 |
Pitney Bowes 인쇄 감사 6 | SimExecFlow |
Siebel CRM 버전은 8.1.1.9입니다. | SEHOP |
Skype | EAF |
SolarWinds Syslogd Manager | EAF |
Windows Media Player | MandatoryASLR, EAF |
EMET 완화는 가상 머신에 대한 큰 메모리 청크를 예약하는 설정(즉, -Xms 옵션을 사용하여)을 사용하여 실행될 때 Oracle Java와 호환되지 않을 수 있습니다.
테스트에 악용 방지 시스템 설정 사용
이러한 Exploit Protection 시스템 설정은 Windows 10 이상, Windows Server 2019 이상 및 Windows Server 버전 1803 코어 버전 이상에서 ASLR(필수 주소 공간 레이아웃 임의화)을 제외하고 기본적으로 사용하도록 설정됩니다.
시스템 설정 | 설정 |
---|---|
CFG(제어 흐름 가드) | 기본값 사용(켜기) |
데이터 실행 방지(DEP) | 기본값 사용(켜기) |
이미지에 대한 강제 임의화(필수 ASRL) | 기본값 사용(끄기) |
메모리 할당 임의화(상향식 ASRL) | 기본값 사용(켜기) |
높은 엔트로피 ASRL | 기본값 사용(켜기) |
예외 체인 확인(SEHOP) | 기본값 사용(켜기) |
xml 샘플은 아래에서 사용할 수 있습니다.
<?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>
테스트에 대한 악용 방지 프로그램 설정 사용
팁
ASR 규칙(공격 표면 감소 규칙)을 사용하는 취약성 완화에 대한 최신 접근 방식을 검토하는 것이 좋습니다.
Windows 보안 앱 또는 Windows PowerShell을 사용하여 특정 프로그램에 대한 테스트 모드에서 완화를 설정할 수 있습니다.
Windows 보안 앱
Windows 보안 앱을 엽니다. 작업 표시줄에서 방패 아이콘을 선택하거나 시작 메뉴에서 Windows 보안을 검색합니다.
앱 및 브라우저 컨트롤 타일(또는 왼쪽 메뉴 모음의 앱 아이콘)을 선택한 후 Exploit Protection을 선택합니다.
프로그램 설정으로 이동하여 보호를 적용할 앱을 선택합니다.
구성하려는 앱이 이미 나열된 경우 해당 앱을 선택한 다음 편집을 선택합니다.
앱이 목록 맨 위에 나열되지 않은 경우 사용자 지정할 프로그램 추가를 선택합니다. 그런 다음 앱을 추가할 방법을 선택합니다.
- 프로그램 이름으로 추가를 사용해 해당 이름으로 실행 중인 모든 프로세스에 완화를 적용합니다. 확장명으로 파일을 지정합니다. 완화를 해당 위치에서 해당 이름의 앱으로만 제한하는 전체 경로를 입력할 수 있습니다.
- 정확한 파일 경로 선택을 사용하여 표준 Windows 탐색기 파일 선택 창에서 원하는 파일을 찾아 선택합니다.
앱을 선택하면 적용할 수 있는 모든 완화 기능 목록이 표시됩니다. 감사를 선택하면 테스트 모드에서만 완화가 적용됩니다. 프로세스, 앱 또는 Windows를 다시 시작해야 하는 경우 알림을 받습니다.
구성하려는 모든 앱 및 완화에 대해 이 절차를 반복합니다. 구성 설정이 완료되면 적용을 선택합니다.
PowerShell
앱 수준 완화를 테스트 모드로 설정하려면 감사 모드 cmdlet과 함께 를 사용합니다Set-ProcessMitigation
.
각 완화를 다음 형식으로 구성합니다.
Set-ProcessMitigation -<scope> <app executable> -<action> <mitigation or options>,<mitigation or options>,<mitigation or options>
여기서,
-
<범위>:
- 완화를 특정 앱에 적용해야 함을 표시하는
-Name
. 이 플래그 뒤에 앱의 실행 파일을 지정합니다.
- 완화를 특정 앱에 적용해야 함을 표시하는
-
<작업>:
- 완화를 사용하도록 설정하는
-Enable
- 완화를 사용하지 않도록 설정하는
-Disable
- 완화를 사용하지 않도록 설정하는
- 완화를 사용하도록 설정하는
-
<완화>:
- 다음 표에 정의된 완화 cmdlet. 각 완화는 쉼표로 구분됩니다.
완화 | 테스트 모드 cmdlet |
---|---|
ACG(임의 코드 가드) | AuditDynamicCode |
낮은 무결성 이미지 차단 | AuditImageLoad |
신뢰할 수 없는 글꼴 차단 |
AuditFont , FontAuditOnly |
코드 무결성 가드 |
AuditMicrosoftSigned , AuditStoreSigned |
Win32k 시스템 호출 사용 안 함 | AuditSystemCall |
자식 프로세스 허용 안 함 | AuditChildProcess |
예를 들어 testing.exe이라는 앱 에 대해 테스트 모드에서 ACG(임의 Code Guard)를 사용하도록 설정하려면 다음 명령을 실행합니다.
Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable AuditDynamicCode
-Enable
을 -Disable
로 대체하여 감사 모드를 사용하지 않도록 설정할 수 있습니다.
Exploit Protection 감사 이벤트 검토
차단할 앱을 검토하려면 이벤트 뷰어 열고 Security-Mitigations 로그에서 다음 이벤트를 필터링합니다.
기능 | 공급자/원본 | 이벤트 ID | 설명 |
---|---|---|---|
악용 방지 | 보안 완화(커널 모드/사용자 모드) | 1 | ACG 감사 |
악용 방지 | 보안 완화(커널 모드/사용자 모드) | 3 | 자식 프로세스 감사 허용 안 함 |
악용 방지 | 보안 완화(커널 모드/사용자 모드) | 5 | 낮은 무결성 이미지 감사 차단 |
악용 방지 | 보안 완화(커널 모드/사용자 모드) | 7 | 원격 이미지 감사 차단 |
악용 방지 | 보안 완화(커널 모드/사용자 모드) | 9 | win32k 시스템 호출 감사 사용 안 함 |
악용 방지 | 보안 완화(커널 모드/사용자 모드) | 11 | 코드 무결성 가드 감사 |
참고 항목
팁
더 자세히 알아보고 싶으신가요? 기술 커뮤니티: 엔드포인트용 Microsoft Defender Tech Community의 Microsoft 보안 커뮤니티와 Engage.