본문 바로가기

Research/Pwnable

보호기법 정리중




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 : 더미 없애기




'Research > Pwnable' 카테고리의 다른 글

Finding environment variable on GDB  (0) 2016.08.30
Format String Bug python frame  (0) 2014.06.27
linux FILE struct  (0) 2014.02.10
SHA 512, /etc/shadow decrypt  (0) 2014.01.12
FreeBSD 에서 proc 디렉토리에 PID 가 없을때  (0) 2013.11.07