먼저 알아둘 것 스택 버퍼 오버플로우 기법 스택 카나리 보호 기법 스택 버퍼 오버플로우 취약점을 통해서 프로그램을 공격할 때, 보통은 사용자와 상호작용 하는 부분을 악용하여 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