해결되지 않음
이 게시글은 5년 이상 된 게시글입니다.
2 Intern
•
270 Posts
0
1237
January 15th, 2009 16:00
Vista의 DEP 기능 상태 검증하기
DEP는 데이터 메모리 로케이션의 소프트웨어의 실행을 방지하고 그리고 악의의 소프트웨어가 시스템을 공격하고 해를 끼치는 것으로부터 시스템을 보호함에 도움이 되는 Windows Vista의 보안 기능입니다.
DEP(데이터 실행 방지)는 악의적인 코드가 시스템에서 실행되는 것을 방지하기 위해 메모리를 추가로 확인하는 하드웨어 및 소프트웨어 기술입니다. Microsoft Windows XP 서비스 팩 2(SP2)와 Microsoft Windows XP Tablet PC Edition 2005에서는 DEP가 하드웨어와 소프트웨어에서 모두 적용됩니다.
DEP의 가장 큰 장점은 데이터 페이지에서 코드가 실행되지 않도록 하는 것입니다. 일반적으로 기본 힙과 스택에서는 코드가 실행되지 않습니다. 하드웨어 적용 DEP는 이러한 위치에서 실행되는 코드를 검색하고 예외를 발생시킵니다. 또한 소프트웨어 적용 DEP를 사용하면 악의적인 코드가 Windows의 예외 처리 메커니즘을 이용할 수 없도록 방지할 수 있습니다.
DEP의 가장 큰 장점은 기본 힙 페이지, 여러 스택 페이지 및 메모리 풀 페이지와 같은 데이터 페이지에서 코드가 실행되지 않도록 하는 것입니다. 일반적으로 기본 힙과 스택에서는 코드가 실행되지 않습니다. 하드웨어 적용 DEP는 이러한 위치에서 실행되는 코드를 검색하고 예외를 발생시킵니다. 예외가 처리되지 않으면 프로세스가 중지됩니다. 커널 모드의 보호된 메모리에서 코드를 실행하면 중지 오류가 발생합니다.
DEP는 다양한 보안 침입을 차단할 수 있습니다. 특히 바이러스 또는 다른 유형의 공격을 통해 프로세스에 추가 코드를 삽입한 다음, 이 코드를 실행하려고 하는 악의적인 프로그램을 차단하는 데 도움이 됩니다. DEP를 사용하는 시스템에서 삽입된 코드를 실행하면 예외가 발생합니다. 소프트웨어 적용 DEP는 Windows의 예외 처리 메커니즘을 이용하는 프로그램을 차단하는 데 도움이 됩니다.
하드웨어 적용 DEP는 해당 위치에 명시적으로 실행 코드가 포함되어 있는 경우를 제외하고 프로세스의 모든 메모리 위치에서 실행할 수 없도록 표시합니다. 실행할 수 없도록 표시된 메모리 위치에서 코드를 삽입하고 실행하려는 여러 가지 공격이 있으며 DEP는 공격을 차단하고 예외를 발생시키는 방법으로 이러한 공격을 방지합니다.
하드웨어 적용 DEP는 해당 메모리에서 코드를 실행할 수 없음을 나타내는 특성으로 메모리를 표시할 때 프로세서 하드웨어를 사용합니다. DEP는 가상 메모리 페이지 단위로 작동하며, 보통 PTE(Page Table Entry)의 비트를 변경하여 메모리 페이지를 표시합니다.
하드웨어에서 DEP가 구현되는 방법과 DEP가 가상 메모리 페이지를 표시하는 방법은 프로세서 아키텍처에 의해 결정됩니다. 그러나 하드웨어 적용 DEP를 지원하는 프로세서는 적절한 특성 집합으로 표시된 페이지에서 코드가 실행될 때 예외를 발생시킬 수 있습니다.
AMD(Advanced Micro Devices)와 Intel에서는 DEP와 호환되는 Windows 호환 아키텍처를 규정하여 제공하고 있습니다.
Windows XP SP2부터 32비트 버전의 Windows에서는 다음 중 하나를 사용하고 있습니다.
AMD에서 규정한 NX(No-eXecute page-protection) 프로세서 기능
Intel에서 규정한 XD(eXecute Disable bit) 기능
이러한 프로세서 기능을 사용하려면 해당 프로세서가 PAE(실제 주소 확장) 모드로 실행되고 있어야 합니다. 그러나 Windows에서는 자동으로 PAE 모드를 설정하여 DEP를 지원하므로 사용자가 /PAE 부팅 스위치를 사용하여 별도로 PAE를 설정할 필요가 없습니다.
참고 64비트 커널은 AWE(Address Windowing Extensions)를 인식하므로 64비트 버전의 Windows에는 별도의 PAE 커널이 없습니다.
Windows Server 2003의 PAE 및 AWE에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
283037 Windows 2000 및 Windows Server 2003에서 대형 메모리 지원 기능을 사용할 수 있다
Windows XP SP2에는 데이터 실행 방지 보안 검사 기능이 추가되었습니다. 이러한 보안 검사 기능은 소프트웨어 적용 DEP라고 하며, 악의적인 코드가 Windows의 예외 처리 메커니즘을 이용할 수 없도록 방지합니다. 소프트웨어 적용 DEP는 Windows XP SP2를 실행할 수 있는 모든 프로세서에서 실행됩니다. 기본적으로 소프트웨어 적용 DEP는 해당 프로세서의 하드웨어 적용 DEP 기능과 관계없이 일부 시스템 바이너리만 보호합니다.
시스템 전체 DEP 구성
Windows XP 서비스 팩 2와 Windows XP Tablet PC Edition 2005 및 Windows Server 2003의 데이터 실행 방지 기능에 대한 상세한 설명:
하드웨어 적용 DEP를 사용하기 위한 요구 사항
하드웨어 적용 DEP를 사용하려면 다음과 같은 조건을 모두 충족해야 합니다.
컴퓨터의 프로세서가 하드웨어 적용 DEP를 지원해야 합니다.
대부분의 최신 프로세서는 하드웨어 적용 DEP를 지원합니다. AMD(Advanced Micro Devices)와 Intel Corporation에서는 DEP와 호환되는 Windows 호환 아키텍처를 규정하고 제공하고 있습니다. 이러한 프로세서 지원은 NX(No-eXecute) 또는 XD(eXecute Disable) 기술이라고도 할 수 있습니다. 컴퓨터의 프로세서가 하드웨어 적용 DEP를 지원하는지 여부를 확인하려면 컴퓨터 제조업체에 문의하십시오.BIOS에서 하드웨어 적용 DEP를 사용할 수 있도록 설정해야 합니다.
일부 컴퓨터에서는 BIOS에서 하드웨어 적용 DEP에 대한 프로세서 지원을 사용할 수 없도록 설정할 수 있습니다. 이 지원을 사용할 수 없도록 설정하면 안 됩니다. 이 지원을 사용할 수 없도록 설정하는 옵션은 컴퓨터 제조업체에 따라 "Data Execution Prevention", "XD", "Execute Disable" 또는 "NX"로 표시될 수 있습니다.컴퓨터에 Windows XP 서비스 팩 2 또는 Windows Server 2003 서비스 팩 1이 설치되어 있어야 합니다.
참고 32비트 버전 및 64비트 버전의 Windows는 모두 하드웨어 적용 DEP를 지원합니다. Windows XP Media Center Edition 2005 및 Microsoft Windows XP Tablet PC Edition 2005에는 Windows XP SP2의 기능과 구성 요소가 모두 포함되어 있습니다.컴퓨터의 프로그램에 대해 하드웨어 적용 DEP를 사용할 수 있도록 설정해야 합니다.
64비트 버전의 Windows에서는 기본 64비트 프로그램에 대해 하드웨어 적용 DEP가 항상 사용할 수 있도록 설정되지만 구성에 따라 32비트 프로그램에 대해서는 하드웨어 적용 DEP가 사용할 수 없도록 설정될 수 있습니다.
DEP, DEP 구성 및 하드웨어 DEP를 지원하는 운영 체제 목록에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
875352 (http://support.microsoft.com/kb/875352/ )
Windows XP 서비스 팩 2와 Windows XP Tablet PC Edition 2005 및 Windows Server 2003의 데이터 실행 방지 기능에 대한 상세한 설명
Windows XP 서비스 팩 2에서 메모리 보호를 구성하는 방법에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.
Windows에서 하드웨어 DEP가 작동하는지 확인하는 방법
Windows에서 하드웨어 DEP가 작동하는지 확인하려면 다음 방법 중 하나를 사용하십시오.
방법 1: Wmic 명령줄 도구 사용
Wmic 명령줄 도구를 사용하여 DEP 설정을 검사할 수 있습니다. 하드웨어 적용 DEP를 사용할 수 있는지 여부를 확인하려면 다음과 같이 하십시오.
시작, 실행을 차례로 누르고 열기 상자에 cmd를 입력한 다음 확인을 누릅니다.
명령 프롬프트에서 다음 명령을 입력한 후 Enter 키를 누릅니다.
wmic OS Get DataExecutionPrevention_Drivers
"TRUE"가 출력되면 하드웨어 적용 DEP를 사용할 수 있습니다.
현재 DEP 지원 정책을 확인하려면 다음과 같이 하십시오.
시작, 실행을 차례로 누르고 열기 상자에 cmd를 입력한 다음 확인을 누릅니다.
명령 프롬프트에서 다음 명령을 입력한 후 Enter 키를 누릅니다.
wmic OS Get DataExecutionPrevention_SupportPolicy
그러면 값으로 0, 1, 2 또는 3이 반환됩니다. 이 값은 다음 표에서 설명하는 DEP 지원 정책 중 하나입니다.wmic OS Get DataExecutionPrevention_SupportPolicy
표 축소표 확대
DataExecutionPrevention
_SupportPolicy 속성 값
정책 수준
설명
2
OptIn(기본 구성)
Windows 시스템 구성 요소 및 시스템에만 DEP가 적용됩니다.
3
OptOut
DEP가 모든 프로세스에 대해 사용할 수 있도록 설정됩니다. 관리자는 DEP가 적용되지 않는 특정 응용 프로그램 목록을 수동으로 만들 수 있습니다.
1
AlwaysOn
DEP가 모든 프로세스에 대해 사용할 수 있도록 설정됩니다.
0
AlwaysOff
DEP가 모든 프로세스에 대해 사용할 수 없도록 설정됩니다.
참고 Windows에서 하드웨어 적용 DEP가 사용할 수 있도록 설정되어 있는지 확인하려면 Win32_OperatingSystem 클래스의 DataExecutionPrevention_Drivers 속성을 조사하십시오. 일부 시스템 구성에서는 Boot.ini 파일에서 /nopae 또는 /execute 스위치를 사용하여 하드웨어 DEP를 사용할 수 없도록 설정할 수 있습니다. 이 속성을 확인하려면 명령 프롬프트에서 다음 명령을 입력하십시오.
방법 2: 그래픽 사용자 인터페이스 사용
그래픽 사용자 인터페이스를 사용하여 DEP를 사용할 수 있는지 여부를 확인하려면 다음과 같이 하십시오.
시작, 실행을 차례로 누르고 열기 상자에 wbemtest를 입력한 다음 확인을 누릅니다.
WMI 테스터 대화 상자에서 연결을 누릅니다.
연결 대화 상자의 맨 위에 있는 상자에 root\\cimv2를 입력한 다음 연결을 누릅니다.
인스턴스 열거를 누릅니다.
클래스 정보 대화 상자의 수퍼클래스 이름 입력 상자에 Win32_OperatingSystem을 입력한 다음 확인을 누릅니다.
쿼리 결과 대화 상자에서 맨 위에 있는 항목을 두 번 누릅니다.
참고 이 항목의 이름은 "Win32_OperatingSystem.Name=Microsoft..."로 시작합니다.개체 편집기 대화 상자의 속성 영역에서 DataExecutionPrevention_Available 속성을 찾습니다.
DataExecutionPrevention_Available을 두 번 누릅니다.
속성 편집기 대화 상자에서 값 상자에 있는 값을 확인합니다.
이 값이 TRUE이면 하드웨어 DEP를 사용할 수 있습니다.
메시지가 03-19-2009 10:47 AM에 nompang에 의해 편집되었습니다.