Mimi Zohar | 4af4662 | 2009-02-04 09:07:00 -0500 | [diff] [blame] | 1 | What: security/ima/policy |
| 2 | Date: May 2008 |
| 3 | Contact: Mimi Zohar <zohar@us.ibm.com> |
| 4 | Description: |
| 5 | The Trusted Computing Group(TCG) runtime Integrity |
| 6 | Measurement Architecture(IMA) maintains a list of hash |
| 7 | values of executables and other sensitive system files |
| 8 | loaded into the run-time of this system. At runtime, |
| 9 | the policy can be constrained based on LSM specific data. |
| 10 | Policies are loaded into the securityfs file ima/policy |
| 11 | by opening the file, writing the rules one at a time and |
| 12 | then closing the file. The new policy takes effect after |
| 13 | the file ima/policy is closed. |
| 14 | |
| 15 | rule format: action [condition ...] |
| 16 | |
| 17 | action: measure | dont_measure |
| 18 | condition:= base | lsm |
| 19 | base: [[func=] [mask=] [fsmagic=] [uid=]] |
| 20 | lsm: [[subj_user=] [subj_role=] [subj_type=] |
| 21 | [obj_user=] [obj_role=] [obj_type=]] |
| 22 | |
| 23 | base: func:= [BPRM_CHECK][FILE_MMAP][INODE_PERMISSION] |
| 24 | mask:= [MAY_READ] [MAY_WRITE] [MAY_APPEND] [MAY_EXEC] |
| 25 | fsmagic:= hex value |
| 26 | uid:= decimal value |
| 27 | lsm: are LSM specific |
| 28 | |
| 29 | default policy: |
| 30 | # PROC_SUPER_MAGIC |
| 31 | dont_measure fsmagic=0x9fa0 |
| 32 | # SYSFS_MAGIC |
| 33 | dont_measure fsmagic=0x62656572 |
| 34 | # DEBUGFS_MAGIC |
| 35 | dont_measure fsmagic=0x64626720 |
| 36 | # TMPFS_MAGIC |
| 37 | dont_measure fsmagic=0x01021994 |
| 38 | # SECURITYFS_MAGIC |
| 39 | dont_measure fsmagic=0x73636673 |
| 40 | |
| 41 | measure func=BPRM_CHECK |
| 42 | measure func=FILE_MMAP mask=MAY_EXEC |
| 43 | measure func=INODE_PERM mask=MAY_READ uid=0 |
| 44 | |
| 45 | The default policy measures all executables in bprm_check, |
| 46 | all files mmapped executable in file_mmap, and all files |
| 47 | open for read by root in inode_permission. |
| 48 | |
| 49 | Examples of LSM specific definitions: |
| 50 | |
| 51 | SELinux: |
| 52 | # SELINUX_MAGIC |
| 53 | dont_measure fsmagic=0xF97CFF8C |
| 54 | |
| 55 | dont_measure obj_type=var_log_t |
| 56 | dont_measure obj_type=auditd_log_t |
| 57 | measure subj_user=system_u func=INODE_PERM mask=MAY_READ |
| 58 | measure subj_role=system_r func=INODE_PERM mask=MAY_READ |
| 59 | |
| 60 | Smack: |
| 61 | measure subj_user=_ func=INODE_PERM mask=MAY_READ |