강좌 & 팁
글 수 2,412
2014.04.04 16:10:52 (*.134.169.166)
54022
드디어 오랫만에 커널 3.14 가 릴리즈 되었습니다.
이번 릴리즈를 매우 기다리던 입장이었는데요.
물론 현재 진행하고 있는 프로젝트에서 4.13에 일부 포팅된 내용이 3.14에서
어느 정도 안정화와 추가가 될것이란 기대 때문이었습니다.
아직 테스트는 못하고 뭐가 바뀌었는지 내용만 확인하던 중에 응? 재밌는 내용이 있습니다.
KASLR !!!
kernel address space layout randomize 라는 것이군요.
기본적으로 커널은 어플리케이션 영역에 대하여 라이브러리등의 로딩 위치를 바뀌게 하는 옵션이 있습니다.
aslr 이라고 해서 사용자 레벨에서 활성화와 비활성화가 가능합니다.
/proc/sys/kernel/randomize_va_space 에는 이런 기능을 담당하는 것이 있죠.
그런데 kernel ??? 어떻게 하는 것인지 급 궁금해 졌습니다.
lwn 에 있는 포스팅의 링크입니다.
https://lwn.net/Articles/569635/
간단히 얘기하면 커널이 로딩될때의 주소가 바뀐다 입니다.
시작주소가 바뀐다는 것은 심볼들의 위치가 바뀌는 것이기 때문에 찾기가 어렵죠
재밌는 것은 이게 Chrome OS 애 적용되었고 곧 안저오하 되면 커널 릴리즈에 올라갈 것이라고 한 겁니다.
그래서... 이걸 해킹하는 사람들은 커널의 베이스 주소를 추적하는 기법을 만드는 사람도 있네요.
여러 모로 재밌는 일들이 많은 한주였습니다.
다음주에는 3.14에서 바뀐 내용을 좀더 확인해 봐야 겠습니다.