150 likes | 267 Views
CMSC 414 Computer and Network Security Lecture 12. Jonathan Katz. “Capability myths…”. Equivalence myth : ACLs and capabilities are “just” two views of the AC matrix Confinement myth : Capability systems cannot enforce confinement Irrevocability myth : Capabilities cannot be revoked.
E N D
CMSC 414Computer and Network SecurityLecture 12 Jonathan Katz
“Capability myths…” • Equivalence myth: ACLs and capabilities are “just” two views of the AC matrix • Confinement myth: Capability systems cannot enforce confinement • Irrevocability myth: Capabilities cannot be revoked
Equivalence myth • Capabilities allow for finer-grained listing of subjects • Processes rather than user accounts • Capabilities allow greater flexibility to edit permissions • In ACLs, usually all-or-nothing • In capability-based systems, can delegate exactly those rights you have
Confinement myth • Myth: Capabilities can be delegated “at will” and therefore cannot be confined • But…can be set up so that A can delegate a capability to B only if A is authorized to pass capabilities to B • If B is untrusted, then the latter capability will not exist
Origin of confinement myth • Mistaken assumption that the ability to write/read files translates into the ability to read/write capabilities • E.g., “read-down/write-up” example which allows transfer of “write-low” capability • Capabilities should not be viewed as “just” bitstrings; they are typed by the OS
Revocation of capabilities? • Capabilities may expire with time…or can remove all access by changing random number associated with file • Does not allow fine-grained revocation by subject • If OS stores capabilities, can simply delete the capability • Could move capability to new location and reveal the location only to subjects which still have access rights • Requires OS to keep track of which capabilities have been issued to whom
More generally • Use forwarding to revoke access…
Advantages of capabilities • Better at enforcing “principle of least privilege” • Provide access to minimal resources, to the minimal set of subjects • We have seen already that capabilities allow much finer-grained control over subjects (process-level instead of user-level)
Advantages… • Avoiding “confused deputy” problem • “Deputy” = program managing authorities from multiple sources • In the example we have seen, the problem was not the compiler having the wrong authority, but of exercising its authority for the wrong purpose
Confused deputy… • Capabilities give the ability to identify the authority a subject is using • Can then designate use of the authority for a specific purpose • Capabilities also tie together designation and authority • Don’t “know” about a resource if you don’t have the capability to access it! • Any request to access a resource must include the necessary authority to do so --- “deputy” can now examine the context of the request
“Trusted” Operating Systems (Chapter 5)
Overview • A trusted OS must provide (minimally) memory protection, file protection, access control, and user authentication • Authentication deferred to later… • Policies/models, design, assurance
“Trust” vs. “Security” • A “trusted” system meets the stated or expected security requirements • May or may not be “secure”… • May be degrees of trust…
Security policies/models • What model to use? • “Military security policy” • Primarily concerned with secrecy • Information ranked at sensitivity level within a hierarchy (e.g.: unclassified, secret, top secret), and also placed within (one or multiple) “compartments” • “Classification” of data = (rank; compartments) • Compartments no longer hierarchical…
Military policy • Subjects given “clearance” • Expressed as (rank; compartments) • “Need to know” basis • Subject with clearance (r, C) can access object with classification (r’, C’) only if r r’ and C’ C • Assumes a central “security officer” controlling designations