1. RELRO 함수가 처음 호출될 때 함수의 주소를 구하고, 이를 GOT에 적기 위해서는 GOT 테이블을 업데이트할 수 있어야 하므로 GOT에 쓰기 권한이 부여된다. 그런데 이는 바이너리를 취약하게 만드는 원인이 됩니다. 또한, ELF의 데이터 세그먼트에는 프로세스의 초기화 및 종료와 관련된 .init_array, .fini_array가 있다. 이 영역들은 프로세스의 시작과 종료에 실행할 함수들의 주소를 저장하고 있는데, 여기에 임의로 값을 쓸 수 있다면, 프로세스의 실행 흐름이 조작될 수 있다. 리눅스 개발자들은 이러한 문제를 해결하고자 프로세스의 데이터 세그먼트를 보호하는 RELocation Read-Only(RELRO)을 개발했다. RELRO는 쓰기 권한이 불필요한 데이터 세그먼트에 쓰기 권한을 ..