쉽게 이해하는 ASLR와 NX


쉽게 이해하는 ASLR와 NX

먼저 알아둘 것 스택 버퍼 오버플로우 기법 스택 카나리 보호 기법 스택 버퍼 오버플로우 취약점을 통해서 프로그램을 공격할 때, 보통은 사용자와 상호작용 하는 부분을 악용하여 RET까지 쉽게 데이터를 덮어쓰게 하는 기초적인 방법이 있었습니다. 그런데 문제는 이 방법이 너무 단순해 악용의 소지가 큰 것이었고, 이를 막기 위해 스택 카나리(Stack Canary)라고 하는 보호기법을 제시했었습니다. 그러나 이 또한 스택 오버플로우 취약점을 악용하면 스택 카나리의 값을 실행 도중 몰래 슬쩍 읽어와 검증 과정을 속여서 똑같이 오버플로우를 할 수 있게 되었습니다. 이때, 최종적으로 RET을 조작하기 위해 아래와 같은 공격이 사용되었습니다. 스택 프레임 내 구성요소의 주소 알아내기 버퍼 안에 shell code를 삽입하고, 이를 RET으로 돌려 실행하게 하기 그래서 보안 개발자들은 이 두 공격을 막기 위해 각각 ASLR(Address Space Layout Randomization)와 NX(No...


#ASLR #시스템 #설명 #보호기법 #메모리 #리눅스 #NX #NonExecutable #mitigation #malloc #linux #GDB #DEP #C언어 #C #brk #시스템보안

원문링크 : 쉽게 이해하는 ASLR와 NX