Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1483128
| From | Mark Rutland <mark.rutland@arm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [kernel-hardening] [RFC PATCH v2 0/3] Add support for eXclusive Page Frame Ownership (XPFO) |
| Date | 2016-09-14 11:40 +0200 |
| Message-ID | <shePD-7Az-11@gated-at.bofh.it> (permalink) |
| References | <scUZc-7lv-9@gated-at.bofh.it> <shcEa-6cS-9@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi, On Wed, Sep 14, 2016 at 09:18:58AM +0200, Juerg Haefliger wrote: > This patch series adds support for XPFO which protects against 'ret2dir' > kernel attacks. The basic idea is to enforce exclusive ownership of page > frames by either the kernel or userspace, unless explicitly requested by > the kernel. Whenever a page destined for userspace is allocated, it is > unmapped from physmap (the kernel's page table). When such a page is > reclaimed from userspace, it is mapped back to physmap. > Known issues/limitations: > - Only supports x86-64 (for now) > - Only supports 4k pages (for now) > - There are most likely some legitimate uses cases where the kernel needs > to access userspace which need to be made XPFO-aware > - Performance penalty > > Reference paper by the original patch authors: > http://www.cs.columbia.edu/~vpk/papers/ret2dir.sec14.pdf Just to check, doesn't DEBUG_RODATA ensure that the linear mapping is non-executable on x86_64 (as it does for arm64)? For both arm64 and x86_64, DEBUG_RODATA is mandatory (or soon to be so). Assuming that implies a lack of execute permission for x86_64, that should provide a similar level of protection against erroneously branching to addresses in the linear map, without the complexity and overhead of mapping/unmapping pages. So to me it looks like this approach may only be useful for architectures without page-granular execute permission controls. Is this also intended to protect against erroneous *data* accesses to the linear map? Am I missing something? Thanks, Mark.
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[RFC PATCH v2 0/3] Add support for eXclusive Page Frame Ownership (XPFO) Juerg Haefliger <juerg.haefliger@hpe.com> - 2016-09-14 09:20 +0200
[RFC PATCH v2 3/3] block: Always use a bounce buffer when XPFO is enabled Juerg Haefliger <juerg.haefliger@hpe.com> - 2016-09-14 09:20 +0200
Re: [RFC PATCH v2 3/3] block: Always use a bounce buffer when XPFO is enabled Christoph Hellwig <hch@infradead.org> - 2016-09-14 09:40 +0200
[RFC PATCH v2 2/3] xpfo: Only put previous userspace pages into the hot cache Juerg Haefliger <juerg.haefliger@hpe.com> - 2016-09-14 09:20 +0200
Re: [kernel-hardening] [RFC PATCH v2 2/3] xpfo: Only put previous userspace pages into the hot cache Dave Hansen <dave.hansen@intel.com> - 2016-09-14 16:40 +0200
Re: [kernel-hardening] [RFC PATCH v2 2/3] xpfo: Only put previous userspace pages into the hot cache Juerg Haefliger <juerg.haefliger@hpe.com> - 2016-09-14 16:50 +0200
Re: [kernel-hardening] [RFC PATCH v2 2/3] xpfo: Only put previous userspace pages into the hot cache Dave Hansen <dave.hansen@intel.com> - 2016-09-14 16:50 +0200
Re: [kernel-hardening] [RFC PATCH v2 2/3] xpfo: Only put previous userspace pages into the hot cache Juerg Haefliger <juerg.haefliger@hpe.com> - 2016-09-21 07:40 +0200
[RFC PATCH v2 1/3] Add support for eXclusive Page Frame Ownership (XPFO) Juerg Haefliger <juerg.haefliger@hpe.com> - 2016-09-14 09:20 +0200
Re: [RFC PATCH v2 0/3] Add support for eXclusive Page Frame Ownership (XPFO) Juerg Haefliger <juerg.haefliger@hpe.com> - 2016-09-14 09:30 +0200
Re: [kernel-hardening] [RFC PATCH v2 0/3] Add support for eXclusive Page Frame Ownership (XPFO) Mark Rutland <mark.rutland@arm.com> - 2016-09-14 11:40 +0200
Re: [kernel-hardening] [RFC PATCH v2 0/3] Add support for eXclusive Page Frame Ownership (XPFO) Mark Rutland <mark.rutland@arm.com> - 2016-09-14 11:50 +0200
csiph-web