본문 바로가기

System/Windows

Windows/메모리보호기법/MSDN

반응형
출처는 Microsoft 기술 블로그를 출처 하였습니다.
https://blogs.technet.microsoft.com/askpfeplat/2017/04/24/windows-10-memory-protection-features/

CFG(Control Flow Guard)
 - 코드가 실행될때 그전에 이동할 위치가 유효한 점프 위치에 존재하는지 비트 맵 테이블과 비교하여 유효한 점프 위치에 나열되어 있지 않으면 프로세스를 종료시키고 멀웨어 실행을 차단함.





- SysInternals ProcessExplorer
  • View/ Select Columns / Process Image "Control Flow Guard"를 선택하여 항목에 추가.


윈도우 자체 전역 설정
- [로컬 정책 설정] 컴퓨터 구성 \ 관리 템플릿 \ 시스템 \ 완화 옵션
  • 신뢰할 수 없는 글꼴 차단
GPO 설치파일

  • 데이터 실행 방지 (DEP)
  • 구조적 예외 처리 덮어 쓰기 방지 (SEHOP)
  • 주소 공간 레이아웃 무작위 화 (ASLR)
    • GPO 정책과 관련이 있다.


PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE (0x00000001) 
자식 프로세스에 대한 DEP (데이터 실행 방지)를 사용합니다.
PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE (0x00000002) 
자식 프로세스에 대한 DEP-ATL 썽크 에뮬레이션을 사용합니다. DEP-ATL 썽크 에뮬레이션을 사용하면 시스템에서 ATL (액티브 템플릿 라이브러리) 썽크 (Thunk) 레이어에서 발생한 NX 오류를 가로 채게됩니다.
PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE (0x00000004) 
자식 프로세스에 대한 구조적 예외 처리기 덮어 쓰기 방지 (SEHOP)를 사용합니다. SEHOP은 구조화 된 예외 처리기 (SEH) 덮어 쓰기 기술을 사용하는 공격을 차단합니다.
PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON (0x00000100) 
강제로 주소 공간 레이아웃 무작위 화 (ASLR) 정책은 이미지 기본 충돌이로드 시간에 발생한 것처럼 작동하여 동적 기본 호환성이없는 이미지를 강제로 리베이스합니다. 재배치가 필요할 경우 기본 재배치 섹션이없는 이미지는로드되지 않습니다.
PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_ON (0x00010000)
PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF (0x00020000)
스택 임의 화 옵션을 포함하는 상향식 임의 화 정책은 임의의 위치를 가장 낮은 사용자 주소로 사용합니다.
CFG 정책은 응용 프로그램에 적용되는 점에서 EMET이 구성된 방식과 유사합니다 (기본적으로 모든 64 비트 응용 프로그램에 적용됨을 기억하십시오). 정책 내에서 응용 프로그램을 정의해야합니다.
Win7
Win7+EMET
Win10 1607 Anniversary Update
Win10 1703 Creators Update
Win10 1607+EMET Anniversary Update
Default Enabled System Mitigation
Kernel pool hardening [18]
Y
No Change
Y
Y
No Change
Kernel ASLR (images) [18]
Y
No Change
Y
Y
No Change
Fonts (usermode appcontainer) [10]
N
N
Y
Y
No Change
NTVDM disabled [18]
N
N
Y
Y
No Change
Kernel ASLR (full) [10]
N
N
Y
Y
No Change
Kernel DEP [18]
N
N
Y
Y
No Change
Kernel pool hardening (extended) [18]
N
N
Y
Y
No Change
SMEP [18]
N
N
Y
Y
No Change
Global safe unlinking [18]
N
N
Y
Y
No Change
Improved ASLR entropy [17]
N
N
Y
Y
No Change
Opt-In System Mitigation
DEP
Y
Y
Y
Y
Y
SEHOP
Y
Y
Y
Y
Y
ASLR
Y
Y
Y
Y
Y
Pinning
N
Y
Y [9]
Y
Y
Fonts (block untrusted)
N
N
Y [1]
Y
Y
VBS – HyperGuard (protect MSR/SMEP)
N
N
Y
Y
No Change
VBS – HVCI (kernel CI)
N
N
Y
Y
No Change
VBS – Credential Guard
N
N
Y
Y
No Change
VBS – Device Guard
N
N
Y
Y
No Change
SecureBoot
N
N
Y
Y
No Change
Default Enabled Application Mitigation
Heap metadata hardening [15]
Y
Y
Y
Y
No Change
Heap metadata hardening (extended) [15]
N
N
Y
Y
No Change
Heap allocation randomization [15]
N
N
Y
Y
No Change
Heap guard pages [15]
N
N
Y
Y
No Change
AppContainer symbolic link hardening [10]
N
N
Y
Y
No Change
Opt-In Application Mitigation
SEHOP [16]
Y
Y
Y
Y
Y
DEP
N
Y
Y
Y
Y
NullPage
N
Y
Y
Y
No Change [19]
Force ASLR [3]
N
Y
Y
Y
Y
BottomupASLR
N
Y
Y
Y
Y
LoadLib (Image Load Restriction)
N
Y
Y [4]
Y [4]
Y
MemProt (Dynamic Code Restriction)
N
Y
Y [5]
Y [5]
Y
Fonts (block untrusted)
N
N
Y [1]
Y [1]
No Change [2]
Child Process Restriction [6]
N
N
Y
Y
No Change
Code Integrity Restriction [7]
N
N
Y
Y
No Change
Win32k System Call Disable Restriction [8]
N
N
Y
Y
No Change
High Entropy ASLR [11]
N
N
Y
Y
No Change
Strict handle checks [12]
N
N
Y
Y
No Change
Extension point disable [13]
N
N
Y
Y
No Change
Heap terminate on corruption [14]
N
N
Y
Y
No Change
ASR
N
Y
N
Y
Y
HeapSpray
N
Y
N
N
Y
EAF
N
Y
N
N
Y
EAF+
N
Y
N
N
Y
Caller
N
Y
N
N
Y
SimExecFlow
N
Y
N
N
Y
StackPivot
N
Y
N
N
Y
CFG [20]
N
N
N
N
N


반응형