linux/security/integrity/ima
Dmitry Kasatkin 14503eb994 ima: check inode integrity cache in violation check
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: Dmitry Kasatkin <d.kasatkin@samsung.com>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
2014-06-12 17:58:07 -04:00
..
ima_api.c ima: audit log files opened with O_DIRECT flag 2014-06-03 14:21:50 -05:00
ima_appraise.c ima: prevent new digsig xattr from being replaced 2014-06-12 17:58:05 -04:00
ima_crypto.c ima: skip memory allocation for empty files 2014-03-07 12:15:48 -05:00
ima_fs.c integrity: fix checkpatch errors 2014-03-07 12:15:45 -05:00
ima_init.c security: integrity: Use a more current logging style 2014-03-07 12:15:21 -05:00
ima_main.c ima: check inode integrity cache in violation check 2014-06-12 17:58:07 -04:00
ima_policy.c ima: audit log files opened with O_DIRECT flag 2014-06-03 14:21:50 -05:00
ima_queue.c integrity: fix checkpatch errors 2014-03-07 12:15:45 -05:00
ima_template_lib.c ima: reduce memory usage when a template containing the n field is used 2014-03-07 11:32:30 -05:00
ima_template_lib.h ima: extend the measurement list to include the file signature 2013-10-31 20:19:35 -04:00
ima_template.c integrity: fix checkpatch errors 2014-03-07 12:15:45 -05:00
ima.h ima: restore the original behavior for sending data with ima template 2014-03-07 11:32:29 -05:00
Kconfig Revert "ima: define '_ima' as a builtin 'trusted' keyring" 2013-11-23 16:36:35 -08:00
Makefile ima: define template fields library and new helpers 2013-10-25 17:17:05 -04:00