데이터 실행 방지(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 정책 수준 |
작업이 완료되면 재부팅을 해준다.
androsign.py / androcsign.py 에러 해결 (0) | 2013.11.14 |
---|---|
넷빈즈 IDE (Netbeans IDE) 설치 - Kali Linux (0) | 2013.11.12 |
크롬에서 안전한 브라우징을 위한 에드온 (0) | 2013.08.05 |
[Penetration Test OS] Bugtraq (0) | 2013.08.02 |
Netool.sh v3.0 분석 - (5) (0) | 2013.07.25 |