All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mimi Zohar <zohar@linux.ibm.com>
To: Matthew Garrett <mjg59@google.com>
Cc: linux-integrity <linux-integrity@vger.kernel.org>,
	Dmitry Kasatkin <dmitry.kasatkin@gmail.com>,
	miklos@szeredi.hu, linux-fsdevel@vger.kernel.org,
	Alexander Viro <viro@zeniv.linux.org.uk>
Subject: Re: [PATCH 2/3] IMA: Make use of filesystem-provided hashes
Date: Tue, 16 Oct 2018 09:16:36 -0400	[thread overview]
Message-ID: <1539695796.11939.273.camel@linux.ibm.com> (raw)
In-Reply-To: <CACdnJuvWaVXcRcDBPtZCWrJsWX8-rXRbc3bWjtrx=8-4m0uetQ@mail.gmail.com>

On Mon, 2018-10-15 at 11:46 -0700, Matthew Garrett wrote:
> On Sun, Oct 14, 2018 at 6:38 PM Mimi Zohar <zohar@linux.ibm.com> wrote:
> > On Fri, 2018-10-12 at 11:31 -0700, Matthew Garrett wrote:
> > > There's a couple of ways. We could extend the filesystem type matching
> > > logic to also check the subtype - you'd then need to enforce that at
> > > the LSM level in order to protect against untrusted filesystems
> > > spoofing the filesystem type. Alternatively, we could add an
> > > additional policy match type for mount point and iterate through
> > > s_mounts on the superblock - if any match, we could define the policy
> > > there?
> >
> > The first method differentiates between different subtypes of FUSE
> > filesystems, while the second method allows differentiating between
> > the same type and subtype on different mount points.  Both criteria
> > are needed, but instead of the second method based on a mount point,
> > perhaps based instead on a mount flag?
> 
> Patch 3 already requires that the allow_gethash option be passed for
> this to work - I can restrict that to CAP_SYS_ADMIN?

In the case of FUSE filesystems, using "gethash" should be limited to
trusted mounts, not fileystems mounted with SB_I_UNTRUSTED_MOUNTER.
 So requiring CAP_SYS_ADMIN seems unnecessary.  The difference in the
approaches is that root has CAP_SYS_ADMIN, while providing a mount
flag requires intention.

> 
> > Trusted mount of permitted filesystem type and subtype, that is
> > mounted with the defined mount flag.
> 
> Ok, I'll write up a patch that allows policy matching of filesystem
> subtype as well as type and try to get that posted this week so we can
> discuss it in Edinburgh?

Sounds good.  Hopefully I'll have time to review it before Edinburgh.

Mimi

WARNING: multiple messages have this Message-ID (diff)
From: Mimi Zohar <zohar@linux.ibm.com>
To: Matthew Garrett <mjg59@google.com>
Cc: linux-integrity <linux-integrity@vger.kernel.org>,
	Dmitry Kasatkin <dmitry.kasatkin@gmail.com>,
	miklos@szeredi.hu, linux-fsdevel@vger.kernel.org,
	Alexander Viro <viro@zeniv.linux.org.uk>
Subject: Re: [PATCH 2/3] IMA: Make use of filesystem-provided hashes
Date: Tue, 16 Oct 2018 09:16:36 -0400	[thread overview]
Message-ID: <1539695796.11939.273.camel@linux.ibm.com> (raw)
Message-ID: <20181016131636.bde6LyCQ5TozlpZMPigPsQpzRP2YkoBRjPOPN6jgg48@z> (raw)
In-Reply-To: <CACdnJuvWaVXcRcDBPtZCWrJsWX8-rXRbc3bWjtrx=8-4m0uetQ@mail.gmail.com>

On Mon, 2018-10-15 at 11:46 -0700, Matthew Garrett wrote:
> On Sun, Oct 14, 2018 at 6:38 PM Mimi Zohar <zohar@linux.ibm.com> wrote:
> > On Fri, 2018-10-12 at 11:31 -0700, Matthew Garrett wrote:
> > > There's a couple of ways. We could extend the filesystem type matching
> > > logic to also check the subtype - you'd then need to enforce that at
> > > the LSM level in order to protect against untrusted filesystems
> > > spoofing the filesystem type. Alternatively, we could add an
> > > additional policy match type for mount point and iterate through
> > > s_mounts on the superblock - if any match, we could define the policy
> > > there?
> >
> > The first method differentiates between different subtypes of FUSE
> > filesystems, while the second method allows differentiating between
> > the same type and subtype on different mount points.  Both criteria
> > are needed, but instead of the second method based on a mount point,
> > perhaps based instead on a mount flag?
> 
> Patch 3 already requires that the allow_gethash option be passed for
> this to work - I can restrict that to CAP_SYS_ADMIN?

In the case of FUSE filesystems, using "gethash" should be limited to
trusted mounts, not fileystems mounted with SB_I_UNTRUSTED_MOUNTER.
 So requiring CAP_SYS_ADMIN seems unnecessary.  The difference in the
approaches is that root has CAP_SYS_ADMIN, while providing a mount
flag requires intention.

> 
> > Trusted mount of permitted filesystem type and subtype, that is
> > mounted with the defined mount flag.
> 
> Ok, I'll write up a patch that allows policy matching of filesystem
> subtype as well as type and try to get that posted this week so we can
> discuss it in Edinburgh?

Sounds good.  Hopefully I'll have time to review it before Edinburgh.

Mimi


  reply	other threads:[~2018-10-16 21:07 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-04 20:30 Allow FUSE filesystems to provide out-of-band hashes to IMA Matthew Garrett
2018-10-04 20:30 ` [PATCH 1/3] VFS: Add a call to obtain a file's hash Matthew Garrett
2018-10-11 15:22   ` Mimi Zohar
2018-10-11 15:22     ` Mimi Zohar
2018-10-11 18:21     ` Matthew Garrett
2018-10-11 18:24       ` Matthew Garrett
2018-10-11 18:37         ` Mimi Zohar
2018-10-11 18:37           ` Mimi Zohar
2018-10-11 18:43           ` Matthew Garrett
2018-10-04 20:30 ` [PATCH 2/3] IMA: Make use of filesystem-provided hashes Matthew Garrett
2018-10-11 15:23   ` Mimi Zohar
2018-10-11 15:23     ` Mimi Zohar
2018-10-11 20:30     ` Matthew Garrett
2018-10-11 23:03       ` Mimi Zohar
2018-10-12 18:31         ` Matthew Garrett
2018-10-15  1:38           ` Mimi Zohar
2018-10-15  1:38             ` Mimi Zohar
2018-10-15 18:46             ` Matthew Garrett
2018-10-16 13:16               ` Mimi Zohar [this message]
2018-10-16 13:16                 ` Mimi Zohar
2018-10-04 20:30 ` [PATCH 3/3] FUSE: Allow filesystems to provide gethash methods Matthew Garrett
2018-10-05 10:49 ` Allow FUSE filesystems to provide out-of-band hashes to IMA Mimi Zohar
2018-10-05 10:49   ` Mimi Zohar
2018-10-05 17:26   ` Matthew Garrett
2018-10-05 18:18     ` Mimi Zohar
2018-10-05 19:25       ` Matthew Garrett
2018-10-08 11:25         ` Mimi Zohar
2018-10-08 11:25           ` Mimi Zohar
2018-10-08 20:19           ` Matthew Garrett
2018-10-08 22:40             ` Mimi Zohar
2018-10-08 22:40               ` Mimi Zohar
2018-10-09 17:21               ` Matthew Garrett
2018-10-09 18:04                 ` Mimi Zohar
2018-10-09 19:29                   ` Matthew Garrett
2018-10-09 20:52                     ` Mimi Zohar
2018-10-09 21:32                       ` Matthew Garrett
2018-10-10 11:09                         ` Mimi Zohar
2018-10-10 11:09                           ` Mimi Zohar
2018-10-10 16:19                           ` Matthew Garrett

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=1539695796.11939.273.camel@linux.ibm.com \
    --to=zohar@linux.ibm.com \
    --cc=dmitry.kasatkin@gmail.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=mjg59@google.com \
    --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.