Re: [Lsf-pc] [LSF/MM TOPIC] fs-verity: file system-level integrity protection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 31, 2018 at 03:40:39PM -0500, Mimi Zohar wrote:
> 
> I see.  So anyone else adding security features is required to use the
> LSM hooks, but your use case is different? (rhetorical statement)

dm-verity does not use LSM.  Signed kernel-modules does not use LSM.
Ergo, it is not true all security features have to use the LSM hooks.
It may be instructive to review why LSM exists[1][2][3][4].

[1] https://lkml.org/lkml/2007/10/1/110
[2] https://lkml.org/lkml/2007/10/1/192
[3] https://lkml.org/lkml/2007/10/1/217
[4] https://lkml.org/lkml/2007/10/2/315

I would presume the authors of dm-verity and signed kernel modules
were able to convince Linus that their design was "sane", so he didn't
insist they were put behind an LSM hook.  I would expect that for
fs-verity, a similar standard would apply in order for it to be
accepted.

> > If someone implements it, yes.  If there is a business case where the
> > benefits outweighs the costs, and the headcount can be funded, it
> > would happen.  However, having spent time trying to understand the
> > IMA/EVM/LSM/SELinux architecture, I've spent enough time to decide
> > it's not something I would do on my own time, for fun.  :-)
> 
> I understand you have lots of experience reading and understanding
> kernel code, but understanding another subsystem, without ever having
> been involved, no matter how well written that code is, takes time to
> understand.  There is some really well written code in the security
> tree, especially considering the constraints put on it.

Well, it would also help if the interfaces to those subsystems were
accurately documented, and it was clear what documentation was
accurate and what wasn't.  Certainly documentation in the kernel tree
would be helpful, and not just magic cookbook style, "this is how you
use 'git commit' and 'git log'", but rather, "this is the low-level
data storage model of git" and "this is how the low-level git commands
can be used so that other programs can interface with git".

To be fair, some of the complexity is caused by the large amounts of
generality which was described by Stephen Smalley in [1] when he
argued that maybe LSM should go away.  But it's the lack of consensus
about how to make the tradeoff between between complexity and the
threat model should be, and just what the threat model should *be*
which causes a dispersion of resources.  (For example Fedora uses
SELinux, but Debian has recently decided that since it is too hard to
make SELinux be configured for desktops/laptops, they will be moving
to support AppArmor as the default LSM in the next stable release.)

So this is a much larger problem, and it's why I'm trying to avoid
getting stuck in this tarbit by following the path trod by dm-verity
and signed kernel modules.

Cheers,

						- Ted



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux