All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Serge E. Hallyn" <serue@us.ibm.com>
To: Eric Paris <eparis@redhat.com>
Cc: selinux@tycho.nsa.gov, linux-fsdevel@vger.kernel.org,
	linux-security-module@vger.kernel.org, viro@ZenIV.linux.org.uk,
	sds@tycho.nsa.gov
Subject: Re: SELinux and access(2), we want to know.
Date: Thu, 7 May 2009 16:28:24 -0500	[thread overview]
Message-ID: <20090507212824.GA23955@us.ibm.com> (raw)
In-Reply-To: <1241729838.2791.127.camel@localhost.localdomain>

Quoting Eric Paris (eparis@redhat.com):

...

> Your suggestion is the equivalent of knowing that your friend John might
> look in your window to see if you are home but shouldn't ever try to
> kick down the door.  In the current situation you can't tell the
> difference between the window and the door so you won't call the police
> even if John tries to kick down the door.

I don't buy this analogy, unless there a side effect to a failed open()
which I'm not thinking of?

> When in reality it would be a
> lot better to not call the police if John looks in the window even
> though you don't know his intent.  He might be looking in the window to
> see if you are home and if not he'll try to kick down the door.  But
> that situation of not knowing his intent and still not always calling
> the policy is a heck of a lot better than NEVER calling the police.  And
> I'm glad you see my side of the SELinux argument that this dontaudit
> needs to be per domain, not global for all access calls, since knowing

Yes.  It should be distinguishable per domain (and it is, using
dontaudit, right?).  But I don't yet see any reason why it's worth
distinguishing between access() and open().

> John might look in the window has nothing to do with Jake and we
> probably want to call the policy if he does either!
> 
> Often the right thing to do here is to fix the application to not
> request things it doesn't need, but at least in the case of Nautilus it
> needs to learn everything just so it can draw it's icons, not much we
> can do about that example.

If policy lets Nautilus poke around all under /usr without auditing,
then it (and anyone who attacks it) gets to do that...  catching opens
and not accesses doesn't imo buy you anything.

-serge

--
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.

WARNING: multiple messages have this Message-ID (diff)
From: "Serge E. Hallyn" <serue@us.ibm.com>
To: Eric Paris <eparis@redhat.com>
Cc: selinux@tycho.nsa.gov, linux-fsdevel@vger.kernel.org,
	linux-security-module@vger.kernel.org, viro@ZenIV.linux.org.uk,
	sds@tycho.nsa.gov
Subject: Re: SELinux and access(2), we want to know.
Date: Thu, 7 May 2009 16:28:24 -0500	[thread overview]
Message-ID: <20090507212824.GA23955@us.ibm.com> (raw)
In-Reply-To: <1241729838.2791.127.camel@localhost.localdomain>

Quoting Eric Paris (eparis@redhat.com):

...

> Your suggestion is the equivalent of knowing that your friend John might
> look in your window to see if you are home but shouldn't ever try to
> kick down the door.  In the current situation you can't tell the
> difference between the window and the door so you won't call the police
> even if John tries to kick down the door.

I don't buy this analogy, unless there a side effect to a failed open()
which I'm not thinking of?

> When in reality it would be a
> lot better to not call the police if John looks in the window even
> though you don't know his intent.  He might be looking in the window to
> see if you are home and if not he'll try to kick down the door.  But
> that situation of not knowing his intent and still not always calling
> the policy is a heck of a lot better than NEVER calling the police.  And
> I'm glad you see my side of the SELinux argument that this dontaudit
> needs to be per domain, not global for all access calls, since knowing

Yes.  It should be distinguishable per domain (and it is, using
dontaudit, right?).  But I don't yet see any reason why it's worth
distinguishing between access() and open().

> John might look in the window has nothing to do with Jake and we
> probably want to call the policy if he does either!
> 
> Often the right thing to do here is to fix the application to not
> request things it doesn't need, but at least in the case of Nautilus it
> needs to learn everything just so it can draw it's icons, not much we
> can do about that example.

If policy lets Nautilus poke around all under /usr without auditing,
then it (and anyone who attacks it) gets to do that...  catching opens
and not accesses doesn't imo buy you anything.

-serge

  reply	other threads:[~2009-05-07 21:28 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-07 19:18 SELinux and access(2), we want to know Eric Paris
2009-05-07 19:18 ` Eric Paris
2009-05-07 19:57 ` Serge E. Hallyn
2009-05-07 19:57   ` Serge E. Hallyn
2009-05-07 20:57   ` Eric Paris
2009-05-07 20:57     ` Eric Paris
2009-05-07 21:28     ` Serge E. Hallyn [this message]
2009-05-07 21:28       ` Serge E. Hallyn
2009-05-08  5:56     ` max
2009-05-08  3:51   ` Casey Schaufler
2009-05-08  3:51     ` Casey Schaufler
2009-05-08  5:16     ` Eamon Walsh
2009-05-08  5:16       ` Eamon Walsh
2009-05-08 12:27     ` Stephen Smalley
2009-05-08 12:27       ` Stephen Smalley
2009-05-08 12:46       ` Daniel J Walsh
2009-05-08 12:46         ` Daniel J Walsh
2009-05-08 14:17         ` Serge E. Hallyn
2009-05-08 14:17           ` Serge E. Hallyn
2009-05-08 14:53         ` Casey Schaufler
2009-05-08 14:53           ` Casey Schaufler
2009-05-08 13:05       ` Stephen Smalley
2009-05-08 13:05         ` Stephen Smalley
2009-05-08 13:14 ` Jamie Lokier
2009-05-08 13:29 ` Stephen Smalley
2009-05-08 13:29   ` Stephen Smalley

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=20090507212824.GA23955@us.ibm.com \
    --to=serue@us.ibm.com \
    --cc=eparis@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=sds@tycho.nsa.gov \
    --cc=selinux@tycho.nsa.gov \
    --cc=viro@ZenIV.linux.org.uk \
    /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.