RELRO(Relocation Read-Only) ? ELF 바이너리 또는 프로세스의 데이터 섹션을 보호하는 기술

즉, 메모리가 변경되는 것을 보호하는 기술

GOT Overwrite란?

PLT(외부 프로시저를 연결해주는 테이블)가 참조하는 테이블이며, 프로시저들의 실제 주소가

들어있다.

예를 들어) printf 함수의 주소가 저장되어 있는 GOT를 Overwrite 하여 system 함수로 변조한다면,

printf 함수가 호출될 때, system 함수가 호출되게 될 것이다 ⇒ GOT Overwrite


Stack Canaries ? 버퍼 오버 플로우를 모니터하기 위해 버퍼와 제어 데이터 사이에 설정된 값이다.

버퍼 오버 플로우 발생 시 Canary 값이 손상, 오버플로우에 대한 경고가 출력되고, 손상된 데이터를

무효화 처리한다.


NX Bit ? 프로세스 명령어나 코드 또는 데이터 저장을 위한 메모리 영역을 따로 분리하는 CPU