Label Comparison biba/low "lower than all other labels" biba/equal "equal to all other labels" biba/high "higher than all other labels"
The "biba/high" label is assigned to system objects which affect the integrity of the system as a whole. The "biba/equal" label may be used to indicate that a particular subject or object is exempt from the Biba protections. These special label values are not specified as containing any compartments, although in a label comparison, "biba/high" appears to contain all compartments, "biba/equal" the same compartments as the other label to which it is being compared, and "biba/low" none.
In general, Biba access control takes the following model:
A subject at the same integrity level as an object may both read from and write to the object as though Biba protections were not in place.
A subject at a higher integrity level than an object may write to the object, but not read the object.
A subject at a lower integrity level than an object may read the object, but not write to the object.
If the subject and object labels may not be compared in the partial order, all access is restricted.
These rules prevent subjects of lower integrity from influencing the behavior of higher integrity subjects by preventing the flow of information, and hence control, from allowing low integrity subjects to modify either a high integrity object or high integrity subjects acting on those objects. Biba integrity policies may be appropriate in a number of environments, both from the perspective of preventing corruption of the operating system, and corruption of user data if marked as higher integrity than the attacker. In traditional trusted operating systems, the Biba integrity model is used to protect the Trusted Code Base (TCB).
The Biba integrity model is similar to mac_lomac(4), with the exception that LOMAC permits access by a higher integrity subject to a lower integrity object, but downgrades the integrity level of the subject to prevent integrity rules from being violated. Biba is a fixed label policy in that all subject and object label changes are explicit, whereas LOMAC is a floating label policy.
The Biba integrity model is also similar to mac_mls(4), with the exception that the dominance operator and access rules are reversed, preventing the downward flow of information rather than the upward flow of information. Multi-Level Security (MLS) protects the confidentiality, rather than the integrity, of subjects and objects.