NX
-
ELF Memory Protection - DEP/NXSystem hacking training/Knowledge 2018. 2. 10. 21:44
DEP란? Data Execution Prevention의 약자로 데이터 영역에서 코드가 실행되는 것을 막는 메모리 보호 기법이다. 예를 들어 bof 취약점이 있는 프로그램을 exploit 하기 위해 return address를 쉘코드의 주소로 변조하였다고 하면 DEP가 걸려 있지 않은 경우라면 바로 쉘코드가 실행되겠지만 DEP가 걸려있는 경우라면 실행권한이 없기 때문에 쉘코드를 실행하지 않고 프로그램에 대한 예외처리 후 종료된다. 실습을 하기 위해 프로그램 하나를 만들었다. [DEP_test.c] 간단히 bof 취약점이 존재하는 프로그램이다. gets() 에 의해 bof가 발생된다. 먼저 모든 메모리 보호기법을 꺼놓고 bof 공격을 해봤다. 컴파일 옵션은 이러하다. gcc -o DEP_test DEP_..