From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bryan Donlan Subject: Re: [RFC][PATCH] Unprivileged: Disable acquisition of privileges Date: Tue, 29 Dec 2009 22:54:59 -0500 Message-ID: <3e8340490912291954v5a837a26p64bd776102d281d7@mail.gmail.com> References: <20091229050114.GC14362@heat> <20091229151146.GA32153@us.ibm.com> <3e8340490912290805s103fb789y13acea4a84669b20@mail.gmail.com> <20091229211139.0732a0c1@lxorguk.ukuu.org.uk> <20091229223631.GB22578@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: "Serge E. Hallyn" , Alan Cox , Benny Amorsen , Michael Stone , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-security-module@vger.kernel.org, Andi Kleen , David Lang , Oliver Hartkopp , Herbert Xu , Valdis Kletnieks , Evgeniy Polyakov , "C. Scott Ananian" , James Morris , Bernie Innocenti , Mark Seaborn , Randy Dunlap , =?ISO-8859-1?Q?Am=E9rico_Wang?= , Tetsuo Handa , Samir Bellabes , Casey Schaufler , Pavel Machek , To: "Eric W. Biederman" Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Tue, Dec 29, 2009 at 10:35 PM, Eric W. Biederman wrote: > > If we can know that a process will never raise it's priveleges we can > enable a lot of features that otherwise would be unsafe, because they > could break assumptions of existing suid executables. > > To allow this to be used as a sand boxing feature also disable > ptracing other executables without this new restriction. > > For the moment I have used a per thread flag because we are out of pe= r > process flags. > > To ensure all descendants get this flag I rely on the default copying > of procss structures. > > The disabling of suid executables is exactly the same as MNT_NOSUID. > > This should be what we have been talking about in for disabling of > suid exec. =A0I choose not to use securebits as that interface requir= es > privilege and assumes capabilities. =A0This implementation is more ba= sic > than capabilities and only adds additional sanity checks when > linux capabilities are not present. > > I attempt to ensure there are no mixed priveleges present, when we > perform the disable so I don't need to handle or think about > interactions with setreuid or capabilities in this code. Is this sufficient for other security models such as selinux or TOMOYO? Can processes in these models gain privileges through means not restricted here? Also, perhaps there should be a corresponding GET prctl?