본문 바로가기
reversing

ASLR 이란?

by 코끼리_땃쥐 2022. 7. 25.
반응형

윈도우 비스타 부터 적용된 ASLR(Address Space Layout Randomization) 기술입니다.

 

 

ASLR 기술은 PE파일이 메모리에 로딩될 때 로딩 시작 주소 값을 랜덤하게 바꾸는 것입니다.

또한 해당 프로세스의 스택, 힙의 시작 주소도 실행될 때마다 랜덤 하게 바뀝니다.

즉 exe파일이 실행될 때 프로세스 메모리에서 실제 로딩 주소는 매번 달라지며, DLL 파일이 최초로 로딩될 때도 역시 메모리에서 실제 로딩 주소가 달라집니다.

 

이유 ->

 

보안을 강화 하기 위해서 이런방식을 사용합니다.

 

대부분의 Windows OS 보안 취약점(보통 오버플로우)들은 특정 OS, 특정 모듈, 특정 버전 에서만 동작합니다. 그러한 취약점을 노리는 exploit code에는 특정 메모리 주소가 하드 코딩되어있습니다.(기존 OS에서는 버전에 따라 특정 DLL이 언제나 정해진 주소에 로딩되기 떄문이죠). 따라서 MS에서는 OS보안 취약점을 노리는 exploit code 작성을 어렵게 하기 위해서 이와 같이 ASLR 기술을 적용하게 된 것입니다.

반응형

'reversing' 카테고리의 다른 글

CreateRemoteThread() API 호출 흐름  (0) 2022.08.29
Session in Kernel 6  (0) 2022.08.29
PE32+  (0) 2022.07.18
64비트  (0) 2022.07.15
DLL 이젝션이란  (0) 2022.06.13

댓글