티스토리 뷰

마이크로소프트 윈도 운영 체제에 포함된 보안 기능이며, 실행 방지 메모리 영역의 실행 코드에서 응용 프로그램이나 서비스가 실행되지 못하게 막기 위해 고안된 것이다. 이를테면 버퍼 오버플로를 통한 코드를 저장하는 특정한 이용을 막을 수 있다. DEP는 두 가지 모드로 실행된다.:
  • CPU를 위한 하드웨어 강화 DEP: 메모리 페이지를 실행 불가능 상태로 표시한다.
  • 소프트웨어 강화 DEP: CPU가 하드웨어적으로 데이터 실행 방지를 지원하지 못하는 경우 이를 사용한다.

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

DEP는 윈도 XP서비스팩 2부터 도입 되었으며 윈도 XP 테블릿 PC 에디션 2005, 윈도 서버 2003 서비스팩 1, 윈도 비스타에 포함되어 있다. 나중에 나오는 운영체제들은 이 기능을 여전히 지원하고 있다.

보안상 좋은 기능이긴 하지만 실생활에는 참으로 불편한 일이 많은 기능이다. 

다음과 같은 일을 직접 겪기도 하였다.

1. 알씨와 같은 뷰어프로그램상에서는 인쇄하는데 아무런 문제가 없으나 탐색기나 바탕화면상에 사진이나 그림파일을 마우스 오른쪽하여 '인쇄'항목을 골라 '사진 인쇄 마법사'를 이용하면 DEP가 실행하며 인쇄가 진행되지 않고 멈추었다.

2. 인터넷 뱅킹상에서 출력을 실행시키려고 하면 DEP가 실행하며 인쇄가 진행되지 않고 멈추었다.



<<정책 수준 설정>>

정책 수준은 다음과 같이 나뉘어진다.

  • OptIn: 윈도 XP의 기본 구성값이다. 하드웨어 강화 DEP 기능이 있는 프로세서를 사용한다면, DEP는 기본적으로 사용된다.
  • OptOut: 윈도 2003 서비스팩 1의 기본 구성값이다. DEP에 대한 시스템 호환성 해결은 효력을 발휘하지 않는다.
  • AlwaysOn: 모든 시스템에 DEP를 사용하는 설정값이다. 모든 과정은 언제나 DEP에 적용된다. DEP 보호에 예외 프로그램으로 지정된 목록이 있다 할지라도 이는 무시된다. DEP에 대한 시스템 호환성도 효력을 발휘하지 않는다.
  • AlwaysOff: 어느 시스템에서도 DEP를 사용하지 않게 만드는 설정값이다. (윈도 비스타 얼티밋 제외)


<<해결방법>>


1. 윈도 XP ~ 윈도 2003

  1. 시작→실행에 들어가서 msconfig라고 입력한다.
  2. 부팅 탭을 눌러 boot.ini 편집에 들어가서 /noexecute="정책 수준"을 지정한다. 정책 수준은 위에 나온 값 가운데 하나를 골라 넣으면 된다. (이를테면, 데이터 실행 방지를 완전히 끄려면 /noexecute=AlwaysOff)

2. 윈도 비스타 이상의 경우

윈도 비스타에서는 boot.ini가 존재하지 않기 때문에 다음과 같은 과정을 사용하여 기능을 변경할 수 있다.

  1. 시작 단추를 누르고 모든 프로그램보조 프로그램로 들어간다.
  2. 명령 프롬프트에서 마우스 오른쪽 단추를 누르고관리자 권한으로 실행을 누른다.
  3. 접근 권한을 물을 때 허용을 누른다.
  4. 다음과 같이 입력한다.

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

    여기서 정책 수준은 위에 나온 값 가운데 하나를 골라 넣으면 된다. (이를테면, 데이터 실행 방지를 완전히 끄려면 "bcdedit.exe /set {current} nx AlwaysOff")

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함