All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kaigai Kohei <kaigai@ak.jp.nec.com>
To: Stephen Smalley <sds@tycho.nsa.gov>
Cc: KaiGai Kohei <kaigai@kaigai.gr.jp>,
	SELinux Mail List <selinux@tycho.nsa.gov>
Subject: Re: [RFC & PATCH] inherited type definition.
Date: Thu, 17 Mar 2005 18:32:58 +0900	[thread overview]
Message-ID: <42394ECA.7010204@ak.jp.nec.com> (raw)
In-Reply-To: <1110981928.4802.81.camel@moss-spartans.epoch.ncsc.mil>

Hi,

>>I have an idea that ALLOW statement is added an new option
>>For example:
>>  ALLOW @user_t @user_t:process {ptrace};
>>  ALLOW user_t @user_t:process {transition};
>>
>>When '@' is added in front of the type name, this means source/target
>>type is only user_t, not including user_ext_t and descendant.
>>Above example is rolled out as follows:
>>  ALLOW user_t user_t:process {ptrace};
>>  ALLOW {user_t user_ext_t}:process {transition};
>>
>>It restrains unlimited inheritance of permissions to child type/domain.
>>Can this approach solve such a concern ?
>
>
> Note that at least in this case, even the ability to transition prevents
> any real separation between user_t and user_ext_t, because user_t and
> user_ext_t can be entered by a shell, so with transition permission,
> user_t can then run a shell in user_ext_t and perform arbitrary actions
> with those permissions.

I agree, two-way transition permissions make the separation between each domains
meaningless. The '@' should be append in front of typenames as a general rule,
when we will attach ptrace, transition and dyntransition permissions.

I think can_ptrace() and domain_trans() macros should be modify to avoid
such a vague border of domain. Other grants of such permissions are similar.


> One obvious question is how @<attributename> would be interpreted;
> offhand, I would expect it to prevent expansion of the descendants of
> the individual types that have the attribute.

I intend that '@'<type/attribute name> is interpreted as if those
type/attribute is interpreted on current version checkpolicy(1.22).
In other word, '@'<typename> is merely recognized as <typename>,
any descendants are not included. '@'<attribute> is rolled out
some child types attached this attribute directly, not include
any indirect descendants.

e.g.
attribute attr;
type X;
type Y extends attr;
type Z extends Y;

"allow @attr foo:XXX XXX;" means "allow Y foo:XXX XXX;", Z is not included.
"allow @X foo:XXX XXX;" means "X foo:XXX XXX;", Y and Z is not included.

If you remove '@' from above statements, this action is same as current checkpolicy works.


> One concern with this
> approach is that you have to explicitly mark types in order to prevent
> expansion rather than having to explicitly mark types that you want to
> expand, which seems prone to accidental expansion.

To decide which is it preferable is a difficult issue.
My preference is that explicitly mark types means deny of expand, and
any permissions without above 3-operations should be expandable in default.

Effective use of existing software assets is reason.
For example, samba_httpd_content_t is a type extends samba_share_t
and httpd_sys_content_t.  When we try to use the union filetype
"samba_httpd_content_t", we must fix the allow statements of "samba_share_t"
and "httpd_sys_content_t" if an allow statement without '@' means
no-expandable permission grant.


> Note that we have to
> consider not only rules that directly specify the type but rules that
> may indirectly include the type via attribute or set complement (~).
> Requiring explicit marking of types to allow expansion of descendants
> would presumably require more work by someone who wants to extend a
> type, but would avoid unintentional expansion.

OK, I'll fix up the latest patch with your notion.
Please wait for a while.

Thanks,
--
DO NOTHING IS THE WORST POLICY.
KaiGai Kohei <kaigai@kaigai.gr.jp>

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

  reply	other threads:[~2005-03-17  9:32 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-13 16:36 [RFC & PATCH] inherited type definition KaiGai Kohei
2005-03-14 13:17 ` KaiGai Kohei
2005-03-14 13:50 ` Stephen Smalley
2005-03-14 15:13   ` Luke Kenneth Casson Leighton
2005-03-14 15:22     ` Stephen Smalley
2005-03-14 16:01       ` Luke Kenneth Casson Leighton
2005-03-14 19:27         ` Valdis.Kletnieks
2005-03-14 20:10         ` Stephen Smalley
2005-03-14 17:26   ` KaiGai Kohei
2005-03-14 18:10     ` Luke Kenneth Casson Leighton
2005-03-14 18:25     ` Stephen Smalley
2005-03-15 11:50       ` KaiGai Kohei
2005-03-15 14:42         ` Stephen Smalley
2005-03-16  4:42           ` Kaigai Kohei
2005-03-16 10:00             ` Luke Kenneth Casson Leighton
2005-03-16 14:05             ` Stephen Smalley
2005-03-17  9:32               ` Kaigai Kohei [this message]
2005-03-17 13:55                 ` Stephen Smalley
2005-03-17 14:57                   ` KaiGai Kohei
2005-03-21 10:07                     ` KaiGai Kohei
2005-03-21 15:59                       ` Stephen Smalley
2005-03-23  8:17                         ` Kaigai Kohei
2005-03-23 13:56                           ` Stephen Smalley
2005-04-16  7:31                             ` KaiGai Kohei
2005-04-18 12:25                               ` Stephen Smalley
2005-04-18 16:57                                 ` KaiGai Kohei
2005-03-24 11:06                           ` Luke Kenneth Casson Leighton
2005-03-24 12:34                             ` Kaigai Kohei
2005-04-06 12:49         ` Russell Coker
2005-04-06 14:50           ` KaiGai Kohei
2005-04-06 15:30             ` Russell Coker
2005-04-06 18:23               ` Jim McCullough
2005-04-07  2:16               ` Kaigai Kohei
2005-04-06 17:55             ` Luke Kenneth Casson Leighton
2005-03-14 16:38 ` Karl MacMillan
2005-03-15 11:47   ` KaiGai Kohei
2005-03-15 14:00     ` Karl MacMillan
2005-03-16  4:35       ` Kaigai Kohei
2005-03-16 10:13         ` Luke Kenneth Casson Leighton
2005-03-16 21:46           ` Karl MacMillan
2005-03-16 21:31         ` Karl MacMillan
2005-03-17 13:05           ` Kaigai Kohei
2005-03-17 19:15             ` Karl MacMillan
2005-03-17 20:07               ` Stephen Smalley
2005-03-17 21:41                 ` Karl MacMillan
2005-03-18 13:13                   ` Stephen Smalley
2005-03-18 13:56                     ` Stephen Smalley
2005-03-18 22:28                     ` Karl MacMillan
2005-03-18 23:03                       ` Luke Kenneth Casson Leighton
2005-03-20 23:20                         ` Karl MacMillan
2005-03-21  0:17                           ` Luke Kenneth Casson Leighton
2005-03-21 13:39                             ` Karl MacMillan
2005-03-22  0:14                               ` Luke Kenneth Casson Leighton
2005-03-22 13:53                                 ` Karl MacMillan
2005-03-24 11:04                                   ` Luke Kenneth Casson Leighton
2005-03-24 12:31                                     ` Kaigai Kohei
2005-03-24 22:19                                       ` Luke Kenneth Casson Leighton
2005-03-24 22:27                                     ` Luke Kenneth Casson Leighton

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=42394ECA.7010204@ak.jp.nec.com \
    --to=kaigai@ak.jp.nec.com \
    --cc=kaigai@kaigai.gr.jp \
    --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.