lkml.org 
[lkml]   [2020]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v3 00/11] evm: Improve usability of portable signatures
    Date
    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, some usability issues are still unsolved, especially when EVM is
    used without loading an HMAC key. This patch set attempts to fix the open
    issues.

    Patch 1 allows EVM to be used without loading an HMAC key. Patch 2 avoids
    appraisal verification of public keys (they are already verified by the key
    subsystem).

    Patches 3-5 allow metadata verification to be turned off when no HMAC key
    is loaded and to use this mode in a safe way (by ensuring that IMA
    revalidates metadata when there is a change).

    Patches 6-8 make portable signatures more usable if metadata verification
    is not turned off, by ignoring the INTEGRITY_NOLABEL error when no HMAC key
    is loaded, by accepting any metadata modification until signature
    verification succeeds (useful when xattrs/attrs are copied sequentially
    from a source) and by allowing operations that don't change metadata.

    Patch 9 makes it possible to use portable signatures when the IMA policy
    requires file signatures and patch 10 shows portable signatures in the
    measurement list when the ima-sig template is selected.

    Lastly, patch 11 avoids undesired removal of security.ima when a file is
    not selected by the IMA policy.

    Roberto Sassu (11):
    evm: Execute evm_inode_init_security() only when an HMAC key is loaded
    evm: Load EVM key in ima_load_x509() to avoid appraisal
    evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded
    ima: Move ima_reset_appraise_flags() call to post hooks
    evm: Introduce evm_status_revalidate()
    evm: Ignore INTEGRITY_NOLABEL if no HMAC key is loaded
    evm: Allow xattr/attr operations for portable signatures
    evm: Allow setxattr() and setattr() for unmodified metadata
    ima: Allow imasig requirement to be satisfied by EVM portable
    signatures
    ima: Introduce template field evmsig and write to field sig as
    fallback
    ima: Don't remove security.ima if file must not be appraised

    Documentation/ABI/testing/evm | 5 +-
    Documentation/security/IMA-templates.rst | 4 +-
    fs/xattr.c | 2 +
    include/linux/evm.h | 6 +
    include/linux/ima.h | 19 ++-
    include/linux/integrity.h | 1 +
    security/integrity/evm/evm_main.c | 178 ++++++++++++++++++++--
    security/integrity/evm/evm_secfs.c | 2 +-
    security/integrity/iint.c | 2 +
    security/integrity/ima/ima_appraise.c | 52 +++++--
    security/integrity/ima/ima_init.c | 4 +
    security/integrity/ima/ima_template.c | 2 +
    security/integrity/ima/ima_template_lib.c | 32 +++-
    security/integrity/ima/ima_template_lib.h | 2 +
    security/security.c | 4 +-
    15 files changed, 275 insertions(+), 40 deletions(-)

    --
    2.27.GIT

    \
     
     \ /
      Last update: 2020-11-11 10:25    [W:4.335 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site