Computer Security

advertisement
Computer Security
The Security Kernel-
3/24/2016
1
The Security Kernel
Layers of an IT system
Applications
Services
Operating System
OS kernel
Hardware
3/24/2016
2
OS integrity
Orange Book Glossary –
DoD Trusted Computing Evaluation Criteria TCSEC
• Reference monitor
– An abstract machine that mediates all accesses to object by subjects.
• Security Kernel
– Hardware, firmware & software that implement the reference monitor.
• Trusted computing base (TCB)
– The protecting mechanisms within a computer system (hardware,
firmware & software) that enforce the security policy.
3/24/2016
3
OS integrity
Generic security policies
• Users should not be able to modify the operating system
• Users should be able to use (invoke) the operating system
• Users should not be able to misuse the operating system.
To achieve these goals two mechanisms are used:
– status information and controlled invocation (restricted
previlege)
3/24/2016
4
OS integrity
Modes of operation
The OS should be able to distinguish computations on
– supervisor (system) mode: on behalf of the OS
– user mode: on behalf of the users.
This prevents users from writing directly to memory and
corrupting the logical file structure.
If a user wants to execute an operation requiring supervisor
mode, then the processor has to switch modes
– this process is called controlled invocation.
3/24/2016
5
OS integrity
Controlled invocation
Example
A user wants to execute an operation requiring supervisory
mode, e.g, write to a memory location.
To deal with this, the processor has to switch between modes,
but this is a problem.
Simply changing the status bit to supervisor mode would give
the user all privileges associated with this mode, without any
control of what the user actually does.
3/24/2016
6
OS integrity
Controlled invocation
Example –continued
Therefore it is desirable that the system only performs
a certain predefined set of operations in supervisory
mode and then return to user mode before handing
back control to the user.
We refer to this as controlled invocation
3/24/2016
7
OS integrity
Hardware security features
CPU
Bus
Memory
A schematic description of a computer
3/24/2016
8
Computer architecture
• The Central Processing Unit
– The Arithmetic Logic Unit
– Registers
• General purpose
• Dedicated
– Program counter
– Stack pointer
– Status register
3/24/2016
9
Computer architecture
• Memory structure
– Random Access Memory
• Security concerns: integrity, confidentiality
– Read-Only Memory
• Security concerns : confidentiality
– Erasable & Programmable ROM
• Security concerns : more sophisticated attacks
– Write-once ROM
• Security: good for recording audit trails, storing crypto keys, etc.
3/24/2016
10
Computer architecture
Processes and Threads
A process is a program in execution. It consists of:
• executable code
• data
• the execution context.
A process works in its own address space and can communicate with
other processes only through the primitives provided by the OS.
The logical separation between processes is a useful basis for security.
On the other hand, a context switch between processes is an expensive
operation as the OS has to save the whole execution context on the stack.
3/24/2016
11
Computer architecture
Processes and Threads
Threads are strands of execution within a process.
As threads share an address space they avoid the overhead of a full
context switch, but they also avoid control by a potential security
mechanism.
3/24/2016
12
Computer architecture
Controlled Invocation – interrupts
Processes are equipped to deal with interruptions of executions, created
by errors in the program, user requests, hardware failure etc.
The mechanisms to do this are called varyingly, interrupts, exceptions
and traps.
We shall use the term trap.
When a trap occurs the system saves its current state on the stack and
then executes the interrupt handler.
3/24/2016
13
Computer architecture
Controlled Invocation – interrupts
Interrupt
Interrupt vector table
Memory
TRAP #n
Interrupt vector
Interrupt handler
3/24/2016
14
Computer architecture
Controlled Invocation – interrupts
The interrupt handler has to make sure that the system is
restored to a proper state, e.g., by clearing the supervisor
status bit before returning control to the user program.
It is possible for a further interrupt to arrive while the
processor deals with a current interrupt.
3/24/2016
15
Computer architecture
Controlled Invocation – interrupts
The processor may then have to interrupt the current
handler. This may allow a user to enter supervisory
mode by interrupting the execution of an OS call.
3/24/2016
16
Computer architecture
Reference Monitor
Operating Systems manage access to data, and usually are
not involved with the interpretation of data.
They must protect their own integrity and prevent users
from accidentally/intentionally accessing other users data.
3/24/2016
17
Computer architecture
Reference Monitor -integrity of OS
This is achieved by separating user space from OS space.
Logical separation of users protects accidental/intentional
interference by users.
Separation can take place at two levels:
• file management –logical memory objects
• memory management – physical memory objects
3/24/2016
18
Reference Monitor *
Memory structure
• segmentation
• paging
The first divides data into segments = logical units.
Each segment has a name and items have an offset.
The OS maintains a table of segment names with their true Addresses.
Segmentation is used for logical access control. This is a good basis for
enforcing security policies, however segments have variable length
– memory management is harder.
3/24/2016
19
Reference Monitor *
Memory structure - paging
This divides memory into pages of equal size.
Addresses consist of two parts, the page number and an
offset (within a page).
Paging allows for more efficient memory management,
but is not a good basis for access control.
• a page may contain objects which require different protection,
• logical objects can be stored across the boundary of a page
–this allows for a covert channel.
3/24/2016
20
Reference Monitor *
Memory protection
This OS must protect its own integrity and confine each process to a
separate address space.
This means that the OS must control data objects in memory.
This can be achieved:
• by modifying addresses it receives
– Address sandboxing: the address has an identifier and a offset. Th OS sets the
correct segment identifier.
• by constructing effective addresses from relative addresses it receives
– Relative addressing: the address is specified by an offset relative to a given base
address
• checking that the addresses it receives are within given bounds.
3/24/2016
21
Kernel Primitives *
These are based on the Multics operating system, which
is similar to BLP
• subjects = processes
– These contain a descriptor segment that contains information about
the process, including the objects the process has access to. The
object has a segment descriptor word.
segment id
read: on
pointer
execute: off
write: on
Multics segment descriptor word
3/24/2016
22
Kernel Primitives *
• objects
These are memory segments, I/O devices etc.
They are organized hierarchically in a directory tree.
Information about an object such as its security level or its access
control list (ACL) is kept in its parent directory.
To access an object, a process has to traverse the tree from root to
the target object.
If any node of the path is not accessible then the target object is not
accessible --we require that the security level of an object dominates
that of its directory.
3/24/2016
23
Kernel Primitives *
Finally a set of Kernel primitives has to be specified.
These are the state transitions, in an abstract BLP type Model.
We then must show these preserve the BLP security policies.
3/24/2016
24
Computer Security
Security Evaluation
3/24/2016
25
Security Evaluation
• How do you get assurance that your computer systems are
adequately secure?
• You could trust your software providers.
• You could check the software yourself, but you would have to be a
real expert.
• You could rely on an impartial security evaluation by an independent
body.
• Security evaluation schemes have evolved since the 1980s; currently
the Common Criteria are used internationally.
www.wiley.com/go/gollm
ann
26
Objectives
• Examine the fundamental problems any security evaluation
process has to address.
• Propose a framework for comparing evaluation criteria.
• Overview of the major evaluation criteria.
• Assess the merits of evaluated products and systems.
27
Agenda
•
•
•
•
•
•
•
•
History
Framework for the comparison of criteria
Orange Book
ITSEC
Federal Criteria
Common Criteria
Quality Standards?
Summary
28
Security Evaluation – History
• TCSEC (Orange Book): criteria for the US defense sector, predefined
evaluation classes linking functionality and assurance
• ITSEC: European criteria separating functionality and assurance so that
very specific targets of evaluation can be specified and commercial
needs can better addressed
• TCSEC and ITSEC no longer in use; replaced by the
Common Criteria (CC): http://www.commoncriteria.org/,
http://niap.nist.gov/cc-scheme
29
Framework for Security
Evaluation
•
•
•
•
What is the target of the evaluation?
What is the purpose of an evaluation?
What is the method of the evaluation?
What is the organizational framework for the evaluation
process?
• What is the structure of the evaluation criteria?
• What are the costs and benefits of evaluation?
30
Target & Purpose
• Target of evaluation
– Product: “off-the-shelf” software component to be used in a variety of applications;
has to meet generic security requirements
– System: collection of products assembled to meet the specific requirements of a
given application
• Purpose of evaluation
– Evaluation: assesses whether a product has the security properties claimed for it
– Certification: assesses suitability of a product (system) for a given application
– Accreditation: decide to use a certain system
31
Method
• Evaluations should not miss problems, different evaluations of the
same product should give the same result.
• Product oriented: examine and test the product; better at finding
problems.
• Process oriented: check documentation & product development
process; cheaper and better for repeatable results.
• Repeatability and reproducibility often desired properties of an
evaluation methodology.
www.wiley.com/go/gollm
ann
32
Organizational Framework
• Public service: evaluation by government agency; can be slow, may
be difficult to retain qualified staff.
• Private service: evaluation facilities usually accredited by a
certification agency.
– How to make sure that customer pressure does not influence evaluation
results?
– Contractual relationship between evaluation sponsor, product manufacturer,
evaluation facility?
• Interpretation drift (criteria creep): meaning of criteria may change
over time and differ between evaluators.
33
Structure
• Structure of evaluation criteria:
– Functionality: security features
– Effectiveness: are mechanisms used appropriate
– Assurance: thoroughness of analysis
• Orange Book: evaluation classes for a given set of typical DoD
requirements, consider all three aspects simultaneously.
• ITSEC: flexible evaluation framework that can deal with new security
requirements; the three aspects are addressed independently.
34
Costs and Benefits
• Direct costs: fees paid for evaluation.
• Indirect costs: employee time, training evaluators in the use
of specific analysis tools, impact on development process.
• When evaluating a product, the cost of evaluation may be
spread over a large number of customers.
• Benefits: evaluation may be required, e.g. for government
contracts; marketing argument; better security?
35
Orange Book
• Developed for the national security sector, but intended to be
more generally applicable; provides
– a yardstick for users to assess the degree of trust that can be placed in a
computer security system,
– guidance for manufacturers of computer security system,
– a basis for specifying security requirements when acquiring a computer
security system.
• Security evaluation of the Trusted Computing Base (TCB),
assumes that there is a reference monitor.
• Developed for systems enforcing multi-level security.
• High assurance linked to formal methods, simple TCBs, and
structured design methodologies; complex systems tend to fall
into the lower evaluation classes.
36
Evaluation Classes
• Designed to address typical security requirements; combine security
feature and assurance requirements:
–
–
–
–
–
Security Policy: mandatory and discretionary access control;
Marking of objects: labels specify the sensitivity of objects;
Identification of subjects: authentication of individual subjects;
Accountability: audit logs of security relevant events;
Assurance: operational assurance refers to security architecture, life
cycle assurance refers to design methodology, testing, and
configuration management;
– Documentation: users require guidance on installation and use;
evaluators need test and design documentation;
– Continuous Protection: security mechanisms cannot be tampered with.
37
Security Classes
• Four security divisions:
–
–
–
–
D – Minimal Protection
C – Discretionary Protection (‘need to know’)
B – Mandatory Protection (based on labels)
A – Verified Protection
• Security classes defined incrementally; all requirements of one
class automatically included in the requirements of all higher
classes.
• Class D for products submitted for evaluation that did not meet
the requirements of any Orange Book class.
• Products in higher classes provide more security mechanisms
and higher assurance through more rigorous analysis.
38
C1: Discretionary Security
Protection
• Intended for environments where cooperating users process data at
the same level of integrity.
• Discretionary access control based on individual users and/or
groups.
• Users have to be authenticated.
• Operational assurance: TCB has its own execution domain; features
for periodically validating the correct operation of the TCB.
• Life-cycle assurance: testing for obvious flaws.
• Documentation: User’s Guide, Trusted Facility Manual (for system
administrator), test and design documentation.
39
C2: Controlled Access
Protection
• Users individually accountable for their actions.
• DAC at the granularity of single users.
• Propagation of access rights has to be controlled and object
reuse has to be addressed.
• Audit trails of the security relevant events that are specified in the
definition of C2.
• Testing and documentation: covers the newly added security
features; testing for obvious flaws only.
• C2 was regarded to be the most reasonable class for commercial
applications.
• C2-evaluated versions of most major operating systems or
database management systems.
40
B1: Labelled Security Protection
• Division B for products that handle classified data and enforce mandatory
MLS policies (based on security labels).
• Class B1 for system high environments with compartments.
• Issue: export of labelled objects to other systems or a printer; e.g. humanreadable output has to be labelled.
• Higher assurance: informal or formal model of the security policy.
• Design documentation, source code, and object code have to be analysed;
all flaws uncovered in testing must be removed.
• No strong demands on the structure of the TCB.
• B1 rating for System V/MLS (from AT & T), operating systems from Hewlett
Packard, DEC, and Unisys; database management systems: Trusted
Oracle 7, INFORMIX-Online/Secure, Secure SQL Server.
41
B2: Structured Protection
•
•
•
•
•
•
•
•
•
•
Class B2 increases assurance by adding design requirements.
MAC governs access to physical devices.
Users notified about changes to their security levels.
Trusted Path for login and initial authentication.
Formal model of the security policy and a Descriptive Top Level
Specification (DTLS).
Modularization as an important architectural design feature.
TCB provides distinct address spaces to isolate processes.
Covert channel analysis required; events potentially creating a covert
channel have to be audited.
Security testing establishes that the TCB is relatively resistant to
penetration.
B2 rating for Trusted XENIX operating system.
42
B3: Security Domain
• B3 systems are highly resistant to penetration.
• New requirements on security management: support for a security
administrator; auditing mechanisms monitor the occurrence or
accumulation of security relevant events and issue automatic
warnings.
• Trusted recovery after a system failure.
• More system engineering efforts for to minimize the complexity of the
TCB.
• A convincing argument for the consistency between the formal model
of the security policy and the informal Descriptive Top Level
Specification.
• B3 rating for versions of Wang’s XTS-300 (and XTS-200) operating
system.
43
A1: Verified Design
• Functionally equivalent to B3; achieves the highest assurance level
through the use of formal methods.
• Evaluation for class A1 requires:
–
–
–
–
a formal model of the security policy
a Formal Top Level Specification (FTLS),
consistency proofs between model and FTLS (formal, where possible);
TCB implementation (in)formally shown to be consistent with the FTLS;
formal covert channels analysis; continued existence of covert channels
to be justified, bandwidth may have to be limited.
• More stringent configuration management and distribution control.
• A1 rating for network components: MLS LAN (from Boeing) and
Gemini Trusted Network Processor; SCOMP operating system.
44
Rainbow Series
• The Orange Book is part of a collection of documents on security
requirements, security management, and security evaluation
published by NSA and NCSC (US National Security Agency and
National Computer Security Center).
• The documents in this series are known by the colour of their cover
as the rainbow series.
• Concepts introduced in the Orange Book adapted to the specific
aspects of computer networks (Trusted Network Interpretation, Red
Book) of, database management systems (Trusted Database
Management System Interpretation, Lavender/Purple Book) etc.
45
Information Technology Security
Evaluation Criteria
• ITSEC: harmonization of Dutch, English, French, and German
national security evaluation criteria; endorsed by the Council of
the European Union in 1995.
• Builds on lessons learned from using the Orange Book; intended
as a framework for security evaluation that can deal with new
security requirements.
• Breaks the link between functionality and assurance.
• Apply to security products and to security systems.
• The sponsor of the evaluation determines the operational
requirements and threats.
www.wiley.com/go/gollm
ann
46
ITSEC
• The security objectives for the Target of Evaluation (TOE) further
depend on laws and regulations; they establish the required
security functionality and evaluation level.
• The security target specifies all aspects of the TOE that are
relevant for evaluation: security functionality of the TOE,
envisaged threats, objectives, and details of security
mechanisms to be used.
• The security functions of a TOE may be specified individually or
by reference to a predefined functionality class.
• Seven evaluation levels E0 to E6 express the level of confidence
in the correctness of the implementation of security functions.
47
US Federal Criteria
• Evaluation of products, linkage between function and assurance in
the definition of evaluation classes.
• Protection profiles to overcome the rigid structure of the Orange Book;
five sections of a protection profile:
– Descriptive Elements: ‘name’ of protection profile, description of the
problem to be solved.
– Rationale: justification of the protection profile, including threat,
environment, and usage assumptions, some guidance on the security
policies that can be supported.
– Functional Requirements: protection boundary that must be provided
by the product.
– Development Assurance Requirements.
– Evaluation Assurance Requirements: type and intensity of the evaluation.
48
Common Criteria
• Criteria for the security evaluation of products or systems, called the
Target of Evaluation (TOE).
• Protection Profile (PP): a (re-usable) set of security requirements,
including an EAL; should be developed by user communities to
capture typical protection requirements.
• Security Target (ST): expresses security requirements for a specific
TOE, e.g. by reference to a PP; basis for any evaluation.
• Evaluation Assurance Level (EAL): define what has to be done in an
evaluation; there are seven hierarchically ordered EALs.
49
Download