From: Mimi Zohar <zohar@linux.vnet.ibm.com>
To: Christoph Hellwig <hch@lst.de>
Cc: Boaz Harrosh <boaz@plexistor.com>,
Al Viro <viro@zeniv.linux.org.uk>,
linux-fsdevel@vger.kernel.org,
linux-ima-devel@lists.sourceforge.net,
linux-security-module@vger.kernel.org
Subject: Re: [PATCH] security/ima: use fs method to read integrity data
Date: Fri, 12 May 2017 17:09:36 -0400 [thread overview]
Message-ID: <1494623376.4997.28.camel@linux.vnet.ibm.com> (raw)
In-Reply-To: <20170511081659.GA20214@lst.de>
On Thu, 2017-05-11 at 10:16 +0200, Christoph Hellwig wrote:
> On Wed, May 10, 2017 at 05:00:47PM -0400, Mimi Zohar wrote:
> > Without i_version support the file is measured/appraised once. With
> > i_version support it will be re-measured/appraised. As a file system
> > is mounted/remounted, some sort of message should be emitted
> > indicating whether i_version is supported.
>
> You can check for (sb->s_flags & MS_I_VERSION) to see if it's supported.
Yes, I defined a new LSM hook to catch the new mounts, but there are
lots of mounts, even after to limiting it to non-kernel mounts
(MS_KERNMOUNT) and only checking if the MS_I_VERSION is set on
filesystems mounted read-write. It would be nice if there was a way
of saying not pseudo filesystems (eg. CGROUP_SUPER_MAGIC,
DEBUGFS_MAGIC, DEVPTS_SUPER_MAGIC, PROC_SUPER_MAGIC, SECURITYFS_MAGIC,
SYSFS_MAGIC, etc).
>
> > That does not imply that
> > there is no value in measuring/appraising the file only once.
> >
> > With this patch, the "opt-in" behavior, is only for measurement, not
> > appraisal. For appraisal, it still enforces file hash/signature
> > verification, as it should, based on policy.
> >
> > Christoph, could we call ->read_iter() in the NULL case as Boaz
> > suggested?
>
> No - that way you get deadlocks for every fs that uses i_rwsem in
> ->read_iter, which is perfectly valid behavior.
>
> We can set ->integrity_read for every file system that's been tested
> with IMA, though. Do you have a list of known-good file systems?
In addition to the ones you've already defined, we need definitions in
ramfs/file-mmu.c and file-nommu.c, and the corresponding tmpfs, to get
the initial measurements from the initramfs.
We know that stacked filesystems have similar locking problems. I'm
loop back mounting each filesystem and testing to see if files are
being measured/re-measured properly. I haven't finished yet, but
there haven't been any problems so far.
Mimi
next prev parent reply other threads:[~2017-05-12 21:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-10 6:45 fix IMA deadlock Christoph Hellwig
2017-05-10 6:45 ` [PATCH] security/ima: use fs method to read integrity data Christoph Hellwig
2017-05-10 12:20 ` Boaz Harrosh
2017-05-10 13:24 ` Christoph Hellwig
2017-05-10 15:55 ` Boaz Harrosh
2017-05-10 21:00 ` Mimi Zohar
2017-05-11 8:16 ` Christoph Hellwig
2017-05-12 21:09 ` Mimi Zohar [this message]
2017-05-10 23:59 ` James Morris
2017-06-04 5:47 ` Christoph Hellwig
2017-06-05 0:23 ` James Morris
2017-06-05 1:57 ` Mimi Zohar
2017-05-11 0:34 ` Li Kun
2017-05-11 0:59 ` Al Viro
2017-05-11 4:03 ` Li Kun
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=1494623376.4997.28.camel@linux.vnet.ibm.com \
--to=zohar@linux.vnet.ibm.com \
--cc=boaz@plexistor.com \
--cc=hch@lst.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-ima-devel@lists.sourceforge.net \
--cc=linux-security-module@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).