Lecture8 - The University of Texas at Dallas

Download Report

Transcript Lecture8 - The University of Texas at Dallas

Security Architecture and Design
Dr. Bhavani Thuraisingham
The University of Texas at Dallas (UTD)
June 2013
Domain Agenda
• System and Components Security
• Architectural Security Concepts and Models
• Information Systems Evaluation Models
Domain Agenda
• System and Components Security
– Architectural Concepts and Definitions
• Architectural Security Concepts and Models
• Information Systems Evaluation Models
Common Security Architecture Terms
•
•
•
•
•
•
•
Information Security Management System
Information Security Architecture
Best Practice
Architecture
Blueprint
Framework
Infrastructure
•
•
•
•
•
Objectives of Enterprise
Security Architecture
Guidance
Strategically aligned business and security decisions
Provide security-related guidance
Apply security best practices
Define security zones
Benefits of an Enterprise
Security Architecture
•
•
•
•
•
Consistently manage risk
Reduce the costs of managing risk
Accurate security-related decisions
Promote interoperability, integration and ease-of-access
Provide a frame of reference
Characteristics of a Good
Security Architecture
• Strategic
• Holistic
• Multiple implementations
Effects of Poor Architectural Planning
•
•
•
•
•
Inability to efficiently support new business services
Unidentified security vulnerabilities
Increased frequency and visibility of security breaches
Poorly understood or coordinated compliance requirements
Poor understanding of security goals and objectives
Enterprise Security
Architecture Components
• Common Architecture Language
• Architecture Model
• Zachman Framework
Zachman Framework
•
•
•
•
•
Complete overview of IT business alignment
Two-dimensional
Intent
Scope
Principles
SABSA
• What are the business requirements?
–
–
–
–
–
Contextual
Conceptual
Logical
Physical
Component
ISO 7498-2
• OSI second part
• About secure communications
• NOT an implementation
ISO/IEC 4010:2007
• Systems and software engineering
• Practice for architectural description of software-intensive
systems
The Open Group
Architecture Framework
•
•
•
•
•
Governance
Business
Application
Data
Technology
Department of Defense
Architecture Framework
•
•
•
•
•
OMB A-130 requirement
All view
Operational view
Systems view
Technical standards view
Which Framework is Right?
• Starting place
• Culture
• Template
System and Component Security
• Components that provide basic security services
• Hardware components
• Software components
CPU and Processor Privilege States
• Supervisor state
• Problem state
CPU Process States
•
•
•
•
Running
Ready
Blocked
Masked/interruptible
Common Computer
Architecture Layers
•
•
•
•
Application programs
Utilities
Operating system
Computer hardware
Common Computer Architecture
•
•
•
•
•
•
Program execution
Access to input/output devices
Controlled access to files and data
Error detection and response
Accounting and tracking
Access for maintenance and troubleshooting
Hardware: Computers
•
•
•
•
•
Mainframe
Minicomputer
Desktop / server
Laptop / notebook
Embedded
Hardware: Communication Devices
• Modem
• Network Interface Card (NIC)
Hardware: Printers
• Network-aware
• More than output device
• Full operating systems
Hardware: Wireless
•
•
•
•
•
Network interface card
Access point
Ethernet bridge
Router
Range extender
Input/Output (I/O) Devices
•
•
•
•
I/O Controller
Managing memory
Hardware
Operating system
Firmware: Pre-programmed Chips
•
•
•
•
ROMs (Read-only memory)
PROMs (Programmable read-only memory)
EPROMs (Erasable, programmable, read-only memory)
EEPROMs (Electrically erasable, programmable, read-only
memory
• Field Programmable Gate Arrays (FPGAs)
• Flash chips
Software: Operating System
• Hardware control
• Hardware abstraction
• Resource manager
CPU and OS Support for Applications
• Applications were originally self-contained
• OS capable of accommodating more than one application at a
time
CPU and OS Support for Applications Today
• Today’s applications are portable
• Execute multiple process threads
• Threads
Operating Systems Support for
Applications
•
•
•
•
•
Multi-tasking
Multi-programming
Multi-processing
Multi-processor
Multi-core
Software: Vendor
• Commercial off the shelf (COTS)
• Function first
• Evaluation
Software: Custom
• Minimal scripting
• Business application
• System life cycle
Software: Customer-relationship
Management Systems
• Business to customer interactions
• Tracking habits
Systems Architecture Approaches
•
•
•
•
•
•
Open
Closed
Dedicated
Single level
Multi-level
Embedded
Architectures: Middleware
• Interoperability
• Post implementation
• Distributed
Types of System Memory Resources
•
•
•
•
•
CPU registers
Cache
Main memory
Swap space
Disk storage
Requirements for
Memory Management
• Relocation
• Protection
• Sharing
Three Types of Memory Addressing
• Logical
• Relative
• Physical
Memory Protection Benefits
•
•
•
•
Memory reference
Different data classes
Users can share access
Users cannot generate addresses
Virtual Memory
• Extends apparent memory
• Paging includes
– Splitting physical memory
– Splitting programs (processes)
– Allocating the required number page frames
• Swapping
Virtual Machines
• Mimic the architecture of the actual system
• Provided by the operating system
Domain Agenda
• System and Components Security
• Architectural Security Concepts and Models
• Information Systems Evaluation Models
Ring Protection
0.
1.
2.
3.
O/S Kernel
I/O
Utilities
User Apps
Layering and Data Hiding
• Layering
• Data Hiding
Privilege Levels
• Identifying, authenticating and authorizing subjects
• Subjects of higher trust
• Subjects with lower trust
Process Isolation
•
•
•
•
Object’s integrity
Prevents interaction
Independent states
Process isolation method
Security Architecture
•
•
•
•
•
•
Security critical components of the system
Trusted Computing Base
Reference Monitor and Security Kernel
Security Perimeter
Security Policy
Least Privilege
Trusted Computing Base (TCB)
• Trusted Computing Base
–
–
–
–
–
Hardware
Firmware
Software
Processes
Inter-process communications
• Simple and Testable
Trusted Computing Base (TCB)
• Enforces security policy
• Monitors four basic functions
–
–
–
–
Process activation
Execution domain switching
Memory protection
Input/output operations
Trusted Computing Base (TCB)
• The trusted computing base (TCB) of a computer system is the set of all
hardware, firmware, and/or software components that are critical to its
security, in the sense that bugs or vulnerabilities occurring inside the TCB
might jeopardize the security properties of the entire system. By contrast,
parts of a computer system outside the TCB must not be able to misbehave in
a way that would leak any more privileges than are granted to them in
accordance to the security policy.
• The careful design and implementation of a system's trusted computing base
is paramount to its overall security. Modern operating systems strive to reduce
the size of the TCB so that an exhaustive examination of its code base (by
means of manual or computer-assisted software audit or program verification)
becomes feasible.
Reference Monitor Concept
• Abstract machine concept
– Must be tamper-proof
– Always invoked
– Verifiable
• Security kernel
• Subject
• Object
Reference Monitor and Security Kernel
• In operating systems architecture, a reference monitor is a tamperproof,
always-invoked, and small-enough-to-be-fully-tested-and-analyzed module
that controls all software access to data objects or devices (verifiable).
• The reference monitor verifies that the request is allowed by the access
control policy.
• For example, Windows 3.x and 9x operating systems were not built with a
reference monitor, whereas the Windows NT line, which also includes
Windows 2000 and Windows XP, was designed to contain a reference monitor,
although it is not clear that its properties (tamperproof, etc.) have ever been
independently verified, or what level of computer security it was intended to
provide.
Domain Agenda
• System and Components Security
• Architectural Security Concepts and Models
– Security Models
• Information Systems Evaluation Models
Bell-LaPadula Confidentiality Model
•
•
•
•
Hierarchical state machine model
Three fundamental modes
Secure state
Defines access rules
Bell and LaPadula
•
A system state is defined to be "secure" if the only permitted access modes of
subjects to objects are in accordance with a security policy. To determine whether a
specific access mode is allowed, the clearance of a subject is compared to the
classification of the object (more precisely, to the combination of classification and
set of compartments, making up the security level) to determine if the subject is
authorized for the specific access mode. The clearance/classification scheme is
expressed in terms of a lattice. The model defines two mandatory access control
(MAC) rules and one discretionary access control (DAC) rule with three security
properties:
– The Simple Security Property - a subject at a given security level may not read an
object at a higher security level (no read-up).
– The *-property (read "star"-property) - a subject at a given security level must not
write to any object at a lower security level (no write-down). The *-property is also
known as the Confinement property.
– The Discretionary Security Property - use of an access matrix to specify the
discretionary access control.
Biba
• In general, preservation of data integrity has three goals:
– Prevent data modification by unauthorized parties
– Prevent unauthorized data modification by authorized parties
– Maintain internal and external consistency (i.e. data reflects the real world)
• Biba security model is directed toward data integrity (rather than
confidentiality) and is characterized by the phrase: "no read down, no write up".
This is in contrast to the Bell-LaPadula model which is characterized by the
phrase "no write down, no read up".
• The Biba model defines a set of security rules similar to the Bell-LaPadula
model. These rules are the reverse of the Bell-LaPadula rules:
– The Simple Integrity Axiom states that a subject at a given level of integrity must not
read an object at a lower integrity level (no read down).
– The * (star) Integrity Axiom states that a subject at a given level of integrity must not
write to any object at a higher level of integrity (no write up).
Clark Wilson Model
• The Clark-Wilson integrity model provides a foundation for specifying and
analyzing an integrity policy for a computing system.
• The model is primarily concerned with formalizing the notion of information
integrity.
• Information integrity is maintained by preventing corruption of data items in a
system due to either error or malicious intent.
• An integrity policy describes how the data items in the system should be kept
valid from one state of the system to the next and specifies the capabilities of
various principals in the system.
• The model defines enforcement rules and certification rules.
• The model’s enforcement and certification rules define data items and
processes that provide the basis for an integrity policy. The core of the model
is based on the notion of a transaction.
Clark Wilson Model
• A well-formed transaction is a series of operations that transition a system from
one consistent state to another consistent state.
• In this model the integrity policy addresses the integrity of the transactions.
• The principle of separation of duty requires that the certifier of a transaction
and the implementer be different entities.
• The model contains a number of basic constructs that represent both data items
and processes that operate on those data items. The key data type in the ClarkWilson model is a Constrained Data Item (CDI). An Integrity Verification
Procedure (IVP) ensures that all CDIs in the system are valid at a certain state.
Transactions that enforce the integrity policy are represented by Transformation
Procedures (TPs). A TP takes as input a CDI or Unconstrained Data Item (UDI)
and produces a CDI. A TP must transition the system from one valid state to
another valid state. UDIs represent system input (such as that provided by a
user or adversary). A TP must guarantee (via certification) that it transforms all
possible values of a UDI to a “safe” CDI.
Clark Wilson Model
• At the heart of the model is the notion of a relationship between an
authenticated principal (i.e., user) and a set of programs (i.e., TPs) that operate
on a set of data items (e.g., UDIs and CDIs). The components of such a relation,
taken together, are referred to as a Clark-Wilson triple. The model must also
ensure that different entities are responsible for manipulating the relationships
between principals, transactions, and data items. As a short example, a user
capable of certifying or creating a relation should not be able to execute the
programs specified in that relation.
• The model consists of two sets of rules: Certification Rules (C) and Enforcement
Rules (E). The nine rules ensure the external and internal integrity of the data
items. To paraphrase these:
• C1—When an IVP is executed, it must ensure the CDIs are valid. C2—For some
associated set of CDIs, a TP must transform those CDIs from one valid state to
another. Since we must make sure that these TPs are certified to operate on a
particular CDI, we must have E1 and E2.
Clark Wilson Model
•
E1—System must maintain a list of certified relations and ensure only TPs certified to run
on a CDI change that CDI. E2—System must associate a user with each TP and set of CDIs.
The TP may access the CDI on behalf of the user if it is “legal.” This requires keeping track
of triples (user, TP, {CDIs}) called “allowed relations.”
•
C3—Allowed relations must meet the requirements of “separation of duty.” We need
authentication to keep track of this.
•
E3—System must authenticate every user attempting a TP. Note that this is per TP
request, not per login. For security purposes, a log should be kept.
•
C4—All TPs must append to a log enough information to reconstruct the operation.
When information enters the system it need not be trusted or constrained (i.e. can be a
UDI). We must deal with this appropriately.
•
C5—Any TP that takes a UDI as input may only perform valid transactions for all possible
values of the UDI. The TP will either accept (convert to CDI) or reject the UDI. Finally, to
prevent people from gaining access by changing qualifications of a TP:
•
E4—Only the certifier of a TP may change the list of entities associated with that TP.
Other Fundamental Models
•
•
•
•
•
•
Information flow model
Non-interference model
State machine
Lattice-based model
Graham-Denning
Harrison-Ruzzo-Ullman result
Domain Agenda
• System and Components Security
• Architectural Security Concepts and Models
• Information Systems Evaluation Models
Evaluation Roles
• Buyer/Customer
• Seller/Vendor
• Lab/Certifier
Documents & Organizations
• TCSEC (U.S DoD)
• ITSEC (European Union)
• Common Criteria (ISO Standard I5408)
TCSEC or Orange Book
• DoD-centric
• Security and functionality
• Product evaluation
Secure System Evaluation: TCSEC
• Trusted Computer System Evaluation Criteria (TCSEC) is a United States
Government Department of Defense (DoD) standard that sets basic
requirements for assessing the effectiveness of computer security controls built
into a computer system. The TCSEC was used to evaluate, classify and select
computer systems being considered for the processing, storage and retrieval of
sensitive or classified information.
• The TCSEC, frequently referred to as the Orange Book, is the centerpiece of the
DoD Rainbow Series publications. Initially issued in 1983 by the National
Computer Security Center (NCSC), an arm of the National Security Agency, and
then updated in 1985,.
•
TCSEC was replaced by the Common Criteria international standard originally
published in 2005.
Secure System Evaluation: TCSEC
• Policy - The security policy must be explicit, well-defined and enforced by the
computer system. There are two basic security policies:
• Mandatory Security Policy - Enforces access control rules based directly on an
individual's clearance, authorization for the information and the confidentiality
level of the information being sought. Other indirect factors are physical and
environmental. This policy must also accurately reflect the laws, general policies
and other relevant guidance from which the rules are derived.
– Marking - Systems designed to enforce a mandatory security policy must
store and preserve the integrity of access control labels and retain the labels
if the object is exported.
• Discretionary Security Policy - Enforces a consistent set of rules for controlling
and limiting access based on identified individuals who have been determined
to have a need-to-know for the information.
Secure System Evaluation: TCSEC
• Accountability - Individual accountability regardless of policy must be enforced.
A secure means must exist to ensure the access of an authorized and competent
agent which can then evaluate the accountability information within a
reasonable amount of time and without undue difficulty. There are three
requirements under the accountability objective:
– Identification - The process used to recognize an individual user.
– Authentication - The verification of an individual user's authorization to specific
categories of information.
– Auditing - Audit information must be selectively kept and protected so that actions
affecting security can be traced to the authenticated individual.
• The TCSEC defines four divisions: D, C, B and A where division A has the highest
security. Each division represents a significant difference in the trust an
individual or organization can place on the evaluated system. Additionally
divisions C, B and A are broken into a series of hierarchical subdivisions called
classes: C1, C2, B1, B2, B3 and A1.
Secure System Evaluation: TCSEC
• Assurance: The computer system must contain hardware/software mechanisms
that can be independently evaluated to provide sufficient assurance that the
system enforces the above requirements. By extension, assurance must include
a guarantee that the trusted portion of the system works only as intended. To
accomplish these objectives, two types of assurance are needed with their
respective elements:
– Assurance Mechanisms : Operational Assurance: System Architecture, System
Integrity, Covert Channel Analysis, Trusted Facility Management and Trusted
Recovery
– Life-cycle Assurance : Security Testing, Design Specification and Verification,
Configuration Management and Trusted System Distribution
ITSEC
•
•
•
•
International origin
ITSEM
Functionality
Assurance
Secure System Evaluation: ITSEC
• The Information Technology Security Evaluation Criteria (ITSEC) is a structured
set of criteria for evaluating computer security within products and systems.
The ITSEC was first published in May 1990 in France, Germany, the Netherlands,
and the United Kingdom based on existing work in their respective countries.
Following extensive international review, Version 1.2 was subsequently
published in June 1991 by the Commission of the European Communities for
operational use within evaluation and certification schemes.
• Levels E1 – E6
Common Criteria
•
•
•
•
•
•
•
Origins
ISO
Documents
EAL I-7
PP
TEO
ST
Secure System Evaluation:
Common Criteria
• The Common Criteria for Information Technology Security Evaluation
(abbreviated as Common Criteria or CC) is an international standard (ISO/IEC
15408) for computer security certification.
• Common Criteria is a framework in which computer system users can specify
their security functional and assurance requirements, vendors can then
implement and/or make claims about the security attributes of their products,
and testing laboratories can evaluate the products to determine if they
actually meet the claims. In other words, Common Criteria provides assurance
that the process of specification, implementation and evaluation of a
computer security product has been conducted in a rigorous and standard
manner.
• Levels: EAL 1 – EAL 7 (Evaluation Assurance Levels)
EAL = $
1.
2.
3.
4.
5.
In natural language
A user has only one password and is assigned only one role.
A valid password is a case-sensitive string of from six to
eight single-byte alphanumeric characters.
A user must set up a password at the 1st-time login.
The system allows the authenticated user to change his
password.
The new password cannot be the same as the old one.
Comparison of Evaluation Levels
Common
Criteria
--
US TCSEC
European ITSEC
D: Minimal Protection
EO
EAL 1
--
--
EAL 2
C1: Discretionary Security Protection
E1
EAL 3
C2: Controlled Access Protection
E2
EAL 4
B1: Labeled Security Protection
E3
EAL 5
B2: Structure Prote4ction
E4
EAL 6
B3: Security Domains
E5
EAL 7
A1: Verified Design
E6
Certification and Accreditation
• Certification and Accreditation (C&A) is a process for implementing
information security. It is a systematic procedure for evaluating, describing,
testing and authorizing systems prior to or after a system is in operation.
• Certification is a comprehensive assessment of the management, operational,
and technical security controls in an information system, made in support of
security accreditation, to determine the extent to which the controls are
implemented correctly, operating as intended, and producing the desired
outcome with respect to meeting the security requirements for the system.
• Accreditation is the official management decision given by a senior agency
official to authorize operation of an information system and to explicitly
accept the risk to agency operations (including mission, functions, image, or
reputation), agency assets, or individuals, based on the implementation of an
agreed-upon set of security controls.
Popular Management Frameworks
•
•
•
•
ISO 27001
ITIL
COSO
CMMI
ISO 27001 – Stages in
Implementing an ISMS
1.
2.
3.
4.
5.
6.
Define information security policy
Define scope of ISMS
Perform risk assessment
Manage risks
Select controls
Prepare statement of applicability
IT Infrastructure Library (ITIL)
• Focuses on IT services
• Seven main sections
• Supporting products
Committee of Sponsoring
Organizations
• Emphasizes the importance of identifying and managing risks
–
–
–
–
Process
People
Reasonable assurance
Objectives
Capability Maturity Model
•
•
•
•
Developed by SEI
Based on TQM concepts
Framework for improving process
Benefits
Open vs. Closed System
•
•
Open systems allow users to reuse, edit, manipulate, and contribute to the system
development
– Open source software is an example of Open systems
• Licensed to the public
– Freeware is also an example of Open systems
Closed systems permits users to use the system as it is
Some Security Threats
•
•
•
Buffer Overflow
Maintenance Hooks
Time of check / Time of use attacks