From: Dan Rosenberg <drosenberg@vsecurity.com> To: Andrew Morton <akpm@linux-foundation.org> Cc: linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, netdev@vger.kernel.org, jmorris@namei.org, eugeneteo@kernel.org, kees.cook@canonical.com, mingo@elte.hu, davem@davemloft.net Subject: Re: [PATCH v2] kptr_restrict for hiding kernel pointers from unprivileged users Date: Sat, 18 Dec 2010 00:22:44 -0500 Message-ID: <1292649765.10804.42.camel@dan> (raw) In-Reply-To: <20101217172231.8842f5cc.akpm@linux-foundation.org> On Fri, 2010-12-17 at 17:22 -0800, Andrew Morton wrote: > On Fri, 17 Dec 2010 20:12:39 -0500 > Dan Rosenberg <drosenberg@vsecurity.com> wrote: > > > > > > > So what's next? We need to convert 1,000,000 %p callsites to use %pK? > > > That'll be fun. Please consider adding a new checkpatch rule which > > > detects %p and asks people whether they should have used %pK. > > > > The goal of this format specifier is specifically for pointers that are > > exposed to unprivileged users. I agree that hiding all kernel pointers > > would be nice, but I don't expect the angry masses to ever agree to > > that. For now, I'll isolate specific cases, especially in /proc, that > > are clear risks in terms of information leakage. I'll also be skipping > > over pointers written to the syslog, since I think hiding that > > information is dmesg_restrict's job. > > Well... some administrators may wish to hide the pointer values even > for privileged callers. That's a pretty trivial add-on for the code > which you have, and means that those admins can also suppress the > pointers for IRQ-time callers. More /proc knobs :) > I can add a "2" setting that hides %pK pointers regardless of privilege level, which I agree is a useful option. But because it would be built into the same format specifier, you still couldn't use %pK in interrupt context (in case the sysctl wasn't set to 2). > Then again, perhaps those admins would be OK if we simply disabled > plain old %p everywhere. In which case we're looking at a separate > patch, I suggest. I would be happy to do this from a security perspective, but I'd imagine there's a pretty high risk of things breaking by doing such a sweeping change. -Dan
next prev parent reply index Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-12-11 0:05 Dan Rosenberg 2010-12-11 0:11 ` Kees Cook 2010-12-18 0:44 ` Andrew Morton 2010-12-18 1:12 ` Dan Rosenberg 2010-12-18 1:22 ` Andrew Morton 2010-12-18 5:22 ` Dan Rosenberg [this message] 2010-12-18 0:53 ` Andrew Morton
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=1292649765.10804.42.camel@dan \ --to=drosenberg@vsecurity.com \ --cc=akpm@linux-foundation.org \ --cc=davem@davemloft.net \ --cc=eugeneteo@kernel.org \ --cc=jmorris@namei.org \ --cc=kees.cook@canonical.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-security-module@vger.kernel.org \ --cc=mingo@elte.hu \ --cc=netdev@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
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \ linux-kernel@vger.kernel.org public-inbox-index lkml Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git