
NX bit(Never eXecute bit, 실행 방지 비트)란 프로세스 명령어나 코드 또는 데이터 저장을 위한 메모리 영역을 따로 분리하는 CPU 기술이다. NX 특성으로 지정된 메모리 구역은 데이터 저장을 위해서만 사용된다.
DEP(Data Execution Prevention)이란 마이크로소프트 윈도우 운영 체제에 포함된 보안 기능이며, 악의적인 코드가 실행되는 것을 방지하기 위해 메모리를 추가로 확인하는 하드웨어 및 소프트웨어 기술이다.
DEP에는 하드웨어 DEP, 소프트웨어 DEP 두 가지 모드가 있다. 하드웨어 DEP는 메모리에 명시적으로 실행 코드가 포함되어 있는 경우를 제외하고 프로세스의 모든 메모리 위치에서 실행할 수 없도록 표시한다. 대부분의 최신 프로세서는 하드웨어 DEP를 지원하고, CPU가 하드웨어 DEP를 지원하지 않을 경우 소프트웨어 DEP를 사용한다.
- Check the protection techniques of binary files
프로그램의 보호 기법 적용는 Checksec.sh 파일로 확인할 수 있다. 다음과 같이 DEP 적용 바이너리는 NX enabled라고 출력되고, 그 반대는 NX disabled라고 출력된다.
- DEP-disabled file: NX disabled
- DEP-enabled file: NX enabled
- Checking Permissions in Memory
메모리 맵에서 메모리 영역별로 설정된 권한을 확인할 수 있다.
'Study > System Hacking' 카테고리의 다른 글
[LOB] orc -> wolfman (0) | 2021.02.03 |
---|---|
[LOB] goblin -> orc (0) | 2021.02.02 |
[dreamhack] Linux Exploitation & Mitigation Part 1 / NX bit (0) | 2021.02.02 |
[LOB] cobolt -> goblin (0) | 2021.01.28 |
[LOB] gremlin -> cobolt (0) | 2021.01.27 |