Computer Security:
Computer Security:
Principles and Practice
Principles and Practice
First Edition First Edition
by William Stallings and Lawrie Brown by William Stallings and Lawrie Brown
Lecture slides by Lawrie Brown Lecture slides by Lawrie Brown
Chapter 10 –
Chapter 10 –
Trusted Computing and
Trusted Computing and
Multilevel Security
Background and Review
Background and Review
Difficult subject: formal and obscure
Difficult subject: formal and obscure
Problem: how can you prove that a system
Problem: how can you prove that a system
is secure?
is secure?
Most of the topics we will discuss today
Most of the topics we will discuss today
address this problem
address this problem
Access Control Policies
Access Control Policies
Discretionary Access ControlDiscretionary Access Control
Role-based Access ControlRole-based Access Control
Trusted Computing and
Trusted Computing and
Multilevel Security
Multilevel Security
present some
present some
interrelated topics:
interrelated topics:
fformal models for computer securityormal models for computer security
mmultilevel securityultilevel security
ttrusted systemsrusted systems
mmandatory access controlandatory access control
Formal Models for Computer
Formal Models for Computer
Security
Security
two fundamental computer security facts:two fundamental computer security facts:
all complex software systems have flaw/bugsall complex software systems have flaw/bugs is extraordinarily difficult to build computer is extraordinarily difficult to build computer
hardware/software not vulnerable to attack hardware/software not vulnerable to attack
hence desire to prove design and hence desire to prove design and
implementation satisfy security requirements implementation satisfy security requirements
led to development of formal security modelsled to development of formal security models
initially funded by US DoDinitially funded by US DoD
Bell-LaPadula (BLP) Model
Bell-LaPadula (BLP) Model
developed in 1970s
developed in 1970s
as a formal access control model
as a formal access control model
subjects and objects have a
subjects and objects have a
security class
security class
top secret > secret > confidential > unclassifiedtop secret > secret > confidential > unclassified
subject has a subject has a security clearancesecurity clearance level level
object has a object has a security classificationsecurity classification level level
class control how subject may access an objectclass control how subject may access an object
BLP Formal Description
BLP Formal Description
based on current state of systembased on current state of system
three BLP properties:three BLP properties:
ss-property (no read up): a subject can only read an ss-property (no read up): a subject can only read an
object of less or equal security level (MAC 1) object of less or equal security level (MAC 1)
*-property (no write down): a subject can only write into *-property (no write down): a subject can only write into
an object of greater or equal security level (MAC 2) an object of greater or equal security level (MAC 2) ds-property: a user may grant another access based on ds-property: a user may grant another access based on
discretion constrained by MAC rules (DAC) discretion constrained by MAC rules (DAC)
BLP give formal theoremsBLP give formal theorems
BLP Rules
BLP Rules
1.
1.
get access
get access
2.2.
release access
release access
3.3.
change object level
change object level
4.4.
change current level
change current level
5.5.
give access permission
give access permission
6.6.
rescind access permission
rescind access permission
7.7.
create an object
create an object
8.BLP
BLP
BLP
BLP
Example
Example
BLP
BLP
Example
Example
Biba Integrity Model
Biba Integrity Model
various models dealing with integrity
various models dealing with integrity
strict integrity policy:
strict integrity policy:
simple integrity: simple integrity: I(I(SS) ≥ I() ≥ I(OO))
integrity confinement:integrity confinement: I(I(SS) ≤ I() ≤ I(OO))
invocation property:invocation property: I(I(SS
1
Multilevel Security (MLS)
Multilevel Security (MLS)
a class of system that has system
a class of system that has system
resources (particularly stored information)
resources (particularly stored information)
at more than one security level (i.e., has
at more than one security level (i.e., has
different types of sensitive resources) and
different types of sensitive resources) and
that permits concurrent access by users
that permits concurrent access by users
who differ in security clearance and
who differ in security clearance and
need-to-know, but is able to prevent each user
to-know, but is able to prevent each user
from accessing resources for which the
from accessing resources for which the
MLS Security for Role-Based
MLS Security for Role-Based
Access Control
Access Control
rule based access control (RBAC) can
rule based access control (RBAC) can
implement BLP MLS rules given:
implement BLP MLS rules given:
security constraints on userssecurity constraints on users
constraints on read/write permissionsconstraints on read/write permissions
read and write level role access definitionsread and write level role access definitions
RBAC MLS
RBAC MLS
MLS
MLS
Database
Database
MLS
MLS
Database
Database
MLS Database Security
MLS Database Security
Read Access
Read Access
DBMS enforces simple security rule (no read up)DBMS enforces simple security rule (no read up)
easy if granularity entire database / table leveleasy if granularity entire database / table level
inference problems if have column granularity inference problems if have column granularity
if can query on restricted data can infer its existenceif can query on restricted data can infer its existence
• SELECT name FROM Employee WHERE Salary > 50KSELECT name FROM Employee WHERE Salary > 50K
solution is to check access to all query datasolution is to check access to all query data
also have problems if have row granularityalso have problems if have row granularity
null response indicates restricted/empty resultnull response indicates restricted/empty result
MLS Database Security
MLS Database Security
Write Access
Write Access
enforce *-security rule (no write down)enforce *-security rule (no write down)
have problem if a low clearance user wants to have problem if a low clearance user wants to
insert a row with a primary key that already insert a row with a primary key that already
exists in a higher level row: exists in a higher level row:
can reject, but user knows row existscan reject, but user knows row exists can replace, compromises data integritycan replace, compromises data integrity
can polyinstantiation and insert multiple rows with can polyinstantiation and insert multiple rows with
same key, creates conflicting entries same key, creates conflicting entries
same alternatives occur on updatesame alternatives occur on update
Trusted Platform Module
Trusted Platform Module
(TPM)
(TPM)
concept from Trusted Computing Group
concept from Trusted Computing Group
hardware module at heart of hardware /
hardware module at heart of hardware /
software approach to trusted computing
software approach to trusted computing
uses a TPM chip on
uses a TPM chip on
motherboard, smart card, processormotherboard, smart card, processor
working with approved hardware / softwareworking with approved hardware / software
generating and using crypto keysgenerating and using crypto keys
has 3 basic services: authenticated boot,
has 3 basic services: authenticated boot,
Authenticated Boot Service
Authenticated Boot Service
responsible for booting entire O/S in stages
responsible for booting entire O/S in stages
ensuring each is valid and approved for use
ensuring each is valid and approved for use
verifying digital signature associated with codeverifying digital signature associated with code
keeping a tamper-evident logkeeping a tamper-evident log
log records versions of all code running
log records versions of all code running
can then expand trust boundary
can then expand trust boundary
TPM verifies any additional software requestedTPM verifies any additional software requested
• confirms signed and not revokedconfirms signed and not revoked
hence know resulting configuration is well-
hence know resulting configuration is
Certification Service
Certification Service
once have authenticated boot
once have authenticated boot
TPM can certify configuration to others
TPM can certify configuration to others
with a digital certificate of configuration infowith a digital certificate of configuration info
giving another user confidence in itgiving another user confidence in it
include challenge value in certificate to
include challenge value in certificate to
also ensure it is timely
also ensure it is timely
provides hierarchical certification approach
provides hierarchical certification approach
Encryption Service
Encryption Service
encrypts data so it can be decrypted
encrypts data so it can be decrypted
by a certain machine in given configurationby a certain machine in given configuration
depends on
depends on
master secret key unique to machinemaster secret key unique to machine
used to generate secret encryption key for used to generate secret encryption key for
every possible configuration only usable in it every possible configuration only usable in it
can also extend this scheme upward
can also extend this scheme upward
create application key for desired application create application key for desired application
Protected
Protected
Trusted Systems
Trusted Systems
security models aimed at enhancing trust
security models aimed at enhancing trust
work started in early 1970’s leading to:
work started in early 1970’s leading to:
Trusted Computer System Evaluation Criteria Trusted Computer System Evaluation Criteria
(TCSEC), Orange Book, in early 1980s (TCSEC), Orange Book, in early 1980s
further work by other countriesfurther work by other countries
resulting in Common Criteria in late 1990sresulting in Common Criteria in late 1990s
also Computer Security Center in NSA
also Computer Security Center in NSA
with Commercial Product Evaluation Programwith Commercial Product Evaluation Program
evaluates commercially available productsevaluates commercially available products
Common Criteria (CC)
Common Criteria (CC)
ISO standards for security requirements
ISO standards for security requirements
and defining evaluation criteria to give:
and defining evaluation criteria to give:
greater confidence in IT product securitygreater confidence in IT product security
from formal actions during process of:from formal actions during process of:
development using secure requirementsdevelopment using secure requirements
evaluation confirming meets requirementsevaluation confirming meets requirements
operation in accordance with requirementsoperation in accordance with requirements
CC Requirements
CC Requirements
have a common set of potential security have a common set of potential security
requirements for use in evaluation requirements for use in evaluation
target of evaluation (TOE) refers product / target of evaluation (TOE) refers product /
system subject to evaluation system subject to evaluation
functional requirementsfunctional requirements
define desired security behaviordefine desired security behavior
assurance requirementsassurance requirements
that security measures effective correctthat security measures effective correct
Smartcard PP
Smartcard PP
simple PP example
simple PP example
describes IT security requirements for
describes IT security requirements for
smart card use by sensitive applications
smart card use by sensitive applications
lists threats
lists threats
PP requirements:
PP requirements:
42 TOE security functional requirements42 TOE security functional requirements
24 TOE security assurance requirements24 TOE security assurance requirements
IT environment security requirementsIT environment security requirements
Assurance
Assurance
“
“
degree of confidence that the security
degree of confidence that the security
controls operate correctly and protect the
controls operate correctly and protect the
system as intended”
system as intended”
applies to:
applies to:
product security requirements, security policy, product security requirements, security policy,
product design, implementation, operation product design, implementation, operation
various approaches analyzing, checking,
various approaches analyzing, checking,
CC Assurance Levels
CC Assurance Levels
EAL 1 - functionally tested
EAL 1 - functionally tested
EAL 2: structurally tested
EAL 2: structurally tested
EAL 3: methodically tested and checked
EAL 3: methodically tested and checked
EAL 4: methodically designed, tested, and
EAL 4: methodically designed, tested, and
reviewed
reviewed
EAL 5: semiformally designed and tested
EAL 5: semiformally designed and tested
EAL 6: semiformally verified design and
EAL 6: semiformally verified design and
tested
tested
Evaluation
Evaluation
ensure security features correct & effectiveensure security features correct & effective
performed during / after TOE developmentperformed during / after TOE development
higher levels need greater rigor and costhigher levels need greater rigor and cost
input: security target, evidence, actual TOEinput: security target, evidence, actual TOE
result: confirm security target satisfied for TOEresult: confirm security target satisfied for TOE
process relates security target to some of TOE:process relates security target to some of TOE:
high-level design, low-level design, functional spec, high-level design, low-level design, functional spec,
source code, object code, hardware realization source code, object code, hardware realization
Evaluation Parties & Phases
Evaluation Parties & Phases
evaluation parties:evaluation parties:
sponsor - customer or vendorsponsor - customer or vendor
developer - provides evidence for evaluationdeveloper - provides evidence for evaluation evaluator - confirms requirements satisfied)evaluator - confirms requirements satisfied)
certifier - agency monitoring evaluation processcertifier - agency monitoring evaluation process
phases: phases:
preparation, conduct of evaluation, conclusionpreparation, conduct of evaluation, conclusion
government agency regulates, e.g. US CCEVSgovernment agency regulates, e.g. US CCEVS
have peering agreements between countrieshave peering agreements between countries
Summary
Summary
Bell-Lapadula security model
Bell-Lapadula security model
other models
other models
reference monitors & trojan horse defence
reference monitors & trojan horse defence
multilevel secure RBAC and databases
multilevel secure RBAC and databases
trusted platform module
trusted platform module
common criteria
common criteria