NX Bit
2022. 2. 18. 15:34ㆍBasic Concept/System
NX Bit(Never eXecute bit, 실행 방지 비트)란 실행에 사용되는 메모리 영역과 쓰기에 사용되는 메모리 영역을 분리하는 보호 기법입니다.
NX Bit가 지정된 모든 메모리 구역은 데이터 저장을 위해서만 사용되며, 프로세서 명령어가 그곳에 상주하지 않음으로써 실행되지 않도록 만들어 줍니다.
첫 번째 사진은 NX bit가 설정되지 않았을 때 두 번째 사진은 Nx bit가 설정됐을 때입니다.
실행 권한이 없어져 있는 것을 확인할 수 있습니다. 이로 인해 쉘 코드를 직접 삽입해 실행시킬 수 없게 됩니다.
readelf 명령어를 통해 파일의 세그먼트 헤더 정보에서 NX 여부를 확인할 수 있습니다.
'Basic Concept > System' 카테고리의 다른 글
RELRO (0) | 2022.02.19 |
---|---|
운영체제 개요 (0) | 2022.02.17 |
Stack Canary (0) | 2022.02.16 |
SYSV ABI (0) | 2022.02.16 |
Cdecl (0) | 2022.02.16 |