From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Dave Jones <davej@redhat.com>
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>,
ksummit-2013-discuss@lists.linuxfoundation.org,
Kees Cook <keescook@chromium.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [Ksummit-2013-discuss] [ARM ATTEND] catching up on exploit mitigations
Date: Wed, 21 Aug 2013 16:56:32 +0100 [thread overview]
Message-ID: <20130821155632.GO17845@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20130821154355.GA20784@redhat.com>
On Wed, Aug 21, 2013 at 11:43:55AM -0400, Dave Jones wrote:
> On Wed, Aug 21, 2013 at 04:26:14PM +0100, Russell King - ARM Linux wrote:
> > I've been running several iterations of it for a while (== up to 10 minutes
> > run time - which is normally about how long it takes to find the rather-too-
> > exposed kmalloc in sys_oabi_epoll_wait) and so far have seen no sign of any
> > page table corruption.
>
> awesome. Guess it was a google specific issue then.
> (Or something that got fixed post 3.4)
It's been running on this run for 38 minutes so far (having put a
__GFP_NOWARN stopper in that kmalloc - which I think there needs to be
a better solution.)
What I have noticed is during the initialisation of the fd[] array, it
sometimes hangs on a futex. Killing trinity, removing all the files
and restarting it seems to sort the problem out. I'm not sure what's
doing that - any ideas? I couldn't find any evidence of another trinity
thread doing anything with futexes.
> > Were there any nonstandard platform
> > specific devices in /dev which that user could access - such as graphics
> > or video decoder devices which could be exposing big holes?
>
> I'm not sure what google patched into that kernel altogether, so who knows..
Unfortunately, it seems to be rather common if there's hardware GPU or
video codecs to expose physical addresses to userspace which get passed
around in closed source libraries and ultimately to GPU/video hardware.
I would not be surprised if trinity was finding that and finding some
way to get something to poke randomly in kernel memory.
It seems also that the normal approach is to expose the device nodes in
/dev to the world, effectively handing any userspace program the ability
to:
(a) a way to allocate from a pool of memory, and get its physical address
(b) to be able to pass a physical address to hardware for DMA type operations
(c) to initiate DMA on that hardware
This is why closed source GPU/video stuff is Bad News(tm) for security.
I'd strongly suggest keeping such platforms well away from any data
anyone cares about keeping private and keeping them well isolated. :)
next prev parent reply other threads:[~2013-08-21 16:02 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-30 19:05 Kees Cook
2013-07-30 22:14 ` [Ksummit-2013-discuss] " Dave Jones
2013-07-30 22:28 ` H. Peter Anvin
2013-07-31 13:55 ` Jason Cooper
2013-07-30 23:11 ` Aaro Koskinen
2013-07-30 23:15 ` Dave Jones
2013-07-30 23:33 ` Kees Cook
2013-07-31 0:01 ` H. Peter Anvin
2013-07-30 23:58 ` Aaro Koskinen
2013-07-31 0:04 ` Dave Jones
2013-07-31 9:40 ` Russell King - ARM Linux
2013-07-31 14:24 ` Dave Jones
2013-08-01 2:47 ` Olof Johansson
2013-08-01 2:59 ` Dave Jones
2013-08-01 16:02 ` Vince Weaver
2013-08-21 15:26 ` Russell King - ARM Linux
2013-08-21 15:43 ` Dave Jones
2013-08-21 15:56 ` Russell King - ARM Linux [this message]
2013-08-01 9:13 ` Dan Carpenter
2013-08-01 19:05 ` Dave Jones
2013-08-01 19:16 ` Dan Carpenter
2013-08-01 19:26 ` Julia Lawall
2013-08-13 4:51 ` Laura Abbott
2013-08-26 19:56 ` Mark Brown
2013-08-27 2:09 ` Laura Abbott
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130821155632.GO17845@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=aaro.koskinen@iki.fi \
--cc=davej@redhat.com \
--cc=keescook@chromium.org \
--cc=ksummit-2013-discuss@lists.linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®