Research/Pwnable
보호기법 정리중
cheesechoi
2014. 4. 24. 21:22
http://docs.oracle.com/cd/E37670_01/E36387/html/ol_kernel_sec.html
ASLR
/proc/sys/kernel/randomize_va_space
0 : off
1 : Stack, Virtual Dynamic Shared Object, Shared Mem (스택 라이브러리)
2 : Stack, Virtual Dynamic Shared Object, Shared memory, Data segment. (스택 라이브러리 힙)
/etc/sysctl.conf 에서
kernel.randomize_va_space = VALUE
와 같이 설정하고 sysctl -p 로 실행하면 영구적 적용.
ASLR 을 프로그램에 맞추어 끄고 싶다면
setarch 'uname -m'` -R program [args ...]
DEP
-fno-stack-protector -fno-builtin -mpreferred-stack-boundary=2 -z execstack
-fno-stack-protector : canary 스택 프로텍트
-z execstack : 스택에 실행 권한 주기
-fno-builtin : 표준 라이브러리와 링크되지 말고 단독으로 링크하라는 의미
-mpreferred-stack-boundary=2 : 더미 없애기