GNU/Linux >> Belajar Linux >  >> Linux

Linux – Bagaimana Menguji Apakah Biner Linux Dikompilasi Sebagai Kode Independen Posisi?

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

Linux
  1. Cara Menguji Paket Tanpa Menginstalnya Di Linux

  2. Linux – Bagaimana Menguji Apakah Perangkat Blok Apakah Hanya-Baca Dari /sys Atau /proc?

  3. Bagaimana cara membongkar, memodifikasi, dan kemudian memasang kembali executable Linux?

  1. Bagaimana cara membongkar biner yang dapat dieksekusi di Linux untuk mendapatkan kode perakitan?

  2. Bagaimana cara menyimpan kode yang dapat dieksekusi dalam memori bahkan di bawah tekanan memori? di Linux

  3. Bagaimana cara mengidentifikasi apakah komputer Linux saya diretas?

  1. Bagaimana saya bisa menjalankan executable yang tidak dipercaya di linux dengan aman?

  2. Bagaimana cara menguji apakah biner Linux dikompilasi sebagai kode independen posisi?

  3. Akankah executable Linux yang dikompilasi pada satu rasa Linux berjalan pada rasa yang berbeda?