감자 텃밭

메모리 보호 기법 본문

System/Tips

메모리 보호 기법

g2h 2021. 5. 17. 12:24

ASLR

정의 : 실행 및 호출 할 때 마다 주소가 랜덤하게 바뀌는 기법
- 즉 heap, stack, libc등 주소의 공간이 랜덤하게 바뀜
  • DEP/NX
정의 : buffer overflow공격에 이용되는 메모리 공간에 있는 코드를 실행 시키지 않는다.
- 즉 쉘코드등에 실행 권한을 주지 않는 것
  • ASCII-Armor
정의 : 라이브러리 함수의 상위주소에 null바이트를 삽입하는 기법
- 즉 인증값없이 쭉 입력받는 함수 gets, scanf, strcpy등과같은 함수들을 통한 공격을 힘들게 만듬
strcpy와 같은 함수들은 null값을 만나면 종료되기 때문

Canary

정의 : buffer와 SFP사이에 buffer overflow를 탐지하기 위한 임의의 데이터를 삽입하는 기법
- 즉 buffer overflow를 하게되면 buffer 와 sfp사이에 canary 값이 변경되어 경고가발생 됨
  • RELRO
정의 : GOT Overwirte 공격에 대비, elf 바이너리 또는 프로세스의 데이터 섹션을 보호하는 기법
- full RELRO이면 GOT Overwirte를 할 수 없음
  • PIE
정의 : 바이너리의 주소를 랜덤화 하여 바이너리의 주소의 값을 수정하지 못하게 하는 기법

'System > Tips' 카테고리의 다른 글

RTL이란?  (0) 2021.05.29
메모리 보호 기법 해제  (0) 2021.05.24
/bin/sh 문자열을 찾는 소스코드  (0) 2021.05.24
core dump  (0) 2021.05.19
Binary 보호 기법 확인  (1) 2021.05.17