[cs631apue] PIE

Jan Schaumann jschauma at stevens.edu
Mon Nov 15 22:11:47 EST 2021


Hello,

In class we noted that executables on our NetBSD VM
would show as "DYN (Shared object file)" in their ELF
header, despite obviously being executables.

We noted that this is due to them being "PIE" --
position independent executables.  This can function
as an important security mechanism when combined with
address space layout randomization (ASLR).

Different OS have started using PIE at different times
in the recent past; on NetBSD, most architectures did
enable PIE in version 8.0.

See also:
https://en.wikipedia.org/wiki/Position-independent_code#Position-independent_executables

-Jan


More information about the cs631apue mailing list