프로그램/C/C++/OOC

Linux gcc ASLR 해제 ( 랜덤 스택 Random Stack 보안 옵션)

와이즈캣 2018. 1. 31. 09:21

ASLR : Address Space Layout Randomization

프로그램 실행 시 주소 할당을 무작위로 배치시켜 

실행 할 때 마다 프로그램 내부에서 사용하는 주소를 

다르게 만드는 메모리 보호기법의 일종.


특정 주소를 공략하는 해킹/크래킹 같은 프로그램을 무력화할 수 있는 기법 중의 하나.

최근 컴파일러, 라이브러리, 운영체제 레벨에서 비슷한 기법을 거의 다 동원하고 있는 추세.

Visual Studio도 컴파일러 차원에서 이를 도입하고 있으며 관련한 해제 방법은 아래 링크를 참조.

http://wisecat.tistory.com/1092



gcc의 경우는 커널 차원에서 On/Off가 가능.


Root 권한에서 아래를 수행


sysctl -w kernel.randomize_va_space=0


이후 출력 되는 메시지


kernel.randomize_va_space = 0





0 대신 1을 넣으면 활성화