CSEC3616Cybersecurity Engineering

    Bell-LaPadula, Biba and MLS

    The two classic multilevel-security models: Bell-LaPadula for confidentiality and Biba for integrity, stated property by property so the two are never confused for each other.

    • State the Bell-LaPadula simple security property and *-property by name and by direction.
    • State the Biba simple integrity, *-integrity and invocation properties by name and by direction.
    • Work a subject's read and write verdict under both models at the same clearance and classification.
    • List the four criticisms the lecture makes of Bell-LaPadula, and where Biba variants actually appear in practice.

    26 min read

    Intuition

    A file marked Top Secret and a file marked Secret are not just labelled differently; they carry different consequences if the wrong person reads them. A single access check, does this person have clearance, sounds like enough, but access happens in two directions. A subject reads data, and a subject writes data, and those two directions can leak information in different ways even when every individual read and write looks authorised. Multilevel security is the framework built to reason about both directions at once.

    Mechanism

    Multilevel security (MLS) handles information at different classification levels inside one system: this unit’s own examples use Top Secret, Secret, Confidential and Unclassified, from highest to lowest. Users hold a clearance at one of these levels; documents and objects hold a classification at one of the same levels. MLS matters most in military and government settings, where a Top Secret file must never reach someone cleared only to Secret, no matter what any ordinary user, or even the administrator, tries to do.

    MLS is harder to build well than it sounds. The lecture’s own example of the difficulty: how does a system automatically reduce a document’s classification from Top Secret to Secret, so that people cleared only to Secret can read it, without a human making that judgement call every time? There is no clean automated answer.

    A security policy model is a precise, often formal, statement of a system’s protection properties, written after the incentives and threat model are understood and the policy itself is set down. Bell-LaPadula and Biba are the two this unit develops in full.

    Mechanism

    Bell-LaPadula (BLP) was proposed in 1973. Its motivation was the growing 1970s recognition that operating systems would always contain vulnerabilities users could work around, so multilevel security needed mandatory access control that a user’s own actions could not bypass, no matter how convincingly a program appeared to have permission.

    BLP defines two mandatory properties, both about the direction information is allowed to flow:

    • The simple security property, also called no read up: no subject may read data at a higher level than its own clearance.
    • The *-property (star-property), also called no write down: no subject may write data to a lower level than its own clearance.

    Restated the other way round: a subject can read its own level or below, and can write its own level or above.

    Bell-LaPadula — no read up, no write downTop SecretSecretConfidentialUnclassifiedSubjectcleared to Secretread ✕write okread okwrite ✕
    allowedblocked (crossed)

    The simple security property: no subject may read data at a higher level ("no read up"). The *-property: no subject may write data to a lower level ("no write down") — this is the one that matters, because it stops a low-clearance user from planting a program for a high-clearance user to run by accident, which would otherwise leak upward data downward. A subject cleared to Secret can read Confidential and below, and write to Top Secret and above, but the two blocked edges above are the entire point of the model: it protects confidentiality, and only confidentiality.

    Threat

    A user cleared only to a low level cannot read high-level data directly, so instead writes a program at their own level and waits for someone with a higher clearance to run it by accident. If that higher-clearance process could write the data back down to where the low-level user can reach it, the secret would leak without anyone ever directly reading above their clearance.

    Control

    The *-property blocks exactly this path. No write down applies to every process, regardless of who is running it or how they were tricked into running it: a process operating at a high level still cannot write data down to a lower one. The exfiltration attempt fails at the write, not the read.

    Mechanism

    BLP also carries one discretionary component alongside its two mandatory ones: an external entity can define, in a matrix, exactly which operations a given subject holds over a given object, on top of the level restrictions the mandatory properties already enforce. The lecture’s own matrix gives one user read and append rights on one object and read rights on another, while a second user gets read-write and append on the first and execute on the second. The mandatory properties set the outer boundary; the discretionary matrix narrows what is allowed inside it.

    Exam detail

    BLP draws four criticisms in the lecture, and each is worth naming on its own.

    • Single trusted principal. The whole model is administered by one omnipotent Trusted Principal, which pushes the question of security onto securing that one central authority instead.
    • Confidentiality only. BLP was built with secrecy in mind and does not address integrity at all. A subject cleared to Unclassified can still write up to a Top Secret object under the *-property, even though it cannot read it, which is enough to corrupt the object without ever seeing its contents.
    • Covert channels. BLP has no answer for a channel nobody designed for communication being used for it anyway. The lecture’s example: a high-level process deliberately encodes a bit as high or low CPU load, and a low-level process estimates the load to read the bit back, without either process ever performing a write the *-property would catch. This differs from a side channel, where an attacker passively infers information from an artefact of normal operation, packet timing or a heat signature, with no deliberate encoding on the source’s side at all.
    • Non-composability. Combining two systems that are each individually BLP-secure does not guarantee the combined system is BLP-secure.

    Mechanism

    Biba addresses integrity instead of confidentiality: not who can see data, but whether it can be trusted not to have been tampered with. Its wording was checked directly against Biba’s own 1977 technical report, and its three properties are the reverse of Bell-LaPadula’s directions:

    • The simple integrity property, also called no read down: a subject may only read data at its own level or higher.
    • The *-integrity property, also called no write up: a subject may only write data at its own level or lower.
    • The invocation property: a process cannot invoke another process at a higher integrity level, only at its own level or below.

    The first two properties govern direct reads and writes of data. The invocation property is different in kind: it governs which processes a process can call or request a service from, stopping a low-integrity process getting a trusted, higher-integrity process to act on its behalf, the integrity equivalent of the confused deputy problem covered earlier in this module.

    Biba — no read down, no write upHighest integrityIntegrity levelIntegrity levelLowest integritySubjectat mid levelread okwrite ✕read ✕write ok
    allowedblocked (crossed)

    Biba protects integrity, not confidentiality, and is Bell-LaPadula reversed: the simple integrity property is "no read down", the *-integrity property is "no write up". Compare the two blocked edges against the Bell-LaPadula diagram above — same layout, opposite result. A low-integrity process reading high-integrity data would trust something it cannot verify; a low-integrity process writing to high-integrity data would corrupt something trusted. Both are blocked for the same reason confidentiality-writes-down are blocked in Bell-LaPadula: to stop contamination flowing the wrong way.

    Mechanism

    Two examples the lecture gives make the direction concrete. An aircraft’s in-flight entertainment system can read data from the avionics, airspeed among it, but cannot write to any of it: a bug in the entertainment system stays a bug in the entertainment system, and cannot touch flight controls. A car’s odometer can display the recorded mileage but cannot alter it: read up is fine, write up is not, and both examples are the *-integrity property doing its job.

    Compare

    Protects confidentiality. Simple security property: no read up. *-property: no write down. A subject can read its own level or below, and write its own level or above.

    Protects integrity. Simple integrity property: no read down. *-integrity property: no write up. A subject can read its own level or above, and write its own level or below.

    Pitfall

    The single most common way to lose marks in this section is naming the right direction but the wrong model, or the right model but the wrong direction. “No write down” belongs to Bell-LaPadula. “No write up” belongs to Biba. They are not interchangeable phrasings of the same idea; they are opposite rules that happen to share the same shape. When a question asks about Biba, answer with Biba’s own property names, not Bell-LaPadula’s with the direction flipped in your head.

    Worked example

    AnswerSubject cleared to Secret, object classified Top Secret: BLP denies the read and allows the write; Biba allows the read and denies the write.

    Take the four MLS levels in order, Unclassified below Confidential below Secret below Top Secret, and a subject cleared to Secret trying to read from, and write to, an object classified Top Secret, one level above.

    1. Bell-LaPadula read. The object is above the subject’s clearance, so this would be reading up. The simple security property forbids it. Denied.

    2. Bell-LaPadula write. The object is at or above the subject’s clearance, so this is writing up. The *-property only forbids writing down. Allowed.

    3. Biba read. Biba reverses Bell-LaPadula: reading up is exactly what the simple integrity property allows, since a subject may read its own level or higher. Allowed.

    4. Biba write. Writing to a level above the subject’s own is writing up, which the *-integrity property forbids outright. Denied.

    5. Every verdict flips between the two models on the same pair of levels. That reversal, not any difference in the numbers involved, is the entire content of “Biba is the dual of Bell-LaPadula.”

    Bell-LaPadula / Biba checker

    Pick a subject clearance and an object classification; compare the confidentiality and integrity verdicts side by side.

    Bell-LaPadula — confidentiality

    Biba — integrity

    Mechanism

    The lecture frames a related scenario the same way with named people rather than classification labels: a user cleared to Low wants codes locked at Medium classification. Under Bell-LaPadula they cannot read the codes themselves, reading up is blocked, and asking a second user, cleared above Medium, to fetch them does not work either, because that second user cannot write the codes back down to the first user’s level. Under Biba the same request succeeds both ways: the Low-cleared user can read up to Medium directly, and the higher user can write down to change any of the codes they like. Nothing about the levels changed between the two versions of the story; only which model is being asked.

    Aside

    The lecture’s practice quiz poses a related Bell-LaPadula scenario with four named people and a set of documents at different classifications, but the figure holding the actual clearance and classification table did not survive PDF extraction. The explanations that follow the question are still usable on their own: the highest-cleared person can read everything, and nobody can write below their own level. The source table itself cannot be reproduced here.

    Mechanism

    Pure implementations of either model, on their own, are rare: real systems have security needs too varied for one formal model to capture cleanly. Variants of Biba specifically are more common in practice than pure Bell-LaPadula, because integrity is easier to justify to users who dislike being told what they cannot read but accept being stopped from corrupting trusted data. The lecture names Windows Vista, SELinux, some versions of Red Hat, and a FreeBSD module as places Biba-style variants actually appear. The formal models still matter for discussing and designing real-world access control, even where no system implements either one exactly.

    Recall

    Same subject clearance, same object classification: why can a write be allowed under Bell-LaPadula and denied under Biba at the very same two levels?

    Because the two models enforce opposite directions. Bell-LaPadula’s *-property blocks writing down, so writing up or level is fine. Biba’s *-integrity property blocks writing up, so the identical write that Bell-LaPadula allowed is exactly the one Biba forbids.