쉽게 이해하는 PIE(Position-Independent Executable)


쉽게 이해하는 PIE(Position-Independent Executable)

미리 알고올 것 ASLR과 NX (시스템 보호기법) 이번에는 PIE(Position-Independent Executable)에 대해 알아봅시다. 뭐... 이것도 좋습니다만 사실 ASLR(Address Space Layout Randomization)에 대해 알고 있다면, PIE는 그 ASLR을 코드 영역(code section/code segment)까지 확장한 개념으로 이해할 수 있습니다. 코드 영역은 실행 가능한(executable) 부분이기 때문에 PIE 이름이 Position-Independent Executable인 것입니다. 기존의 ASLR은 매번 바이너리를 실행할 때마다 스택(stack), 힙(heap) 그리고 라이브러리의 주소가 예측할 수 없게끔 랜덤하게 변했었습니다. 그렇지만 코드 영역(code section)에 있는 C언어로 치면 main()에 해당하는 함수들은 이 영향을 받지 않았습니다. 다른 모든 프로그램이나 컴퓨터 시스템이 그랬듯이 초창기에는 보안을 이렇게까...


#ASLR #쉬움 #분석 #보호기법 #보안 #바이너리 #리눅스 #간단 #pwnable #PIE #GDB #exploitation #code_segment #code #Clang #C #Assembly #어셈블리

원문링크 : 쉽게 이해하는 PIE(Position-Independent Executable)