From: Eamon Walsh <ewalsh@tycho.nsa.gov>
To: Stephen Smalley <sds@tycho.nsa.gov>
Cc: James Morris <jmorris@namei.org>,
selinux@tycho.nsa.gov, Eric Paris <eparis@parisplace.org>
Subject: Re: avc: granted null messages
Date: Thu, 20 Dec 2007 17:20:59 -0500 [thread overview]
Message-ID: <476AEACB.4070902@tycho.nsa.gov> (raw)
In-Reply-To: <1198082209.19081.80.camel@moss-spartans.epoch.ncsc.mil>
Stephen Smalley wrote:
> On Wed, 2007-12-19 at 11:15 -0500, Stephen Smalley wrote:
>
>> On Wed, 2007-12-19 at 11:09 +1100, James Morris wrote:
>>
>>> On Tue, 18 Dec 2007, Eamon Walsh wrote:
>>>
>>>
>>>> Stephen Smalley wrote:
>>>>
>>>>> If a (buggy) caller passes a requested permission value of zero to
>>>>> avc_has_perm, it correctly returns a permission denial (if enforcing),
>>>>>
>>>>>
>>>> Now I'm questioning why we don't just return success. Doesn't everyone have
>>>> permission to do nothing? It seems odd to think that a process could receive
>>>> "granted" for a set of permissions A, but "denied" for a subset of A.
>>>>
>>> Given that the caller is buggy, we don't really know what it's trying to
>>> do, so denying access seems prudent.
>>>
>>> Can we get the audit log to produce something unparseable by audit2allow,
>>> as we don't _want_ policy being generated in response to a buggy caller ?
>>>
>> At present, it generates no avc message in permissive (avc_audit entered
>> with requested == 0 and result == 0) and a misleading avc message in
>> enforcing (avc_audit entered with requested == 0 and result < 0),
>> neither of which will generate any policy.
>>
>> If we change it to consistently generate an:
>> avc: denied null for scontext=...
>> then audit2allow would try to create an allow rule like:
>> allow a_t b_t:class null;
>> which would compile but fail when one tries to insert the module, since
>> null is not a defined permission in the base policy.
>>
>> I don't think we want to generate an unparseable avc message, whatever
>> that might mean, as that too could potentially break audit2allow and in
>> a less understandable way, and we want these failures to be noticeable,
>> just not immediately fatal to the system (ala BUG_ON or assert).
>>
>
> Oh, the other reason to keep it in the existing format is to ensure that
> setroubleshoot picks up on it, since users are now trained to look for
> its alerts rather than inspecting the audit log for SELinux denials.
>
How about the following:
Index: libselinux/src/avc.c
===================================================================
--- libselinux/src/avc.c (revision 2708)
+++ libselinux/src/avc.c (working copy)
@@ -756,12 +756,19 @@
denied = requested & ~avd->allowed;
if (denied) {
+ /* Permissions were denied */
audited = denied;
if (!(audited & avd->auditdeny))
return;
+ } else if (!requested) {
+ /* Request was made with "null" permission vector */
+ audited = requested;
+ denied = 1;
} else if (result) {
+ /* Another error besides a denial occurred */
audited = denied = requested;
} else {
+ /* Permissions were granted */
audited = requested;
if (!(audited & avd->auditallow))
return;
--
Eamon Walsh <ewalsh@tycho.nsa.gov>
National Security Agency
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
next prev parent reply other threads:[~2007-12-20 22:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-18 21:49 avc: granted null messages Stephen Smalley
2007-12-18 23:46 ` Eamon Walsh
2007-12-19 0:09 ` James Morris
2007-12-19 16:15 ` Stephen Smalley
2007-12-19 16:36 ` Stephen Smalley
2007-12-20 22:20 ` Eamon Walsh [this message]
2007-12-20 22:42 ` Stephen Smalley
2007-12-20 23:31 ` Eamon Walsh
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=476AEACB.4070902@tycho.nsa.gov \
--to=ewalsh@tycho.nsa.gov \
--cc=eparis@parisplace.org \
--cc=jmorris@namei.org \
--cc=sds@tycho.nsa.gov \
--cc=selinux@tycho.nsa.gov \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.