로딩
요청 처리 중입니다...

쉽게 이해하는 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 # 어셈블리