1. NX-Bit ( NX bit, Never eXecute bit, 실행 방지 비트 )
- 프로세스 명령어나 코드 또는 데이터 저장을 위한 메모리 영역을 따로 분리하는 CPU의 기술이다.
- NX 특성으로 지정된 모든 메모리 구역은 데이터 저장을 위해서만 사용되며, 프로세스 명령어가 그 곳에 상주하지 않음 으로써 실행되지 않도록 만들어 준다.
> 인텔 : XD-bit (eXecute Disable) = NX-bit
2. DEP (Data Execution Prevention)
- 마이크로소프트 윈도우 운영체제에 포한된 보안기능이고, 악의적인 코드가 실행되는 것을 방지하기 위해 메모리를 추가로 확인하는 하드웨어 및 소프트웨어 기술이다.
- DEP의 두 가지 모드
> 하드웨어 DEP : 메모리에 명시적으로 실행 코드가 포함되어 있는 경우를 제외하고, 프로세스의 모든 메모리 위치에서 실행할 수 없도록 표시한다.
> 소프트웨어 DEP : CPU가 하드웨어 DEP를 지원하지 않는 경우 사용한다.
3. NX-Bit 우회 방법
- ROP ( Return-Oriented-Programming )
- RTL ( Return-to-Libc )
'메모용' 카테고리의 다른 글
ASLR 정리 (0) | 2021.08.24 |
---|---|
Format String Bug - simplefsb (Y.CTF) (0) | 2020.12.12 |
PLT & GOT 간단하게 정리. (0) | 2020.08.21 |