ơ ế B o m t theo c  ch  MAC Mandatory Access Control Models

Agenda

3.

1. Define Mandatory Access Control Models 2. Secrecy­preserving models Integrity­preserving models

4. Multi­Level security 5. Multi­level databases access control models 6. Multi­level secure DBMS architecture ụ ệ 7. MAC trong các h  QTCSDL thông d ng

Define Mandatory Access Control

Mandatory Access Control : A system­wide policy  decrees who is allowed to have access; individual  user cannot alter that access. Relies on the system to control access. Examples: – The law allows a court to access driving records

Traditional MAC mechanisms have been tightly  coupled to a few security models. Recently, systems supporting flexible security  models start to appear (e.g., SELinux, Trusted  Solaris, TrustedBSD, etc.)

without the owners’ permission.

Mandatory Access Control vs Discretionary  Access Control

MAC is centrally controlled by a security policy  administrator; users do not have the ability to override the  policy and, for example, grant access to files that would  otherwise be restricted.  DAC, which also governs the ability of subjects to access  objects, allows users the ability to make policy decisions  and/or assign security attributes.  MAC­enabled systems allow policy administrators to  implement organization­wide security policies.  With DAC, users cannot override or modify this policy,  either accidentally or intentionally. This allows security  administrators to define a central policy that is guaranteed  (in principle) to be enforced for all users.

Degrees of MAC system strength

In some systems, users have the authority to decide whether  to grant access to any other user. To allow that, all users  have clearances for all data. This is not necessarily true of a  MAC system. If individuals or processes exist that may be  denied access to any of the data in the system environment,  then the system must be trusted to enforce MAC. Since  there can be various levels of data classification and user  clearances, this implies a quantified scale for robustness.  For example, more robustness is indicated for system  environments containing classified Top Secret information  and uncleared users than for one with Secret information  and users cleared to at least Confidential. To promote  consistency and eliminate subjectivity in degrees of  robustness, an extensive scientific analysis and risk  assessment of the topic produced a landmark benchmark  standardization quantifying security robustness capabilities

of systems and mapping them to the degrees of trust

warranted for various security environments. The result was

documented in CSC­STD­004­85.[6] Two relatively

independent components of robustness were defined:

Assurance Level and Functionality. Both were specified

with a degree of precision that warranted significant

confidence in certifications based on these criteria.

Evaluation of MAC system strength

The Common Criteria[7] is based on this science and it  intended to preserve the Assurance Level as EAL levels and  the functionality specifications as Protection Profiles. Of  these two essential components of objective robustness  benchmarks, only EAL levels were faithfully preserved. In  one case, TCSEC level C2[8] (not a MAC capable category)  was fairly faithfully preserved in the Common Criteria, as  the Controlled Access Protection Profile (CAPP).[9]  Multilevel security (MLS) Protection Profiles (such as  MLSOSPP similar to B2)[10] is more general than B2. They  are pursuant to MLS, but lack the detailed implementation  requirements of their Orange Book predecessors, focusing  more on objectives. This gives certifiers more subjective  flexibility in deciding whether the evaluated product’s  technical features adequately achieve the objective,  potentially eroding consistency of evaluated products and

making it easier to attain certification for less trustworthy

products. For these reasons, the importance of the technical

details of the Protection Profile is critical to determining the

suitability of a product.

Such an architecture prevents an authenticated user or

process at a specific classification or trust­level from

accessing information, processes, or devices in a different

level. This provides a containment mechanism of users and

processes, both known and unknown (an unknown program

(for example) might comprise an untrusted application

where the system should monitor and/or control accesses to

devices and files).

Multilevel Security (MLS)

Definition and need for MLS – Security Classification – Secrecy­Based Mandatory Policies: Bell­

LaPadula Model

– Integrity­based Mandatory Policies: The

Biba Model

– Limitation of Mandatory Policies Hybrid Policies – The Chinese Wall Policy

Definition and need for MLS

Multilevel security involves a database in which  the data stored has an associated classification  and consequently constraints for their access MLS allows users with different classification  levels to get different views from the same data MLS cannot allow downward leaking, meaning  that a user with a lower classification views data  stored with a higher classification

Definition and need for MLS

Usually multilevel systems are with the federal  government Some private systems also have multilevel security  needs MLS relation is split into several single­level relations,  A recovery algorithm reconstructs the MLS relation  from the decomposed single­level relations At times MLS updates cannot be completed because it  would result in leakage or destruction of secret  information

Definition and need for MLS

In relational model, relations are tables  and relations consist of tuples (rows) and  attributes (columns) Example: Consider the relation     SOD(Starship, Objective, Destination)

Enterprise Voyager

Exploration Spying

Talos Mars

Starship Objective Destination

Definition and need for MLS

The relation in the example has no  classification associated with it in a  relational model The same example in MLS with  classification will be as follows:

Destination

Talos           U Mars            S

Starship Enterprise      U Voyager         U Objective Exploration           U Spying                  S

Definition and need for MLS

In MLS, access classes can be assigned to: – Individual tuple in a relation – Individual attribute of a relation – Individual data element of tuples in a relation Bell – LaPadula Model Biba Model

shows  how

Bell – LaPadula Model Proposed  by  David  Bell  and  Len  Lapadula  in  1973, in response to U.S. Air Force concerns over  the security of time­sharing mainframe systems. This model is the most widely recognized Access  Matrix model with classified data The model deal with confidentiality only. This model has two components: – Classification – Set of categories  Bell­LaPadula  model  to  use  Mandatory  Access  Control  to  prevent  the  Trojan  Horse

Bell – LaPadula Model

Two properties: No read up and No write down. Simple security property: Subject A is allowed to  read object O only if class(O)  class(A). *­property: Subject A is allowed to write object  O only if class(A)  class(O). The *­property was Bell and LaPadula’s critical  innovation. It was driven by the fear that a user  with “Secret” clearance might be “tricked” by  attackers (e.g., through Trojan horse programs or  software vulnerabilities) to copy down the  information to a ”Unclassified” area where the  attackers can read.

Bell – LaPadula Model

n Classification has four values {U, C, S, TS}

n U = unclassified n C = confidential n S = secret n TS = top secret

n Classifications are ordered: TS > S > C > U n Set of categories consists of the data environment

and the application area, i.e., Nuclear, Army, Financial, Research

Example: In USA, a “SECRET” clearance involves       checking FBI fingerprint files.

Bell – LaPadula Model

An access class c1 dominates  ≥  an access class  c2 iff – Security level of c1 is greater than or equal to that of c2 – The categories of c1 include those of c2

Bell – LaPadula Model

level

Bell­LaPadula model is based on a subject­ object paradigm Subjects  are  active  elements  of  the  system  that execute actions Objects  are  passive  elements  of  the  system  that contain information Subjects act on behalf of users who have a  them  associated  with  security  (indicating the level of system trust)

Bell – LaPadula Model

Subjects execute access modes on objects Access modes are: – Read­only – Append (writing without reading) – Execute – Read­write (writing known data) Decentralized administration of privileges  on objects

Bell – LaPadula Model

Control direct and indirect flows of information Prevent leakage to unauthorized subjects User can connect to the system  with any access class  dominated by their clearance

Two Principles

To protect information confidentiality – No­read­up, a subject is allowed a read access  to  an  object  only  if  the  access  class  of  the  subject dominate the access class of the object – No­write­down,  a  subject  is  allowed  a  write  access  to  an  object  only  if  the  access  class  of  the subject  is dominated by  the access class of  the object

No­read­up & No­write­down

n Can TS subject write to S object? n Can S subject write to U object? n How to apply to the Trojan Horse case?

Solution to Trojan Horse

Possible classification reflecting the access  restrictions: – Secret for Vicky and “Market” – Unclassified to John and “Stolen” If Vicky connect to system as secret, write is  blocked If Vicky connects to system as unclassified, read  is blocked Is Vicky allowed to write to the unclassified  object? How?

Applying BLP: An Example

Alice has (Secret, {NUC, EUR}) clearance David has (Secret, {EUR}) clearance – David can talk to Alice (“write up” or “read down”) – Alice cannot talk to David (“read up” or “write down”) Alice is a user, and she can login with a different  ID (as a different principle) with reduced  clearance – Alias1 (Secret, {NUC, EUR})  – Alias2 (Secret, {EUR})

BLP: Problem

If I can write up, then how about writing  files with blanks? – Blind writing up may cause integrity

problems, but not a confidentiality breach

Bell – LaPadula Model

Two main properties of this model for a  secure system are: – Simple security property – Star property Simple security means: A subject may  have read or write access to an object only  if the clearance of the subject dominates the  security level of the object

Bell – LaPadula Model

Star property means: An untrusted subject may:  append   if object security dominates subject security

This model guarantees secrecy by  preventing unauthorized release of  information This model does not protect from  unauthorized modification of information

write       if object security equals subject security      read        if object security is less than subject security

Key Points

Confidentiality models restrict flow of information Bell­LaPadula (BLP) models multilevel security

– Simple security property says no read up and  – Star property says no write down – Both ensure information can only flow up

Cornerstone of much work in computer security

The Biba Model

A  model  due  to  Ken  Biba  which  is  often  referred  to  as  “Bell­LaPadula upside down.” It  deals  with  integrity  alone  and  ignores  confidentiality  entirely. Biba model covers integrity levels, which are analogous to  sensitivity levels in Bell­LaPadula Integrity levels cover inappropriate modification of data Prevents  unauthorized  users  from  making  modifications  (1st goal of integrity)

The Biba Model

Two properties:

Important – Unknown

Simple Integrity Property: A low integrity subject will not  write or modify high integrity data. *­Property: The high integrity subject will not read low  integrity data. Read Up, Write Down ­ Subjects cannot read objects of  lesser integrity, subjects cannot write to objects of higher  integrity Each subject and object in the system is assigned an  integrity classification – Crucial –

Integrity Level

Integrity level of a user reflects user’s  trustworthiness for inserting, modifying, or  deleting information Integrity level of an object reflects both the  degree of trust that can be placed on the  info stored in the object, and the potential  damage could result from unauthorized  modification of info

Two principles

No­read­down: A subject is allowed a read  access to an object only if the access class  of the object dominates the access class of  the subject No­write­up: A subject is allowed a write  access to an object only if the access class  of the subject is dominated by the access  class of the object

Q:  How to control both the secrecy and  integrity?

Applying Mandatory Policies to  Databases

Commercial DBMSs Oracle, Sybase, and TruData have MLS versions  of their DBMS

Because of Bell­LaPadula restrictions, subjects having different  clearances see different versions of a multilevel relation

Visible to a user with  unclassified level.

Visible to a user with secret  level.

Polyinstantiation

Request by low level subject – An unclassified subject request insert of  If this update is rejected, then the user would be able to  infer something about Ann MLS would allow the secret channel to permit data  update and protect data integrity

Visible to a user with secret  level.

Visible to a user with  unclassified level.

Polyinstantiation

Request by high level subjects – A secret subject request to insert 

– Inform the subject of the conflict and refuse the

200K>

– Overwrite the existing tuple (no)

insertion (no)

Challenges

Cover Stories  – Non­true data to hide the existence of the actual

value

– Not released is a cause of information leakage Fine­grained is not easy – Aggregation, association – Block inference channels

Covert Channels

– Later, the low level subject tries to read dummy.obj. Success or

failure of this request disclose the action of the high­level subject.

• One bit of information has flown from high to low.  • Failure means dummy.obj has be upgraded; success means dummy.obj

has not been changed

A covert channel is an information flow that is not  controlled by a security mechanism. In BLP, you could use the access control mechanism itself  to construct a covert channel. – A low level subject makes an object “dummy.obj” at its own level. – Its high level accomplice either upgrades the security level of  dummy.obj to high or leaves it unchanged.

Covert Channels (cont’d)

can be preempted by low level processes.

– Random delays, clock noise, randomized resource availability. – Auditing the use of known channels – Polyinstantiation

Other Examples for Covert Channels: – Timing Channels – Resource State – Hidden Information in downgraded documents Commonly used techniques for reducing covert channels: – Reduce abusable functionality – High level processes get lowest resource allocation priority and

Multilateral Security

In a consultant company, a person who consult for BankOne  should not have access to the data of JPMC­Chase.

– An intelligence organization wants to keep the names of agents  working in one foreign country secret from the department  responsible for spying on another. Also known as compartmentation.

Instead of the information flow­control boundaries being  horizontal, as in the MLS model, we instead need the  boundaries to be the mostly vertical. Examples: –

Multilateral Security

Multilateral security models: – The Chinese Wall Model – The BMA Model (British Medical Association)

Chinese Wall Model

Problem:

– Tony advises American Bank about

investments

– He is asked to advise Toyland Bank about

investments

Conflict of interest to accept, because his  advice for either bank would affect his  advice to the other bank

Organization

Organize entities into “conflict of interest”  classes Control subject accesses to each class Control writing to all classes to ensure  information is not passed along in violation  of rules Allow sanitized data to be viewed by  everyone

The Chinese Wall Model

interest.

Proposed by Brewer and Nash to model access rules in a  consultancy business where analysts have to make sure  that no conflicts of interest arise when they are dealing  with different clients. Informally, conflicts arise because clients are direct  competitors in the same market or because of the  ownership of companies. Analysts have to adhere to the  following security policy: – Rule: There must be no information flow that causes a conflict of

Conflict of Interest (CoI) classes: indicate which  companies are in competition.

The Chinese Wall Model

Consider a consulting business A consultant is authorized to work for any client, but some  clients have secrecy and integrity requirements relative to  other clients – Coca­Cola and Pespi The Chinese Wall model enables definition of such  scenarios – Only allow subjects to read data from one of the conflicted parties – Must control writing too

Definitions

Objects: items of information related to a  company Company dataset (CD): contains objects related to  a single company – Written CD(O) Conflict of interest class (COI): contains datasets  of companies in competition – Written COI(O) – Assume: each object belongs to exactly one COI class

Example

Bank COI Class

Gasoline Company COI Class

Bank of America

Shell Oil

Standard Oil

Citibank Bank of the West

ARCO

Union ’76

The Chinese Wall Model

Read Rule: A subject S can read an object O if:

O is in the same Dataset as an object already accessed by  S, or   O  belongs  to  a  CoI  class  from  which  S  has  not  yet  accessed any information.

Write Rule: A subject S can write an object O if:  S can read O according to the Read Rule, and   No  object  in  a  different  company  dataset  (i.e.,  not  O’s  company dataset) can be read.

The Chinese Wall Model

In the write rule, the flow of information is comfined to its  own company dataset. Without this rule, a person who can  access both A and B can read the information from A and  write to B; this way, another person who can access B can  also access the information in A indirectly.  If this person can also access C, which is in the same CoI  class as A, we have a violation. The access restriction for both read and write can be lifted  for sanitized information.

The Chinese Wall Model

If a subject S reads an O belonging to dataset CD, she can never  read another O’ where CD(O’) is a member of COI(O) and  CD(O’) is not equal CD(O)

– Objects can be sanitized

Company Dataset: The set of objects that may belong to a  company – CD(O) Conflict of Interest Class: Datasets of companies in  conflict – COI(O) – Each object has only one Read iff (CW­Simple Security Property) Let PR(S) be the  set of objects that a subject S has already read –

The Chinese Wall Model

What about control of writing?

Suppose CD1 and CD2 are have a conflict of interest – What if one user can read from CD3 and CD1… – And another can read from CD3 and CD2? Now suppose either user can write to CD3 – What happens? Thus, a writer can only access objects in one dataset

Temporal Element

If Anthony reads any CD in a COI, he can never  read another CD in that COI – Possible that information learned earlier may allow him

– Let PR(S) be set of objects that S has already read

Bank COI Class

Bank of America

Citibank Bank of the West

to make decisions later

CW­Simple Security Condition

s can read o iff : 1.

2.

s has read something in o’s dataset, and object o is  in the same company datasets as the objects  already access by s, that is “within the Wall”, or s has not read any objects in o’s conflict of interest  class, what s has read belongs to an entirely  different conflict of interest class Ignores sanitized data (see below)

Sanitization

Public information may belong to a CD – As is publicly available, no conflicts of

interest arise So, should not affect ability of analysts to  read

– Typically, all sensitive data removed from  such information before it is released  publicly (called sanitization) Add third condition to CW­Simple  Security Condition:

3. o is a sanitized object

Writing

Anthony, Susan work in same trading house Anthony can read Bank 1’s CD, Gas’ CD Susan can read Bank 2’s CD, Gas’ CD If Anthony could write to Gas’ CD, Susan  can read it – Hence, indirectly, she can read information

from Bank 1’s CD, a clear conflict of interest

CW­*­Property

Write access is only permitted if

– Access is permitted by the CW­simple

security rule, and For all unsanitized objects o’, if s can read    o’, then CD(o’) = CD(o)

Says that s can write to an object if all the  (unsanitized) objects he/she can read are in  the same dataset

Multilevel DBMSs Architecture

Trusted subject.  The DBMS itself must be trusted to  ensure mandatory policy

Trusted Computing Base: Data are partitioned in  different databases, one for each level

Reference

Sushil Jajodia and Ravi S. Sandhu, Toward  a Multilevel Secure Relational Model, essay  20

Discussion (15 min)

Customer order scenario from page 161 in  the textbook Identify the subject, actions, objects Design the MAC

Lab 3 (Feb. 21)

Install Oracle Label Security & Using  Oracle Label Security  – http://apex.oracle.com/pls/apex/f?p=44785:24:3634991866798098::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:4509,2 – http://apex.oracle.com/pls/apex/f?p=44785:24:3634991866798098::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:4548,2