Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp672703pxa; Wed, 5 Aug 2020 10:02:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyAANw+q6rTDYH4XfKl2yEqkq7YVvNXO9Q6u4KHb2HlcAGBNulQohV+j/0wdBHMT8s/993b X-Received: by 2002:aa7:cb15:: with SMTP id s21mr191038edt.175.1596646958559; Wed, 05 Aug 2020 10:02:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596646958; cv=none; d=google.com; s=arc-20160816; b=xuJQph97cHxJt/vvhE9Lza/IltCRUGXd+m/ifdX6pgklrvpbQyYe8Ew/U7oglH7Om5 tIB+wSjahqNKDAqAmUasztJHKj8BWArdrb+v+zJJtNo8bDIk6fCfkQ2RIEPF7LA0BAXy b1N5y/yoHCbmD1swXzxe8V+ofjnrucsVziB1+LzoKer5sUFe9uhIQYtaxZ7Q/0MQqCDa GJd78/y7MrzbDWXWyvVn9h7GPy8dqj+xSEmhH5CfUTfqqLXLXscx30dsh4bMDLmBBaJZ 9tGHGf4mg9lzkyEzv9erZ2kbaytxNHPr5WxGp7C+ABA/nz5MKwazEkGSQ7C66TCXfbJM R0SQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date; bh=8zEEOYPdxNIj1W8z2TRQkMDn/KyheIi1HcAiCVdmt6A=; b=xW0HPEN2JCApzn0SXBME7SBbO4NoTzaPHkZ9URJmqMR9sPXwvCiuzvX54pIg7DkO+I fFos3hSjWaIpWI5UoUctNu/wF9VxTNQR6m85jOEFX960HSsKYn0GkbpXWWNz3mMZVvL4 Y35SMiHw0kK24WS0cxF9Xy1xtb8NXXDq1LoKtvJzWJsjgfvNtstGYbFky+cRlzougMb4 R/9SkarMjb4lv7T+Dg7KtuRtAQEmFq+ioaKU4dOWX6wTIhzbjjNs1Eg8q0lkit89lmvG ULNCcQ45LiNr7YvpazI3AVWckFKa//A7vuo8sUYCb1g4KRky5hDDjfDSwlEdBNHiZAUW xwag== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g18si1558045eds.389.2020.08.05.10.01.59; Wed, 05 Aug 2020 10:02:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728114AbgHERBg (ORCPT + 99 others); Wed, 5 Aug 2020 13:01:36 -0400 Received: from namei.org ([65.99.196.166]:57602 "EHLO namei.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728217AbgHERAT (ORCPT ); Wed, 5 Aug 2020 13:00:19 -0400 Received: from localhost (localhost [127.0.0.1]) by namei.org (8.14.4/8.14.4) with ESMTP id 075Gxe6x030131; Wed, 5 Aug 2020 16:59:42 GMT Date: Wed, 5 Aug 2020 09:59:40 -0700 (PDT) From: James Morris To: James Bottomley cc: Deven Bowers , Pavel Machek , Sasha Levin , snitzer@redhat.com, zohar@linux.ibm.com, dm-devel@redhat.com, tyhicks@linux.microsoft.com, agk@redhat.com, paul@paul-moore.com, corbet@lwn.net, nramas@linux.microsoft.com, serge@hallyn.com, pasha.tatashin@soleen.com, jannh@google.com, linux-block@vger.kernel.org, viro@zeniv.linux.org.uk, axboe@kernel.dk, mdsakib@microsoft.com, linux-kernel@vger.kernel.org, eparis@redhat.com, linux-security-module@vger.kernel.org, linux-audit@redhat.com, linux-fsdevel@vger.kernel.org, linux-integrity@vger.kernel.org, jaskarankhurana@linux.microsoft.com Subject: Re: [dm-devel] [RFC PATCH v5 00/11] Integrity Policy Enforcement LSM (IPE) In-Reply-To: <1596639689.3457.17.camel@HansenPartnership.com> Message-ID: References: <20200728213614.586312-1-deven.desai@linux.microsoft.com> <20200802115545.GA1162@bug> <20200802140300.GA2975990@sasha-vm> <20200802143143.GB20261@amd> <1596386606.4087.20.camel@HansenPartnership.com> <1596639689.3457.17.camel@HansenPartnership.com> User-Agent: Alpine 2.21 (LRH 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 5 Aug 2020, James Bottomley wrote: > I'll leave Mimi to answer, but really this is exactly the question that > should have been asked before writing IPE. However, since we have the > cart before the horse, let me break the above down into two specific > questions. The question is valid and it was asked. We decided to first prototype what we needed and then evaluate if it should be integrated with IMA. We discussed this plan in person with Mimi (at LSS-NA in 2019), and presented a more mature version of IPE to LSS-NA in 2020, with the expectation that such a discussion may come up (it did not). These patches are still part of this process and 'RFC' status. > 1. Could we implement IPE in IMA (as in would extensions to IMA cover > everything). I think the answers above indicate this is a "yes". It could be done, if needed. > 2. Should we extend IMA to implement it? This is really whether from a > usability standpoint two seperate LSMs would make sense to cover the > different use cases. One issue here is that IMA is fundamentally a measurement & appraisal scheme which has been extended to include integrity enforcement. IPE was designed from scratch to only perform integrity enforcement. As such, it is a cleaner design -- "do one thing and do it well" is a good design pattern. In our use-case, we utilize _both_ IMA and IPE, for attestation and code integrity respectively. It is useful to be able to separate these concepts. They really are different: - Code integrity enforcement ensures that code running locally is of known provenance and has not been modified prior to execution. - Attestation is about measuring the health of a system and having that measurement validated by a remote system. (Local attestation is useless). I'm not sure there is value in continuing to shoe-horn both of these into IMA. > I've got to say the least attractive thing > about separation is the fact that you now both have a policy parser. > You've tried to differentiate yours by making it more Kconfig > based, but policy has a way of becoming user space supplied because > the distros hate config options, so I think you're going to end up > with a policy parser very like IMAs. -- James Morris