![i686-pae의 ASLR과 32비트 프로세스를 실행하는 amd64 커널 비교](https://linux55.com/image/125092/i686-pae%EC%9D%98%20ASLR%EA%B3%BC%2032%EB%B9%84%ED%8A%B8%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20amd64%20%EC%BB%A4%EB%84%90%20%EB%B9%84%EA%B5%90.png)
i686-pae 커널에서 실행되는 프로세스 또는 amd64 커널에서 실행되는 32비트 프로세스에 대해 ASLR이 더 안전합니까, 동일합니까, 아니면 덜 안전합니까?
답변1
주소 공간 레이아웃 무작위화는 64비트 커널 또는 32비트 커널에서 32비트 호환 모드로 실행되는지 여부에 관계없이 32비트 프로세스에 영향을 주지 않습니다. 두 경우 모두 사용자 프로세스에는 무작위로 할당할 수 있는 주소 비트 수가 제한되어 있으므로 항목을 배치할 수 있는 위치 수가 줄어듭니다. PAE는 또한 주소 지정 가능한 물리적 메모리의 양을 늘리는 메커니즘일 뿐이므로 ASLR에 영향을 주지 않습니다.
KASLR(커널 ASLR)은 또 다른 이야기이며 x86-64에서 장기 모드(64비트)로 실행하면 이점을 얻을 수 있습니다.