Re: [RFC PATCH v2 00/12] Integrity Policy Enforcement LSM (IPE)

From: Deven Bowers
Date: Thu Apr 09 2020 - 12:26:01 EST


On 4/7/2020 2:31 PM, Nayna wrote:


On 4/6/20 6:14 PM, deven.desai@xxxxxxxxxxxxxxxxxxx wrote:
From: Deven Bowers <deven.desai@xxxxxxxxxxxxxxxxxxx>

Changelog:
------------------------------------

v1: Introduced

v2:
ÂÂ Split the second patch of the previous series into two.
ÂÂ Minor corrections in the cover-letter and documentation
ÂÂ comments regarding CAP_MAC_ADMIN checks in IPE.

Overview:
------------------------------------
IPE is a Linux Security Module, which allows for a configurable
policy to enforce integrity requirements on the whole system. It
attempts to solve the issue of Code Integrity: that any code being
executed (or files being read), are identical to the version that
was built by a trusted source.

Can you please clarify the "motivation" for this patch set more clearly? It seems to define a policy layer on top of dm-verity, which may be compiled into the kernel. In the motivation, can you please also make it explicit why existing mechanisms cannot be extended to achieve your purpose?

This LSM was born out of a motivation to provide strong integrity guarantees without a dependency on file-metadata, allow the integrity claims to be configurable on a hot system, and allow for the mechanisms for ensuring integrity to be extendable.

This naturally had to be an LSM, as controlling execution at the block or filesystem layer does not make sense. Existing LSM implementations use filesystem metadata, and since one of IPE's goals is to secure file metadata, it is circular to depend on the file metadata itself to make decisions about whether the file has been modified.

Additionally, IPE while IPE currently provides dm-verity support and the trust root support, it can be easily extended to other implementations such as fs-verity. At it's core, IPE is attempting to separate mechanism (dm-verity, fs-verity, etc.) from policy (IPE).

Also, AFIK, the changelog should be moved to the end of the patch description.

Thanks! I'll move the changelog.