GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:come verificare se un binario Linux è stato compilato come codice indipendente dalla posizione?

Di recente ho appreso che (almeno su Fedora e Red Hat Enterprise Linux), i programmi eseguibili compilati come Position Independent Executables (PIE) ricevono una protezione ASLR (Address Space Randomization) più forte.

Quindi:come posso verificare se un particolare eseguibile è stato compilato come eseguibile indipendente dalla posizione, su Linux?

Risposta accettata:

Puoi usare il perl script contenuto nel hardening-check pacchetto, disponibile in Fedora e Debian (come hardening-includes ). Leggere questa pagina wiki di Debian per i dettagli su quali flag di compilazione vengono controllati. È specifico per Debian, ma la teoria si applica anche a Red Hat.

Esempio:

$ 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. Come Linux ha reso una scuola pronta per la pandemia

  2. Come imparare Linux è la nostra lingua d'amore

  3. Come installare e testare Ansible su Linux

  4. Come identificare se il mio computer Linux è stato violato?

  5. Un eseguibile Linux compilato su un tipo di Linux verrà eseguito su un altro?

Come gioco a Tetris sul mainframe

Come è cresciuto il desktop Linux

Come utilizzare gli operatori di test di file Bash in Linux

Come rendere eseguibile un file in Linux

Come posso eseguire un eseguibile non attendibile su Linux in modo sicuro?

Come verificare se un binario Linux è stato compilato come codice indipendente dalla posizione?