Infomation

데이터 실행 방지 (DEP : Data Execution Prevention)

DarkSoul.Story 2013. 9. 4. 10:35
반응형

데이터 실행 방지(Data Execution Prevention, DEP)는 마이크로소프트 Windows 운영체제에 포함된 보안 기능으로, 실행 방지 메모리 영역의 실행 코드에서 응용 프로그램이나 서비스가 실행되지 못하게 막기 위해 고안기술이다. DEP를 이용하면, 버퍼 오버플로를 통한 코드를 저장하는 특정한 이용을 막을 수 있다. DEP는 두 가지 모드로 실행된다.


CPU를 위한 하드웨어 강화 DEP: 메모리 페이지를 실행 불가능 상태로 표시한다.

소프트웨어 강화 DEP: CPU가 하드웨어적으로 데이터 실행 방지를 지원하지 못하는 경우 이를 사용한다.

소프트웨어 강화 DEP는 데이터 페이지의 코드 실행을 막지는 못하지만, 다른 형태의 종류 (SEH 덮어쓰기)는 막을 수 있다.


DEP는 Windows XP 서비스팩 2에 도입되었으며 Windows XP 태블릿 PC 에디션 2005, Windows Server 2003 서비스팩 1, 이상 기본적으로 포함되어있다.  


- 출처 : 위키피아

(http://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0_%EC%8B%A4%ED%96%89_%EB%B0%A9%EC%A7%80)



DEP의 정책 종류


 종류

설명 

 OptIn

지정된 바이너리만 보호 

 OptOut

지정된 바이너리를 제외하고 모두 보호

 AlwaysOn

모든 프로세스를 보호

 AlwaysOff

모든 프로세스를 보호하지 않음 


OS버전별 DEP 기본정책


 종류

설명 

 Windows XP SP2~, Vista SP0

OptIn

Windows VIsta SP1~

OptIn + AlwaysOn + Permanent DEP

 Windows 7

OptOut + AlwaysOn + Permanent DEP

Windows Server 2003 Sp1~

OptOut 

 Windows Server 2008~

 OptOut + AlwaysOn + Permanent DEP


DEP 정책 수정


- Windows XP ~ Windows 2003 Server 


[내 컴퓨터] - [속성] - 시스템 등록 정보에서 [고급] - 시작 및 복구에서 [설정] 클릭



시작 및 복구에서 중간 부분에 존재하는 [편집] 클릭하면, boot.ini 파일이 메모장으로 열린다. boot.ini 파일 내용중 /noexecute= 부분을 위에서 살펴본 DEP 정책 종류에서 적용할 정책을 입력한다. 


예 ) /noexecute=AlwaysOff : DEP 기능을 사용 안함 (모든 프로세스를 보호하지 않음)



변경된 내용을 저장후 재부팅을 한다. 


- windows Vista 이상 


windows Vista 이상은 boot.ini가 존재하지 않는다. 그렇기 때문에 아래와 같은 과정을 통해 DEP 정책을 수정할 수 있다.


[시작] - [모든 프로그램] - [보조 프로그램] - [명령 프롬프트]에서 마우스 오른쪽 클릭 - [관리자 권한으로 실행]



명령 프롬프트가 실행되면 아래와 같은 형식으로 입력한다. 


bcdedit.exe /set {current} nx 정책 수준 



작업이 완료되면 재부팅을 해준다.


반응형