Windows 10에서 Windows Defender 악용 방지 구성
- 범주: 윈도우
악용 방지는 Microsoft가 운영 체제의 Fall Creators Update에서 도입 한 Windows Defender의 새로운 보안 기능입니다.
Exploit Guard 익스플로잇 방지를 포함하는 기능 집합입니다. 공격 표면 감소 , 네트워크 보호 및 제어 된 폴더 액세스 .
악용 방지는 Microsoft의 EMET (Exploit Mitigation Experience Toolkit)의 통합 버전으로 가장 잘 설명 할 수 있습니다. 2018 년 중반에 은퇴 예정 .
Microsoft는 이전에 회사의 Windows 10 운영 체제가 Windows와 함께 EMET를 실행할 필요가 없습니다. ; 그러나 적어도 한 명의 연구원이 마이크로 소프트의 주장을 반박했습니다.
Windows Defender 악용 방지
Windows Defender가 활성화 된 경우 악용 방지가 기본적으로 활성화됩니다. 이 기능은 Windows Defender에서 실시간 보호를 사용할 필요가없는 유일한 Exploit Guard 기능입니다.
이 기능은 Windows Defender 보안 센터 애플리케이션, PowerShell 명령을 통해 또는 정책으로 구성 할 수 있습니다.
Windows Defender 보안 센터 앱의 구성
Windows Defender 보안 센터 애플리케이션에서 악용 방지를 구성 할 수 있습니다.
- Windows-I를 사용하여 설정 애플리케이션을 엽니 다.
- 업데이트 및 보안> Windows Defender로 이동합니다.
- Windows Defender 보안 센터 열기를 선택합니다.
- 열리는 새 창에서 사이드 바 링크로 나열된 앱 및 브라우저 컨트롤을 선택합니다.
- 페이지에서 악용 방지 항목을 찾고 악용 방지 설정을 클릭합니다.
설정은 시스템 설정과 프로그램 설정으로 나뉩니다.
시스템 설정에는 사용 가능한 보호 메커니즘과 해당 상태가 나열됩니다. 다음은 Windows 10 Fall Creators Update에서 사용할 수 있습니다.
- CFG (Control Flow Guard)-기본적으로 켜져 있습니다.
- DEP (데이터 실행 방지)-기본적으로 설정되어 있습니다.
- 이미지에 대한 강제 무작위 화 (필수 ASLR)-기본적으로 해제되어 있습니다.
- 메모리 할당 무작위 화 (Bottom-up ASLR)-기본적으로 설정되어 있습니다.
- SEHOP (예외 체인 유효성 검사)-기본적으로 설정되어 있습니다.
- 힙 무결성 유효성 검사-기본적으로 설정되어 있습니다.
모든 옵션의 상태를 '기본적으로 설정', '기본적으로 해제'또는 '기본값 사용'으로 변경할 수 있습니다.
프로그램 설정은 개별 프로그램 및 응용 프로그램에 대한 보호를 사용자 지정할 수있는 옵션을 제공합니다. 이는 특정 프로그램에 대해 Microsoft EMET에서 예외를 추가하는 방법과 유사하게 작동합니다. 특정 보호 모듈이 활성화되었을 때 프로그램이 오작동하는 경우 좋습니다.
상당수의 프로그램에는 기본적으로 예외가 있습니다. 여기에는 svchost.exe, spools.exe, runtimebroker.exe, iexplore.exe 및 기타 핵심 Windows 프로그램이 포함됩니다. 파일을 선택하고 편집을 클릭하여 이러한 예외를 무시할 수 있습니다.
예외 목록에 이름 또는 정확한 파일 경로로 프로그램을 추가하려면 '사용자 정의 할 프로그램 추가'를 클릭하십시오.
프로그램 설정에서 추가 한 각 프로그램에 대해 지원되는 모든 보호의 상태를 개별적으로 설정할 수 있습니다. 시스템 기본값을 재정의하고 강제로 설정하거나 해제하는 것 외에도 '감사 전용'으로 설정하는 옵션도 있습니다. 후자는 보호 상태가 켜져있는 경우 발생했을 이벤트를 기록하지만 Windows 이벤트 로그에는 이벤트 만 기록합니다.
프로그램 설정은 응용 프로그램 수준에서만 실행되도록 구성 되었기 때문에 시스템 설정에서 구성 할 수없는 추가 보호 옵션을 나열합니다.
이것들은:
- 임의 코드 가드 (ACG)
- 낮은 무결성 이미지 날려
- 원격 이미지 차단
- 신뢰할 수없는 글꼴 차단
- 코드 무결성 보호
- 확장 점 비활성화
- Win32 시스템 호출 비활성화
- 자식 프로세스 허용 안 함
- 주소 필터링 (EAF) 내보내기
- 가져 오기 주소 필터링 (IAF)
- 실행 시뮬레이션 (SimExec)
- API 호출 유효성 검사 (CallerCheck)
- 핸들 사용 확인
- 이미지 종속성 통합 검증
- 스택 무결성 검증 (StackPivot)
PowerShell을 사용하여 악용 방지 구성
PowerShell을 사용하여 완화를 설정, 제거 또는 나열 할 수 있습니다. 다음 명령을 사용할 수 있습니다.
지정된 프로세스의 모든 완화를 나열하려면 Get-ProcessMitigation -Name processName.exe
완화를 설정하려면 : Set-ProcessMitigation--,,
- 범위 : -System 또는 -Name입니다.
- 조치 : -Enable 또는 -Disable입니다.
- 완화 : 완화의 이름입니다. 다음 표를 참조하십시오. 쉼표로 완화를 구분할 수 있습니다.
예 :
- Set-Processmitigation -System -DEP 활성화
- Set-Processmitigation -Name test.exe -Remove -Disable DEP
- Set-ProcessMitigation-이름 processName.exe -EnableExportAddressFilterPlus -EAFModules dllName1.dll, dllName2.dll 사용
완화 | 적용 | PowerShell cmdlet | 감사 모드 cmdlet |
---|---|---|---|
제어 흐름 보호 (CFG) | 시스템 및 앱 수준 | CFG, StrictCFG, SuppressExports | 감사를 사용할 수 없습니다. |
데이터 실행 방지 (DEP) | 시스템 및 앱 수준 | DEP, EmulateAtlThunks | 감사를 사용할 수 없습니다. |
이미지에 대한 강제 무작위 화 (필수 ASLR) | 시스템 및 앱 수준 | ForceRelocate | 감사를 사용할 수 없습니다. |
메모리 할당 무작위 화 (Bottom-Up ASLR) | 시스템 및 앱 수준 | BottomUp, HighEntropy | 감사를 사용할 수 없습니다. |
예외 체인 유효성 검사 (SEHOP) | 시스템 및 앱 수준 | SEHOP, SEHOPTelemetry | 감사를 사용할 수 없습니다. |
힙 무결성 검증 | 시스템 및 앱 수준 | TerminateOnHeapError | 감사를 사용할 수 없습니다. |
임의 코드 가드 (ACG) | 앱 수준 만 | DynamicCode | AuditDynamicCode |
낮은 무결성 이미지 차단 | 앱 수준 만 | BlockLowLabel | AuditImageLoad |
원격 이미지 차단 | 앱 수준 만 | BlockRemoteImages | 감사를 사용할 수 없습니다. |
신뢰할 수없는 글꼴 차단 | 앱 수준 만 | DisableNonSystemFonts | AuditFont, FontAuditOnly |
코드 무결성 보호 | 앱 수준 만 | BlockNonMicrosoftSigned, AllowStoreSigned | 감사 MicrosoftSigned, AuditStoreSigned |
확장 점 비활성화 | 앱 수준 만 | ExtensionPoint | 감사를 사용할 수 없습니다. |
Win32k 시스템 호출 비활성화 | 앱 수준 만 | DisableWin32kSystemCalls | AuditSystemCall |
자식 프로세스 허용 안 함 | 앱 수준 만 | DisallowChildProcessCreation | AuditChildProcess |
주소 필터링 (EAF) 내보내기 | 앱 수준 만 | EnableExportAddressFilterPlus, EnableExportAddressFilter [하나] | 감사를 사용할 수 없습니다. |
가져 오기 주소 필터링 (IAF) | 앱 수준 만 | EnableImportAddressFilter | 감사를 사용할 수 없습니다. |
실행 시뮬레이션 (SimExec) | 앱 수준 만 | EnableRopSimExec | 감사를 사용할 수 없습니다. |
API 호출 유효성 검사 (CallerCheck) | 앱 수준 만 | EnableRopCallerCheck | 감사를 사용할 수 없습니다. |
핸들 사용 확인 | 앱 수준 만 | StrictHandle | 감사를 사용할 수 없습니다. |
이미지 종속성 무결성 검증 | 앱 수준 만 | EnforceModuleDepencySigning | 감사를 사용할 수 없습니다. |
스택 무결성 검증 (StackPivot) | 앱 수준 만 | EnableRopStackPivot | 감사를 사용할 수 없습니다. |
구성 가져 오기 및 내보내기
구성을 가져오고 내보낼 수 있습니다. Windows Defender 보안 센터에서 Windows Defender 악용 방지 설정을 사용하고 PowerShell을 사용하고 정책을 사용하여이를 수행 할 수 있습니다.
또한 EMET 구성을 변환하여 가져올 수 있습니다.
악용 방지 설정 사용
설정 애플리케이션에서 구성을 내보낼 수 있지만 가져올 수는 없습니다. 내보내기는 모든 시스템 수준 및 앱 수준 완화를 추가합니다.
익스플로잇 방지 아래의 '설정 내보내기'링크를 클릭하면됩니다.
PowerShell을 사용하여 구성 파일 내보내기
- 관리자 권한 Powershell 프롬프트를 엽니 다.
- Get-ProcessMitigation -RegistryConfigFilePath filename.xml
저장 위치와 파일 이름을 반영하도록 filename.xml을 편집합니다.
PowerShell을 사용하여 구성 파일 가져 오기
- 관리자 권한 Powershell 프롬프트를 엽니 다.
- 다음 명령을 실행합니다. Set-ProcessMitigation -PolicyFilePath filename.xml
구성 XML 파일의 위치 및 파일 이름을 가리 키도록 filename.xml을 편집하십시오.
그룹 정책을 사용하여 구성 파일 설치
정책을 사용하여 구성 파일을 설치할 수 있습니다.
- Windows 키를 누르고 gpedit.msc를 입력 한 다음 Enter 키를 눌러 그룹 정책 편집기를 시작합니다.
- 컴퓨터 구성> 관리 템플릿> Windows 구성 요소> Windows Defender Exploit Guard> Exploit 보호로 이동합니다.
- '악용 방지 설정 명령 집합 사용'을 두 번 클릭합니다.
- 정책을 사용으로 설정하십시오.
- 옵션 필드에 구성 XML 파일의 경로와 파일 이름을 추가합니다.
EMET 파일 변환
- 위에서 설명한대로 관리자 권한 PowerShell 프롬프트를 엽니 다.
- ConvertTo-ProcessMitigationPolicy -EMETFilePath emetFile.xml -OutputFilePath filename.xml 명령을 실행하십시오.
emetFile.xml을 EMET 구성 파일의 경로 및 위치로 변경합니다.
filename.xml을 변환 된 구성 파일을 저장할 경로 및 위치로 변경하십시오.