본문 바로가기

해킹 방어

[NOOBHACK] NX(NO- eXecute)

오늘은 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