aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2011-09-08 19:40:50 -0400
committerAnthony G. Basile <blueness@gentoo.org>2011-09-08 19:40:50 -0400
commitc29a5d5f3be5a22025aa7a783ecfcad5fbbaf548 (patch)
treedb99da19ca0f9278ad41bcd425e796890c2ff4ba /doc
parentdoc/paxctl-ng-design.txt: first draft (diff)
downloadelfix-c29a5d5f3be5a22025aa7a783ecfcad5fbbaf548.tar.gz
elfix-c29a5d5f3be5a22025aa7a783ecfcad5fbbaf548.tar.bz2
elfix-c29a5d5f3be5a22025aa7a783ecfcad5fbbaf548.zip
doc/paxctl-ng-design.txt: ready for release as RFC
Diffstat (limited to 'doc')
-rw-r--r--doc/paxctl-ng-design.txt41
1 files changed, 39 insertions, 2 deletions
diff --git a/doc/paxctl-ng-design.txt b/doc/paxctl-ng-design.txt
index 18f59f4..9d837cf 100644
--- a/doc/paxctl-ng-design.txt
+++ b/doc/paxctl-ng-design.txt
@@ -31,9 +31,46 @@ PURPOSAL
To avoid ambiguity in Hardened Gentoo and to smooth the transition to a
future, we propose the following standards to how pax markings are treated:
-1) The kernel.
+1) The kernel. The kernel will be patched to force respect of PT_PAX markings
+first, and only if these are missing, revert to EI_PAX. If both markings are
+misssing, then the kernel will revert to enforcing maximum protection, meaning
-2) Userland utility.
+ PAGEEXEC enabled
+ SEGMEXEC enabled
+ MPROTECT enabled
+ EMUTRAMP disabled
+ RANDMMAP enabled
+
+Once xattr pax markings are introduced, then the kernel will be patched to
+force respect of xattr markings first. If these are missing, either because
+the file has not been pax marked in their xattr fields, or because the
+filesystem doesn't support xattrs, then the kernel will revert to using
+PT_PAX. If the PT_PAX header is missing, the kernel will then revert to
+EI_PAX markings, and if even these are missing, it will finaly revert to
+enforcing maximum protection.
+
+
+2) Userland utility. A new userland utility will be required to ensure
+consistency between the two (eventually three) types of pax markings.
+
+If an ELF binary has a PT_PAX header, it will use that for pax markings.
+For consistency, and until standards say otherwise, it will also mark
+the EI_PAX field with the same flags.
+
+If the binary does not have a PT_PAX header, it will not attempt to add
+such a header, nor convert a GNU_STACK header. Rather, it will only mark
+the EI_PAX fields.
+
+When xattr pax markings are introduced, then the utility will try to add
+the same markings to all three: xattrs, PT_PAX and EI_PAX. It may fail
+to add the markings to either xattrs and/or PT_PAX for the reasons stated
+above, but at least the markings will be in EI_PAX.
+
+
+3) It is hoped that by the time EI_PAX markings must be deprecated because
+ehdr.e_ident[14] and ehdr.e_ident[15] are allocated to some other official
+purpose, xattr marking will be fully supported and EI_PAX can be dropped
+from both the kernel and the userland utility.