protection
-
[Linux Memory Protection] - DEPSystem hacking training/Knowledge 2019. 5. 14. 12:38
복습겸 리눅스 환경의 메모리 보호 기법에 대해 알아봅시다. Ref : https://bpsecblog.wordpress.com/2016/05/16/memory_protect_linux_1/ linux 환경에서의 메모리 보호기법을 알아보자(1) 지금부터 Linux 환경에서의 메모리 보호 기법에 대해 알아봅시다! 이번 편에서는 ASLR, NX, ASCII-Armor, Stack canary에 대해 알아보겠습니다. 위키를 통해 “메모리 보호”라는 말의 정의를 알아보고 넘어갑시다. 실습 환경: CentOS 6.7 (32bit) ASLR : Address Space Layout Randomizati… bpsecblog.wordpress.com 이 글을 토대로 공부한 내용을 포스팅하겠습니다. ASLR DEP(NX)
-
[Linux Memory Protection] - ASLRSystem hacking training/Knowledge 2019. 5. 14. 11:48
복습겸 리눅스 환경의 메모리 보호 기법에 대해 알아봅시다. Ref : https://bpsecblog.wordpress.com/2016/05/16/memory_protect_linux_1/ linux 환경에서의 메모리 보호기법을 알아보자(1) 지금부터 Linux 환경에서의 메모리 보호 기법에 대해 알아봅시다! 이번 편에서는 ASLR, NX, ASCII-Armor, Stack canary에 대해 알아보겠습니다. 위키를 통해 “메모리 보호”라는 말의 정의를 알아보고 넘어갑시다. 실습 환경: CentOS 6.7 (32bit) ASLR : Address Space Layout Randomizati… bpsecblog.wordpress.com 이 글을 토대로 공부한 내용을 포스팅하겠습니다. ASLR /proc/s..
-
ELF Memory Protection - RELROSystem hacking training/Knowledge 2018. 3. 7. 15:52
codegate 2013 문제를 풀이하려고 보호기법을 확인해 보니 partial RELRO가 걸려있었다. 이 보호기법에 대해 공부를 해본적이 없어서 정리를 해본다. 먼저 RELRO를 이해하기 위해 배경지식이 필요한데 Lazy Binding 이라는 개념에 대해 정리를 하겠다. Lazy Binding 이란?-> 모든 외부 함수의 주소를 한 번에 로딩하지 않고, 함수 호출 시점에 해당 함수의 주소만 공유 라이브러리로부터 알아오는 것을 의미한다. Dynamic Linking 방식으로 컴파일된 ELF 바이너리는 공유 라이브러리 내에 위치한 함수의 주소를 동적으로 알아오기 위해 GOT(Global Offset Table)를 이용한다. Dynamic Link 방식은 공유 라이브러리를 하나의 메모리 공간에 매핑하고 여..
-
ELF Memory Protection - ASCII ArmorSystem hacking training/Knowledge 2018. 2. 6. 09:55
참고 : https://bpsecblog.wordpress.com/2016/05/16/memory_protect_linux_1/ ASCII-Armor이란? 직역하면 아스키 갑옷이라는 것으로 RTL 공격에 대응하기 위해 사용된다. RTL은 Return To Library의 약자이고, Return address에 libc내의 함수를 덮어씌워 쉘코드 없이 exploit하는 것이다. libc라는 공유라이브러리 내 함수로 리턴을 하여 프로그램의 실행 흐름을 조작하는 공격이기 때문에 운영체제에 ASCII-Armor 보호 기법이 적용되어있다면 공격자가 라이브러리를 호출하는 공격을 한다고 해도 NULL바이트가 삽입되므로 쉽게 exploit을 허용하지 않는다.