개발/코더 탈출

DEP

-=HaeJuK=- 2024. 9. 12. 12:17

Windows DEP(Data Execution Prevention)는 시스템 메모리의 특정 영역에서 코드가 실행되지 않도록 방지하는 보안 기능입니다. DEP는 주로 메모리에서 발생할 수 있는 악성 코드의 실행을 차단하여 시스템의 보안성을 강화하는 역할을 합니다.

DEP의 주요 개념:

  1. 실행 방지 메모리 영역: DEP는 시스템 메모리의 일부를 "실행 불가"로 표시합니다. 즉, 그 메모리 영역에서는 데이터만 저장할 수 있으며, 코드를 실행할 수 없습니다. 이러한 메모리 보호는 주로 버퍼 오버플로우 공격과 같은 악성 코드 실행을 방지합니다.
  2. 하드웨어 기반 DEP: 하드웨어 기반 DEP는 CPU의 기능을 사용하여 메모리 영역을 보호합니다. 하드웨어에서 제공하는 NX(Non-Executable) 비트 또는 XD(eXecute Disable) 비트를 사용하여 특정 메모리 페이지를 실행하지 못하도록 설정합니다.
  3. 소프트웨어 기반 DEP: 하드웨어 기반 DEP가 지원되지 않는 시스템에서도 사용할 수 있도록 Windows에서는 소프트웨어 기반 DEP를 제공합니다. 이 방식은 주요 시스템 파일과 프로그램을 감시하여 안전하지 않은 메모리 실행을 방지합니다.
  4. 응용 프로그램의 DEP 호환성: 모든 응용 프로그램이 DEP를 지원하는 것은 아니며, 호환성 문제가 발생할 수 있습니다. DEP는 기본적으로 시스템의 중요 프로세스에 대해 적용되지만, 특정 응용 프로그램에 대해 비활성화할 수 있습니다.

DEP의 역할:

  • 메모리 보호: 악성 코드가 메모리에서 임의로 실행되지 않도록 막아 시스템의 안정성을 유지합니다.
  • 보안 강화: 버퍼 오버플로우 및 메모리 기반 공격으로부터 시스템을 보호하여 해커가 시스템 제어를 확보하지 못하게 합니다.

DEP는 Windows XP SP2 이후로 도입되었으며, 현재 대부분의 최신 Windows 운영 체제에서 사용되고 있습니다. 보안에 중요한 역할을 하기 때문에, 가능하면 DEP는 활성화된 상태로 유지하는 것이 좋습니다.

반응형