출처: http://pcwinvista.com/202

데이타 실행 방지(DEP) 설정 변경 방법

DEP(Data Execution Prevention: 데이터 실행 방지)는 바이러스 및 다른 보안 위험으로부터 컴퓨터가 손상되는 것을 방지해 줄 수 있는 보안 기능입니다.  위험한 프로그램이 Windows 및 다른 공인 프로그램에 대해 예약된 시스템 메모리 위치에서 코드 실행을 시도하는 공격 (buffer overrun)에 대해 DEP는 컴퓨터에서 메모리를 부적절하게 사용하는 프로그램을 감지하면 해당 프로그램을 닫고 사용자에게 알려 줍니다.

DEP는 악성 코드나 바이러스가 문제를 일으키는 방식중의 하나인 메모리 영역에서의 특정 코드를 실행하려고 시도할 때 해당 코드와 관련된 프로그램의 실행을 중지 시키므로 컴퓨터를 보다 안전하게 보호할 수 있는 기능입니다.

그러나, 문제도 있는데 정상적인 프로그램중에 동적으로 코드를 생성하여 실행하는 프로그램도 있을 수 있는데, 이때 DEP는 이 프로그램이 정상 프로그램인지 아니면 악의적인 목적을 가진 프로그램인지를 구별하지 못한다는 점입니다. 해서, 어느 분이 댓글로 남겨 주신 내용처럼 특정 게임의 경우 실행이 안되는 경우, 심지어는 설치 자체가 안될 때도 있습니다.

DEP는 윈도우 비스타에 처음 도입된 것은 아니고 윈도우 XP  SP2, 윈도우 XP 타블렛 PC 에디션 2005, 윈도우 서버 2003에 이미 도입된 기능이지만, 윈도우 비스타에서 문제가 발생하는 것은 비스타에서는 디폴트로 DEP가 실행되도록 설정되어 있기 때문입니다. 아래에서 윈도우 비스타의 DEP 기본 설정을 변경하는 방법에 대해 알아 보겠습니다. 먼저, 알아 두셔야 할 것은 DEP와 관련해서 아무 문제가 발생하지 않았다면, 기본 설정을 변경할 필요가 없다는 것입니다. DEP와 관련해서 특정 프로그램(단, 사용자가 신뢰하는 프로그램) 실행에 문제가 발생하는 경우에만 설정을 변경하는 것이 좋을 것입니다.

데이타 실행 방지(DEP) 설정에 접근하는 방법

우선, DEP 설정 화면에 접근 하려면, 여러가지 경로가 있지만, 가장 빠른 방법은 제어판을 연 후 검색 상자에 시각 효과 조정을 입력한 후 나타나는 Windows의 화면 표시 및 성능 조정 링크를 클릭하는 것입니다. 앞에 방패 아이콘이 있으니, UAC 대화상자가 먼저 뜰 것입니다.

시각 효과 조정

UAC 대화상자를 해결하고 나면, 다음과 같이 성능 옵션 창이 열리는데, 데이타 실행 방지 탭을 클릭합니다. 기본 설정은 “데이타 실행 방지(DEP)를 필수 Windows 프로그램 및 서비스에만 사용”입니다.

데이타 실행 방지 (DEP) 설정 변경 방법

특정 프로그램이 DEP 때문에 실행이 되지 않는다면 “데이터 실행 방지(DEP)를 사용자가 직접 선택한 항목을 제외한 모든 프로그램 및 서비스에 사용”에 체크한 후 추가 버튼을 클릭하여 해당 프로그램의 실행 파일을 찾아 선택해 주면 됩니다.

예를들어, 특정 프로그램의 실행 파일을 선택하면 다음과 같이 표시가 됩니다. 이처럼 필요한 프로그램을 선택한 후 확인 단추를 누른 후 재부팅을 하면 선택한 프로그램들에 한해서 DEP가 적용되지 않게 됩니다.

데이타 실행 방지 (DEP)가 아예 실행되지 않도록 하는 방법

앞에서 소개한 방법은 DEP가 실행되데, 필수 윈도우 프로그램/서비스에만 적용되게 하거나, 특정 프로그램을 제외하고 적용되게 한 방법입니다. 만약, 아예 DEP가 실행되지 않게 하려면, 윈도우 비스타의 부팅 설정 명령어인 bcdedit을 이용하면 됩니다. 명령 프롬프트를 관리자 권한으로 실행 한 후

bcdedit /set {current} nx AlwaysOff

라고 입력한 후 Enter키를 누른 후 재부팅하면 DEP가 아예 실행되지 않게 됩니다.

다시 윈도우 비스타의 DEP 설정 디폴트 상태로 돌아가려면 명령 프롬프트를 마찬가지로 관리자 권한으로 연 후,

bcdedit /set {current} Optin

이라고 입력한 후 Enter 키를 누르고 재부팅 해주면 됩니다.

앞에서 DEP관련 설정을 변경하는 방법에 대해 설명했지만, 되도록이면 기본 설정을 유지하는 것이 좋습니다. 동적으로 코드를 발생하는 프로그램도 DEP와 충돌하지 않도록 하는 것은 그리 어렵지 않다고 합니다. 따라서, 문제가 발생하는 경우 DEP가 실행되지 않도록 하는 것 보다는 우선, 해당 프로그램의 홈 페이지를 확인하여 업데이트는 없는지를 먼저 확인한 후 아직 업데이트가 없는 경우에만, 일시적으로 DEP 설정을 변경하는 것이 좋을 것 같습니다.

때에 따라서는 DEP도 UAC 처럼 사용자를 불편하게 하는 기능으로 인식될 수도 있지만, 원래 보안이란 것이 편리함과 약간 상충되는 면이 있는 것 아니겠습니까? 편리함으로의 추구를 약간만 줄여주면, 보안이 강해집니다. ^^


AND