오늘은 NX(NO-eXecute)에 대해 알아볼거다
잔말 말고 시작하자
NX이란 프로그램이 시작할 때 실행에 사용되는 메모리와 쓰기에 사용 되는 메모리의 영역을 나눈 보호 기법이다.
한 메모리 영역에 쓰기 권한과 실행 권한이 있으면 시스템이 터질 수 있다
코드영역에 쓰기 권한이 있으면 해커는 코드를 수정하여 악성코드가 실행 하게 할 수도 있고 반대로 스택과 데이터 영역에 실행 권한이 있으면 프로그램이 터질 수 있다
그렇기에 NX가 있으면 권한 분리를 철저히 할 수 있어 메모리를 보호 할 수 있지만 문제 메모리 영역의 보호 기법이기에 CPU가 지원 하냐 마냐에 사용 여부가 달라진다 만약에 NX를 지원 한다면 NX가 적용 된 바이너리에는 필요한 영역의 메모리만 할당 받고 권한 분배를 받는다 NX가 적용된 바이너리에는 코드 영역 외에 실행 권한이 없다는 것이다

예를 들면 이렇게 표현 할 수는 있다 r이 읽기 권한, w는 쓰기 권한인데 이렇게 나누면 코드를 보호 할 수 있는 것이다
만약에 틀린 부분이 있다면 허위사실 유포죄로 고소해 주길 바란다
'해킹 방어' 카테고리의 다른 글
| [NOOBHACK] CSP보안 기법 (0) | 2022.08.16 |
|---|---|
| [NOOBHACK] Canary 메모리 보호 기법 (0) | 2022.08.13 |
| [NOOBHACK] 메모리 보호 기법 ASLR (0) | 2022.08.12 |