Message ID | 20210514152753.982958-1-roberto.sassu@huawei.com (mailing list archive) |
---|---|
Headers | show |
Series | evm: Improve usability of portable signatures | expand |
On Fri, 2021-05-14 at 17:27 +0200, Roberto Sassu wrote: > EVM portable signatures are particularly suitable for the protection of > metadata of immutable files where metadata is signed by a software vendor. > They can be used for example in conjunction with an IMA policy that > appraises only executed and memory mapped files. > > However, until now portable signatures can be properly installed only if > the EVM_ALLOW_METADATA_WRITES initialization flag is also set, which > disables metadata verification until an HMAC key is loaded. This will cause > metadata writes to be allowed even in the situations where they shouldn't > (metadata protected by a portable signature is immutable). > > The main reason why setting the flag is necessary is that the operations > necessary to install portable signatures and protected metadata would be > otherwise denied, despite being legitimate, due to the fact that the > decision logic has to avoid an unsafe recalculation of the HMAC that would > make the unsuccessfully verified metadata valid. However, the decision > logic is too coarse, and does not fully take into account all the possible > situations where metadata operations could be allowed. > > For example, if the HMAC key is not loaded and it cannot be loaded in the > future due the EVM_SETUP_COMPLETE flag being set, it wouldn't be a problem > to allow metadata operations, as they wouldn't result in an HMAC being > recalculated. > > This patch set extends the decision logic and adds the necessary exceptions > to use portable signatures without turning off metadata verification and > deprecates the EVM_ALLOW_METADATA_WRITES flag. Thanks, Roberto. Applied to: git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux- integrity.git next-integrity-testing Mimi
> From: Mimi Zohar [mailto:zohar@linux.ibm.com] > Sent: Thursday, May 20, 2021 8:56 PM > On Fri, 2021-05-14 at 17:27 +0200, Roberto Sassu wrote: > > EVM portable signatures are particularly suitable for the protection of > > metadata of immutable files where metadata is signed by a software vendor. > > They can be used for example in conjunction with an IMA policy that > > appraises only executed and memory mapped files. > > > > However, until now portable signatures can be properly installed only if > > the EVM_ALLOW_METADATA_WRITES initialization flag is also set, which > > disables metadata verification until an HMAC key is loaded. This will cause > > metadata writes to be allowed even in the situations where they shouldn't > > (metadata protected by a portable signature is immutable). > > > > The main reason why setting the flag is necessary is that the operations > > necessary to install portable signatures and protected metadata would be > > otherwise denied, despite being legitimate, due to the fact that the > > decision logic has to avoid an unsafe recalculation of the HMAC that would > > make the unsuccessfully verified metadata valid. However, the decision > > logic is too coarse, and does not fully take into account all the possible > > situations where metadata operations could be allowed. > > > > For example, if the HMAC key is not loaded and it cannot be loaded in the > > future due the EVM_SETUP_COMPLETE flag being set, it wouldn't be a > problem > > to allow metadata operations, as they wouldn't result in an HMAC being > > recalculated. > > > > This patch set extends the decision logic and adds the necessary exceptions > > to use portable signatures without turning off metadata verification and > > deprecates the EVM_ALLOW_METADATA_WRITES flag. > > Thanks, Roberto. > > Applied to: git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux- > integrity.git > next-integrity-testing Hi Mimi could you please take the newer version of patch 5/12, which also adds an exception for the INTEGRITY_UNKNOWN error (it occurs when xattrs are not supported)? https://lore.kernel.org/linux-integrity/6d7e059876b64f249b9a01d8b7696e29@huawei.com/T/#m58442ec12e47d9d457bef9b438809a6a132b7512 Thanks Roberto HUAWEI TECHNOLOGIES Duesseldorf GmbH, HRB 56063 Managing Director: Li Peng, Li Jian, Shi Yanli
On Fri, 2021-05-21 at 07:07 +0000, Roberto Sassu wrote: > > From: Mimi Zohar [mailto:zohar@linux.ibm.com] > > Sent: Thursday, May 20, 2021 8:56 PM > > On Fri, 2021-05-14 at 17:27 +0200, Roberto Sassu wrote: > > > EVM portable signatures are particularly suitable for the protection of > > > metadata of immutable files where metadata is signed by a software vendor. > > > They can be used for example in conjunction with an IMA policy that > > > appraises only executed and memory mapped files. > > > > > > However, until now portable signatures can be properly installed only if > > > the EVM_ALLOW_METADATA_WRITES initialization flag is also set, which > > > disables metadata verification until an HMAC key is loaded. This will cause > > > metadata writes to be allowed even in the situations where they shouldn't > > > (metadata protected by a portable signature is immutable). > > > > > > The main reason why setting the flag is necessary is that the operations > > > necessary to install portable signatures and protected metadata would be > > > otherwise denied, despite being legitimate, due to the fact that the > > > decision logic has to avoid an unsafe recalculation of the HMAC that would > > > make the unsuccessfully verified metadata valid. However, the decision > > > logic is too coarse, and does not fully take into account all the possible > > > situations where metadata operations could be allowed. > > > > > > For example, if the HMAC key is not loaded and it cannot be loaded in the > > > future due the EVM_SETUP_COMPLETE flag being set, it wouldn't be a > > problem > > > to allow metadata operations, as they wouldn't result in an HMAC being > > > recalculated. > > > > > > This patch set extends the decision logic and adds the necessary exceptions > > > to use portable signatures without turning off metadata verification and > > > deprecates the EVM_ALLOW_METADATA_WRITES flag. > > > > Thanks, Roberto. > > > > Applied to: git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux- > > integrity.git > > next-integrity-testing > > Hi Mimi > > could you please take the newer version of patch 5/12, which also adds > an exception for the INTEGRITY_UNKNOWN error (it occurs when xattrs > are not supported)? Thank you for catching it. I'd appreciate your checking once more. FYI, get-lore-mbox.py moved "Cc: stable" to the end. thanks, Mimi