• Dmitry Kasatkin's avatar
    ima: check inode integrity cache in violation check · 14503eb9
    Dmitry Kasatkin authored
    When IMA did not support ima-appraisal, existance of the S_IMA flag
    clearly indicated that the file was measured. With IMA appraisal S_IMA
    flag indicates that file was measured and/or appraised. Because of
    this, when measurement is not enabled by the policy, violations are
    still reported.
    
    To differentiate between measurement and appraisal policies this
    patch checks the inode integrity cache flags.  The IMA_MEASURED
    flag indicates whether the file was actually measured, while the
    IMA_MEASURE flag indicates whether the file should be measured.
    Unfortunately, the IMA_MEASURED flag is reset to indicate the file
    needs to be re-measured.  Thus, this patch checks the IMA_MEASURE
    flag.
    
    This patch limits the false positive violation reports, but does
    not fix it entirely.  The IMA_MEASURE/IMA_MEASURED flags are
    indications that, at some point in time, the file opened for read
    was in policy, but might not be in policy now (eg. different uid).
    Other changes would be needed to further limit false positive
    violation reports.
    
    Changelog:
    - expanded patch description based on conversation with Roberto (Mimi)
    Signed-off-by: default avatarDmitry Kasatkin <d.kasatkin@samsung.com>
    Signed-off-by: default avatarMimi Zohar <zohar@linux.vnet.ibm.com>
    14503eb9
ima_main.c 9.06 KB