oss-sec mailing list archives

Re: Vendor adoption of PIE INFO#934476 oss-security


From: Nick Kralevich <nnk () google com>
Date: Thu, 12 Mar 2015 20:31:42 -0700

I wanted to provide a followup on this year-old thread.

With the release of Android 5.0, Android has removed support for
non-PIE binaries [1] [2]. Attempting to run a non-PIE binary will
generate an error on Android. In this way, we ensure that all binaries
take full advantage of Android's ASLR implementation.

This is just one of the many security enhancements added in Android
5.*, and one that I hope other Linux distributions will pick up.

[1] https://source.android.com/devices/tech/security/enhancements/enhancements50.html
[2] https://android.googlesource.com/platform/bionic/+/76e289c026f11126fc88841b3019fd5bb419bb67

-- Nick

On Sun, Feb 16, 2014 at 11:54 AM, Nick Kralevich <nnk () google com> wrote:
On Android, third party applications have always been compiled with
-fPIC, ever since the initial release of Android. As mentioned earlier
in this thread, the performance impacts of PIC and PIE are similar.

Starting in Android 4.1, all dynamically linked ARM [1] and x86 [2]
executables are compiled with PIE. Compiling with PIE on MIPS was
added in Android 4.3 [3]. Statically linked executables with PIE are
not supported today [4], although I'd love to see it in the future.

I have yet to hear any complaint, on x86 or ARM, about any real world
performance impact of PIE on Android, even though the code has been
live and in user's hands for almost 2 years.

[1] https://android.googlesource.com/platform/build/+/026a85b129e4540a4d8d40aace47aa0c69f609da
[2] https://android.googlesource.com/platform/build/+/d9d2e7a42c18a997ae47e4174713b5e2942044b5
[3] https://android.googlesource.com/platform/build/+/f1e4df72651f38208f209f8c60ee18213a38d21d
[4] http://comments.gmane.org/gmane.comp.gnu.binutils/56324

-- 
Nick Kralevich | Android Security | nnk () google com | 650.214.4037


Current thread: