Baru-baru ini saya mengetahui bahwa (setidaknya di Fedora dan Red Hat Enterprise Linux), program yang dapat dieksekusi yang dikompilasi sebagai Position Independent Executables (PIE) menerima perlindungan address space randomization (ASLR) yang lebih kuat.
Jadi:Bagaimana cara menguji apakah executable tertentu dikompilasi sebagai Position Independent Executable, di Linux?
Jawaban yang Diterima:
Anda dapat menggunakan perl
skrip yang terdapat dalam hardening-check
paket, tersedia di Fedora dan Debian (sebagai hardening-includes
). Baca halaman wiki Debian ini untuk detail tentang flag kompilasi apa yang diperiksa. Ini khusus Debian, tetapi teorinya juga berlaku untuk Red Hat.
Contoh:
$ hardening-check $(which sshd)
/usr/sbin/sshd:
Position Independent Executable: yes
Stack protected: yes
Fortify Source functions: yes (some protected functions found)
Read-only relocations: yes
Immediate binding: yes