vDSO
-
vsyscall을 이용한 Exploit공부정리 2019. 6. 16. 01:55
리눅스 ELF 바이너리에는 고정적인 주소를 가진 vsyscall영역이 있다. [ vsyscall ]해당 영역은 ASLR, PIE와 같은 주소랜덤화 기법이 적용되어 있어도 항상 고정적인 주소를 갖는다. 또한, 실행권한(x)이 부여되어 있어 필요한 가젯을 가져와서 사용할 수 있다.[ vsyscall ]vsyscall영역은 syscall의 Overhead를 줄이기 위해 User Space에 할당된 커널 영역이다. syscall을 사용하면 User mode에서 Kernel mode로 Context Switching이 발생하게 된다.User의 Context는 따로 저장해두고 Kernel의 Context를 불러오고,Kernel에서 모든 작업이 종료되면, 저장해뒀던 User Context를 불러오는 작업을 하게된다...