카테고리 없음

리눅스 ASLR 해제하는 3가지 방법

진모씨 2014. 6. 9. 18:40

1. /proc/sys/kernel/randomize_va_space 조작하기 (리눅스 옵션 조작)

- 루트(uid: 0)만 가능

- 모든 aslr이 해제됨. 재부팅 시 다시 돌아옴.


2. setarch linux32/linux64/i386/i486/i586/i686/`arch` -R

- 현재 프로세스 및 하위 프로세스

- setarch linux32 -R 로 하면 보통 됨

- `arch`는 현재 쓰는 CPU로 치환됨(sh/bash 문법)

- 64비트는 linux64 로 하면 그냥 됨

- 64비트에서 suid, sgid 바이너리에서는 아예 적용 안됨.

- ARM도 됨

- 범위: 모든 라이브러리

- 추가 범위(suid, sgid 바이너리 아닌 경우): 스택 ASLR

- 모든 유저 가능. 권장하는 방법임.

- personality 시스템 콜을 쓴다.


3. ulimit -s unlimited (현재는 막힘)

- 현재 프로세스 및 하위 프로세스

- setrlimit 시스템 콜로 설정하는것임

- 스택 크기를 unlimited로 만들어줌. 부모 프로세스에서 미리 unlimited가 아닌 값을 기본값으로 설정했을 경우 안됨.

- 범위: 모든 라이브러리(32비트만, 64비트는 안됨)

- 모든 유저 가능