systemhacking/background

aslr, dep, ascii_armor

qkqhxla1 2015. 2. 15. 18:20

dep는 data execution prevention으로 데이터 영역에서의 코드를 실행하지 못하게 하는 방법이라고 


한다. 저번에 mprotect에 대해서 글을 썼었는데 mprotect가 이걸 우회하기 위해서 나온것 같다.


dep가 non executable stack(nx-bit)하고 같은 말로 생각해도 될것 같다.



aslr은 주소를 난수화시키는 기법이라고 한다. aslr이 난수화 시키는 주소영역은 


Image Base, Heap, Stack, PEB(Process Environment Block), TEB(Thread Environment Block)


라고 한다. 즉 저부분을 벗어나기만 하면 고정된 주소이므로 익스플로잇이 성공 가능하다는 소리같다.


(ex) got부분)



ascii_armor은 라이브러리 영역의 시작주소가 00으로 시작함으로서, 코드 실행 중에 해당 부분이 


널값으로 처리되어 코드 실행을 멈추게 하는거라고 한다.