System hacking training/Knowledge

[Linux Memory Protection] - ASCII-Armor

fkillrra 2019. 5. 15. 16:02

복습겸 리눅스 환경의 메모리 보호 기법에 대해 알아봅시다.

 

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)
  • ASCII-Armor <- 이번엔 요놈
  • Stack Canary

ASCII-Armor에 대해 알아봅시다.

 

ASCII-Armor란, 공유 라이브버리 영역의 상위 주소에 0x00을 포함시키는 방법입니다.

이 기법은 RTL 공격에 대응하기 위한 방법인데요.

 

0x00이 들어가기 때문에 strcpy()와 같은 string을 다루는 함수를 사용할 때

문자열의 끝으로 인식하여 함수가 연계적으로 호출될 수 없도록 합니다.

 

우회 방법으로는 return-to-plt가 있는데,

이 기법은 libc에 return하는 것이 아닌 바이너리에 로드된 plt함수들을 사용하는 방법입니다.

 

이상으로 포스팅을 마칩니다.

반응형