GNU/Linux >> Linux の 問題 >  >> Linux

Linux – Linuxバイナリが位置独立コードとしてコンパイルされたかどうかをテストする方法は?

最近、(少なくともFedoraとRed Hat Enterprise Linuxでは)Position Independent Executables(PIE)としてコンパイルされた実行可能プログラムが、より強力なアドレス空間配置のランダム化(ASLR)保護を受けることを知りました。

したがって、Linuxで特定の実行可能ファイルが位置に依存しない実行可能ファイルとしてコンパイルされたかどうかをテストするにはどうすればよいですか?

承認された回答:

perlを使用できます hardening-checkに含まれるスクリプト パッケージ、FedoraおよびDebianで利用可能(hardening-includesとして) )。チェックされるコンパイルフラグの詳細については、このDebianwikiページをお読みください。これはDebian固有ですが、理論はRedHatにも当てはまります。

例:

$ 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. Linux –ブロックデバイスが/sysまたは/procから読み取り専用かどうかをテストする方法は?

  2. Linux でバイナリ実行可能ファイルを逆アセンブルしてアセンブリ コードを取得する方法は?

  3. メモリ不足の状態でも実行可能コードをメモリに保持する方法は? Linuxで

  1. Linuxがどのようにして学校をパンデミック対応にしたか

  2. Linuxを学ぶことは私たちの愛を伝える方法です

  3. Linux バイナリが位置に依存しないコードとしてコンパイルされているかどうかをテストする方法は?

  1. LinuxにAnsibleをインストールしてテストする方法

  2. Linuxにインストールせずにパッケージをテストする方法

  3. Linux 実行可能ファイルを逆アセンブル、変更、再アセンブルする方法は?