13991 lines
553 KiB
Plaintext
13991 lines
553 KiB
Plaintext
|
||
|
||
FEDERAL CRITERIA
|
||
|
||
for
|
||
|
||
INFORMATION TECHNOLOGY SECURITY
|
||
|
||
VOLUME II
|
||
|
||
|
||
|
||
Registry of Protection Profiles
|
||
|
||
Version 1.0
|
||
|
||
December 1992
|
||
|
||
|
||
|
||
This document is undergoing review and
|
||
is subject to modification or withdrawal.
|
||
|
||
The contents of this document should not
|
||
be referenced in other publications.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY
|
||
|
||
&
|
||
|
||
NATIONAL SECURITY AGENCY
|
||
|
||
NOTES TO REVIEWERS
|
||
|
||
|
||
|
||
This is the first public draft of work in progress by the joint
|
||
National Institute of Standards and Technology (NIST) and
|
||
National Security Agency (NSA) Federal Criteria (FC) Project.
|
||
This draft Federal Criteria for Information Technology Security
|
||
is provided for preliminary review and comment by members of the
|
||
national and international computer security community. The
|
||
document will evolve into a new Federal Information Processing
|
||
Standard (FIPS) intended principally for use by the United States
|
||
Federal Government, and also by others as desired and
|
||
appropriate. The FIPS is intended to replace the Trusted Computer
|
||
System Evaluation Criteria (TCSEC) or "Orange Book."
|
||
|
||
Our objectives in presenting this draft material are threefold:
|
||
first, to give the community a clear view of the FC Project's
|
||
direction in moving beyond the TCSEC method of expressing
|
||
requirements in order to meet new IT security challenges; second,
|
||
to obtain feedback on the innovative approaches taken, the method
|
||
of presentation, and granularity; and third, to make a
|
||
substantial contribution to the dialogue among nations leading to
|
||
the harmonization of IT security requirements and evaluations.
|
||
|
||
It is important to note a few things about this preliminary FC
|
||
draft. First, it is a new and unpolished document and not intended
|
||
for any purpose except review and comment. Organizations should
|
||
not adopt any contents of this draft document for their use. It
|
||
is anticipated that the document will undergo extensive revision
|
||
as it works its way through the public FIPS approval process over
|
||
the next year or two. Second, the FC is being distributed in two
|
||
volumes. Volume I addresses the criteria development process and
|
||
is intended principally for use by developers of protection
|
||
profiles. The information in Volume I may also be of use to IT
|
||
product manufacturers and product evaluators. Volume II presents
|
||
completed IT product security criteria in the form of accepted
|
||
protection profiles.
|
||
|
||
The protection profiles associated with the final FIPS will help
|
||
consumers identify types of products that meet the protection
|
||
requirements within their particular organizations and
|
||
environments. However, the FIPS will be supplemented by a series
|
||
of implementing guidance documents, many of which will be
|
||
designed to help consumers make cost-effective decisions about
|
||
obtaining and appropriately using security-capable IT products.
|
||
|
||
As a preliminary draft of the new FC-FIPS, this document is not
|
||
intended for general distribution or compliance. The document
|
||
should not be considered a complete or finished product. Your
|
||
comments will be used by the Federal Criteria Working Group to
|
||
help raise the maturity level of this material prior to being
|
||
circulated for further public comment in the FIPS development
|
||
process.
|
||
|
||
ADDITIONAL NOTES TO REVIEWERS
|
||
|
||
|
||
|
||
Reviewers who provide substantive comments on the enclosed draft
|
||
FC by March 31, 1993 will be invited to attend an Invitational
|
||
Workshop on the Federal Criteria. This two-day workshop will be
|
||
held in the last week of April 1993 in the Washington-Baltimore
|
||
area at a location to be announced. All comments received by the
|
||
cut-off date will be correlated into major themes for discussion
|
||
by break-out groups at the workshop. The results will be used as
|
||
input into the process of re-drafting the FC for a second round of
|
||
comment prior to its being formalized as a FIPS.
|
||
|
||
|
||
|
||
Please send your comments (electronic format preferred) to
|
||
Nickilyn Lynch at the U.S. National Institute of Standards and
|
||
Technology (NIST), Computer Systems Laboratory (CSL).
|
||
|
||
Phone: (301) 975-4267
|
||
FAX: (301) 926-2733.
|
||
|
||
|
||
|
||
(Internet) Electronic Mail:
|
||
|
||
lynch@csmes.ncsl.nist.gov
|
||
|
||
Postal or Express Mail
|
||
(Hardcopy or 3.5", 1.44M diskette in MSDOS, Macintosh, or Sun
|
||
format):
|
||
|
||
Federal Criteria Comments
|
||
Attn: Nickilyn Lynch
|
||
NIST/CSL, Bldg 224/A241
|
||
Gaithersburg, MD 20899
|
||
|
||
|
||
|
||
NIST National Institute of Standards and Technology
|
||
|
||
Gaithersburg, MD 20899
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
COMMERCIAL SECURITY REQUIREMENTS
|
||
|
||
FOR
|
||
|
||
MULTI-USER OPERATING SYSTEMS
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
A family of Protection Profiles for the
|
||
|
||
Federal Criteria for Information Technology Security
|
||
|
||
|
||
|
||
|
||
|
||
Issue 1.1
|
||
|
||
January 1993
|
||
|
||
Supersedes Minimum Security Requirements
|
||
|
||
for Multi-User Operating Systems
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Computer Security Division
|
||
|
||
Computer Systems Laboratory
|
||
|
||
National Institute of Standards and Technology
|
||
|
||
Chapter 1.
|
||
Commercial Security Requirements (CSR)
|
||
1.1 Introduction
|
||
1.1.1 CS Description
|
||
1.1.2 Background
|
||
1.1.2.1 Trusted Computer System Evaluation Criteria (TCSEC)
|
||
1.1.2.2 Commercial Security Efforts
|
||
1.1.2.3 System Security Study Committee
|
||
1.1.2.4 Minimum Security Functionality Requirements (MSFR)
|
||
1.1.2.5 Commercial Security (CS) requirements
|
||
1.1.3 Document Organization
|
||
COMMERCIAL SECURITY 1 (CS1)
|
||
CS1 Rationale
|
||
2.2 Introduction
|
||
2.2.1 Protection Philosophy
|
||
2.2.1.1 Access Authorization
|
||
2.2.1.2 Accountability
|
||
2.2.1.2.1 Identification and Authentication
|
||
2.2.1.2.2 Audit
|
||
2.2.1.3 Assurance
|
||
2.2.2 Intended Method of Use
|
||
2.2.3 Environmental Assumptions
|
||
2.2.4 Expected Threats
|
||
CS1 Functionality
|
||
3. Introduction
|
||
3.1 Identification & Authentication
|
||
3.2 Audit
|
||
3.3 Access Control
|
||
3.4 Reference Mediation
|
||
3.5 TCB Protection
|
||
3.6 TCB Self-Checking
|
||
CS1 Assurance
|
||
4. Introduction
|
||
4.1 TCB Property Definition
|
||
4.2 TCB Element Identification
|
||
4.3 TCB Interface Definition
|
||
4.4 Developer Functional Testing
|
||
4.5 User's Guidance
|
||
4.6 Administrative Guidance
|
||
4.7 Evidence of TCB Protection Properties
|
||
4.8 Evidence of Product Development
|
||
4.9 Evidence of Functional Testing
|
||
4.10 Test Analysis
|
||
4.11 Independent Testing
|
||
COMMERCIAL SECURITY 2 (CS2)
|
||
CS2 Rationale
|
||
2.12 Introduction
|
||
2.12.1 Protection Philosophy
|
||
2.12.1.1 Access Authorization
|
||
2.12.1.1.1 System Entry
|
||
2.12.1.1.2 Subject and Object Access Mediation
|
||
2.12.1.1.3 Privileges
|
||
2.12.1.2 Accountability
|
||
2.12.1.2.1 Identification and Authentication
|
||
2.12.1.2.2 Audit
|
||
2.12.1.3 Assurance
|
||
2.12.1.4 Intended Method of Use
|
||
2.12.2 Environmental Assumptions
|
||
2.12.3 Expected Threats
|
||
CS2 Functionality
|
||
3. Introduction
|
||
3.1 Identification & Authentication
|
||
3.2 System Entry
|
||
3.3 Trusted Path
|
||
3.4 Audit
|
||
3.5 Access Control
|
||
3.6 Security Management
|
||
3.7 Reference Mediation
|
||
3.8 Logical TCB Protection
|
||
3.9 TCB Self-Checking
|
||
3.10 TCB Initialization and Recovery
|
||
3.11 Privileged Operation
|
||
3.12 Ease-of-TCB-Use
|
||
CS2 Assurance
|
||
4. Introduction
|
||
4.1 TCB Property Definition
|
||
4.2 TCB Element Identification
|
||
4.3 TCB Interface Definition
|
||
4.4 TCB Structuring Support
|
||
4.5 Developer Functional Testing
|
||
4.6 User's Guidance
|
||
4.7 Administrative Guidance
|
||
4.8 Flaw Remediation Procedures
|
||
4.9 Trusted Generation
|
||
4.10 Evidence of TCB Protection Properties
|
||
4.11 Evidence of Product Development
|
||
4.12 Evidence of Functional Testing
|
||
4.13 Evidence of Product Support
|
||
4.14 Test Analysis
|
||
4.15 Independent Testing
|
||
4.16 Operational Support Review
|
||
COMMERCIAL SECURITY 3 (CS3)
|
||
CS3 Rationale
|
||
2.17 Introduction
|
||
2.17.1 Protection Philosophy
|
||
2.17.1.1 Access Authorization
|
||
2.17.1.1.1 System Entry
|
||
2.17.1.1.2 Subject and Object Access Mediation
|
||
2.17.1.1.3 Privileges
|
||
2.17.1.2 Accountability
|
||
2.17.1.2.1 Identification and Authentication
|
||
2.17.1.2.2 Audit
|
||
2.17.1.3 Availability of Service
|
||
2.17.1.4 Assurance
|
||
2.17.1.5 Intended Method of Use
|
||
2.17.2 Environmental Assumptions
|
||
2.17.3 Expected Threats
|
||
CS3 Functionality
|
||
3. Introduction
|
||
3.1 Identification & Authentication
|
||
3.2 System Entry
|
||
3.3 Trusted Path
|
||
3.4 Audit
|
||
3.5 Access Control
|
||
3.6 Security Management
|
||
3.7 Reference Mediation
|
||
3.8 Resource-Allocation Requirements
|
||
3.9 TCB Protection
|
||
3.10 Physical TCB Protection
|
||
3.11 TCB Self-Checking
|
||
3.12 TCB Initialization and Recovery
|
||
3.13 Privileged Operation
|
||
3.14 Ease-of-TCB-Use
|
||
CS3 Assurance
|
||
4. Introduction
|
||
4.1 TCB Property Definition
|
||
4.2 TCB Element Identification
|
||
4.3 TCB Interface Definition
|
||
4.4 Developer Functional Testing
|
||
4.5 Penetration Analysis
|
||
4.6 User's Guidance
|
||
4.7 Administrative Guidance
|
||
4.8 Flaw Remediation Procedures
|
||
4.9 Trusted Generation
|
||
4.10 Life Cycle Definition
|
||
4.11 Configuration Management
|
||
4.12 Evidence of TCB Protection Properties
|
||
4.13 Evidence of Product Development
|
||
4.14 Evidence of Functional Testing
|
||
4.15 Evidence of Penetration Analysis
|
||
4.16 Evidence of Product Support
|
||
4.17 Test Analysis
|
||
4.18 Independent Testing
|
||
4.19 Development Environment Review
|
||
4.20 Operational Support Review
|
||
4.21 Design Analysis
|
||
GLOSSARY
|
||
CSR References
|
||
|
||
Chapter 1.
|
||
Commercial Security Requirements (CSR)
|
||
|
||
1.1 Introduction
|
||
|
||
Government and commercial institutions rely heavily on
|
||
information technology (IT) products to meet their
|
||
operational, financial, and information requirements. The
|
||
corruption, unauthorized disclosure, or theft of
|
||
electronically-maintained resources can have a disruptive
|
||
effect on an organization's operations as well as serious and
|
||
immediate financial, legal, and public confidence impact.
|
||
|
||
Products conforming to the Commercial Security (CS)
|
||
requirements contained in this document are intended to be
|
||
useful to a broad base of users in the private, civil
|
||
government, and defense sectors. This includes application
|
||
developers, end users, and system administrators. The
|
||
Protection Profiles specified in this document provide
|
||
organizations with three set of security requirements,
|
||
defined as CS1, CS2, and CS3, with CS3 offering the highest
|
||
degree of trust.
|
||
|
||
The Protection Profiles as a whole specify "baseline"
|
||
requirements that meet generally accepted security
|
||
expectations for a class of products colloquially called
|
||
"general purpose, multi-user operating systems." These
|
||
requirements apply to multi-user workstations, minicomputers,
|
||
and mainframes. Most required mechanisms are configurable so
|
||
that customers can satisfy their unique security policies and
|
||
objectives.
|
||
|
||
The intent of the Protection Profiles is to promote the wide
|
||
availability of products possessing security enforcing
|
||
functions that are of such broad applicability and
|
||
effectiveness that they become part of the "normal" mode of
|
||
operation. It is anticipated that vendors will respond to user
|
||
expectations by increasing the availability of operating
|
||
systems that meet these general security requirements. These
|
||
requirements represent the integration of a number of security
|
||
requirement specifications from various sources into a single
|
||
set that is expected to have wide acceptance.
|
||
|
||
1.1.1 CS Description
|
||
|
||
The Protection Profiles address the security features and
|
||
their development. The Protection Profiles were written to
|
||
meet several objectives: to serve as a "metric" for the amount
|
||
of security present in a computer system processing sensitive
|
||
information; to provide guidance to the developers as to what
|
||
security features to build into their planned products; and
|
||
to provide a method for uniformly specifying security
|
||
requirements in acquisition specifications.
|
||
|
||
The CS requirements are divided into three hierarchical
|
||
Protection Profiles. The profiles are CS1, CS2, and CS3, with
|
||
C3 providing the greatest degree of security. Each profile
|
||
represents a level of trust that can be placed in a product
|
||
and specifies a collection of requirements in the form of
|
||
features and assurances. Each profile includes most of the
|
||
features and assurances of the previous profile along with
|
||
additional, more stringent features and assurances. The
|
||
reasoning for requirements leveling for each Protection
|
||
Profile can be found in the rationale in Chapter 2. This
|
||
reasoning is based on the overall effectiveness of each
|
||
Protection Profile in addressing the threats identified in
|
||
that chapter.
|
||
|
||
The Protection Profiles specify computer-based protection
|
||
mechanisms for the design, use, and management of information
|
||
systems. The Protection Profiles include technical measures
|
||
that can be incorporated into multi-user, remote-access,
|
||
resource-sharing, and information sharing computer systems.
|
||
CS-conformant computer products provide system administrators
|
||
with tools to control the sharing of information and resources
|
||
based primarily on the identity of users, or, in the case of
|
||
CS3, the role associated with the user, as well as the time
|
||
of day, terminal location, or type of access requested. The
|
||
technical measures also provide tools to protect against both
|
||
common user actions that may compromise security and against
|
||
deliberate penetration attempts by "hackers." In addition,
|
||
there are requirements to log events that may impact the
|
||
security of either the product or the information that it is
|
||
processing. All functionality requirements are based on
|
||
existing and well understood security practices.
|
||
|
||
1.1.2 Background
|
||
|
||
These Protection Profiles have been developed by the CS
|
||
Working Group of the Federal Criteria Project under NIST
|
||
leadership with a high level of private sector participation.
|
||
They are based on the Trusted Computer System Evaluation
|
||
Criteria (TCSEC) [1] C2 criteria class, with additions from
|
||
current computer industry practice, from commercial security
|
||
requirements specifications, and from the on-going work of the
|
||
Federal Criteria Project. Their development has also been
|
||
guided by international security standards efforts and by the
|
||
recommendations of the System Security Study Committee.
|
||
|
||
The following sub-sections provide descriptions of each of
|
||
these sources, and gives further background on the motivation
|
||
for and development of the Protection Profiles.
|
||
|
||
1.1.2.1 Trusted Computer System Evaluation Criteria (TCSEC)
|
||
|
||
The TCSEC [1], originally published in 1983 and revised in
|
||
1985, was the first publicly available document that expressed
|
||
general security requirements that could apply to a specific
|
||
class of technology (e.g., operating systems). It represents
|
||
the culmination of many years of effort to address Information
|
||
Technolgy (IT) security issues within the Department of
|
||
Defense (DoD) classified world. The TCSEC is made up of IT
|
||
security features and assurances that have been derived and
|
||
engineered to support a very specific DoD security policy -
|
||
the prevention of unauthorized disclosure of classified
|
||
information (i.e., confidentiality).
|
||
|
||
During the past few years, commercial enterprises and
|
||
government organizations processing sensitive information
|
||
have begun to pay increasing attention to IT security needs.
|
||
Although the TCSEC-motivated security features have proven
|
||
valuable in addressing their security problems, often these
|
||
features have been viewed as less than perfect and incomplete
|
||
and only to have been specified because a more appropriate set
|
||
of security functions has not been available.
|
||
|
||
The Protection Profiles are intended to be the first step
|
||
in "filling this gap" by providing a set of security
|
||
requirements appropriate for commercial enterprises and
|
||
government organizations concerned with protecting sensitive
|
||
information.
|
||
|
||
1.1.2.2 Commercial Security Efforts
|
||
|
||
Recognizing that the TCSEC was a valuable starting point,
|
||
but not sufficient for their security needs, two commercial
|
||
companies - Bellcore and American Express Travel Related
|
||
Services (TRS) - independently initiated efforts to develop
|
||
security requirements for their environments. At Bellcore,
|
||
these efforts resulted in a Bellcore Standard Operating
|
||
Environment Security Requirements [3] document and at TRS the
|
||
efforts resulted in the internal C2-Plus company security
|
||
standard.
|
||
|
||
The Bellcore document was developed to meet the security
|
||
needs of Bellcore and its client companies, the Regional Bell
|
||
Operating Companies (RBOCs). The requirements specified in
|
||
the Bellcore document were derived both from commonly
|
||
recurring security requirements for RBOC computer
|
||
applications and from experiences of Bellcore's computer
|
||
security assessment group.
|
||
|
||
In developing the C2-Plus document, TRS found that, while
|
||
the TCSEC met many requirements of the commercial sector, the
|
||
prescribed features at the C2-level (and its F2-level
|
||
counterpart in the ITSEC [2]) fell short in several areas that
|
||
were either introduced at higher TCSEC levels or were not
|
||
addressed at all in the respective standards. Consequently,
|
||
the TRS document was developed as an enhanced, commercialized
|
||
version of the C2-level security requirements of the TCSEC.
|
||
|
||
Using the TRS document as input, the International
|
||
Information Integrity Institute (I-4), a consortium of large
|
||
international corporations, developed the Commercial
|
||
International Security Requirements (CISR) [4]. The rationale
|
||
for the development of the CISR include the following:
|
||
|
||
"Military-oriented information security
|
||
requirements (i. e., TCSEC) are not suitable in
|
||
many respects for the needs of international
|
||
businesses." [4]
|
||
|
||
The final version of the CISR was published in April 1992.
|
||
|
||
1.1.2.3 System Security Study Committee
|
||
|
||
The System Security Study Committee was formed in 1988 in
|
||
response to a request from the Defense Advance Research
|
||
Projects Agency (DARPA) to address the security and
|
||
trustworthiness of U.S. computing and communications systems.
|
||
The Committee, which was composed of 16 individuals from
|
||
industry and academia, including computer and communications
|
||
security researchers, practitioners, and software engineers,
|
||
was charged with developing a national research, engineering,
|
||
and policy agenda to help the United States achieve a more
|
||
trustworthy computing technology base by the end of the
|
||
century. In 1991, the Committee published the Computers at
|
||
Risk [5] report, which presents the Committee's assessment of
|
||
key computer and communications security issues and its
|
||
recommendations for enhancing the security and
|
||
trustworthiness of the U.S. computing and communications
|
||
infrastructure.
|
||
|
||
The development of the Protection Profiles was guided by
|
||
one of the recommendations from this report that:
|
||
|
||
"...a basic set of security-related principles for
|
||
the design, use, and management of systems that are
|
||
of such broad applicability and effectiveness that
|
||
they ought to be a part of any system with
|
||
significant operational requirements" [5] should be
|
||
developed.
|
||
|
||
1.1.2.4 Minimum Security Functionality Requirements (MSFR)
|
||
|
||
The second draft of the Minimum Security Functionality
|
||
Requirements for Multi-User Operating Systems (MSFR) [10] was
|
||
published in January of 1992. The MSFR was developed as part
|
||
of a project to stimulate the development of IT products
|
||
broadly useful to the diverse security needs of the US
|
||
Government (civilian and military) and the private sector.
|
||
|
||
The MSFR specified the minimum level of security that NIST
|
||
and NSA felt should be available in any commercially available
|
||
multi-user operating system. The MSFR represents an extension
|
||
of the TCSEC controlled access protection class, level C2,
|
||
with additions based on current industry practice and security
|
||
requirements specifications developed in the commercial
|
||
environment. Much of the MSFR is derived from the TCSEC, the
|
||
Bellcore Standard Operating Environment Security
|
||
Requirements, and the CISR with overall guidance from the
|
||
Computers at Risk report [5].
|
||
|
||
1.1.2.5 Commercial Security (CS) requirements
|
||
|
||
To help support the Federal Criteria, the CS Working Group
|
||
was tasked with developing a family of Protection Profiles,
|
||
based on an updated version of the MSFR. The three Protection
|
||
Profiles included in this document have been developed in
|
||
compliance with the prescribed approach and format of the
|
||
Federal Criteria [11]. Components of the Federal Criteria were
|
||
selected for each Protection Profile and were enhanced with
|
||
refinements and assignments that were taken from the November
|
||
1992 version of the MSFR. The Protection Profiles are intended
|
||
to satisfy the most common security needs of computer system
|
||
users.
|
||
|
||
1.1.3 Document Organization
|
||
|
||
Chapter 1 (this chapter) provides introductory and
|
||
background information. The rest of this document is divided
|
||
into three Protection Profiles, CS1, CS2, and CS3. The
|
||
development of these Protection Profiles are in accordance
|
||
with the Protection Profile format specified by the Federal
|
||
Criteria. Chapter 2 provides the rationale for the selection
|
||
of the security features and assurance evidence. This
|
||
rationale also includes descriptions of the intended use of
|
||
the product, the environmental assumptions that were made for
|
||
a CS-compliant system, and the expected threats. Chapter 3
|
||
specifies the security functionality that a CS-compliant
|
||
system is required to provide, and Chapter 4 specifies the
|
||
assurance requirements. At the end of the CS requirements,
|
||
there is a Glossary and a list of references.
|
||
|
||
COMMERCIAL SECURITY 1 (CS1)
|
||
|
||
Products that comply with this Protection Profile
|
||
provide access control capabilities to separate
|
||
users and data based on finely grained access con-
|
||
trols. It incorporates credible controls capable of
|
||
enforcing access limitations on an individual
|
||
basis, i.e., ostensibly suitable for allowing users
|
||
to be able to protect sensitive information and to
|
||
keep other users from reading or destroying their
|
||
data. Users are individually accountable for their
|
||
actions through login procedures, auditing of secu-
|
||
rity relevant events, and resource isolation. This
|
||
CS1 Protection Profile is equivalent to a Class C2
|
||
- Controlled Access Protection from the TCSEC [1].
|
||
It consists of TCSEC requirements plus those eval-
|
||
uation interpretations that a product must meet
|
||
before it can be evaluated at the C2 level.
|
||
|
||
|
||
|
||
COMPONENT SUMMARY:
|
||
|
||
CS1 Functional Component Summary
|
||
.------------------------------------------------------.
|
||
| | Component | |
|
||
| Component Name | Code | Level |
|
||
|======================================================|
|
||
| Security Policy Support: |
|
||
|----------------------------------+-----------+-------|
|
||
| Identification & Authentication | I&A | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Audit | AD | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Access Control | AC | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Reference Mediation | RM | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| TCB Protection | P | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Self Checking | SC | 1 |
|
||
`------------------------------------------------------'
|
||
|
||
|
||
|
||
CS1 Assurance Package Summary
|
||
.---------------------------------------.
|
||
| Assurance Components | T1 |
|
||
|================================|======|
|
||
| Development Assurance Components |
|
||
|=======================================|
|
||
| Development Process |
|
||
|--------------------------------+------|
|
||
| TCB Property Definition | PD-1 |
|
||
|--------------------------------+------|
|
||
| TCB Design |
|
||
|--------------------------------+------|
|
||
| TCB Element Identification | ID-1 |
|
||
|--------------------------------+------|
|
||
| TCB Interface Definition | IF-1 |
|
||
|--------------------------------+------|
|
||
| TCB Modular Decomposition | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Structuring Support | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Design Disciplines | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Implementation Support | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Testing and Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | FT-1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support |
|
||
|--------------------------------+------|
|
||
| User Security Guidance | UG-1 |
|
||
|--------------------------------+------|
|
||
| Administrative Guidance | AG-1 |
|
||
|--------------------------------+------|
|
||
| Trusted Generation | ---- |
|
||
|--------------------------------+------|
|
||
| Development Environment |
|
||
|--------------------------------+------|
|
||
| Life Cycle Definition | ---- |
|
||
|--------------------------------+------|
|
||
| Configuration Management | ---- |
|
||
|--------------------------------+------|
|
||
| Trusted Distribution | ---- |
|
||
|--------------------------------+------|
|
||
| Development Evidence |
|
||
|--------------------------------+------|
|
||
| TCB Protection Properties | EPP1 |
|
||
|--------------------------------+------|
|
||
| Product Development | EPD1 |
|
||
|--------------------------------+------|
|
||
| Product Testing & Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | EFT1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Product Support | ---- |
|
||
`---------------------------------------'
|
||
|=======================================|
|
||
| Evaluation Assurance Components |
|
||
|=======================================|
|
||
| Testing |
|
||
|--------------------------------+------|
|
||
| Test Analysis | TA-1 |
|
||
|--------------------------------+------|
|
||
| Independent Testing | IT-1 |
|
||
|--------------------------------+------|
|
||
| Review |
|
||
|--------------------------------+------|
|
||
| Development Environment | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support | ---- |
|
||
|--------------------------------+------|
|
||
| Analysis |
|
||
|--------------------------------+------|
|
||
| Protection Properties | ---- |
|
||
|--------------------------------+------|
|
||
| Design | ---- |
|
||
|--------------------------------+------|
|
||
| Implementation | ---- |
|
||
`---------------------------------------'
|
||
|
||
CS1 Rationale
|
||
|
||
2.2 Introduction
|
||
|
||
As outlined in the Federal Criteria, this rationale de-
|
||
scribes the protection philosophy, how the security features
|
||
are intended to be used, the assumptions about the environment
|
||
in which a compliant product is intended to operate, the
|
||
threats within that environment, and the security features and
|
||
assurances that counter these threats.
|
||
|
||
The level of components that were chosen for the CS1 Pro-
|
||
tection Profile are equivalent to Class C2 of the TCSEC [1].
|
||
They consist of TCSEC requirements plus those evaluation in-
|
||
terpretations that a product must meet before it can be eval-
|
||
uated at the C2 level.
|
||
|
||
2.2.1 Protection Philosophy
|
||
|
||
Any discussion of protection necessarily starts from a pro-
|
||
tection philosophy, i.e., what it really means to call the
|
||
product "secure." In general, products will control access to
|
||
information and other resources through the use of specific
|
||
security features so that only properly authorized individu-
|
||
als or processes acting on their behalf will be granted ac-
|
||
cess. For CS1, three fundamental requirements are derived for
|
||
this statement of protection:
|
||
|
||
o Access authorization
|
||
|
||
o Accountability
|
||
|
||
o Assurance
|
||
|
||
The totality of the functionality that enforces the access
|
||
authorization and accountability protection philosophy is
|
||
comprised of the hardware, software, and firmware of the
|
||
Trusted Computing Base (TCB). CS1 requires the TCB to be pro-
|
||
tected from external interference and tampering so that it is
|
||
effective at countering identified threats. The assurance
|
||
protection philosophy is comprised of the development pro-
|
||
cess, operational support, development evidence, and evalua-
|
||
tion process assurances. Each of these are explained below.
|
||
|
||
2.2.1.1 Access Authorization
|
||
|
||
The access authorization portion of the philosophy of pro-
|
||
tection for this profile addresses subject and object access
|
||
mediation. CS1 provides protected access to resources and ob-
|
||
jects. As defined in the TCSEC and specified in this profile,
|
||
access control permits system users and the processes that
|
||
represent them to allow or disallow to other users access to
|
||
objects under their control:
|
||
|
||
Access control is "a means of restricting access to
|
||
objects based on the identity of subjects and/or
|
||
groups to which they belong. The controls are dis-
|
||
cretionary in the sense that a subject with a cer-
|
||
tain access permission is capable of passing that
|
||
permission (perhaps indirectly) on to any other
|
||
subject." [1]
|
||
|
||
These controls permit the granting and revoking of access
|
||
privileges to be left to the discretion of the individual us-
|
||
ers.
|
||
|
||
2.2.1.2 Accountability
|
||
|
||
The accountability portion of the philosophy of protection
|
||
for this profile addresses user Identification and Authenti-
|
||
cation (I&A) and requirements for security auditing. Each of
|
||
these are explained below.
|
||
|
||
2.2.1.2.1 Identification and Authentication
|
||
|
||
User identification is required to support access control
|
||
and security auditing. This includes the capability to estab-
|
||
lish, maintain, and protect a unique identifier for each au-
|
||
thorized user. User identification is functionally dependent
|
||
on authentication. Authentication is a method of validating a
|
||
person as a legitimate user.
|
||
|
||
2.2.1.2.2 Audit
|
||
|
||
For most secure products, a capability must exist to audit
|
||
the security relevant events. As each user performs security
|
||
relevant tasks, the product must record the user identifier,
|
||
the action performed, and the result in a security log. For
|
||
CS1 compliant products, a capability is specified to allow a
|
||
system administrator to access and evaluate audit informa-
|
||
tion. This capability provides a method of protection in the
|
||
sense that security relevant events that occur within a com-
|
||
puter system can be logged and the responsible user held ac-
|
||
countable for his/her actions. Audit trails are used to detect
|
||
and deter penetration of a computer system and to reveal ac-
|
||
tivity that identifies misuse.
|
||
|
||
CS1 provides for an effective audit mechanism by supporting
|
||
the following basic security characteristics. It provides the
|
||
ability to:
|
||
|
||
o review the use of I&A mechanisms;
|
||
|
||
o discover the introduction of objects into a user's
|
||
address space;
|
||
|
||
o discover the deletion of objects; and
|
||
|
||
o discover actions taken by computer operators and sys-
|
||
tem administrators.
|
||
|
||
2.2.1.3 Assurance
|
||
|
||
Assurance addresses threats and vulnerabilities that can
|
||
affect the product during its development and it addresses
|
||
evaluation assurance. Assurance Package T1 was selected for
|
||
the CS1 level. This minimal assurance level is intended to
|
||
include most commercial computer products that incorporate
|
||
protection components today. Minimal assurance refers to the
|
||
fact that this package includes the lowest levels of develop-
|
||
ment and evaluation assurance components and only those com-
|
||
ponents deemed important to provide the necessary minimal
|
||
understanding of the product.
|
||
|
||
The intent of the product development assurance for this
|
||
package is to establish that the external behavior of the
|
||
product conforms to its user level and administrative docu-
|
||
mentation without any analysis of the internal structure of
|
||
the product's TCB. For this reason, only the claimed TCB pro-
|
||
tection properties, TCB interface description, and TCB ele-
|
||
ment list are required to enable security functional testing.
|
||
|
||
The intent of the operational support assurance for this
|
||
package is to establish a minimal level of user and adminis-
|
||
trative guidance and product information that enables the cor-
|
||
rect product installation, use of product security features,
|
||
and remediation of flaws.
|
||
|
||
The development evidence is commensurate with the assuranc-
|
||
es required. The intent is to require the type of assurance
|
||
evidence that is generated during the normal commercial de-
|
||
velopment process.
|
||
|
||
Evaluation support assurance establishes that the product,
|
||
and the context in which it is developed and supported, is
|
||
commensurate with the development assurance requirements. At
|
||
the T1 level, testing analysis and the requirement for inde-
|
||
pendent testing determines whether the product minimally
|
||
meets the functional protection requirements. Operational
|
||
support evaluation assurance determines whether the product
|
||
documentation correctly describes the security relevant oper-
|
||
ations.
|
||
|
||
2.2.2 Intended Method of Use
|
||
|
||
All individual users (both administrative and non-adminis-
|
||
trative) are assigned a unique user identifier. This user
|
||
identifier supports individual accountability and access con-
|
||
trol. The operating system authenticates the claimed identity
|
||
of the user before allowing the user to perform any further
|
||
actions.
|
||
|
||
A CS1 compliant product imposes controls on authorized us-
|
||
ers and on processes acting on their behalf to prevent users
|
||
from gaining access to information and other resources for
|
||
which they are not authorized. The product provides the capa-
|
||
bility for users to allow or disallow to other users access
|
||
to objects under their control. The objects are files that may
|
||
be read or written to or programs which may be executed. The
|
||
granularity of control is to the level of individual users
|
||
(although groups made up of individual users may be specified)
|
||
and individual objects. CS1 access controls permit the grant-
|
||
ing and revoking of access to be left to the discretion of the
|
||
individual users.
|
||
|
||
Products that comply with CS1 specifications are intended
|
||
to be used within the following operational constraints:
|
||
|
||
o The information system is designed to be administered
|
||
as a unique entity by a single organization.
|
||
|
||
o The information system is designed to manage comput-
|
||
ing, storage, input/output, and to control the sharing
|
||
of resources among multiple users and computer pro-
|
||
cesses.
|
||
|
||
o The administrative and non-administrative users are
|
||
identified as distinct individuals.
|
||
|
||
o The granting and revoking of access control permis-
|
||
sions are left to the discretion of individual users.
|
||
|
||
o The information system provides facilities for real-
|
||
time interaction with users that have access to input/
|
||
output devices.
|
||
|
||
2.2.3 Environmental Assumptions
|
||
|
||
A product designed to meet the CS1 Protection Profile is
|
||
intended to be a general purpose, multi-user operating system
|
||
that runs on either a workstation, minicomputer, or mainframe.
|
||
CS1 compliant products are expected to be used in commercial
|
||
and government environments. For government environments, CS1
|
||
conforms to the TCSEC C2 class of trust [1].The information
|
||
being processed may be unclassified, sensitive-but-unclassi-
|
||
fied, or single-level classified, but not multi-level classi-
|
||
fied information.
|
||
|
||
The following specific environmental conditions have been
|
||
assumed in specifying CS1:
|
||
|
||
o The product hardware base (e.g., CPU, printers, ter-
|
||
minals, etc.), firmware, and software will be pro-
|
||
tected from unauthorized physical access.
|
||
|
||
o There will be one or more personnel assigned to manage
|
||
the product including the security of the information
|
||
it contains.
|
||
|
||
o The operational environment will be managed according
|
||
to the operational environment documentation that is
|
||
required in the assurance chapter of the Protection
|
||
Profile.
|
||
|
||
o The IT product provides a cooperative environment for
|
||
users to accomplish some task or group of tasks.
|
||
|
||
o The processing resources of the IT product, including
|
||
all terminals, are assumed to be located within user
|
||
spaces that have physical access controls established.
|
||
|
||
2.2.4 Expected Threats
|
||
|
||
In general, the choice of which Protection Profile to
|
||
choose depends upon the level of security that is required for
|
||
that particular organizational environment. The lowest level,
|
||
the CS1 level, is intended for those commercial and government
|
||
environments where all the system personnel are trusted and
|
||
all the data on the system is at the same classification lev-
|
||
el. For example, a government agency where all personnel has
|
||
a government clearance, all data is unclassified, and there
|
||
is no outside network connections would be an ideal candidate
|
||
for CS1, i.e., the threats to be countered are such that only
|
||
a minimal level of trust is needed. However, most commercial
|
||
and government environments are more complex and require a
|
||
higher degree of trust. CS2 addresses the security needs for
|
||
the mainstream commercial and government environments. It
|
||
provides a higher level of trust for those organizations that
|
||
need to enforce a security policy where there is no need for
|
||
different classifications of data. CS3 is intended to provide
|
||
the highest level of trust for commercial and government en-
|
||
vironments. It is intended to be used in those environments
|
||
where a great deal of trust is required, such as in law en-
|
||
forcement agencies, nuclear facilities, or commercial air-
|
||
ports. It provides the strongest features, mechanisms, and
|
||
assurances to counter these threats.
|
||
|
||
A product that is designed to meet the CS1 Protection Pro-
|
||
file and operate within its assumed environment will provide
|
||
capabilities to counter threats. It should be noted, however,
|
||
that although a product may faithfully implement all the fea-
|
||
tures and assurances specified in this Protection Profile, the
|
||
complete elimination of any one threat should not be assumed.
|
||
|
||
The following threats have been assumed in specifying this
|
||
CS1 Protection Profile:
|
||
|
||
1. AN UNAUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO THE
|
||
SYSTEM
|
||
|
||
For CS1 compliant products, the threat of an unauthorized
|
||
user gaining access to the system is primarily addressed by
|
||
I&A. I&A features allow the TCB to verify the identity of in-
|
||
dividuals attempting to gain access to the system. This is
|
||
accomplished through the use of passwords.
|
||
|
||
Although not a direct countermeasure, auditing requirements
|
||
are specified at the CS1 level to provide the capability to
|
||
perform an after-the-fact analysis of unauthorized system en-
|
||
try and login attempts. This provides an opportunity for the
|
||
system administrators to take corrective actions, such as
|
||
strengthening existing user authentication methods or requir-
|
||
ing users to change their passwords.
|
||
|
||
2. AN AUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO
|
||
RESOURCES WHEN THE USER IS NOT ALLOWED ACCESS
|
||
|
||
An authorized user can try to gain access to unauthorized
|
||
resources by assuming the user identifier of another user and
|
||
thus gaining their associated access rights. This is addressed
|
||
through the use of passwords.
|
||
|
||
Once an authorized user has gained access to the system,
|
||
the threat still remains for a user to gain access to resourc-
|
||
es when the user is not authorized. At the resource level, CS1
|
||
specifies access control features to mediate (i.e., distrib-
|
||
ute, review, and revoke) user access to a subset of resources.
|
||
|
||
The object reuse feature has been specified to ensure that
|
||
resource contents are cleared before they are reused. This re-
|
||
duces the vulnerability that the resource contents can be read
|
||
before it is overwritten.
|
||
|
||
3. SECURITY RELEVANT ACTIONS MAY NOT BE TRACEABLE TO THE
|
||
USER ASSOCIATED WITH THE EVENT
|
||
|
||
|
||
|
||
CS1 accountability and audit requirements are specified to
|
||
provide the capability to track security relevant actions per-
|
||
formed by users and link such actions, if possible, to the
|
||
responsible identifier. Audit mechanisms are responsible for
|
||
the monitoring and detecting of real or potential security vi-
|
||
olations or events. These audit events can include successful
|
||
or unsuccessful: I&A events, the introduction of objects into
|
||
a user's address space, the deletion of objects, and actions
|
||
taken by system administrators. Each audit record includes the
|
||
date, time, location, type of event, identity of the user and
|
||
object involved, and the success or failure of the event.
|
||
|
||
4. SECURITY BREACHES MAY OCCUR BECAUSE OF TCB PENETRATION
|
||
|
||
TCB protection is a fundamental capability of CS compliant
|
||
products. The security components and mechanisms described in
|
||
this Protection Profile depend upon the integrity of the TCB
|
||
and on the TCB being isolated and non-circumventable. CS1
|
||
specifies requirements for a common and basic set of security
|
||
features to protect the TCB from outside penetration.
|
||
|
||
This threat is also countered through product assurance.
|
||
TCB interface definition establishes the boundary between the
|
||
TCB and its internal users. Security functional testing es-
|
||
tablishes that these TCB definitions and properties satisfy
|
||
the requirements of this Protection Profile.
|
||
|
||
5. USERS MAY BE ABLE TO BYPASS THE SECURITY FEATURES OF
|
||
THE SYSTEM
|
||
|
||
This threat is countered by authentication, access control,
|
||
audit, TCB isolation, TCB non-circumventability, and refer-
|
||
ence mediation requirements. Authentication requirements pro-
|
||
tect authentication data from unauthorized users. Resource
|
||
access control requirements protect access control data.
|
||
|
||
Audit requirements provide for the logging of successful
|
||
and unsuccessful accesses to resources as well as for changes
|
||
made to the system security configuration and system software
|
||
in the event that the system security features have been by-
|
||
passed.
|
||
|
||
The CS1 specification for reference mediation protects the
|
||
integrity of the access control mechanism and the TCB's func-
|
||
tionality. Starting at CS1, requirements exist for TCB medi-
|
||
ation of user references to objects and to security relevant
|
||
services.
|
||
|
||
CS1-compliant products maintain a domain for its own exe-
|
||
cution to protect it from external interference and tampering.
|
||
Such requirements address TCB isolation and non-circumvent-
|
||
ability of TCB isolation functions.
|
||
|
||
This threat is also countered through product assurance.
|
||
The definition of TCB properties assures the consistency of
|
||
the TCB's behavior. The identification of TCB elements pro-
|
||
vides the set of elements that determine the protection char-
|
||
acteristics of a product. The TCB interface definition
|
||
establishes the boundary between the TCB and its internal us-
|
||
ers. Security functional testing establishes that these TCB
|
||
definitions and properties satisfy the requirements of this
|
||
Protection Profile, and provide evidence against users being
|
||
able to bypass the security features of the system.
|
||
CS1 Functionality
|
||
|
||
3. Introduction
|
||
|
||
This section provides detailed functionality requirements
|
||
that must be satisfied by an Commercial Security 1 (CS1)
|
||
compliant product. Note that all plain text are words taken
|
||
directly from the Federal Criteria [11]. Any assignments or
|
||
refinements made to the text in the Federal Criteria for this
|
||
Protection Profile are indicated by the use of bold italics.
|
||
A Protection Profile requirement is an assignment when it is
|
||
directly taken as stated from the Federal Criteria component
|
||
without change or when a binding is made to a Federal Criteria
|
||
threshold definition. A Protection Profile requirement is a
|
||
refinement when a Federal Criteria requirement is taken to a
|
||
lower level of abstraction. The characterization of
|
||
Protection Profile requirements as being either assignments
|
||
or refinements can be found at each component level.
|
||
|
||
This Protection Profile for CS1 utilizes the following
|
||
levels from the Federal Criteria. Note that not all the
|
||
components from the Federal Criteria are reflected in this
|
||
Protection Profile; there are no specific requirements for
|
||
those components that are not listed.
|
||
|
||
CS1 Functional Component Summary
|
||
.------------------------------------------------------.
|
||
| | Component | |
|
||
| Component Name | Code | Level |
|
||
|======================================================|
|
||
| Security Policy Support: |
|
||
|----------------------------------+-----------+-------|
|
||
| Identification & Authentication | I&A | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Audit | AD | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Access Control | AC | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Reference Mediation | RM | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| TCB Protection | P | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Self Checking | SC | 1 |
|
||
`------------------------------------------------------'
|
||
|
||
|
||
3.1 Identification & Authentication
|
||
|
||
All users of the product must be identified and
|
||
authenticated. A login process is established that the user
|
||
interacts with in order to provide the information necessary
|
||
for identification and authentication. The identification and
|
||
authentication process begins the user's interaction with the
|
||
target product. First, the user supplies a unique user
|
||
identifier to the TCB. Then, the user is asked by the TCB to
|
||
authenticate that claimed identity. The user identifier is
|
||
used for both access control and also for accountability.
|
||
Therefore, the proper maintenance and control of the
|
||
identification mechanism and the identification databases are
|
||
vital to product security. Once a user has supplied an
|
||
identifier to the TCB, the TCB must verify that the user
|
||
really corresponds to the claimed identifier. This is done by
|
||
the authentication mechanism as described by the following
|
||
requirements.
|
||
|
||
For the CS1 level, I&A-1 was assigned from the Federal
|
||
Criteria. This I&A component level has not been refined from
|
||
the Federal Criteria.
|
||
|
||
I&A-1 Minimal Identification and Authentication
|
||
|
||
1. The TCB shall require users to identify
|
||
themselves to it before beginning to perform any
|
||
other actions that the TCB is expected to mediate.
|
||
The TCB shall be able to enforce individual
|
||
accountability by providing the capability to
|
||
uniquely identify each individual user. The TCB
|
||
shall also provide the capability of associating
|
||
this identity with all auditable actions taken by
|
||
that individual.
|
||
|
||
2. The TCB shall use a protected mechanism (e.g.,
|
||
passwords) to authenticate the user's identity.
|
||
|
||
3. The TCB shall protect authentication data so
|
||
that it cannot be used by any unauthorized user.
|
||
|
||
3.2 Audit
|
||
|
||
Audit supports accountability by providing a trail of user
|
||
actions. Actions are associated with individual users for
|
||
security relevant events and are stored in an audit trail.
|
||
This audit trail can be examined to determine what happened
|
||
and what user was responsible for a security relevant event.
|
||
The audit trail data must be protected from unauthorized
|
||
access, modification, or destruction. In addition, the audit
|
||
trail data must be available in a useful and timely manner for
|
||
analysis.
|
||
|
||
Audit data is recorded from several sources (such as from
|
||
the TCB or a privileged application) to produce a complete
|
||
picture of a user's security relevant actions. Therefore,
|
||
audit data must be correlated across audit collection systems.
|
||
The mechanisms providing audit data recording must be
|
||
tailorable to each product's needs. Both the audit data itself
|
||
and the mechanisms to determine what audit data is recorded
|
||
are protected by privileges.
|
||
|
||
Once the audit data is recorded, it is analyzed and
|
||
reported. At the CS1 level, reports are generated on request.
|
||
|
||
For the CS1 level, AD-1 was assigned from the Federal
|
||
Criteria. No refinements were made from the Federal Criteria.
|
||
|
||
AD-1 - Minimal Audit
|
||
|
||
1. The TCB shall be able to create, maintain, and
|
||
protect from modification or unauthorized access
|
||
or destruction an audit trail of accesses to the
|
||
objects it protects. The audit data shall be
|
||
protected by the TCB so that read access to it is
|
||
limited to those who are authorized for audit
|
||
data.
|
||
|
||
2. The TCB shall be able to record the following
|
||
types of events:
|
||
|
||
- use of the identification and authentication
|
||
mechanisms;
|
||
|
||
- introduction of objects into a user's address
|
||
space (e.g., file open, program initiation), and
|
||
deletion of objects;
|
||
|
||
- actions taken by computer operators and system
|
||
administrators and/or system security officers.
|
||
|
||
3. For each recorded event, the audit record shall
|
||
identify: date and time of the event, user, type
|
||
of event, and success or failure of the event. For
|
||
identification/authentication events the origin of
|
||
request (e.g., terminal ID) shall be included in
|
||
the audit record. For events that introduce an
|
||
object into a user's address space and for object
|
||
deletion events the audit record shall include the
|
||
name and policy attributes of the object (e.g.,
|
||
object security level).
|
||
|
||
4. The system administrator shall be able to
|
||
selectively audit the actions of one or more users
|
||
based on individual identity and/or object policy
|
||
attributes (e.g., object security level).
|
||
|
||
3.3 Access Control
|
||
|
||
Once the user has been granted access, the question of which
|
||
objects that authenticated user may access still remains. The
|
||
requirements below describe these subject accesses to
|
||
objects.
|
||
|
||
For the CS1 level, AC-1 was assigned from the Federal
|
||
Criteria. No refinements were made from the Federal Criteria.
|
||
|
||
AC-1 Minimal Access Control
|
||
|
||
1. Definition of Access Control Attributes
|
||
|
||
The TCB shall define and protect access control
|
||
attributes for subjects and objects. Subject
|
||
attributes shall include named individuals or
|
||
defined groups or both. Object attributes shall
|
||
include defined access rights (e.g., read, write,
|
||
execute) that can be assigned to subject
|
||
attributes.
|
||
|
||
2. Administration of Access Control Attributes.
|
||
|
||
The TCB shall define and enforce rules for
|
||
assignment and modification of access control
|
||
attributes for subjects and objects. The effect of
|
||
these rules shall be that access permission to an
|
||
object by users not already possessing access
|
||
permission is assigned only by authorized users.
|
||
These rules shall allow authorized users to
|
||
specify and control sharing of objects by named
|
||
individuals or defined groups of individuals, or
|
||
by both, and shall provide controls to limit
|
||
propagation of access rights. These controls shall
|
||
be capable of including or excluding access to the
|
||
granularity of a single user.
|
||
|
||
If different rules of assignment and modification
|
||
of access control attributes apply to different
|
||
subjects and/or objects, the totality of these
|
||
rules shall be shown to support the defined
|
||
policy.
|
||
|
||
3. Authorization of Subject References to Objects
|
||
|
||
The TCB shall define and enforce authorization
|
||
rules for the mediation of subject references to
|
||
objects. These rules shall be based on the access
|
||
control attributes of subjects and objects. These
|
||
rules shall, either by explicit user action or by
|
||
default, provide that objects are protected from
|
||
unauthorized access.
|
||
|
||
The scope of the authorization rules shall include
|
||
a defined subset of the product's subjects and
|
||
objects and associated access control attributes.
|
||
The coverage of authorization rules shall specify
|
||
the types of objects and subjects to which these
|
||
rules apply. If different rules apply to different
|
||
subjects and objects, the totality of these rules
|
||
shall be shown to support the defined policy.
|
||
|
||
4. Subject and Object Creation and Destruction
|
||
|
||
The TCB shall control the creation and destruction
|
||
of subjects and objects. These controls shall
|
||
include object reuse. That is, all authorizations
|
||
to the information contained within a storage
|
||
object shall be revoked prior to initial
|
||
assignment, allocation or reallocation to a
|
||
subject from the TCB's pool of unused storage
|
||
objects; information, including encrypted
|
||
representations of information, produced by a
|
||
prior subjects' actions shall be unavailable to
|
||
any subject that obtains access to an object that
|
||
has been released back to the system.
|
||
|
||
3.4 Reference Mediation
|
||
|
||
Reference mediation, that is, the control by the TCB of
|
||
subject accesses to objects, must be ensured so that the users
|
||
can have faith in the TCB's access control decisions. Also,
|
||
users must be ensured that all access to security services are
|
||
mediated by the TCB.
|
||
|
||
For the CS1 level, RM-1 was assigned from the Federal
|
||
Criteria. No further refinements were made from the Federal
|
||
Criteria.
|
||
|
||
RM-1 Mediation of References to a Defined Subject/Object
|
||
Subset
|
||
|
||
1. The TCB shall mediate all references to
|
||
subjects, objects, resources, and services (e.g.,
|
||
TCB functions) described in the TCB
|
||
specifications. The mediation shall ensure that
|
||
all references are directed to the appropriate
|
||
security-policy functions.
|
||
|
||
2. Reference mediation shall include references to
|
||
the defined subset of subjects, objects, and
|
||
resources protected under the TCB security policy,
|
||
and to their policy attributes (e.g., access
|
||
rights, security and/or integrity levels, role
|
||
identifiers).
|
||
|
||
3. References issued by privileged subjects shall
|
||
be mediated in accordance with the policy
|
||
attributes defined for those subjects.
|
||
|
||
3.5 TCB Protection
|
||
|
||
TCB protection is a fundamental requirement for a secure
|
||
product. All of the security components and mechanisms that
|
||
have been described depend upon the integrity of the TCB and
|
||
on the TCB being isolated and non-circumventable. The TCB must
|
||
be resistant to outside penetration.
|
||
|
||
For the CS1 level, P-1 was assigned from the Federal
|
||
Criteria. No refinements were made from the Federal Criteria.
|
||
|
||
P-1 Basic TCB Isolation
|
||
|
||
The TCB shall maintain a domain for its own
|
||
execution that protects it from external
|
||
interference and tampering (e.g., by reading or
|
||
modification of its code and data structures). The
|
||
protection of the TCB shall provide TCB isolation
|
||
and noncircumventability of TCB isolation
|
||
functions as follows:
|
||
|
||
1. TCB Isolation requires that (1) the address
|
||
spaces of the TCB and those of unprivileged
|
||
subjects are separated such that users, or
|
||
unprivileged subjects operating on their behalf,
|
||
cannot read or modify TCB data structures or code,
|
||
(2) the transfers between TCB and non-TCB domains
|
||
are controlled such that arbitrary entry to or
|
||
return from the TCB are not possible; and (3) the
|
||
user or application parameters passed to the TCB
|
||
by addresses are validated with respect to the TCB
|
||
address space, and those passed by value are
|
||
validated with respect to the values expected by
|
||
the TCB.
|
||
|
||
2. Noncircumventability of TCB isolation
|
||
functions requires that the permission to objects
|
||
(and/or to non-TCB data) passed as parameters to
|
||
the TCB are validated with respect to the
|
||
permissions required by the TCB, and references to
|
||
TCB objects implementing TCB isolation functions
|
||
are mediated by the TCB.
|
||
|
||
3.6 TCB Self-Checking
|
||
|
||
Validating the correct operation of the TCB firmware and
|
||
hardware is an important aspect of guaranteeing the integrity
|
||
of the product. Hardware and software features that validate
|
||
the correct operation of the product will be delivered with
|
||
the product to ensure that the hardware and firmware are
|
||
installed properly and are in working order.
|
||
|
||
For the CS1 level, SC-1 was assigned from the Federal
|
||
Criteria. No refinements were made from the Federal Criteria.
|
||
|
||
SC-1 Minimal Self Checking
|
||
|
||
Hardware and/or software features shall be
|
||
provided that can be used to periodically validate
|
||
the correct operation of the on-site hardware and
|
||
firmware elements of the TCB.
|
||
|
||
CS1 Assurance
|
||
|
||
4. Introduction
|
||
|
||
This chapter provides the CS1 development and evaluation
|
||
assurance requirements package using the development and
|
||
evaluation assurance components defined in Volume I and the
|
||
package contained in Volume I, Appendix G of the Federal
|
||
Criteria. The structure of each assurance package follows that
|
||
of the assurance components (i.e., each package consists of
|
||
development process, operational support, development
|
||
environment, development evidence, and evaluation process
|
||
components).
|
||
|
||
Assurance Package T1
|
||
|
||
This minimal assurance level is intended to include most
|
||
commercial computer products that incorporate protection
|
||
components. Minimal assurance refers to the fact that this
|
||
package includes the lowest levels of development and
|
||
evaluation assurance components and only those components
|
||
deemed important to provide the necessary minimal
|
||
understanding of the product.
|
||
|
||
The intent of product development assurance for this
|
||
package is to establish that the external behavior of the
|
||
product conforms to its user level and administrative
|
||
documentation without any analysis of the internal structure
|
||
of the product's TCB. For this reason, only the claimed TCB
|
||
protection properties, TCB interface description, and TCB
|
||
element list are required to enable functional testing.
|
||
|
||
The intent of the operational support assurance for this
|
||
package is to establish a minimal level of user and
|
||
administrative guidance and product information that enables
|
||
the correct product installation, use of product security
|
||
features, and remediation of flaws.
|
||
|
||
The development evidence required for this package is
|
||
commensurate with the assurances required. The intent of this
|
||
package is to require the type of assurance evidence that is
|
||
generated during the normal commercial development process.
|
||
|
||
The intent of evaluation support assurance is to establish
|
||
that the product, and the context in which it is developed and
|
||
supported, is commensurate with the development assurance
|
||
requirements. At the T1 level, testing analysis and the
|
||
requirement for independent testing determines whether the
|
||
product minimally meets the functional protection
|
||
requirements. Operational support evaluation assurance
|
||
determines whether the product documentation correctly
|
||
describes the security relevant operations.
|
||
|
||
The following table summarizes the generic assurance
|
||
components that comprise the minimal development assurance
|
||
package (T1):
|
||
|
||
.
|
||
|
||
CS1 Assurance Package Summary
|
||
.---------------------------------------.
|
||
| Assurance Components | T1 |
|
||
|================================|======|
|
||
| Development Assurance Components |
|
||
|=======================================|
|
||
| Development Process |
|
||
|--------------------------------+------|
|
||
| TCB Property Definition | PD-1 |
|
||
|--------------------------------+------|
|
||
| TCB Design |
|
||
|--------------------------------+------|
|
||
| TCB Element Identification | ID-1 |
|
||
|--------------------------------+------|
|
||
| TCB Interface Definition | IF-1 |
|
||
|--------------------------------+------|
|
||
| TCB Modular Decomposition | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Structuring Support | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Design Disciplines | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Implementation Support | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Testing and Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | FT-1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support |
|
||
|--------------------------------+------|
|
||
| User Security Guidance | UG-1 |
|
||
|--------------------------------+------|
|
||
| Administrative Guidance | AG-1 |
|
||
|--------------------------------+------|
|
||
| Trusted Generation | ---- |
|
||
|--------------------------------+------|
|
||
| Development Environment |
|
||
|--------------------------------+------|
|
||
| Life Cycle Definition | ---- |
|
||
|--------------------------------+------|
|
||
| Configuration Management | ---- |
|
||
|--------------------------------+------|
|
||
| Trusted Distribution | ---- |
|
||
|--------------------------------+------|
|
||
| Development Evidence |
|
||
|--------------------------------+------|
|
||
| TCB Protection Properties | EPP1 |
|
||
|--------------------------------+------|
|
||
| Product Development | EPD1 |
|
||
|--------------------------------+------|
|
||
| Product Testing & Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | EFT1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Product Support | ---- |
|
||
`---------------------------------------'
|
||
|=======================================|
|
||
| Evaluation Assurance Components |
|
||
|=======================================|
|
||
| Testing |
|
||
|--------------------------------+------|
|
||
| Test Analysis | TA-1 |
|
||
|--------------------------------+------|
|
||
| Independent Testing | IT-1 |
|
||
|--------------------------------+------|
|
||
| Review |
|
||
|--------------------------------+------|
|
||
| Development Environment | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support | ---- |
|
||
|--------------------------------+------|
|
||
| Analysis |
|
||
|--------------------------------+------|
|
||
| Protection Properties | ---- |
|
||
|--------------------------------+------|
|
||
| Design | ---- |
|
||
|--------------------------------+------|
|
||
| Implementation | ---- |
|
||
`---------------------------------------'
|
||
|
||
|
||
|
||
4.1 TCB Property Definition
|
||
|
||
The definition of TCB properties assures the consistency of
|
||
the TCB's behavior. It determines a baseline set of properties
|
||
that can be used by system developers and evaluators to assure
|
||
that the TCB satisfies the defined functional requirements.
|
||
|
||
For CS1, PD-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
PD-1 Property Description
|
||
|
||
The developer shall interpret the functional
|
||
requirements of the protection profile within the
|
||
product TCB. For each functional requirement, the
|
||
developer shall: (1) identify the TCB elements and
|
||
their TCB interfaces (if any) that implement that
|
||
requirement; (2) describe the operation of these
|
||
TCB elements, and (3) explain why the operation of
|
||
these elements is consistent with the functional
|
||
requirement.
|
||
|
||
4.2 TCB Element Identification
|
||
|
||
The identification of TCB elements (hardware, firmware,
|
||
software, code, and data structures) provides the set of
|
||
elements that determine the protection characteristics of a
|
||
product. All assurance methods rely on the correct
|
||
identification of TCB elements either directly or indirectly.
|
||
|
||
For CS1, ID-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
ID-1: TCB Element Identification
|
||
|
||
The developer shall identify the TCB elements
|
||
(i.e., software, hardware/firmware code and data
|
||
structures). Each element must be unambiguously
|
||
identified by its name, type, release, and version
|
||
number (if any).
|
||
|
||
4.3 TCB Interface Definition
|
||
|
||
The TCB interface establishes the boundary between the TCB
|
||
and its external users and application programs. It consists
|
||
of several components, such as command interfaces (i.e., user
|
||
oriented devices such as the keyboard and mouse), application
|
||
program interfaces (system calls), and machine/processor
|
||
interfaces (processor instructions).
|
||
|
||
For CS1, IF-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
IF-1: Interface Description
|
||
|
||
The developer shall describe all external (e.g.,
|
||
command, software, and I/O) administrative (i.e.,
|
||
privileged) and non-administrative interfaces to
|
||
the TCB. The description shall include those
|
||
components of the TCB that are implemented as
|
||
hardware and/or firmware if their properties are
|
||
visible at the TCB interface.
|
||
|
||
The developer shall identify all call conventions
|
||
(e.g., parameter order, call sequence
|
||
requirements) and exceptions signaled at the TCB
|
||
interface.
|
||
|
||
4.4 Developer Functional Testing
|
||
|
||
Functional testing establishes that the TCB interface
|
||
exhibits the properties necessary to satisfy the requirements
|
||
of the protection profile. It provides assurance that the TCB
|
||
satisfies at least its functional protection requirements.
|
||
|
||
For CS1, FT-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
FT-1: Conformance Testing
|
||
|
||
The developer shall test the TCB interface to show
|
||
that all claimed protection functions work as
|
||
stated in the TCB interface description.
|
||
|
||
The developer shall correct all flaws discovered
|
||
by testing and shall retest the TCB until the
|
||
protection functions are shown to work as claimed.
|
||
|
||
4.5 User's Guidance
|
||
|
||
User's guidance is an operational support assurance
|
||
component that ensures that usage constraints assumed by the
|
||
protection profile are understood by the users of the product.
|
||
It is the primary means available for providing product users
|
||
with the necessary background and specific information on how
|
||
to correctly use the product's protection functionality.
|
||
|
||
For CS1, UG-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
UG-1: Users' Guide
|
||
|
||
The developer shall provide a User Guide which
|
||
describes all protection services provided and
|
||
enforced by the TCB. The User Guide shall describe
|
||
the interaction between these services and provide
|
||
examples of their use. The User Guide may be in the
|
||
form of a summary, chapter or manual. The User
|
||
Guide shall specifically describe user
|
||
responsibilities. These shall encompass any user
|
||
responsibilities identified in the protection
|
||
profile.
|
||
|
||
4.6 Administrative Guidance
|
||
|
||
Administrative guidance is an operation support assurance
|
||
component that ensures that the environmental constraints
|
||
assumed by the protection profile are understood by
|
||
administrative users and operators of the IT product. It is
|
||
the primary means available to the developer for providing to
|
||
administrators and operators detailed, accurate information
|
||
on how to configure and install the product, operate the IT
|
||
product is a secure manner, make effective use of the
|
||
product's privileges and protection mechanisms to control
|
||
access to administrative functions and data bases, and to
|
||
avoid pitfalls and improper use of the administrative
|
||
functions that would compromise the TCB and user security.
|
||
|
||
For CS1, AG-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
AG-1: Basic Administrative Guidance
|
||
|
||
The developer shall provide a Trusted Facility
|
||
Manual intended for the product administrators
|
||
that describes how to use the TCB security
|
||
services (e.g., Access Control, System Entry, or
|
||
Audit) to enforce a system security policy. The
|
||
Trusted Facility Manual shall include the
|
||
procedures for securely configuring, starting,
|
||
maintaining, and halting the TCB. The Trusted
|
||
Facility Manual shall explain how to analyze audit
|
||
data generated by the TCB to identify and document
|
||
user and administrator violations of this policy.
|
||
The Trusted Facility Manual shall explain the
|
||
privileges and functions of administrators. The
|
||
Trusted Facility Manual shall describe the
|
||
administrative interaction between security
|
||
services.
|
||
|
||
The Trusted Facility Manual shall be distinct from
|
||
User Guidance, and encompass any administrative
|
||
responsibilities identified in security
|
||
management.
|
||
|
||
4.7 Evidence of TCB Protection Properties
|
||
|
||
The documentation of the TCB protection properties includes
|
||
the definition of the functional component requirements,
|
||
their modeling (if any), and their interpretation within a
|
||
product's TCB. For each requirement of a protection profile,
|
||
a description, definition (an informal, descriptive
|
||
specification), or a formal specification of the TCB
|
||
components and their operation corresponding to the
|
||
requirement must be provided.
|
||
|
||
For CS1, EPP-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EPP-1 Evidence of TCB Correspondence to the Functional
|
||
Requirements
|
||
|
||
The developer shall provide documentation which
|
||
describes the correspondence between the
|
||
functional component requirements and the TCB
|
||
elements and interfaces. The TCB properties, which
|
||
are defined by this correspondence, shall be
|
||
explained in this documentation.
|
||
|
||
4.8 Evidence of Product Development
|
||
|
||
Product development evidence consists of the TCB design
|
||
evidence including the documentation of the TCB interface, TCB
|
||
elements, TCB structure, TCB structuring support, and TCB
|
||
design disciplines. The TCB implementation evidence includes
|
||
TCB source code, and the processor hardware and firmware
|
||
specifications.
|
||
|
||
For CS1, EPD-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EPD-1: Description Of The TCB External Interface
|
||
|
||
The developer shall provide an accurate
|
||
description of the functions, effects, exceptions
|
||
and error messages visible at the TCB interface.
|
||
|
||
The developer shall provide a list of the TCB
|
||
elements (hardware, software, and firmware).
|
||
|
||
4.9 Evidence of Functional Testing
|
||
|
||
Functional testing evidence includes the testing itself,
|
||
the test plans, and test documentation results. Test plans
|
||
consist of: the description definition or specification of the
|
||
test conditions; the test data, which consists of the test
|
||
environment set-up; the test parameters and expected
|
||
outcomes; and a description of the test coverage.
|
||
|
||
For CS1, EFT-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EFT-1: Evidence of Conformance Testing
|
||
|
||
The developer shall provide evidence of the
|
||
functional testing that includes the test plan,
|
||
the test procedures, and the results of the
|
||
functional testing.
|
||
|
||
|
||
|
||
4.10 Test Analysis
|
||
|
||
Test analysis determines whether the product meets the
|
||
functional protection requirements defined in the protection
|
||
profile. Functional testing is based on operational product,
|
||
the TCB's functional properties, the product's operational
|
||
support guidance, and other producer's documentation as
|
||
defined by the development evidence requirements. Functional
|
||
test analysis is based on the achieved test results as
|
||
compared to the expected results derived from the development
|
||
evidence.
|
||
|
||
For CS1, TA-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
TA-1: Elementary Test Analysis
|
||
|
||
The evaluator shall assess whether the producer
|
||
has performed the activities defined in the
|
||
development assurance requirements of the
|
||
protection profile for functional testing and
|
||
whether the producer has documented these
|
||
activities as defined in the development evidence
|
||
requirements of the protection profile. The
|
||
evaluator shall analyze the results of the
|
||
producer's testing activities for completeness of
|
||
coverage and consistency of results. The evaluator
|
||
shall determine whether the product's protection
|
||
properties, as described in the product
|
||
documentation have been tested. The evaluator
|
||
shall assess testing results to determine whether
|
||
the product's TCB works as claimed.
|
||
|
||
4.11 Independent Testing
|
||
|
||
Independent testing determines whether the product's TCB
|
||
meets the functional protection requirements as defined in the
|
||
functionality chapter of this Protection Profile. Testing is
|
||
based on the operational product, the TCB's functional
|
||
properties, the product's operational support guidance, and
|
||
other producer's documentation as defined by the Development
|
||
Evidence requirements.
|
||
|
||
For CS1, IT-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
IT-1: Elementary Independent Testing
|
||
|
||
A tester, independent of the producer or
|
||
evaluator, shall perform functional and elementary
|
||
penetration testing. This testing shall be based
|
||
on the product's user and administrative
|
||
documentation, and on relevant known penetration
|
||
flaws. Satisfactory completion consists of
|
||
demonstrating that all user-visible security
|
||
enforcing functions and security-relevant
|
||
functions work as described in the product's user
|
||
and administrative documentation and that no
|
||
discrepancies exist between the documentation and
|
||
the product. Test results of the producer shall be
|
||
confirmed by the results of independent testing.
|
||
The evaluator may selectively reconfirm any test
|
||
result.
|
||
|
||
If the independent testing is performed at beta-
|
||
test sites, the producer shall supply the beta-
|
||
test plan and the test results. The evaluator
|
||
shall review the scope and depth of beta testing
|
||
with respect to the required protection
|
||
functionality, and shall verify independence of
|
||
both the test sites and the producer's and beta-
|
||
test user's test results. The evaluator shall
|
||
confirm that the test environment of the beta-test
|
||
site(s) adequately represents the environment
|
||
specified in the protection profile.
|
||
|
||
|
||
COMMERCIAL SECURITY 2 (CS2)
|
||
|
||
CS2 compliant products provide protection beyond
|
||
those of the CS1 Protection Profile by providing for
|
||
the separation of administrative functions and
|
||
access controls based on groups and access control
|
||
lists (ACLs). Identification and authentication
|
||
mechanisms include support for a rigorous password
|
||
management program (if desired). System entry and
|
||
availability and recovery requirements are also
|
||
specified. Secure administrative tools are
|
||
included, audit mechanisms are expanded, and data
|
||
reduction tools are listed.
|
||
|
||
CS2 Functional Component Summary
|
||
.------------------------------------------------------.
|
||
| | Component | |
|
||
| Component Name | Code | Level |
|
||
|======================================================|
|
||
| Security Policy Support: |
|
||
|----------------------------------+-----------+-------|
|
||
| Identification & Authentication | I&A | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| System Entry | SE | 2 |
|
||
|----------------------------------+-----------+-------|
|
||
| Trusted Path | TP | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Audit | AD | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| Access Control | AC | 2+ |
|
||
|----------------------------------+-----------+-------|
|
||
| Security Management | SM | 2 |
|
||
|----------------------------------+-----------+-------|
|
||
| Reference Mediation | RM | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| TCB Protection | P | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Self Checking | SC | 2 |
|
||
|----------------------------------+-----------+-------|
|
||
| TCB Initialization & Recovery | TR | 2 |
|
||
|----------------------------------+-----------+-------|
|
||
| Privileged Operations | PO | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Ease-of-Use | EU | 2 |
|
||
`------------------------------------------------------'
|
||
|
||
CS2 Assurance Package Summary
|
||
.---------------------------------------.
|
||
| Assurance Components | T2+ |
|
||
|================================|======|
|
||
| Development Assurance Components |
|
||
|=======================================|
|
||
| Development Process |
|
||
|--------------------------------+------|
|
||
| TCB Property Definition | PD-2 |
|
||
|--------------------------------+------|
|
||
| TCB Design |
|
||
|--------------------------------+------|
|
||
| TCB Element Identification | ID-2 |
|
||
|--------------------------------+------|
|
||
| TCB Interface Definition | IF-1 |
|
||
|--------------------------------+------|
|
||
| TCB Modular Decomposition | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Structuring Support | SP-1 |
|
||
|--------------------------------+------|
|
||
| TCB Design Disciplines | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Implementation Support | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Testing and Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | FT-1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support |
|
||
|--------------------------------+------|
|
||
| User Security Guidance | UG-1 |
|
||
|--------------------------------+------|
|
||
| Administrative Guidance | AG-1 |
|
||
|--------------------------------+------|
|
||
| Flaw Remediation | FR-1 |
|
||
|--------------------------------+------|
|
||
| Trusted Generation | TG-2 |
|
||
|--------------------------------+------|
|
||
| Development Environment |
|
||
|--------------------------------+------|
|
||
| Life Cycle Definition | ---- |
|
||
|--------------------------------+------|
|
||
| Configuration Management | ---- |
|
||
|--------------------------------+------|
|
||
| Trusted Distribution | ---- |
|
||
|--------------------------------+------|
|
||
| Development Evidence |
|
||
|--------------------------------+------|
|
||
| TCB Protection Properties | EPP2 |
|
||
|--------------------------------+------|
|
||
| Product Development | EPD1 |
|
||
|--------------------------------+------|
|
||
| Product Testing & Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | EFT1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Product Support | EPS1 |
|
||
`---------------------------------------'
|
||
|=======================================|
|
||
| Evaluation Assurance Components |
|
||
|=======================================|
|
||
| Testing |
|
||
|--------------------------------+------|
|
||
| Test Analysis | TA-1 |
|
||
|--------------------------------+------|
|
||
| Independent Testing | IT-1 |
|
||
|--------------------------------+------|
|
||
| Review |
|
||
|--------------------------------+------|
|
||
| Development Environment | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support | OSR1 |
|
||
|--------------------------------+------|
|
||
| Analysis |
|
||
|--------------------------------+------|
|
||
| Protection Properties | ---- |
|
||
|--------------------------------+------|
|
||
| Design | ---- |
|
||
|--------------------------------+------|
|
||
| Implementation | ---- |
|
||
`---------------------------------------'
|
||
|
||
CS2 Rationale
|
||
|
||
2.12 Introduction
|
||
|
||
As outlined in the Federal Criteria, this rationale
|
||
describes the protection philosophy, how the security
|
||
features are intended to be used, the assumptions about the
|
||
environment in which a compliant product is intended to
|
||
operate, the threats within that environment, and the security
|
||
features and assurances that counter these threats. At the CS2
|
||
level, the features used to counter threats and the strength
|
||
of the assurance evidence is enhanced over CS1 and is
|
||
indicated in the text through bold italics.
|
||
|
||
2.12.1 Protection Philosophy
|
||
|
||
Any discussion of protection necessarily starts from a
|
||
protection philosophy, i.e., what it really means to call the
|
||
product "secure." In general, products will control access to
|
||
information and other resources through the use of specific
|
||
security features so that only properly authorized
|
||
individuals or processes acting on their behalf will be
|
||
granted access. For CS1, three fundamental requirements are
|
||
derived for this statement of protection:
|
||
|
||
o Access authorization
|
||
|
||
o Accountability
|
||
|
||
o Assurance
|
||
|
||
The totality of the functionality that enforces the access
|
||
authorization and accountability protection philosophy is
|
||
comprised of the hardware, software, and firmware of the
|
||
Trusted Computing Base (TCB). CS2 requires the TCB to be self-
|
||
protecting and resistant to bypass so that it is effective at
|
||
countering identified threats. CS2 also requires effective
|
||
management of security attributes and configuration
|
||
parameters. The assurance protection philosophy is comprised
|
||
of the development process, operational support, development
|
||
evidence, and evaluation process assurances. Each of these are
|
||
explained below.
|
||
|
||
2.12.1.1 Access Authorization
|
||
|
||
The access authorization portion of the philosophy of
|
||
protection for this profile addresses subject and object
|
||
access mediation. For CS2 compliant products, access
|
||
authorization has been further refined to include system
|
||
entry, subject and object mediation based on Access Control
|
||
Lists (ACLs), and privileged operations.
|
||
|
||
2.12.1.1.1 System Entry
|
||
|
||
CS2 provides the capability for a system administrator to
|
||
establish, maintain, and protect information from
|
||
unauthorized access, and defines the identities of and
|
||
conditions under which users may gain entry into the system.
|
||
These system entry controls are based on user identification,
|
||
time, location, and method of entry.
|
||
|
||
2.12.1.1.2 Subject and Object Access Mediation
|
||
|
||
CS2 provides protected access to resources and objects. As
|
||
defined in the TCSEC and specified in this profile, access
|
||
control permits system users and the processes that represent
|
||
them to allow or disallow to other users access to objects
|
||
under their control:
|
||
|
||
Access control is "a means of restricting access to
|
||
objects based on the identity of subjects and/or
|
||
groups to which they belong. The controls are
|
||
discretionary in the sense that a subject with a
|
||
certain access permission is capable of passing
|
||
that permission (perhaps indirectly) on to any
|
||
other subject." [1]
|
||
|
||
These controls permit the granting and revoking of access
|
||
privileges to be left to the discretion of the individual
|
||
users. The creator of the object becomes, by default, the
|
||
owner of the object. The owner can grant access as well as
|
||
specify the mode of access (read, write, execute) to the
|
||
object.
|
||
|
||
ACLs are defined that can effectively specify, for each
|
||
named object, a list of user identifiers with their respective
|
||
modes of access (read, write, and execute) to that object.
|
||
ACLs allow for control of:
|
||
|
||
o objects
|
||
|
||
o access modes that protect these objects
|
||
|
||
o specific access permissions to be passed onto
|
||
identified authorized subjects.
|
||
|
||
CS2 also allows for the specification and maintenance of
|
||
groups. Groups are a convenient means of logically associating
|
||
user identifiers. Groups can be referenced when specifying
|
||
ACLs.
|
||
|
||
2.12.1.1.3 Privileges
|
||
|
||
CS2 supports and promotes the separation and use of
|
||
privileges. A privilege enables a subject to perform a
|
||
security relevant operation that, by default, is denied.
|
||
Privileges cover all security aspects of a product. CS2
|
||
compliant products have tightly controlled privilege
|
||
definitions as well as control over subjects that hold
|
||
privileges.
|
||
|
||
2.12.1.2 Accountability
|
||
|
||
The accountability portion of the philosophy of protection
|
||
for this profile addresses user Identification and
|
||
Authentication (I&A), requirements for security auditing, and
|
||
a Trusted Path between a user and the operating system. Each
|
||
of these are explained below.
|
||
|
||
2.12.1.2.1 Identification and Authentication
|
||
|
||
User identification is required to support access control
|
||
and security auditing. This includes the capability to
|
||
establish, maintain, and protect a unique identifier for each
|
||
authorized user. User identification is functionally
|
||
dependent on authentication. Authentication is a method of
|
||
validating a person as a legitimate user.
|
||
|
||
User authentication in most computer systems has been
|
||
provided primarily through the use of passwords. CS2 supports
|
||
a variety of password features that give the product a great
|
||
amount of flexibility in the generation of passwords, in
|
||
password security, password features, and password
|
||
administration. For most products, a great deal of confidence
|
||
is placed on maintaining the privacy of passwords belonging
|
||
to individuals. I&A prevents unauthorized individuals from
|
||
logging into the product, therefore, password management is
|
||
essential to secure product operations. The risk of losing a
|
||
password is addressed within CS2 through promoting the use of
|
||
stringent password management practices.
|
||
|
||
In addition, CS2 allows for stronger authentication
|
||
approaches. CS2 specifies that a unique identifier be
|
||
associated with each trusted subject such as print spoolers
|
||
and database management system services. It also requires the
|
||
TCB to maintain, protect, and display status information for
|
||
all active users and all enabled or disabled user identities
|
||
or accounts.
|
||
|
||
2.12.1.2.2 Audit
|
||
|
||
For most secure products, a capability must exist to audit
|
||
the security relevant events. As each user performs security
|
||
relevant tasks, the product must record the user identifier,
|
||
the action performed, and the result in a security log. For
|
||
CS2 compliant products, a capability is specified to allow an
|
||
system administrator to access and evaluate audit
|
||
information. This capability provides a method of protection
|
||
in the sense that security relevant events that occur within
|
||
a computer system can be logged and the responsible user held
|
||
accountable for his/her actions. Audit trails are used to
|
||
detect and deter penetration of a computer system and to
|
||
reveal activity that identifies misuse.
|
||
|
||
CS2 provides for an effective audit mechanism by supporting
|
||
the following basic security characteristics. It provides the
|
||
ability to:
|
||
|
||
o review the use of I&A mechanisms;
|
||
|
||
o discover the introduction of objects into a user's
|
||
address space;
|
||
|
||
o discover the deletion of objects;
|
||
|
||
o discover actions taken by computer operators and
|
||
system administrators;
|
||
|
||
o audit attempts to violate resource allocation limits;
|
||
|
||
o protect the audit data so that access to it is limited
|
||
to system administrators that are authorized to
|
||
examine audit information;
|
||
|
||
o discover the use of privileges, such as changing the
|
||
ownership of an object;
|
||
|
||
o have the audit mechanism act as a deterrent against
|
||
penetrators or hackers; and
|
||
|
||
o use audit reduction tools for assessing the damage
|
||
that may result in the event of a violation of the
|
||
implemented security policy. These tools have the
|
||
capability of selectively reviewing the actions of one
|
||
or more users or groups, actions performed on a
|
||
specific object or system resource, and actions
|
||
associated with specific access control attributes.
|
||
|
||
2.12.1.3 Assurance
|
||
|
||
Assurance addresses all areas of product development
|
||
assurance and evaluation assurance. Development assurance
|
||
addresses the development process, operational support, the
|
||
development environment, and the development evidence.
|
||
Development process assurance defines the additional efforts
|
||
that a developer must undertake to satisfy the assurance
|
||
objectives while creating the product. It specifies how the
|
||
TCB should be designed and supported by the implementation as
|
||
well as how it should be tested. Operational support assurance
|
||
defines the documentation of the security features for both
|
||
administrative and non-administrative users as well as
|
||
requirements for TCB flaw remediation and TCB generation.
|
||
Development environment assurance includes requirements for
|
||
defining the product's life cycle and specific features for
|
||
configuration management. Development evidence assurance
|
||
defines the TCB's protection properties, details the
|
||
requirements for product testing and analysis, and defines the
|
||
requirements for product support. Evaluation assurance
|
||
establishes that the product, and the context in which it is
|
||
developed and supported, is commensurate with the development
|
||
assurance requirements.
|
||
|
||
The T2+ Assurance Package was chosen for CS2. This package
|
||
is indicated as being TS2+ since an additional component was
|
||
included for flaw remediation and for a higher level for
|
||
trusted generation. This level is intended to include most
|
||
commercial computer products that are designed to satisfy
|
||
functional requirements. Although most development assurance
|
||
components are required at their lowest levels, the
|
||
requirements of several product development components are
|
||
extended to capture (1) specific TCB properties, and (2) a
|
||
rudimentary notion of support for product structure. The
|
||
operational support component is also extended to enable
|
||
systematic flaw discovery, tracking, and repair.
|
||
|
||
The intent of the product development assurance for this
|
||
package is to establish that the external behavior of the
|
||
product conforms to its user level and administrative
|
||
documentation without analysis of the internal structure of
|
||
the product TCB. For this reason, only the claimed TCB
|
||
protection properties and their informal models, TCB
|
||
interface description, and TCB element list are required to
|
||
enable functional and penetration testing. Support for TCB
|
||
structuring is limited to process isolation and separation of
|
||
the protection critical TCB elements from the protection non-
|
||
critical ones.
|
||
|
||
The intent of the operational support assurance for this
|
||
package is to establish a minimal level of user and
|
||
administrative guidance and product information that enables
|
||
the correct product installation, use of product security
|
||
features, and remediation of flaws. Similarly, the
|
||
development environment assurances are intended to provide a
|
||
minimal level of control over the product configuration and
|
||
production. This level of development environment assurance
|
||
is similar to that already present in most established
|
||
commercial development organizations.The development evidence
|
||
required for this package is commensurate with the assurances
|
||
required. The intent of this package is to require the type
|
||
of assurance evidence that is generated during the normal
|
||
commercial development process.
|
||
|
||
At the T2+ level, evaluation support assurance determines
|
||
whether the product meets the functional protection
|
||
requirements for testing analysis and independent testing.
|
||
Operational support evaluation assurance determines whether
|
||
the product documentation correctly describes the security
|
||
relevant operations.
|
||
|
||
Also for CS2, flaw remediation was included in this
|
||
assurance package. Flaw remediation is important for
|
||
commercial environments since it ensures that flaws (i.e,
|
||
deficiencies in a product that enables a user external to the
|
||
TCB to violate the functional requirements of a protection
|
||
profile) that are discovered by the product consumers will be
|
||
tracked, corrected, and disseminated to the affected
|
||
customers.
|
||
|
||
2.12.1.4 Intended Method of Use
|
||
|
||
All individual users (both administrative and non-
|
||
administrative users) are assigned a unique user
|
||
identifier.This user identifier supports individual
|
||
accountability and access control. The operating system
|
||
authenticates the claimed identity of the user before allowing
|
||
the user to perform any further actions.
|
||
|
||
Products that comply with the CS2 Protection Profile are
|
||
provided with the capability of assigning privileges to secure
|
||
functions. These privileges are used to control access to
|
||
user, password files, and audit trails. This capability is
|
||
particularly important to prevent a "privileged user" or
|
||
"superuser" from having a wide set of privileges when only a
|
||
subset is needed.
|
||
|
||
A CS1 compliant product imposes controls on authorized
|
||
users and on processes acting on their behalf to prevent users
|
||
from gaining access to information and other resources for
|
||
which they are not authorized. The product provides the
|
||
capability for users to allow or disallow to other users
|
||
access to objects under their control. The objects are files
|
||
that may be read or written to or programs which may be
|
||
executed. The granularity of control is to the level of
|
||
individual users (although groups made up of individual users
|
||
may be specified) and individual objects. CS1 access controls
|
||
permit the granting and revoking of access to be left to the
|
||
discretion of the individual users.
|
||
|
||
Products that comply with CS2 specifications are intended
|
||
to be used within the following operational constraints:
|
||
|
||
o The information system is designed to be administered
|
||
as a unique entity by a single organization.
|
||
|
||
o The information system is designed to manage
|
||
computing, storage, input/output, and to control the
|
||
sharing of resources among multiple users and computer
|
||
processes.
|
||
|
||
o The administrative and non-administrative users are
|
||
identified as distinct individuals.
|
||
|
||
o The granting and revoking of access control
|
||
permissions (read, write, execute, and deny) are left
|
||
to the discretion of individual users.
|
||
|
||
o The information system provides facilities for real-
|
||
time interaction with users that have access to input/
|
||
output devices.
|
||
|
||
2.12.2 Environmental Assumptions
|
||
|
||
A product designed to meet the CS2 Protection Profile is
|
||
intended to be a general purpose, multi-user operating system
|
||
that runs on either a workstation, minicomputer, or mainframe.
|
||
CS2 compliant products are expected to be used in both
|
||
commercial and government environments. The information being
|
||
processed may be unclassified, sensitive-but-unclassified, or
|
||
single-level classified, but not multi-level classified
|
||
information.
|
||
|
||
The following specific environmental conditions have been
|
||
assumed in specifying CS2:
|
||
|
||
o The product hardware base (e.g., CPU, printers,
|
||
terminals, etc.), firmware, and software will be
|
||
protected from unauthorized physical access.
|
||
|
||
o There will be one or more personnel assigned to manage
|
||
the product including the security of the information
|
||
it contains.
|
||
|
||
o The operational environment will be managed according
|
||
to the operational environment documentation that is
|
||
required in the assurance chapter of the Protection
|
||
Profile.
|
||
|
||
o The IT product provides a cooperative environment for
|
||
users to accomplish some task or group of tasks.
|
||
|
||
o The processing resources of the IT product, including
|
||
all terminals, are assumed to be located within user
|
||
spaces that have physical access controls established.
|
||
|
||
o The IT product provides facilities for some or all of
|
||
the authorized users to create programs that use an
|
||
Application Programming Interface (API) to enable them
|
||
to protect themselves and their objects from
|
||
unauthorized use.
|
||
|
||
o Fail-safe defaults are included for the access control
|
||
attributes for the defined subjects and objects for
|
||
the product.
|
||
|
||
2.12.3 Expected Threats
|
||
|
||
In general, the choice of which Protection Profile to
|
||
choose depends upon the level of security that is required for
|
||
that particular organizational environment. The lowest level,
|
||
the CS1 level, is intended for those commercial and government
|
||
environments where all the system personnel are trusted and
|
||
all the data on the system is at the same classification
|
||
level. For example, a government agency where all personnel
|
||
has a government clearance, all data is unclassified, and
|
||
there is no outside network connections would be an ideal
|
||
candidate for CS1, i.e., the threats to be countered are such
|
||
that only a minimal level of trust is needed. However, most
|
||
commercial and government environments are more complex and
|
||
require a higher degree of trust. CS2 addresses the security
|
||
needs for the main stream commercial and government
|
||
environments. It provides a higher level of trust for those
|
||
organizations that need to enforce a security policy where
|
||
there is no need for different classifications of data. CS3
|
||
is intended to provide the highest level of trust for
|
||
commercial and government environments. It is intended to be
|
||
used in those environments where a great deal of trust is
|
||
required, such as in law enforcement agencies, nuclear
|
||
facilities, or commercial airports. It provides the strongest
|
||
features, mechanisms, and assurances to counter these
|
||
threats.
|
||
|
||
A product that is designed to meet the CS2 Protection
|
||
Profile and operate within its assumed environment will
|
||
provide capabilities to counter these threats. It should be
|
||
noted, however, that although a product may faithfully
|
||
implement all the features and assurances specified in this
|
||
Protection Profile, the complete elimination of any one threat
|
||
should not be assumed. A product that is designed to meet the
|
||
CS2 Protection Profile is generally known to be more effective
|
||
at countering the threats than products that meet the CS1
|
||
Protection Profile. CS2 products counter all the CS1 threats,
|
||
and contain stronger features and more assurance evidence than
|
||
CS1 products. In addition to countering CS1 threats, CS2
|
||
compliant products provide protection capabilities to counter
|
||
four additional threats:
|
||
|
||
1. AN UNAUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO THE
|
||
SYSTEM
|
||
|
||
For CS1 compliant products, the threat of an unauthorized
|
||
user gaining access to the system is primarily addressed by
|
||
I&A. I&A features allow the TCB to verify the identity of
|
||
individuals attempting to gain access to the system. This is
|
||
accomplished through the use of passwords.
|
||
|
||
Although not a direct countermeasure, auditing requirements
|
||
are specified at the CS1 level to provide the capability to
|
||
perform an after-the-fact analysis of unauthorized system
|
||
entry and login attempts. This provides an opportunity for the
|
||
system administrators to take corrective actions, such as
|
||
strengthening existing user authentication methods or
|
||
requiring users to change their passwords.
|
||
|
||
For CS2 compliant systems, the threat of an unauthorized
|
||
user gaining access to the system is primarily addressed by
|
||
stronger I&A features and system entry requirements.
|
||
|
||
CS2 specifies password requirements that promote a strong
|
||
organizational password management program. These
|
||
requirements specify that: null passwords cannot be used
|
||
during normal operations; passwords be stored in a one-way
|
||
encrypted form; the clear text representation of a password
|
||
be automatically suppressed; passwords have a minimum-length;
|
||
and that the system utilize a password complexity-checking
|
||
algorithm. An advisory capability is also provided to exclude
|
||
a list of customer-specified passwords. Such requirements
|
||
support the use of passwords that are effective against
|
||
password guessing. To further reduce the probability of a
|
||
password being guessed, requirements limit the number of
|
||
attempted login attempts that can be made by a user associated
|
||
with a specific user identifier. The probability of a single
|
||
password being guessed is further reduced by requirements for
|
||
password aging, by having limitations on password reuse, and
|
||
by allowing users to choose a password that is already
|
||
associated with another user identifier.
|
||
|
||
CS2 also allows for a password generating capability.
|
||
Because random passwords can be difficult to remember and
|
||
users are tempted to write them down, requirements are
|
||
specified for the generation of passwords that are easy to
|
||
remember (i.e., pronounceable). Additionally, an advisory
|
||
requirement is specified to allow users to choose from a list
|
||
of alternative passwords.
|
||
|
||
To minimize the threat that a password has been
|
||
compromised, a requirement exists to allow a user to change
|
||
the password. Because a password can be compromised by
|
||
observing the characters on a terminal screen as it is being
|
||
typed, there is a requirement to blot out the clear-text
|
||
representation of the password on the display device.
|
||
|
||
In addition, requirements are specified to display an
|
||
advisory warning message to all users prior to system logon
|
||
to discourage a would-be system penetrator from attempting an
|
||
unauthorized system entry. Such a message can also provide a
|
||
basis for subsequent prosecution. System entry requirements
|
||
also specify additional controls on identified and
|
||
authenticated users entering the system. Once a user is
|
||
authenticated, a check is made to determine if the user is
|
||
allowed further entry. System entry is granted only in
|
||
accordance with the authenticated user's access control
|
||
attributes. These conditions are in terms of a user's identity
|
||
and his/her membership in groups (if they exist). In addition,
|
||
CS2 specifies system entry requirements to display to an
|
||
authorized user, upon successful system entry, the date and
|
||
time, method of access or port of entry, and the number of
|
||
failed logon attempts since the last successful system entry
|
||
by that user identifier. These requirements provide a user
|
||
with the capability to detect attempted or successful system
|
||
penetrations. In addition, requirements are specified to lock
|
||
and terminate an interactive session after an administrator-
|
||
specified period of user inactivity, and also for the TCB to
|
||
appear to perform the entire user authentication procedure
|
||
even if the user identification entered is invalid. The TCB
|
||
also provides a protected mechanism to allow or deny system
|
||
entry based on specified ranges of time. Also, conditions for
|
||
system entry via dial-up lines are required to be specified.
|
||
|
||
I&A requirements are also enhanced over those of CS1 by
|
||
specifying requirements for the identification for each
|
||
trusted user, and by specifying requirements for system
|
||
administrators to disable a user's identity or account when
|
||
the number of unsuccessful logon attempts exceeds an
|
||
administrator specified threshold. This is intended to
|
||
mitigate the effectiveness of successive attacks of system
|
||
penetration.
|
||
|
||
2. AN AUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO
|
||
RESOURCES WHEN THE USER IS NOT ALLOWED ACCESS
|
||
|
||
An authorized user can try to gain access to unauthorized
|
||
resources by assuming the user identifier of another user and
|
||
thus gaining their associated access rights. This is addressed
|
||
through the use of passwords.
|
||
|
||
Once an authorized user has gained access to the system,
|
||
the threat still remains for a user to gain access to
|
||
resources when the user is not authorized. At the resource
|
||
level, CS2 specifies access control features to mediate (i.e.,
|
||
distribute, review, and revoke) user access to a subset of
|
||
resources.
|
||
|
||
The object reuse feature has been specified to ensure that
|
||
resource contents are cleared before they are reused. This
|
||
reduces the vulnerability that the resource contents can be
|
||
read before it is overwritten.
|
||
|
||
To address the vulnerability associated with passwords, CS2
|
||
specifies password requirements that promote a strong
|
||
organizational password management program. Besides those
|
||
password requirements that address penetration threats from
|
||
unauthorized users, other password requirements have been
|
||
specified to counter the threat of an insider (authorized
|
||
user) attack. There are password requirements that specify
|
||
that passwords must always be stored in encrypted format and
|
||
that passwords can never be included in audit trail data.
|
||
Also, in the event that a user selects a password that is
|
||
already in use by another user, requirements disallow the
|
||
system from acknowledging the dual association.
|
||
|
||
In addition, CS2 specifies access control features to limit
|
||
the user identifiers that may change to another user
|
||
identifier that provides any additional privileges to that
|
||
user. These controls are based on the user identifier and the
|
||
mode of access (i.e., read, write, and execute). Also,
|
||
administrators are provided with capabilities through the use
|
||
of protected mechanisms to set and control security related
|
||
parameters, defaults, thresholds, attributes, and other
|
||
security related data. This provides the ability to
|
||
effectively specify and control access to resources based on
|
||
site specific protection policies.
|
||
|
||
CS2 also specifies that privileges must be associated with
|
||
TCB functions, TCB calls, and accesses to privileged TCB
|
||
objects (e.g., user and group registration files. password
|
||
files, audit log files).
|
||
|
||
CS2 specifies requirements for a direct communication
|
||
channel, i.e., a trusted path, between the user and the
|
||
operating system to counter spoofing threats. This security
|
||
feature provides confidence that a user at a terminal will
|
||
communicate directly with the TCB rather than to malicious
|
||
code. In particular, to counter the threat of an authorized
|
||
user creating a spoof of legitimate user identifier
|
||
authorization prompts, CS2 specifies requirements for a
|
||
direct communication path between the user and the
|
||
authentication system.
|
||
|
||
Requirements are also specified to display an advisory
|
||
warning message to all users prior to system logon to
|
||
discourage unauthorized system entry. Such a message can also
|
||
provide a basis for subsequent prosecution.
|
||
|
||
Once an authorized user has been identified and
|
||
authenticated, system entry control can help counter threats
|
||
of inadvertent, deliberate, and coerced entry performed in an
|
||
unauthorized manner by an authorized user. At the end of
|
||
system entry control, the user bears the access-control
|
||
attributes determined during the I&A process, provided that
|
||
the system entry conditions are satisfied. These conditions
|
||
can be specified in terms of a user's identity, group
|
||
membership, or mode of access.
|
||
|
||
CS2 also provides other security features. Application
|
||
programming interfaces are provided so that applications can
|
||
protect themselves and their objects from unauthorized use.
|
||
CS2 specifies lists of user identities authorized to enter the
|
||
system via dial-up lines. CS2 also specifies general
|
||
authentication facilities for use by application developers,
|
||
system administrators, and users for the protection of
|
||
resources.
|
||
|
||
3. SECURITY RELEVANT ACTIONS MAY NOT BE TRACEABLE TO THE
|
||
USER ASSOCIATED WITH THE EVENT
|
||
|
||
CS2 accountability and audit requirements are specified to
|
||
provide the capability to track security relevant actions
|
||
performed by users, and link such actions, if possible, to the
|
||
responsible identifier. Audit mechanisms are responsible for
|
||
the monitoring and detecting of real or potential security
|
||
violations or events. These audit events can include
|
||
successful or unsuccessful: I&A events, the introduction of
|
||
objects into a user's address space, the deletion of objects,
|
||
and actions taken by system administrators. Each audit record
|
||
includes the date, time, location, type of event, identity of
|
||
the user and object involved, and the success or failure of
|
||
the event.
|
||
|
||
Requirements are specified to protect audit trail data and
|
||
the audit control mechanism from unauthorized access,
|
||
modification, or destruction. Audit features are specified to
|
||
provide post-collection audit analysis on specific data
|
||
items, users, and privileged operations. Also, a capability
|
||
is provided for trusted application programs to append data
|
||
to the security audit trail.
|
||
|
||
System entry control helps to enhance accountability by
|
||
providing a time, space, and mode-of-entry context to each
|
||
action for which the user is held accountable. These added
|
||
constraints help to give additional assurance that the proper
|
||
user is held responsible for a set of authorized actions.
|
||
|
||
At the CS2 level, tools are specified to enhance the
|
||
effectiveness of user accountability. CS3 specifies
|
||
requirements to provide tools to verify the consistency of the
|
||
audit trial data and the selection of audit events. Tools are
|
||
also specified for post-collection analysis to selectively
|
||
review various actions.
|
||
|
||
4. THE PRODUCT MAY BE DELIVERED, INSTALLED, AND THEN USED
|
||
IN AN UNSECURED MANNER
|
||
|
||
This threat is countered by explicitly requiring that the
|
||
product be delivered with all security features turned on.
|
||
This ensures that the product is secure by default rather than
|
||
insecure by default. This is complemented by allowing many
|
||
security features to be configurable so that, as a specific
|
||
organization gains experience with the actual threats in its
|
||
environment, the organization can adjust the degree of
|
||
security in their system. There are several requirements that
|
||
reinforce the "security by default" perspective during
|
||
initial installation. Requirements for security
|
||
administrative documentation are specified to increase the
|
||
likelihood that the administrator will install and start the
|
||
system in a secure manner.
|
||
|
||
5. SECURITY BREACHES MAY OCCUR BECAUSE AVAILABLE SECURITY
|
||
FEATURES ARE NOT USED OR ARE USED IMPROPERLY
|
||
|
||
Requirements for authentication, system and access control,
|
||
security management, and product documentation provide a
|
||
basis for countering this threat. Authentication requirements
|
||
provide for password management procedures to reduce the
|
||
possibility of easy to guess passwords and to initialize
|
||
passwords for users. Password generation algorithms are
|
||
provided that generate easy to remember passwords and that
|
||
give the user a choice of passwords. In addition, CS2 provides
|
||
for a capability to import and export objects and subjects
|
||
with defined access control attributes. This ensures that
|
||
access control attributes are maintained with the subject or
|
||
object during import and export operations.
|
||
|
||
Security management requirements are specified for listing,
|
||
setting, and updating all of the system security parameters
|
||
and attributes. These parameters and attributes pertain to
|
||
identification, authentication, system entry, access control,
|
||
audit trail analysis and availability features for the system
|
||
and for individual users. This allows a system administrator
|
||
to confirm that the system is properly configured and, if
|
||
necessary, to modify the existing configuration and
|
||
attributes. In addition, security management requirements
|
||
provide for routine control and maintenance of system
|
||
resources.
|
||
|
||
Product documentation requirements for users and
|
||
administrators describe how to perform security relevant
|
||
functions in a secure manner.
|
||
|
||
6. SECURITY BREACHES MAY OCCUR BECAUSE OF TCB PENETRATION
|
||
|
||
TCB protection is a fundamental capability of CS compliant
|
||
products. The security components and mechanisms described in
|
||
this Protection Profile depend upon the integrity of the TCB
|
||
and on the TCB being isolated and non-circumventable. CS1
|
||
specifies requirements for a common and basic set of security
|
||
features to protect the TCB from outside penetration.
|
||
|
||
This threat is also countered through product assurance.
|
||
The TCB interface definition establishes the boundary between
|
||
the TCB and its internal users. Security functional testing
|
||
establishes that these TCB definitions and properties satisfy
|
||
the requirements of the Protection Profile.
|
||
|
||
7. USERS MAY BE ABLE TO BYPASS THE SECURITY FEATURES OF
|
||
THE SYSTEM
|
||
|
||
This threat is countered by authentication, access control,
|
||
audit, TCB isolation, TCB non-circumventability, and
|
||
reference mediation requirements. Authentication requirements
|
||
protect authentication data from unauthorized users. Resource
|
||
access control requirements protect access control data.
|
||
|
||
Audit requirements provide for the logging of successful
|
||
and unsuccessful accesses to resources as well as for changes
|
||
made to the system security configuration and system software
|
||
in the event that the system security features have been
|
||
bypassed.
|
||
|
||
CS1 specifications for reference mediation protects the
|
||
integrity of the access control mechanism and the TCB's
|
||
functionality. Starting at CS1, requirements exist for TCB
|
||
mediation of user references to objects and to security
|
||
relevant services.
|
||
|
||
CS1-compliant products maintain a domain for its own
|
||
execution to protect it from external interference and
|
||
tampering. Such requirements address TCB isolation and non-
|
||
circumventability of TCB isolation functions.
|
||
|
||
This threat is also countered through product assurance.
|
||
The definition of TCB properties assures the consistency of
|
||
the TCB's behavior. The identification of TCB elements
|
||
provides the set of elements that determine the protection
|
||
characteristics of a product. The TCB interface definition
|
||
establishes the boundary between the TCB and its internal
|
||
users. Security functional testing establishes that these TCB
|
||
definitions and properties satisfy the requirements of this
|
||
Protection Profile, and provide evidence against users being
|
||
able to bypass the security features of the system. At the CS2
|
||
level, procedures also have to be established for developers
|
||
to accept customer reports of protection problems and requests
|
||
for corrections to those problems. Also, when the product is
|
||
delivered, all security related parameters must be set to its
|
||
fail-safe defaults.
|
||
|
||
8. SUBJECTS MAY BE DENIED CONTINUED ACCESSIBILITY TO THE
|
||
RESOURCES OF THE SYSTEM (I.E., DENIAL OF SERVICE)
|
||
|
||
Reliability of service requirements promote the continued
|
||
accessibility of system resources by authorized subjects.
|
||
These requirements principally counter threats related to
|
||
intentional or unintentional denial of service attacks. The
|
||
requirements include detecting and reporting facilities,
|
||
controls to limit systematically the disabling of user
|
||
identifiers, mechanisms for recovery in the event of a system
|
||
crash, resource quotas, and data backup and restoration. In
|
||
particular, mechanisms are specified for recovery and system
|
||
start-up, and for a maintenance mode of operation.
|
||
|
||
CS2 compliant systems provide the capability to detect and
|
||
recover from discontinuity of service using some combination
|
||
of automatic and procedural techniques. This capability is
|
||
intended to counter the threat that subjects may be denied
|
||
continued accessibility to the resources of the system (i.e.,
|
||
denial of service). Also, users are notified in advance to
|
||
change their password, so that access to the system is not
|
||
denied without warning. An advisory capability exists to allow
|
||
an system administrator to use null passwords during system
|
||
start-up. This allows a system administrator to access the
|
||
system even if the password mechanism has been compromised.
|
||
In addition, audit trails are compressed to avoid excessive
|
||
consumption of disk space.
|
||
|
||
9. THE INTEGRITY OF THE SYSTEM MAY BE COMPROMISED
|
||
|
||
At the CS2 level, requirements are specified for TCB
|
||
recovery and start-up to promote the secure state of the
|
||
system in the event of a system failure or discontinuity of
|
||
service. These features are intended to minimize the
|
||
likelihood of the loss of user objects during system recovery.
|
||
|
||
To protect audit trail data, a mechanism is specified to
|
||
automatically copy the audit trail file to an alternative
|
||
storage area.
|
||
|
||
CS2 compliant products also provide the capability to
|
||
validate the correct operation of the TCB software, firmware,
|
||
and hardware. Such features are important to ensure that the
|
||
software, hardware, and firmware are in working order.
|
||
|
||
CS2 Functionality
|
||
|
||
3. Introduction
|
||
|
||
This section provides detailed functionality requirements
|
||
that must be satisfied by a Commercial Security 2 (CS2)
|
||
compliant product. Note that all plain text are words taken
|
||
directly from the Federal Criteria. Any assignments or
|
||
refinements made to the text in the Federal Criteria's are
|
||
indicated by bold italics. A Protection Profile requirement
|
||
is an assignment when it is directly taken as stated from the
|
||
Federal Criteria component without change or when a binding
|
||
is made to a Federal Criteria threshold definition. A
|
||
Protection Profile requirement is a refinement when the
|
||
Federal Criteria requirement is taken to a lower level of
|
||
abstraction. The characterization of Protection Profile
|
||
requirements as being either assignments or refinements can
|
||
be found at each component level. Also, note that, unlike the
|
||
Federal Criteria, there are some items that are considered to
|
||
be "advisory," i.e., an item marked advisory is a desirable
|
||
feature but is not required for that component. Each advisory
|
||
item is marked with an "(A)".
|
||
|
||
This Protection Profile for CS2 utilizes the following
|
||
levels from the Federal Criteria. Note that not all the
|
||
components from the Federal Criteria are reflected in this
|
||
Protection Profile; there are no specific requirements for
|
||
those components that are not listed. Also note that a "+"
|
||
after the component level number indicates that a requirement
|
||
was included from a higher level of that component.
|
||
|
||
CS2 Functional Component Summary
|
||
.------------------------------------------------------.
|
||
| | Component | |
|
||
| Component Name | Code | Level |
|
||
|======================================================|
|
||
| Security Policy Support: |
|
||
|----------------------------------+-----------+-------|
|
||
| Identification & Authentication | I&A | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| System Entry | SE | 2 |
|
||
|----------------------------------+-----------+-------|
|
||
| Trusted Path | TP | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Audit | AD | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| Access Control | AC | 2+ |
|
||
|----------------------------------+-----------+-------|
|
||
| Security Management | SM | 2 |
|
||
|----------------------------------+-----------+-------|
|
||
| Reference Mediation | RM | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| TCB Protection | P | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Self Checking | SC | 2 |
|
||
|----------------------------------+-----------+-------|
|
||
| TCB Initialization & Recovery | TR | 2 |
|
||
|----------------------------------+-----------+-------|
|
||
| Privileged Operations | PO | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Ease-of-Use | EU | 2 |
|
||
`------------------------------------------------------'
|
||
|
||
|
||
3.1 Identification & Authentication
|
||
|
||
All users of the product must be identified and
|
||
authenticated. A login process is established that interacts
|
||
with the user in order to provide the information necessary
|
||
for identification and authentication. The identification and
|
||
authentication process begins the user's interaction with the
|
||
target product. First, the user supplies a unique user
|
||
identifier to the TCB. Then, the user is asked to authenticate
|
||
that claimed identity by the TCB. The user identifier is used
|
||
for both access control and also for accountability.
|
||
Therefore, the proper maintenance and control of the
|
||
identification mechanism and the identification databases are
|
||
vital to TCB security. Once a user has supplied an identifier
|
||
to the TCB, the TCB must verify that the user really
|
||
corresponds to the claimed identifier. This is done by the
|
||
authentication mechanism as described by the following
|
||
requirements.
|
||
|
||
For the CS2 level, I&A-3 was assigned from the Federal
|
||
Criteria. This I&A component level has been refined from the
|
||
Federal Criteria by requiring that only system administrators
|
||
perform certain actions. Password requirements have also been
|
||
refined to reflect the importance of this protected mechanism
|
||
to commercial products. An additional refinement was made
|
||
regarding invalid user identification on error feedback.
|
||
Assignments were made for default thresholds for the number
|
||
of login attempts and login time intervals.
|
||
|
||
I&A-3 Exception-Controlled Identification and
|
||
Authentication
|
||
|
||
1. The TCB shall require users to identify
|
||
themselves to it before beginning to perform any
|
||
other actions that the TCB is expected to mediate.
|
||
The TCB shall be able to enforce individual
|
||
accountability by providing the capability to
|
||
uniquely identify each individual user. The TCB
|
||
shall also provide the capability of associating
|
||
this identity with all auditable actions taken by
|
||
that individual.
|
||
|
||
2. The TCB shall maintain authentication data that
|
||
includes information for verifying the identity of
|
||
individual users (e.g., passwords) as well as
|
||
information for determining the product policy
|
||
attributes of individual users, i.e. groups. These
|
||
data shall be used by the TCB to authenticate the
|
||
user's identity and to ensure that the attributes
|
||
of subjects external to the TCB that may be
|
||
created to act on behalf of the individual user
|
||
satisfy the product policy. The control of user
|
||
identification data shall be limited to system
|
||
administrators, except that a user shall be
|
||
allowed to modify his/her own authentication data
|
||
within prescribed limits (e.g., changing his/her
|
||
own password).
|
||
|
||
3. The TCB shall protect authentication data so
|
||
that it cannot be used by any unauthorized user.
|
||
The TCB shall appear to perform the entire user
|
||
authentication procedure even if the user
|
||
identification entered is invalid. Error feedback
|
||
shall contain no information regarding which part
|
||
of the authentication information is incorrect.
|
||
|
||
The TCB shall end the attempted login session if
|
||
the user performs the authentication procedure
|
||
incorrectly for a number of successive times
|
||
(i.e., a threshold) specified by an authorized
|
||
system administrator. The default threshold shall
|
||
be three times. When the threshold is exceeded,
|
||
the TCB shall send an alarm message to the system
|
||
console and/or to the administrator's terminal,
|
||
log this event in the audit trail, and delay the
|
||
next login by an interval of time specified by the
|
||
authorized system administrator. The default time
|
||
interval shall be 60 seconds. The TCB shall
|
||
provide a protected mechanism to disable the user
|
||
identity or account when the threshold of
|
||
successive, unsuccessful login attempts is
|
||
violated more than a number of times specified by
|
||
the administrator. By default, this mechanism
|
||
shall be disabled (as it may cause unauthorized
|
||
denial of service).
|
||
|
||
4. The TCB shall have the capability to maintain,
|
||
protect, and display status information for all
|
||
active users (e.g., users currently logged on,
|
||
current policy attributes) and of all user
|
||
accounts (i.e., enabled or disabled user identity
|
||
or account).
|
||
|
||
5. Whenever passwords are used as a protection
|
||
mechanism, then, at a minimum:
|
||
|
||
a. The TCB shall not indicate to the user if he/she
|
||
has chosen a password already associated with
|
||
another user.
|
||
|
||
b. The TCB shall store passwords in a one-way
|
||
encrypted form.
|
||
|
||
(1) The TCB shall require privilege to access
|
||
encrypted passwords.
|
||
|
||
c. The TCB shall automatically suppress or fully
|
||
blot out the clear-text representation of the
|
||
password on the data entry/display device.
|
||
|
||
d. The TCB shall, by default, prohibit the use of
|
||
null passwords during normal operation.
|
||
|
||
(1) A capability, accessible only to an system
|
||
administrator, to allow null passwords during
|
||
non-normal operations, such as system start-
|
||
up, manual recovery, or maintenance mode, on a
|
||
per-user identifier or per-port basis may be
|
||
provided. (A)
|
||
|
||
e. The TCB shall provide a protected mechanism to
|
||
allow a user to change his or her password. This
|
||
mechanism shall require re-authentication of the
|
||
user identity.
|
||
|
||
(1) The TCB shall provide a protected mechanism to
|
||
set or initialize passwords for users. The use
|
||
of this mechanism shall be limited to system
|
||
administrators.
|
||
|
||
f. The TCB shall enforce password aging on a per-
|
||
user identifier or per-group basis (i.e., a user
|
||
shall be required to change his or her password
|
||
after a system-specifiable minimum time). The
|
||
default for all non-system administrators shall
|
||
be sixty days.
|
||
|
||
(1) The default for system administrator
|
||
identifiers shall be thirty days.
|
||
|
||
(2) After the password aging threshold has been
|
||
reached, the password shall no longer be
|
||
valid, except as provided in 5 g below.
|
||
|
||
The control of password aging shall be limited to
|
||
system administrators.
|
||
|
||
g. The TCB shall provide a protected mechanism to
|
||
notify users in advance of requiring them to
|
||
change their passwords. This can be done by
|
||
either:
|
||
|
||
(1) Notifying users a system-specifiable period
|
||
of time prior to their password expiring. The
|
||
default shall be seven days.
|
||
|
||
- or -
|
||
|
||
(2) Upon password expiration, notifying the user
|
||
but allowing a system-specifiable subsequent
|
||
number of additional logons prior to requiring
|
||
a new password. The default shall be two
|
||
additional logons.
|
||
|
||
The control of user password expiration defaults
|
||
shall be limited to system administrators.
|
||
|
||
h. Passwords shall not be reusable by the same user
|
||
identifier for a system-specifiable period of
|
||
time. The default shall be six months. The
|
||
control of password re-use shall be limited to
|
||
system administrators.
|
||
|
||
i. The TCB shall provide an algorithm for ensuring
|
||
the complexity of user-entered passwords that
|
||
meets the following requirements:
|
||
|
||
(1) Passwords shall meet a system-specifiable
|
||
minimum length requirement. The default
|
||
minimum length shall be eight characters.
|
||
|
||
(2) The password complexity-checking algorithm
|
||
shall be modifiable by the TCB. The default
|
||
algorithm shall require passwords to include
|
||
at least one alphabetic character, one numeric
|
||
character, and one special character.
|
||
|
||
(3) The TCB should provide a protected mechanism
|
||
that allows systems to specify a list of
|
||
excluded passwords (e.g., company acronyms,
|
||
common surnames). (A)
|
||
|
||
(a) The TCB should prevent users from selecting
|
||
a password that matches any of those on the
|
||
list of excluded passwords. (A)
|
||
|
||
The control of password complexity shall be limited
|
||
to system administrators.
|
||
|
||
j. If password generation algorithms are present,
|
||
they shall meet the following requirements:
|
||
|
||
(1) The password generation algorithm shall
|
||
generate passwords that are easy to remember
|
||
(i.e., pronounceable).
|
||
|
||
(2) The TCB should give the user a choice of
|
||
alternative passwords from which to choose.
|
||
(A)
|
||
|
||
(3) Passwords shall be reasonably resistant to
|
||
brute-force password guessing attacks.
|
||
|
||
(4) If the "alphabet" used by the password
|
||
generation algorithm consists of syllables
|
||
rather than characters, the security of the
|
||
password shall not depend on the secrecy of the
|
||
alphabet.
|
||
|
||
(5) The generated sequence of passwords shall have
|
||
the property of randomness (i.e., consecutive
|
||
instances shall be uncorrelated and the
|
||
sequences shall not display periodicity).
|
||
|
||
3.2 System Entry
|
||
|
||
Once a user is authenticated, a check is made to see if the
|
||
user is allowed to enter the product. The qualifying checks
|
||
for system entry at the SE-2 level can include time-of-day,
|
||
day-of-week, date, location of terminal, or means of access
|
||
(e.g., dial-up port).
|
||
|
||
For the CS2 level, SE-2 was assigned from the Federal
|
||
Criteria. This component has been refined from the Federal
|
||
Criteria by specifying a default advisory warning to be
|
||
displayed before user logon, by limiting the control of system
|
||
entry requirements to system administrators, and by further
|
||
limiting the use of protected mechanisms to system
|
||
administrators. Also, default values for terminal locking and
|
||
session termination and for user policy attributes were
|
||
assigned.
|
||
|
||
SE-2 Time and Location Based Entry Control
|
||
|
||
1. Prior to initiating the system login procedure,
|
||
the TCB shall display an advisory warning message
|
||
to the user regarding unauthorized use of the
|
||
system and the possible consequences of failure to
|
||
heed this warning.
|
||
|
||
a. The message shall be system-specifiable.
|
||
|
||
b. The TCB shall be able to display a message of up
|
||
to twenty lines in length.
|
||
|
||
c. The following message shall be displayed by
|
||
default:
|
||
|
||
"NOTICE: This is a private computer system.
|
||
All users of this system are subject to
|
||
having their activities audited. Anyone
|
||
using this system consents to such
|
||
auditing. All unauthorized entries or
|
||
activities revealed by this auditing can be
|
||
used as evidence and may lead to criminal
|
||
prosecution."
|
||
|
||
The control of system entry messages shall be
|
||
limited to system administrators.
|
||
|
||
2. Before system entry is granted to a user, the
|
||
identity of that user shall be authenticated by
|
||
the TCB. If the TCB is designed to support
|
||
multiple login sessions per user identity, the TCB
|
||
shall provide a protected mechanism to enable
|
||
limiting the number of login sessions per user
|
||
identity or account with a default of a single
|
||
login session. The control of this mechanism to
|
||
limit the number of login sessions shall be
|
||
limited to system administrators.
|
||
|
||
3. The TCB shall grant system entry only in
|
||
accordance with the authenticated user's policy
|
||
attributes. The system entry conditions shall be
|
||
expressed in terms of users' policy attributes,
|
||
i.e., user identity and membership to groups. If
|
||
no explicit system-entry conditions are defined,
|
||
the system-entry default shall be used (e.g., the
|
||
correct user authentication). The TCB shall
|
||
provide a protected mechanism to allow or deny
|
||
system entry based on specified ranges of time.
|
||
Entry conditions using these ranges shall be
|
||
specified using time-of-day, day-of-week, and
|
||
calendar dates. The control of system entry
|
||
conditions shall be limited to system
|
||
administrators.
|
||
|
||
The TCB shall provide a protected mechanism to
|
||
allow or deny system entry based on location or
|
||
port of entry. Conditions for system entry via
|
||
dial-up lines (e.g., lists of user identities
|
||
authorized to enter the system via dial-up lines),
|
||
if any, shall be specified.The control of these
|
||
mechanisms shall be limited to system
|
||
administrators.
|
||
|
||
4. The TCB shall provide a protected mechanism that
|
||
enables authorized administrators to display and
|
||
modify the policy attributes used in system-entry
|
||
control for each user. The conditions under which
|
||
an unprivileged user may display these attributes
|
||
shall be specified.
|
||
|
||
5. Upon a user's successful entry to the system,
|
||
the TCB shall display the following data to the
|
||
user and shall not remove them without user
|
||
intervention: (1) the date, time, means of access
|
||
and port of entry of the last successful entry to
|
||
the system; and (2) the number of successive,
|
||
unsuccessful attempts to access the system since
|
||
the last successful entry by the identified user.
|
||
|
||
6. The TCB shall either lock or terminate an
|
||
interactive session after an administrator-
|
||
specified interval of user inactivity. The default
|
||
value for the lock interval shall be five minutes.
|
||
The default value for session termination shall be
|
||
fifteen minutes.
|
||
|
||
3.3 Trusted Path
|
||
|
||
A Trusted Path ensures that users have direct, unencumbered
|
||
communication with the TCB. A Trusted Path may be required at
|
||
various times during a subject session and also may be
|
||
initiated by a user during a TCB interaction.
|
||
|
||
For the CS2 level, TP-1 was assigned from the Federal
|
||
Criteria. This level was refined by requiring that there be a
|
||
direct Trusted Path connection to the authentication
|
||
mechanism.
|
||
|
||
TP-1 Login Trusted Path
|
||
|
||
The TCB shall support a trusted communication path
|
||
between itself and the user for initial
|
||
identification and authentication. Communications
|
||
via this path shall be initiated exclusively by a
|
||
user.
|
||
|
||
a. The TCB shall provide a protected mechanism by
|
||
which a display device may force a direct
|
||
connection between the port to which it is
|
||
connected and the authentication mechanism.
|
||
|
||
3.4 Audit
|
||
|
||
Audit supports accountability by providing a trail of user
|
||
actions. Actions are associated with individual users for
|
||
security-relevant events and are stored in an audit trail.
|
||
This audit trail can be examined to determine what happened
|
||
and what user was responsible for a security relevant event.
|
||
The audit trail data must be protected from unauthorized
|
||
access, modification, or destruction. In addition, the audit
|
||
trail data must be available in a useful and timely manner for
|
||
analysis.
|
||
|
||
Audit data is recorded from several sources (such as the
|
||
TCB or privileged applications) to produce a complete picture
|
||
of a user's security relevant actions. Therefore, audit data
|
||
must be correlated across audit collection systems. The
|
||
mechanisms providing audit data recording must be tailorable
|
||
to each product's needs. Both the audit data itself and the
|
||
mechanisms to determine what audit data is recorded are
|
||
protected by privileges. Once the audit data is recorded, it
|
||
is analyzed and reported. At the CS2 level, reporting can be
|
||
generated on request.
|
||
|
||
For the CS2 level, AD-4 was assigned from the Federal
|
||
Criteria. This level was refined from the Federal Criteria by
|
||
specifying that: password character strings not be recorded
|
||
in the audit trail; privileged applications be allowed to
|
||
append data to the audit trail; audit trail files be copied
|
||
to an alternative storage area after a system-specifiable
|
||
period of time; the TCB provide a protected mechanism for the
|
||
automatic deletion of security audit trail files. Assignments
|
||
were made to subject to object access control rules so that
|
||
they include user access to disk files, tape volumes, and tape
|
||
files.
|
||
|
||
AD-3 Audit Tools
|
||
|
||
1. The TCB shall be able to create, maintain, and
|
||
protect from modification or unauthorized access
|
||
or destruction an audit trail of accesses to the
|
||
objects it protects. The audit data shall be
|
||
protected by the TCB so that read access to it is
|
||
limited to those who are authorized for audit
|
||
data.
|
||
|
||
The TCB shall support an application program
|
||
interface that allows a privileged application to
|
||
append data to the security audit trail or to an
|
||
applications-specified alternative security audit
|
||
trail.
|
||
|
||
The TCB should support an option to maintain the
|
||
security audit trail data in encrypted format. (A)
|
||
|
||
2. The TCB shall be able to record the following
|
||
types of events:
|
||
|
||
- use of the identification and authentication
|
||
mechanisms, and system entry events;
|
||
|
||
- access control events selectable on a per
|
||
user, per subject, per object, per group, and/or
|
||
per policy attribute basis; i.e., introduction of
|
||
objects into a user's address space (e.g., file
|
||
open, program initiation), creation and deletion
|
||
of subjects and objects; distribution and
|
||
revocation of access rights; changes of subject
|
||
and object policy attributes; acquisition and
|
||
deletion of system privileges.
|
||
|
||
-actions taken by computer operators and system
|
||
administrators and/or system security officers;
|
||
i.e., privileged operations such as the
|
||
modification of TCB elements; accesses to TCB
|
||
objects (at a minimum, access to an object shall
|
||
include disk file access, tape volume, or tape
|
||
file access); changes of policy attributes of
|
||
users, TCB configuration and security
|
||
characteristics, and system privileges; selection
|
||
and modification of audited events.
|
||
|
||
The events that are auditable by default, and
|
||
those that are required for successful auditing of
|
||
other events, which may not be disabled, shall be
|
||
defined. The TCB shall provide a protected
|
||
mechanism that displays the currently selected
|
||
events and their defaults. The use of this
|
||
mechanism shall be restricted to authorized system
|
||
administrators.
|
||
|
||
3. For each recorded event, the audit record shall
|
||
identify: date and time of the event, user, type
|
||
of event, and success or failure of the event. For
|
||
identification/authentication events the origin of
|
||
request (e.g., terminal ID) shall be included in
|
||
the audit record. For events that introduce an
|
||
object into a user's address space and for object
|
||
deletion events the audit record shall include the
|
||
name and policy attributes of the object.
|
||
|
||
The character strings input as a response to a
|
||
password prompt shall not be recorded in the
|
||
security audit trail.
|
||
|
||
4. The TCB shall provide a protected mechanism to
|
||
turn auditing on and off, and to select and change
|
||
the events to be audited and their defaults,
|
||
during the system operation. The use of this
|
||
mechanism shall be restricted to authorized system
|
||
administrators. The system administrator shall be
|
||
able to selectively audit the actions of one or
|
||
more users based on individual identity and/or
|
||
object policy attributes. Audit review tools shall
|
||
be available to authorized system administrators
|
||
to assist in the inspection and review of audit
|
||
data, and shall be protected from unauthorized
|
||
use, modification, or destruction.
|
||
|
||
The TCB shall provide tools for audit data
|
||
processing. These shall include specifically
|
||
designed tools: for verifying the consistency of
|
||
the audit data; for verifying the selection of
|
||
audit events; for audit trail management. The
|
||
audit trail management tools shall enable:
|
||
|
||
- creation, destruction, and emptying of audit
|
||
trails; use of warning points regarding the size
|
||
of the audit data, and modification of the audit
|
||
trail size;
|
||
|
||
-formatting and compressing of event records;
|
||
|
||
-displaying of formatted audit trail data; and
|
||
|
||
-maintaining the consistency of the audit trail
|
||
data after system failures and discontinuity of
|
||
operation.
|
||
|
||
The TCB shall provide a protected mechanism for
|
||
the automatic copying of security audit trail
|
||
files to an alternative storage area after a
|
||
system-specifiable period of time.
|
||
|
||
The TCB shall provide a protected mechanism for
|
||
the automatic deletion of security audit trail
|
||
files after a system-specifiable period of time.
|
||
The default shall be thirty days.
|
||
|
||
(a) It shall not be possible to delete the
|
||
security audit trail before it gets copied
|
||
to an alternate storage area.
|
||
|
||
(b) It shall be possible to disable this mechanism.
|
||
|
||
The use of audit trail management functions shall
|
||
be limited to system administrators.
|
||
|
||
5. Audit review tools shall be available to
|
||
authorized users to assist in the inspection and
|
||
review of audit data, and shall be protected from
|
||
unauthorized modification or destruction. The TCB
|
||
shall also provide tools for post-collection audit
|
||
analysis (e.g., intrusion detection) that shall be
|
||
able to selectively review (1) the actions of one
|
||
or more users (e.g., identification,
|
||
authentication, system-entry, and access control
|
||
actions); (2) the actions performed on a specific
|
||
object or system resource; and (3) all, or a
|
||
specified set of, audited exceptions; and (4)
|
||
actions associated with a specific policy
|
||
attributes. The review tools shall be able to
|
||
operate concurrently with the system operation.
|
||
|
||
3.5 Access Control
|
||
|
||
Once the user has been granted access, the question of which
|
||
objects that authenticated user may access still remains. An
|
||
owner, or an authorized user, allows or denies to other users
|
||
access to that object. The requirements below describe subject
|
||
accesses to objects.
|
||
|
||
For the CS2 level, AC-2+ was assigned from the Federal
|
||
Criteria. This level is indicated as being AC-2+ because a
|
||
requirement was included from level AC-4 (the distribution,
|
||
revocation, and review of access control attributes rules).
|
||
This is indicated in the text by an "[AC-4]" in front of the
|
||
requirement.This component level was refined from the Federal
|
||
Criteria by specifying: a protected mechanism for groups; a
|
||
limitation on the changes an active subject can make to a
|
||
privileged user identifier; a definition of an access control
|
||
list; and minimum authorization rules.
|
||
|
||
AC-2+ Basic Access Control
|
||
|
||
1. Definition of Access Control Attributes
|
||
|
||
The TCB shall define and protect access control
|
||
attributes for subjects and objects. Subject
|
||
attributes shall include named individuals or
|
||
defined groups or both. Object attributes shall
|
||
include defined access rights (i.e., read, write,
|
||
execute) that can be assigned to subject
|
||
attributes.
|
||
|
||
The TCB shall be able to assign access rights to
|
||
group identities.
|
||
|
||
If multiple access control policies are supported,
|
||
the access control attributes corresponding to
|
||
each individual policy shall be identified.
|
||
|
||
The subject and/or object attributes shall
|
||
accurately reflect the sensitivity and integrity
|
||
of the subject or object.
|
||
|
||
2. Administration of Access Control Attributes
|
||
|
||
The TCB shall define and enforce rules for
|
||
assignment and modification of access control
|
||
attributes for subjects and objects.
|
||
|
||
The TCB shall provide a protected mechanism for
|
||
groups as follows:
|
||
|
||
a. A user identifier shall be able to be associated
|
||
with one or more groups.
|
||
|
||
b. The TCB shall provide a protected mechanism to
|
||
list the names of all groups.
|
||
|
||
c. The TCB shall provide a protected mechanism to
|
||
list the membership of any group.
|
||
|
||
Rules for maintaining group membership shall be
|
||
provided. These rules shall include those for
|
||
displaying and modifying the list of users
|
||
belonging to a group and the group attributes of
|
||
those users.
|
||
|
||
The effect of these rules shall be that access
|
||
permission to an object by users not already
|
||
possessing access permission is assigned only by
|
||
authorized users.
|
||
|
||
Only the current owner or system administrators
|
||
shall modify access control attributes on objects.
|
||
|
||
(a) There should be a distinct access right to
|
||
modify the contents of an object's access
|
||
control list (e.g., an "ownership" or
|
||
"control" access right). (A)
|
||
|
||
The TCB shall provide a protected mechanism to
|
||
modify group membership. The use of this mechanism
|
||
shall be under the control of system
|
||
administrators. Authority to modify specific group
|
||
membership may be delegated.
|
||
|
||
The TCB shall provide a protected mechanism by which
|
||
the user identifier associated with a subject
|
||
attribute can be changed while the subject is
|
||
active. It shall also provide a protected mechanism
|
||
for limiting the user identifiers that may change
|
||
to a user identifier that would provide any
|
||
additional access rights. The control of these
|
||
mechanisms shall be limited to system
|
||
administrators.
|
||
|
||
[AC-4]: These rules shall allow authorized users
|
||
to specify and control sharing of objects by named
|
||
individuals or defined groups of individuals, or
|
||
by both, and shall provide controls to limit
|
||
propagation of access rights, (i.e., these rules
|
||
shall define the distribution, revocation, and
|
||
review of access control attributes). The controls
|
||
defined by these rules shall be capable of
|
||
specifying for each named object, a list of
|
||
individuals and a list of groups of named
|
||
individuals, with their respective access rights
|
||
to that object. Furthermore, for each named
|
||
object, it shall be possible to specify a list of
|
||
named individuals and a list of groups of named
|
||
individuals for which no access to the object is
|
||
given. These controls shall be capable of
|
||
including or excluding access to the granularity
|
||
of a single user.
|
||
|
||
The rules for assignment and modification of
|
||
access control attributes shall include those for
|
||
attribute assignment to objects during import and
|
||
export operations. If different rules of
|
||
assignment and modification of access control
|
||
attributes apply to different subjects and/or
|
||
objects, the totality of these rules shall be
|
||
shown to support the defined policy.
|
||
|
||
3. Authorization of Subject References to Objects
|
||
|
||
The TCB shall define and enforce authorization
|
||
rules for the mediation of subject references to
|
||
objects. These rules shall be based on the access
|
||
control attributes of subjects and objects. These
|
||
rules shall, either by explicit user action or by
|
||
default, provide that objects are protected from
|
||
unauthorized access.
|
||
|
||
For each object, the authorization rules of the TCB
|
||
shall be based on a protected mechanism to specify
|
||
a list of user identifiers or groups with their
|
||
specific access rights to that object (i.e., an
|
||
access control list).
|
||
|
||
At a minimum, the authorization rules shall be
|
||
defined as follows:
|
||
|
||
a. The access rights associated with a user
|
||
identifier shall take precedence over the access
|
||
rights associated with any groups of which that
|
||
user identifier is a member.
|
||
|
||
b. When a user identifier can be an active member of
|
||
multiple groups simultaneously, or if the access
|
||
rights associated with the user identifier
|
||
conflict with the access rights associated with
|
||
any group in which the user is a member, it shall
|
||
be possible for an system administrator to
|
||
configure rules that combine the access rights to
|
||
make a final access control decision.
|
||
|
||
c. The TCB shall provide a protected mechanism to
|
||
specify default access rights for user
|
||
identifiers not otherwise specified either
|
||
explicitly by a user identifier or implicitly by
|
||
group membership.
|
||
|
||
The scope of the authorization rules shall include
|
||
a defined subset of the product's subjects and
|
||
objects and associated access control attributes.
|
||
The coverage of authorization rules shall specify
|
||
the types of objects and subjects to which these
|
||
rules apply. If different rules apply to different
|
||
subjects and objects, the totality of these rules
|
||
shall be shown to support the defined policy.
|
||
|
||
If multiple policies are supported, the
|
||
authorization rules for each policy shall be
|
||
defined separately. The TCB shall define and
|
||
enforce the composition of policies, including the
|
||
enforcement of the authorization rules (e.g.,
|
||
subject and object type coverage, enforcement
|
||
precedence).
|
||
|
||
4. Subject and Object Creation and Destruction
|
||
|
||
The TCB shall control the creation and destruction
|
||
of subjects and objects. These controls shall
|
||
include object reuse. That is, all authorizations
|
||
to the information contained within a storage
|
||
object shall be revoked prior to initial
|
||
assignment, allocation or reallocation to a
|
||
subject from the TCB's pool of unused storage
|
||
objects; information, including encrypted
|
||
representations of information, produced by a
|
||
prior subjects' actions shall be unavailable to
|
||
any subject that obtains access to an object that
|
||
has been released back to the system.
|
||
|
||
3.6 Security Management
|
||
|
||
The management of security attributes and configuration
|
||
parameters is an important aspect of a secure product.
|
||
Mechanisms have to be provided to easily maintain the product,
|
||
and they must be protected so that only system administrators
|
||
can manage the security aspects of the product.
|
||
|
||
For the CS2 level, SM-2 was assigned from the Federal
|
||
Criteria. This level was refined from the Federal Criteria by
|
||
specifying that sessions be terminated rather than locked. An
|
||
assignment was made for the definition and maintenance of
|
||
groups as a security policy attribute.
|
||
|
||
SM-2 Basic Security Management
|
||
|
||
1. The TCB shall provide an installation mechanism
|
||
for the setting and updating of its configuration
|
||
parameters, and for the initialization of its
|
||
protection-relevant data structures before any
|
||
user or administrator policy attributes are
|
||
defined. It shall allow the configuration of TCB
|
||
internal databases and tables.
|
||
|
||
The TCB shall distinguish between normal mode of
|
||
operation and maintenance mode, and shall provide
|
||
a maintenance-mode mechanism for recovery and
|
||
system start-up.
|
||
|
||
2. The TCB shall provide protected mechanisms for
|
||
displaying and modifying the security policy
|
||
parameters. These parameters shall include
|
||
identification, authentication, system entry and
|
||
access control parameters for the entire system
|
||
and for individual users.
|
||
|
||
The TCB shall have a capability to define the
|
||
identification and authentication policy on a
|
||
system-wide basis (e.g., password minimum and
|
||
maximum lifetime, password length and complexity
|
||
parameters). The TCB mechanisms shall have the
|
||
capability to limit: (1) maximum period of
|
||
interactive session inactivity, (2) maximum login
|
||
or session time, and (3) successive unsuccessful
|
||
attempts to log in to the system. In particular,
|
||
the TCB shall provide a protected mechanism to
|
||
specify that sessions be terminated rather than
|
||
locked after a period of inactivity. The control
|
||
of these mechanisms shall be limited to system
|
||
administrators.
|
||
|
||
3. The TCB shall provide protected mechanisms for
|
||
manually displaying, modifying, or deleting user
|
||
registration and account parameters. These
|
||
parameters shall include unique user identifiers,
|
||
their account, and their associated user name and
|
||
affiliation. The TCB shall allow the manual
|
||
enabling and disabling of user identities and/or
|
||
accounts.
|
||
|
||
The TCB shall provide a means to uniquely identify
|
||
security policy attributes. It shall also provide
|
||
a means of listing all these attributes for a
|
||
user, and all the users associated with an
|
||
attribute. It shall be capable of defining and
|
||
maintaining the security policy attributes for
|
||
subjects including: defining and maintaining
|
||
privileges for privileged subjects, discretionary
|
||
(i.e., definition and maintenance of groups) and
|
||
non-discretionary attributes and centralized
|
||
distribution, review and revocation of policy
|
||
attributes.
|
||
|
||
4. The TCB shall provide protected mechanisms for
|
||
routine control and maintenance of system
|
||
resources. It shall allow the enabling and
|
||
disabling of peripheral devices, mounting of
|
||
removable storage media, backing-up and recovering
|
||
user objects; maintaining the TCB hardware and
|
||
software elements (e.g., on site testing); and
|
||
starting and shutting down the system.
|
||
|
||
5. The use of the protected mechanisms for system
|
||
administration shall be limited to authorized
|
||
administrative users. The control of access-
|
||
control attributes shall be limited to the object
|
||
owner and to system administrators.
|
||
|
||
3.7 Reference Mediation
|
||
|
||
Reference mediation, that is, the control by the TCB of
|
||
subject accesses to objects, must be ensured so that the users
|
||
can have faith in the TCB's access control decisions. Also,
|
||
users must be ensured that all access to security services are
|
||
mediated by the TCB.
|
||
|
||
For the CS2 level, RM-1 was assigned from the Federal
|
||
Criteria. No refinements were made from the Federal Criteria.
|
||
|
||
RM-1 Mediation of References to a Defined Subject/Object
|
||
Subset
|
||
|
||
1. The TCB shall mediate all references to
|
||
subjects, objects, resources, and services (e.g.,
|
||
TCB functions) described in the TCB
|
||
specifications. The mediation shall ensure that
|
||
all references are directed to the appropriate
|
||
security-policy functions.
|
||
|
||
2. Reference mediation shall include references to
|
||
the defined subset of subjects, objects, and
|
||
resources protected under the TCB security policy,
|
||
and to their policy attributes (e.g., access
|
||
rights, security and/or integrity levels, role
|
||
identifiers).
|
||
|
||
3. References issued by privileged subjects shall
|
||
be mediated in accordance with the policy
|
||
attributes defined for those subjects.
|
||
|
||
3.8 Logical TCB Protection
|
||
|
||
TCB protection is a fundamental requirement for a secure
|
||
product. All of the security components and mechanisms that
|
||
have been described depend upon the integrity of the TCB and
|
||
on the TCB being isolated and non-circumventable. The TCB must
|
||
be resistant to outside penetration.
|
||
|
||
For the CS2 level, P-1 was assigned from the Federal
|
||
Criteria. No refinements were made from the Federal Criteria.
|
||
|
||
P-1 Basic TCB Isolation
|
||
|
||
The TCB shall maintain a domain for its own
|
||
execution that protects it from external
|
||
interference and tampering (e.g., by reading or
|
||
modification of its code and data structures). The
|
||
protection of the TCB shall provide TCB isolation
|
||
and noncircumventability of TCB isolation
|
||
functions as follows:
|
||
|
||
1. TCB Isolation requires that (1) the address
|
||
spaces of the TCB and those of unprivileged
|
||
subjects are separated such that users, or
|
||
unprivileged subjects operating on their behalf,
|
||
cannot read or modify TCB data structures or code,
|
||
(2) the transfers between TCB and non-TCB domains
|
||
are controlled such that arbitrary entry to or
|
||
return from the TCB are not possible; and (3) the
|
||
user or application parameters passed to the TCB
|
||
by addresses are validated with respect to the TCB
|
||
address space, and those passed by value are
|
||
validated with respect to the values expected by
|
||
the TCB.
|
||
|
||
2. Noncircumventability of TCB isolation
|
||
functions requires that the permission to objects
|
||
(and/or to non-TCB data) passed as parameters to
|
||
the TCB are validated with respect to the
|
||
permissions required by the TCB, and references to
|
||
TCB objects implementing TCB isolation functions
|
||
are mediated by the TCB.
|
||
|
||
3.9 TCB Self-Checking
|
||
|
||
Validating the correct operation of the TCB firmware and
|
||
hardware is an important aspect of guaranteeing the integrity
|
||
of the product. Hardware and software features that validate
|
||
the correct operation of the product will be delivered with
|
||
the product to ensure that the hardware and firmware are
|
||
installed properly and are in working order.
|
||
|
||
For the CS2 level, SC-2 was assigned from the Federal
|
||
Criteria.The Federal Criteria was refined to limit the
|
||
execution of operator-controlled tests to system
|
||
administrators.
|
||
|
||
SC-2 Basic Self Checking
|
||
|
||
Hardware and/or software features shall be
|
||
provided that can be used to periodically validate
|
||
the correct operation of the on-site hardware and
|
||
firmware elements of the TCB. These features shall
|
||
include: power-on tests, loadable tests, and
|
||
operator-controlled tests.
|
||
|
||
The power-on tests shall test all basic components
|
||
of the TCB hardware and firmware elements
|
||
including memory boards and memory
|
||
interconnections; data paths; busses; control
|
||
logic and processor registers; disk adapters;
|
||
communication ports; system consoles, and the
|
||
keyboard speaker. These tests shall cover all
|
||
components that are necessary to run the loadable
|
||
tests and the operator-controlled tests.
|
||
|
||
The loadable tests shall cover: processor
|
||
components (e.g., arithmetic and logic unit,
|
||
floating point unit, instruction decode buffers,
|
||
interrupt controllers, register transfer bus,
|
||
address translation buffer, cache, and processor-
|
||
to-memory bus controller); backplane busses;
|
||
memory controllers; and writable control memory
|
||
for operator-controlled and remote system-
|
||
integrity testing.
|
||
|
||
Operator-controlled tests shall be able to
|
||
initiate a series of one-time or repeated tests,
|
||
to log the results of these tests and, if any fault
|
||
is detected, to direct the integrity-test programs
|
||
to identify and isolate the failure. The execution
|
||
of operator-controlled tests shall be limited to
|
||
system administrators.
|
||
|
||
3.10 TCB Initialization and Recovery
|
||
|
||
The recovery and start-up of the TCB must be ensured so that
|
||
the product always remains in a secure state, whether the
|
||
recovery is performed manually or automatically.
|
||
|
||
For the CS2 level, TR-1 was assigned from the Federal
|
||
Criteria. No further refinements were made from the Federal
|
||
Criteria.
|
||
|
||
TR-2 Basic for Recovery or Start-up
|
||
|
||
1. Procedures and/or mechanisms shall be provided
|
||
to assure that, after a TCB failure or other
|
||
discontinuity, recovery without protection
|
||
compromise is obtained.
|
||
|
||
2. If automated recovery and start-up is not
|
||
possible, the TCB shall enter a state where the
|
||
only system access method is via administrative
|
||
interfaces, terminals, or procedures.
|
||
Administrative procedures shall exist to restore
|
||
the system to a secure state (i.e., a state in
|
||
which all the security-policy properties hold).
|
||
|
||
3.11 Privileged Operation
|
||
|
||
Privileges are associated with functional components so
|
||
that at any given time only those operations that are
|
||
associated with the privilege can be performed. The privileges
|
||
that a product needs must be identified and must cover all the
|
||
security aspects of the product, including the secure
|
||
administration of the product, and should be defined so that
|
||
there is not a single privileged mode for all of the TCB's
|
||
operations.
|
||
|
||
For the CS2 level, PO-1 was assigned from the Federal
|
||
Criteria. No refinements were made from the Federal Criteria.
|
||
|
||
PO-1 Privilege Association with TCB Modules
|
||
|
||
1. TCB privileges needed by individual functions,
|
||
or groups of functions, shall be identified.
|
||
Privileged TCB calls or access to privileged TCB
|
||
objects, such as user and group registration
|
||
files, password files, security and integrity-
|
||
level definition file, role definition file, or
|
||
audit-log file shall also be identified.
|
||
|
||
2. The identified privileged functions of a TCB
|
||
functional component shall be associated only with
|
||
the privileges necessary to complete their task.
|
||
|
||
3.12 Ease-of-TCB-Use
|
||
|
||
If security mechanisms are not easy to use and maintain,
|
||
then administrative and non-system administrators may be
|
||
tempted to disable the security mechanisms. Therefore, ease
|
||
of use becomes an important element in the administration of
|
||
a secure product and in the creation of privileged
|
||
applications. It also minimizes errors on the part of both the
|
||
administrative and non-system administrators, and can serve
|
||
to minimize the consequences of these errors.
|
||
|
||
For the CS2 level, EU-2 was assigned from the Federal
|
||
Criteria. No refinements were made from the Federal Criteria.
|
||
|
||
EU-2 Ease of Application Programming
|
||
|
||
1. The TCB shall provide well-defined actions to
|
||
undertake administrative functions. Default
|
||
options shall be provided for security parameters
|
||
of administrative functions.
|
||
|
||
The TCB shall include fail-safe defaults for the
|
||
policy attributes of the defined subjects and
|
||
objects, as well as user-setable defaults for the
|
||
defined subjects and objects.
|
||
|
||
2. The TCB shall provide well-defined application
|
||
programming interfaces and programming functions
|
||
(e.g., libraries) for all its policies to support
|
||
the development of applications that can define
|
||
and enforce security policies on application-
|
||
controlled subjects and objects. The TCB shall
|
||
enable user-controlled reduction of access rights
|
||
available to applications.
|
||
|
||
|
||
CS2 Assurance
|
||
|
||
4. Introduction
|
||
|
||
This chapter provides the CS2 development and evaluation
|
||
assurance requirements package using the development and
|
||
evaluation assurance components defined in Volume I and the
|
||
package contained in Volume I, Appendix G of the Federal
|
||
Criteria. The structure of each assurance package follows that
|
||
of the assurance components (i.e., each package consists of
|
||
development process, operational support, development
|
||
environment, development evidence, and evaluation process
|
||
components).
|
||
|
||
Assurance Package T2+
|
||
|
||
Assurance package T2+ was chosen for CS2. This package is
|
||
indicated as being TS2+ since an additional component was
|
||
included for flaw remediation and a higher level was chosen
|
||
for trusted generation. This basic assurance level is intended
|
||
to include most commercial computer products that are designed
|
||
to satisfy functional requirements. Although most development
|
||
assurance components are required at their lowest levels, the
|
||
requirements of several product-development components are
|
||
extended to capture (1) specific TCB properties, and (2) a
|
||
rudimentary notion of support for product structure. The
|
||
operational support component is also extended to enable
|
||
systematic flaw discovery, tracking, and repair.
|
||
|
||
The intent of the product development assurance for this
|
||
package is to establish that the external behavior of the
|
||
product conforms to its user level and administrative
|
||
documentation without analysis of the internal structure of
|
||
the product TCB. For this reason, only the claimed TCB
|
||
protection properties and their informal models, TCB
|
||
interface description, and TCB element list are required to
|
||
enable functional testing. Support for TCB structuring is
|
||
limited to process isolation and separation of the protection
|
||
critical TCB elements from the protection non-critical ones.
|
||
|
||
The intent of the operational support assurance for this
|
||
package is to establish a minimal level of user and
|
||
administrative guidance and product information that enables
|
||
the correct product installation and use of product security
|
||
features. Similarly, the development environment assurances
|
||
are intended to provide the a minimal level of control over
|
||
the product configuration and production. This level of
|
||
development environment assurance is similar to that already
|
||
present in most established commercial development
|
||
organizations.
|
||
|
||
The development evidence required for this package is
|
||
commensurate with the assurances required. The intent of this
|
||
package is to require the type of assurance evidence that is
|
||
generated during the normal commercial development process.
|
||
|
||
The intent of evaluation support assurance is to establish
|
||
that the product, and the context in which it is developed and
|
||
supported, is commensurate with the development assurance
|
||
requirements. At the T2+ level, testing analysis and the
|
||
requirement for independent testing determines whether the
|
||
product meets the functional protection requirements.
|
||
Operational support evaluation assurance determines whether
|
||
the product documentation correctly describes the security
|
||
relevant operations.
|
||
|
||
Also for CS2, flaw remediation was included in this
|
||
package. Flaw remediation is important for commercial
|
||
environments since it ensures that flaws (i.e, deficiencies
|
||
in a product that enables a user external to the TCB to violate
|
||
the functional requirements of a protection profile) that are
|
||
discovered by the product consumers will be tracked,
|
||
corrected, and disseminated to the affected customers.
|
||
|
||
The following table summarizes the generic assurance
|
||
components that comprise the Basic Development Assurance
|
||
Package (T2+).
|
||
|
||
CS2 Assurance Package Summary
|
||
.---------------------------------------.
|
||
| Assurance Components | T2+ |
|
||
|================================|======|
|
||
| Development Assurance Components |
|
||
|=======================================|
|
||
| Development Process |
|
||
|--------------------------------+------|
|
||
| TCB Property Definition | PD-2 |
|
||
|--------------------------------+------|
|
||
| TCB Design |
|
||
|--------------------------------+------|
|
||
| TCB Element Identification | ID-2 |
|
||
|--------------------------------+------|
|
||
| TCB Interface Definition | IF-1 |
|
||
|--------------------------------+------|
|
||
| TCB Modular Decomposition | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Structuring Support | SP-1 |
|
||
|--------------------------------+------|
|
||
| TCB Design Disciplines | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Implementation Support | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Testing and Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | FT-1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support |
|
||
|--------------------------------+------|
|
||
| User Security Guidance | UG-1 |
|
||
|--------------------------------+------|
|
||
| Administrative Guidance | AG-1 |
|
||
|--------------------------------+------|
|
||
| Flaw Remediation | FR-1 |
|
||
|--------------------------------+------|
|
||
| Trusted Generation | TG-2 |
|
||
|--------------------------------+------|
|
||
| Development Environment |
|
||
|--------------------------------+------|
|
||
| Life Cycle Definition | ---- |
|
||
|--------------------------------+------|
|
||
| Configuration Management | ---- |
|
||
|--------------------------------+------|
|
||
| Trusted Distribution | ---- |
|
||
|--------------------------------+------|
|
||
| Development Evidence |
|
||
|--------------------------------+------|
|
||
| TCB Protection Properties | EPP2 |
|
||
|--------------------------------+------|
|
||
| Product Development | EPD1 |
|
||
|--------------------------------+------|
|
||
| Product Testing & Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | EFT1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Product Support | EPS1 |
|
||
`---------------------------------------'
|
||
|=======================================|
|
||
| Evaluation Assurance Components |
|
||
|=======================================|
|
||
| Testing |
|
||
|--------------------------------+------|
|
||
| Test Analysis | TA-1 |
|
||
|--------------------------------+------|
|
||
| Independent Testing | IT-1 |
|
||
|--------------------------------+------|
|
||
| Review |
|
||
|--------------------------------+------|
|
||
| Development Environment | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support | OSR1 |
|
||
|--------------------------------+------|
|
||
| Analysis |
|
||
|--------------------------------+------|
|
||
| Protection Properties | ---- |
|
||
|--------------------------------+------|
|
||
| Design | ---- |
|
||
|--------------------------------+------|
|
||
| Implementation | ---- |
|
||
`---------------------------------------'
|
||
|
||
|
||
4.1 TCB Property Definition
|
||
|
||
The definition of TCB properties assures the consistency of
|
||
the TCB's behavior. It determines a baseline set of properties
|
||
that can be used by system developers and evaluators to assure
|
||
that the TCB satisfies the defined functional requirements.
|
||
|
||
For CS2, PD-2 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
PD-2 Informal Property Identification
|
||
|
||
The developer shall provide informal models for
|
||
the functional components and sub-components of
|
||
the profile. At a minimum, an informal model of
|
||
the access control components shall be provided.
|
||
Each informal model shall include (abstract) data
|
||
structures and operations defining each functional
|
||
component or sub-component, and a description of
|
||
the model properties. The developer shall
|
||
interpret (e.g., trace) the informal models within
|
||
the product TCB. For each model entity, the
|
||
developer shall: (1) identify the TCB elements and
|
||
their TCB interfaces (if any) that implement that
|
||
entity; (2) define the operation of these TCB
|
||
elements, and (3) explain why the operation of
|
||
these elements is consistent with the model
|
||
properties. The developer's interpretation of each
|
||
informal model, which defines the TCB properties,
|
||
shall identify all TCB elements that do not
|
||
correspond to any model entity and shall explain
|
||
why these elements do not render the TCB
|
||
properties invalid.
|
||
|
||
For the components that are not informally
|
||
modeled, the developer shall interpret the
|
||
functional requirements of the protection profile
|
||
within the product TCB. For each functional
|
||
requirement, the developer shall: (1) identify the
|
||
TCB elements and their TCB interfaces (if any)
|
||
that implement that requirement; (2) describe the
|
||
operation of these TCB elements, and (3) explain
|
||
why the operation of these elements is consistent
|
||
with the functional requirement. The developer's
|
||
interpretation of each functional requirement,
|
||
which describes the TCB properties, shall identify
|
||
all TCB elements that do not correspond to any
|
||
functional requirement and shall explain why these
|
||
elements do not render the TCB properties invalid.
|
||
|
||
4.2 TCB Element Identification
|
||
|
||
The identification of TCB elements (hardware, firmware,
|
||
software, code, and data structures) provides the set of
|
||
elements that determine the protection characteristics of a
|
||
product. All assurance methods rely on the correct
|
||
identification of TCB elements either directly or indirectly.
|
||
|
||
For CS2, ID-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
ID-1: TCB Element Identification
|
||
|
||
The developer shall identify the TCB elements
|
||
(i.e., software, hardware/firmware code and data
|
||
structures). Each element must be unambiguously
|
||
identified by its name, type, release, and version
|
||
number (if any).
|
||
|
||
4.3 TCB Interface Definition
|
||
|
||
The TCB interface establishes the boundary between the TCB
|
||
and its external users and application programs. It consists
|
||
of several components, such as command interfaces (i.e., user
|
||
oriented devices such as the keyboard and mouse), application
|
||
program interfaces (system calls), and machine/processor
|
||
interfaces (processor instructions).
|
||
|
||
For CS2, IF-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
IF-1: Interface Description
|
||
|
||
The developer shall describe all external (e.g.,
|
||
command, software, and I/O) administrative (i.e.,
|
||
privileged) and non-administrative interfaces to
|
||
the TCB. The description shall include those
|
||
components of the TCB that are implemented as
|
||
hardware and/or firmware if their properties are
|
||
visible at the TCB interface.
|
||
|
||
The developer shall identify all call conventions
|
||
(e.g., parameter order, call sequence
|
||
requirements) and exceptions signaled at the TCB
|
||
interface.
|
||
|
||
4.4 TCB Structuring Support
|
||
|
||
Structuring the TCB into modules is necessary. However, the
|
||
modular decomposition does not necessarily reflect the run-
|
||
time enforcement of the TCB structuring since the separation
|
||
of modules may not necessarily be supported by run-time
|
||
mechanisms. The run-time enforcement of internal TCB
|
||
structuring adds a measure of assurance that the TCB elements
|
||
that are critical to the enforcement of the protection
|
||
functions are separate from the non-critical elements. Also,
|
||
the use of run-time enforcement of TCB structuring helps
|
||
separate protection-critical TCB elements from each other,
|
||
thereby helping to enforce the separation of protection
|
||
concerns and minimizing the common mechanisms shared between
|
||
protection critical elements.
|
||
|
||
For CS3, SP-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
SP-1: Process Isolation
|
||
|
||
The TCB shall maintain process isolation.
|
||
|
||
4.5 Developer Functional Testing
|
||
|
||
Functional testing establishes that the TCB interface
|
||
exhibits the properties necessary to satisfy the requirements
|
||
of the protection profile. It provides assurance that the TCB
|
||
satisfies at least its functional protection requirements.
|
||
|
||
For CS2, FT-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
FT-1: Conformance Testing
|
||
|
||
The developer shall test the TCB interface to show
|
||
that all claimed protection functions work as
|
||
stated in the TCB interface description.
|
||
|
||
The developer shall correct all flaws discovered
|
||
by testing and shall retest the TCB until the
|
||
protection functions are shown to work as claimed.
|
||
|
||
4.6 User's Guidance
|
||
|
||
User's guidance is an operational support assurance
|
||
component that ensures that usage constraints assumed by the
|
||
protection profile are understood by the users of the product.
|
||
It is the primary means available for providing product users
|
||
with the necessary background and specific information on how
|
||
to correctly use the product's protection functionality.
|
||
|
||
For CS2, UG-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
UG-1: Users' Guide
|
||
|
||
The developer shall provide a Users' Guide which
|
||
describes all protection services provided and
|
||
enforced by the TCB. The User's Guide shall
|
||
describe the interaction between these services
|
||
and provide examples of their use. The User's
|
||
Guide may be in the form of a summary, chapter or
|
||
manual. The User's Guide shall specifically
|
||
describe user responsibilities. These shall
|
||
encompass any user responsibilities identified in
|
||
the protection profile.
|
||
|
||
4.7 Administrative Guidance
|
||
|
||
Administrative guidance is an operation support assurance
|
||
component that ensures that the environmental constraints
|
||
assumed by the protection profile are understood by
|
||
administrative users and operators of the IT product. It is
|
||
the primary means available to the developer for providing to
|
||
administrators and operators detailed, accurate information
|
||
on how to configure and install the product, operate the IT
|
||
product is a secure manner, make effective use of the
|
||
product's privileges and protection mechanisms to control
|
||
access to administrative functions and data bases, and to
|
||
avoid pitfalls and improper use of the administrative
|
||
functions that would compromise the TCB and user security.
|
||
|
||
For CS2, AG-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
AG-1: Basic Administrative Guidance
|
||
|
||
The developer shall provide a Trusted Facility
|
||
Manual intended for the product administrators
|
||
that describes how to use the TCB security
|
||
services (e.g., Access Control, System Entry, or
|
||
Audit) to enforce a system security policy. The
|
||
Trusted Facility Manual shall include the
|
||
procedures for securely configuring, starting,
|
||
maintaining, and halting the TCB. The Trusted
|
||
Facility Manual shall explain how to analyze audit
|
||
data generated by the TCB to identify and document
|
||
user and administrator violations of this policy.
|
||
The Trusted Facility Manual shall explain the
|
||
privileges and functions of administrators. The
|
||
Trusted Facility Manual shall describe the
|
||
administrative interaction between security
|
||
services.
|
||
|
||
The Trusted Facility Manual shall be distinct from
|
||
User Guidance, and encompass any administrative
|
||
responsibilities identified in security
|
||
management.
|
||
|
||
4.8 Flaw Remediation Procedures
|
||
|
||
Flaw remediation is an operational support assurance
|
||
component that ensures that flaws (i.e, deficiencies in a
|
||
product that enables a user external to the TCB to violate the
|
||
functional requirements of a protection profile) that are
|
||
discovered by the product consumers will be tracked,
|
||
corrected, and disseminated to the affected customers.
|
||
|
||
For CS2, FR-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
FR-1: Basic Flaw Remediation
|
||
|
||
Flaw Tracking Procedures: The developer shall
|
||
establish a procedure to track all reported
|
||
protection flaws in each release of the product.
|
||
The tracking system shall include a description of
|
||
the nature and effect of each flaw and the status
|
||
of finding a correction to the flaw.
|
||
|
||
Flaw Repair Procedures: The developer shall
|
||
establish a procedure to identify corrective
|
||
actions for protection flaws.
|
||
|
||
Customer Interaction Procedures: The developer
|
||
shall provide flaw information and corrections to
|
||
registered customers.
|
||
|
||
4.9 Trusted Generation
|
||
|
||
Trusted generation is an operational support assurance
|
||
component that ensures that the copy of the product's TCB that
|
||
is configured and activated by the consumer exhibits the same
|
||
protection properties as the master copy of the product's TCB
|
||
that was evaluated for compliance with the protection profile.
|
||
The trusted generation procedures must provide some
|
||
confidence that the consumer will be aware of what product
|
||
configuration parameters can affect the protection properties
|
||
of the TCB. The procedures must encourage the consumer to
|
||
choose parameter settings that are within the bounds assumed
|
||
during the product evaluation.
|
||
|
||
For CS2, TG-2 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
TG-2: Trusted Generation With Fail-Safe Defaults
|
||
|
||
The developer shall establish and document the
|
||
procedures that a customer must perform to
|
||
generate an operational TCB from the delivered
|
||
copy of the master TCB. The customer documentation
|
||
shall identify any system parameters, which are
|
||
initialized or set during system generation, that
|
||
affect the TCB's conformance to the protection
|
||
profile and state the acceptable ranges of values
|
||
for those parameters. The product shall be
|
||
delivered with each of these parameters set to its
|
||
fail-safe defaults.
|
||
|
||
4.10 Evidence of TCB Protection Properties
|
||
|
||
The documentation of the TCB protection properties includes
|
||
the definition of the functional component requirements,
|
||
their modeling (if any), and their interpretation within a
|
||
product's TCB. For each requirement of a protection profile,
|
||
a description, definition (an informal, descriptive
|
||
specification), or a formal specification of the TCB
|
||
components and their operation corresponding to the
|
||
requirement must be provided.
|
||
|
||
For CS2, EPP-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EPP-1 Evidence of TCB Correspondence to the Functional
|
||
Requirements
|
||
|
||
The developer shall provide documentation which
|
||
describes the correspondence between the
|
||
functional component requirements and the TCB
|
||
elements and interfaces. The TCB properties, which
|
||
are defined by this correspondence, shall be
|
||
explained in this documentation.
|
||
|
||
4.11 Evidence of Product Development
|
||
|
||
Product development evidence consists of the TCB design
|
||
evidence including the documentation of the TCB interface, TCB
|
||
elements, TCB structure, TCB structuring support, and TCB
|
||
design disciplines. The TCB implementation evidence includes
|
||
TCB source code, and the processor hardware and firmware
|
||
specifications.
|
||
|
||
For CS2, EPD-2 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EPD-2: Description Of The TCB External Interface
|
||
|
||
The developer shall provide documentation which
|
||
describes the correspondence between the
|
||
functional component requirements and the TCB
|
||
elements and interfaces. The developer shall also
|
||
provide an informal access control model and its
|
||
interpretation within the TCB. The TCB properties,
|
||
which are defined by this correspondence, shall be
|
||
explained in this documentation.
|
||
|
||
4.12 Evidence of Functional Testing
|
||
|
||
Functional testing evidence includes the testing itself,
|
||
the test plans, and test documentation results. Test plans
|
||
consist of: the description definition or specification of the
|
||
test conditions; the test data, which consists of the test
|
||
environment set-up; the test parameters and expected
|
||
outcomes; and a description of the test coverage.
|
||
|
||
For CS2, EFT-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EFT-1: Evidence of Conformance Testing
|
||
|
||
The developer shall provide evidence of the
|
||
functional testing that includes the test plan,
|
||
the test procedures and the results of the
|
||
functional testing.
|
||
|
||
4.13 Evidence of Product Support
|
||
|
||
Product support evidence consists of the development
|
||
environment and operational support documentation and tools.
|
||
The development environment evidence includes the
|
||
documentation of the product life-cycle process,
|
||
configuration management procedures enforced, and the trusted
|
||
distribution mechanisms and procedures used. It also
|
||
includes: the identification of the tools used in the product
|
||
development, configuration management, and trusted
|
||
distribution; and the characteristics that make those tools
|
||
suitable for the development of product protection.
|
||
|
||
For CS2, EPS-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EPS-1: Evidence of Basic Product Support
|
||
|
||
The developer shall provide evidence that
|
||
describes the policies, procedures, and plans
|
||
established by the developer to satisfy the
|
||
Operational Support and Development Environment
|
||
requirements of the protection profile.
|
||
|
||
4.14 Test Analysis
|
||
|
||
Test analysis determines whether the product meets the
|
||
functional protection requirements defined in the protection
|
||
profile. Functional testing is based on operational product,
|
||
the TCB's functional properties, the product's operational
|
||
support guidance, and other producer's documentation as
|
||
defined by the development evidence requirements. Functional
|
||
test analysis is based on the achieved test results as
|
||
compared to the expected results derived from the development
|
||
evidence.
|
||
|
||
For CS2, TA-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
TA-1: Elementary Test Analysis
|
||
|
||
The evaluator shall assess whether the producer
|
||
has performed the activities defined in the
|
||
development assurance requirements of the
|
||
protection profile for functional testing and
|
||
whether the producer has documented these
|
||
activities as defined in the development evidence
|
||
requirements of the protection profile. The
|
||
evaluator shall analyze the results of the
|
||
producer's testing activities for completeness of
|
||
coverage and consistency of results. The evaluator
|
||
shall determine whether the product's protection
|
||
properties, as described in the product
|
||
documentation have been tested. The evaluator
|
||
shall assess testing results to determine whether
|
||
the product's TCB works as claimed.
|
||
|
||
4.15 Independent Testing
|
||
|
||
Independent testing determines whether the product's TCB
|
||
meets the functional protection requirements as defined in the
|
||
functionality chapter of this Protection Profile. Testing is
|
||
based on the operational product, the TCB's functional
|
||
properties, the product's operational support guidance, and
|
||
other producer's documentation as defined by the Development
|
||
Evidence requirements.
|
||
|
||
For CS2, IT-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
IT-1: Elementary Independent Testing
|
||
|
||
A tester, independent of the producer or
|
||
evaluator, shall perform functional and elementary
|
||
penetration testing. This testing shall be based
|
||
on the product's user and administrative
|
||
documentation, and on relevant known penetration
|
||
flaws. Satisfactory completion consists of
|
||
demonstrating that all user-visible security
|
||
enforcing functions and security-relevant
|
||
functions work as described in the product's user
|
||
and administrative documentation and that no
|
||
discrepancies exist between the documentation and
|
||
the product. Test results of the producer shall be
|
||
confirmed by the results of independent testing.
|
||
The evaluator may selectively reconfirm any test
|
||
result.
|
||
|
||
If the independent testing is performed at beta-
|
||
test sites, the producer shall supply the beta-
|
||
test plan and the test results. The evaluator
|
||
shall review the scope and depth of beta testing
|
||
with respect to the required protection
|
||
functionality, and shall verify independence of
|
||
both the test sites and the producer's and beta-
|
||
test user's test results. The evaluator shall
|
||
confirm that the test environment of the beta-test
|
||
site(s) adequately represents the environment
|
||
specified in the protection profile.
|
||
|
||
4.16 Operational Support Review
|
||
|
||
Operation support review establishes the level of review
|
||
required to determine whether the product meets the
|
||
requirements as defined in the protection profile's
|
||
Development Assurance subsections for Operational Support
|
||
including, at the CS2 level, the User and Administrative
|
||
Guidance documents.
|
||
|
||
For CS2, OSR-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
OSR-1 Elementary Operational Support Review
|
||
|
||
The evaluator shall review all documentation
|
||
focused on the activities of product use (e.g.,
|
||
Users Manuals) and product administration
|
||
including installation, operation, maintenance,
|
||
and trusted recovery (e.g., Trusted Facility
|
||
Management Manuals). This review shall assess the
|
||
clarity of presentation, difficulty in locating
|
||
topics of interest, ease of understanding, and
|
||
completeness of coverage. The need for separate
|
||
manuals dedicated to protection-relevant aspects
|
||
of the product should be assessed for
|
||
effectiveness.
|
||
|
||
COMMERCIAL SECURITY 3 (CS3)
|
||
|
||
CS3 compliant products provide enhanced protection
|
||
beyond those of the CS1 and CS2 Protection Profiles
|
||
by providing administrative and access control
|
||
features to centrally control access to information
|
||
and other resources based on roles. Through the use
|
||
of role based access controls, a variety of
|
||
organization specific non-discretionary integrity
|
||
and confidentiality policies can be specified and
|
||
enforced. In addition, CS3 provides stronger
|
||
authentication measures, more administrative tools,
|
||
and requires a greater degree of assurance
|
||
evidence.
|
||
|
||
|
||
|
||
CS3 Functional Component Summary
|
||
.------------------------------------------------------.
|
||
| | Component | |
|
||
| Component Name | Code | Level |
|
||
|======================================================|
|
||
| Security Policy Support: |
|
||
|----------------------------------+-----------+-------|
|
||
| Identification & Authentication | I&A | 4 |
|
||
|----------------------------------+-----------+-------|
|
||
| System Entry | SE | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| Trusted Path | TP | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Audit | AD | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| Access Control | AC | 2+ |
|
||
|----------------------------------+-----------+-------|
|
||
| Availability: |
|
||
|----------------------------------+-----------+-------|
|
||
| Resource Allocation | AR | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Security Management | SM | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| Reference Mediation | RM | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| TCB Protection | P | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Physical Protection | PP | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Self Checking | SC | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| TCB Initialization & Recovery | TR | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| Privileged Operations | PO | 2 |
|
||
|----------------------------------+-----------+-------|
|
||
| Ease-of-Use | EU | 3 |
|
||
`------------------------------------------------------'
|
||
|
||
CS3 Assurance Package Summary
|
||
.---------------------------------------.
|
||
| Assurance Components | T3+ |
|
||
|================================|======|
|
||
| Development Assurance Components |
|
||
|=======================================|
|
||
| Development Process |
|
||
|--------------------------------+------|
|
||
| TCB Property Definition | PD-2 |
|
||
|--------------------------------+------|
|
||
| TCB Design |
|
||
|--------------------------------+------|
|
||
| TCB Element Identification | ID-2 |
|
||
|--------------------------------+------|
|
||
| TCB Interface Definition | IF-1 |
|
||
|--------------------------------+------|
|
||
| TCB Modular Decomposition | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Structuring Support | SP-1 |
|
||
|--------------------------------+------|
|
||
| TCB Design Disciplines | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Implementation Support | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Testing and Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | FT-1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | PA-1 |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support |
|
||
|--------------------------------+------|
|
||
| User Security Guidance | UG-1 |
|
||
|--------------------------------+------|
|
||
| Administrative Guidance | AG-2+|
|
||
|--------------------------------+------|
|
||
| Flaw Remediation | FR-2 |
|
||
|--------------------------------+------|
|
||
| Trusted Generation | TG-2 |
|
||
|--------------------------------+------|
|
||
| Development Environment |
|
||
|--------------------------------+------|
|
||
| Life Cycle Definition | LC-1 |
|
||
|--------------------------------+------|
|
||
| Configuration Management | CM-1 |
|
||
|--------------------------------+------|
|
||
| Trusted Distribution | ---- |
|
||
|--------------------------------+------|
|
||
| Development Evidence |
|
||
|--------------------------------+------|
|
||
| TCB Protection Properties | EPP2 |
|
||
|--------------------------------+------|
|
||
| Product Development | EPD1 |
|
||
|--------------------------------+------|
|
||
| Product Testing & Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | EFT1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | EPA1 |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Product Support | EPS1 |
|
||
`---------------------------------------'
|
||
|=======================================|
|
||
| Evaluation Assurance Components |
|
||
|=======================================|
|
||
| Testing |
|
||
|--------------------------------+------|
|
||
| Test Analysis | TA-2 |
|
||
|--------------------------------+------|
|
||
| Independent Testing | IT-1 |
|
||
|--------------------------------+------|
|
||
| Review |
|
||
|--------------------------------+------|
|
||
| Development Environment | DER1 |
|
||
|--------------------------------+------|
|
||
| Operational Support | OSR1 |
|
||
|--------------------------------+------|
|
||
| Analysis |
|
||
|--------------------------------+------|
|
||
| Protection Properties | ---- |
|
||
|--------------------------------+------|
|
||
| Design | DA-1 |
|
||
|--------------------------------+------|
|
||
| Implementation | ---- |
|
||
`---------------------------------------'
|
||
|
||
CS3 Rationale
|
||
|
||
2.17 Introduction
|
||
|
||
As outlined in the Federal Criteria, this rationale
|
||
describes the protection philosophy, how the security
|
||
features are intended to be used, the assumptions about the
|
||
environment in which a compliant product is intended to
|
||
operate, the threats within that environment, and the security
|
||
features and assurances that counter these threats. At the CS3
|
||
level, the features used to counter threats and the strength
|
||
of the assurance evidence is enhanced over CS1 and CS2 and is
|
||
indicated in the text through bold italics.
|
||
|
||
2.17.1 Protection Philosophy
|
||
|
||
Any discussion of protection necessarily starts from a
|
||
protection philosophy, i.e., what it really means to call the
|
||
product "secure." In general, products will control access to
|
||
information and other resources through the use of specific
|
||
security features so that only properly authorized
|
||
individuals or processes acting on their behalf will be
|
||
granted access. For CS1, four fundamental requirements are
|
||
derived for this statement of protection:
|
||
|
||
o Access authorization
|
||
|
||
o Accountability
|
||
|
||
o Assurance
|
||
|
||
o Availability of Service
|
||
|
||
The totality of the functionality that enforces the access
|
||
authorization and accountability protection philosophy is
|
||
comprised of the hardware, software, and firmware of the
|
||
Trusted Computing Base (TCB). CS3 requires the TCB to be self-
|
||
protecting and resistant to bypass so that it is effective at
|
||
countering identified threats. CS3 also requires effective
|
||
management of security attributes and configuration
|
||
parameters. The assurance protection philosophy is comprised
|
||
of the development process, operational support, development
|
||
environment, development evidence, and evaluation process
|
||
assurances. Each of these are explained below.
|
||
|
||
2.17.1.1 Access Authorization
|
||
|
||
The access authorization portion of the philosophy of
|
||
protection for this profile addresses subject and object
|
||
access mediation. For CS3 compliant products, access
|
||
authorization has been further refined to include system
|
||
entry, subject and object mediation based on system entry,
|
||
subject and object mediation based on role identifiers, and
|
||
privileged operations.
|
||
|
||
2.17.1.1.1 System Entry
|
||
|
||
CS3 provides the capability for an system administrator to
|
||
establish, maintain, and protect information from
|
||
unauthorized access, and defines the identities of and
|
||
conditions under which users may gain entry into the system.
|
||
These system entry controls are based on user identification,
|
||
role membership, time, location, and method of entry. CS3
|
||
strengthens the requirement for locking interactive sessions
|
||
by requiring the display device to be cleared or overwritten
|
||
to make the current contents of the screen unreadable.
|
||
|
||
2.17.1.1.2 Subject and Object Access Mediation
|
||
|
||
CS1 and CS2 provide protected access to resources and
|
||
objects. CS3 compliant products also provide the capability
|
||
of specifying and enforcing access control decisions based on
|
||
roles [12][13]. In many organizations, the end users do not
|
||
"own" the information and the programs for which they are
|
||
allowed access. For these organizations, the corporation or
|
||
agency is the actual "owner" of the system objects as well as
|
||
the programs that process them. Control is often based on
|
||
employee functions rather than on ownership.
|
||
|
||
Access control decisions are often determined by the roles
|
||
individual users take on as part of an organization. The
|
||
definition of a role includes the specification of duties,
|
||
responsibilities, and qualifications. For example, the roles
|
||
an individual associated with a hospital can assume include
|
||
doctor, nurse, clinician, and pharmacist. Roles in a bank
|
||
include teller, loan officer, and accountant. Roles can also
|
||
apply to military systems; for example, target analyst,
|
||
situation analyst, and traffic analyst are common roles in
|
||
tactical systems. A Role Based Access Control (RBAC) policy
|
||
bases access control decisions on the functions a user is
|
||
allowed to perform within an organization. Under this policy,
|
||
the users cannot pass access permissions to other users at
|
||
their discretion.
|
||
|
||
For each role, a set of transactions associated with the
|
||
role is maintained. A transaction can be thought of as a
|
||
transformation procedure [12] (a program or a portion of a
|
||
program) plus a set of associated data items. In addition,
|
||
each role has an associated set of individual members.
|
||
|
||
The determination of membership and the allocation of
|
||
transactions to a role is in compliance with organization
|
||
specific non-discretionary policies. These policies can be
|
||
derived from existing laws, ethics, regulations, or generally
|
||
accepted practices. These policies are non-discretionary in
|
||
the sense that they are unavoidably imposed on all users.
|
||
|
||
For subject and object access mediation, CS3 also provides
|
||
for additional time and location access control attributes.
|
||
At a minimum, these attributes include the user's port of
|
||
entry.
|
||
|
||
2.17.1.1.3 Privileges
|
||
|
||
CS3 supports and promotes the separation and use of
|
||
privileges for TCB modules. A privilege enables a subject to
|
||
perform a security relevant operation that, by default, is
|
||
denied. Privileges cover all security aspects of a product,
|
||
including TCB operations performed by system administrators.
|
||
CS3 compliant products have tightly controlled privilege
|
||
definitions as well as control over subjects that hold
|
||
privileges.
|
||
|
||
2.17.1.2 Accountability
|
||
|
||
The accountability portion of the philosophy of protection
|
||
for this profile addresses user identification and
|
||
authentication (I&A), requirements for security auditing, and
|
||
a Trusted Path between a user and the operating system. Each
|
||
of these are explained below.
|
||
|
||
2.17.1.2.1 Identification and Authentication
|
||
|
||
User identification is required to support access control
|
||
and security auditing. This includes the capability to
|
||
establish, maintain, and protect a unique identifier for each
|
||
authorized user. User identification is functionally
|
||
dependent on authentication. Authentication is a method of
|
||
validating a person as a legitimate user.
|
||
|
||
User authentication in most computer systems has been
|
||
provided primarily through the use of passwords. CS2 supports
|
||
a variety of password features that give the product a great
|
||
amount of flexibility in the generation of passwords, in
|
||
password security, password features, and password
|
||
administration. For most products, a great deal of confidence
|
||
is placed on maintaining the privacy of passwords belonging
|
||
to individuals. I&A prevents unauthorized individuals from
|
||
logging into the product, therefore, password management is
|
||
essential to secure product operations. The risk of losing a
|
||
password is addressed within CS2 through promoting the use of
|
||
stringent password management practices.
|
||
|
||
In addition, CS2 allows for stronger authentication
|
||
approaches. CS2 specifies that a unique identifier be
|
||
associated with each trusted subject such as print spoolers,
|
||
database management system services, and transaction
|
||
processing monitors. It also requires the TCB to maintain,
|
||
protect, and display status information for all active users
|
||
and all enabled or disabled user identities or accounts.
|
||
|
||
CS3 also provides for stronger authentication mechanisms
|
||
for those commercial and government environments that need
|
||
such assurance, such as law enforcement agencies, nuclear
|
||
facilities, and commercial airports. These other approaches
|
||
can be categorized as "something a user is," which can be
|
||
indicated through the use of a unique characteristic that a
|
||
person possesses, or "something a user has," such as a smart
|
||
card. For example, biometrics is a "something you are"
|
||
approach for identifying individuals through the use of a
|
||
unique physical characteristic associated with a person such
|
||
as a fingerprint or a retina pattern. In many respects, the
|
||
biometrics approach to user identification is a cleaner and
|
||
more secure approach than a password mechanism. This method
|
||
eliminates the concern over the compromise of a password.
|
||
However, while biometric devices are currently available,
|
||
their expense makes them impractical for most applications.
|
||
"Something a user has" requires a physical device that users
|
||
must have in their possession at authentication time. Usually,
|
||
these devices require the user to enter a Personal
|
||
Identification Number (PIN) in case the device is lost or
|
||
stolen.
|
||
|
||
2.17.1.2.2 Audit
|
||
|
||
For most secure products, a capability must exist to audit
|
||
the security relevant events. As each user performs security
|
||
relevant tasks, the product must record the user identifier,
|
||
the action performed, and the result in a security log. For
|
||
CS31compliant products, a capability is specified to allow a
|
||
system administrator to access and evaluate audit
|
||
information. This capability provides a method of protection
|
||
in the sense that all security relevant events that occur
|
||
within a computer system can be logged and the responsible
|
||
user held accountable for his/her actions. Audit trails are
|
||
used to detect and deter penetration of a computer system and
|
||
to reveal activity that identifies misuse.
|
||
|
||
CS3 provides for an effective audit mechanism by supporting
|
||
the following basic security characteristics. It provides the
|
||
ability to:
|
||
|
||
o review the use of I&A mechanisms;
|
||
|
||
o discover the introduction of objects into a user's
|
||
address space;
|
||
|
||
o discover the deletion of objects;
|
||
|
||
o discover actions taken by computer operators and
|
||
system administrators;
|
||
|
||
o audit attempts to violate resource allocation limits;
|
||
|
||
o protect the audit data so that access to it is limited
|
||
to system administrators that are authorized to
|
||
examine audit information;
|
||
|
||
o discover the use of privileges, such as changing the
|
||
ownership of an object;
|
||
|
||
o have the audit mechanism act as a deterrent against
|
||
penetrators or hackers; and
|
||
|
||
o to use audit reduction tools for assessing the damage
|
||
that may result in the event of a violation of the
|
||
implemented security policy. These tools have the
|
||
capability of selectively reviewing the actions of one
|
||
or more users or roles, actions performed on a
|
||
specific object or system resource, and actions
|
||
associated with specific access control attributes.
|
||
|
||
2.17.1.3 Availability of Service
|
||
|
||
CS3 promotes the continuous accessibility and usability of
|
||
resources. The TCB provides the capability to detect and
|
||
recover from discontinuity of service using some combination
|
||
of automatic and procedural techniques. Also, resource
|
||
allocation requirements replace restrictions on the number of
|
||
subjects and objects a user may have allocated at any given
|
||
time. This prevents one individual user from denying access
|
||
to another user's subject and object space.
|
||
|
||
2.17.1.4 Assurance
|
||
|
||
Assurance addresses all areas of product development
|
||
assurance and evaluation assurance. The Development assurance
|
||
addresses the development process, operational support, the
|
||
development environment, and the development evidence.
|
||
Development process assurance defines the additional efforts
|
||
that a developer must undertake to satisfy the assurance
|
||
objectives while creating the product. It specifies how the
|
||
TCB should be designed and supported by the implementation as
|
||
well as how it should be tested. Operational support assurance
|
||
defines the documentation of the security features for both
|
||
administrative and non-administrative users as well as
|
||
requirements for TCB flaw remediation and TCB generation.
|
||
Development environment assurance includes requirements for
|
||
defining the product's life cycle and specific features for
|
||
configuration management. Development evidence assurance
|
||
defines the TCB's protection properties, details the
|
||
requirements for product testing and analysis, and defines the
|
||
requirements for product support. Evaluation assurance
|
||
establishes that the product, and the context in which it is
|
||
developed and supported, is commensurate with the development
|
||
assurance requirements.
|
||
|
||
The T3+ Assurance Package was chosen for CS3. This package
|
||
is indicated as being TS3+ since an additional component was
|
||
included for flaw remediation. This enhanced assurance level
|
||
is intended to include the best of the commercial computer
|
||
products designed to satisfy functional requirements. As
|
||
such, this package includes several extensions to the
|
||
assurance components of the previous two packages.
|
||
|
||
The intent of product development assurance for this
|
||
package is both to establish that the external behavior of the
|
||
product conforms to its user level and administrative
|
||
documentation and to provide visibility into the internal
|
||
structure of the product's TCB. For this reason, requirements
|
||
for Descriptive Interface Specifications (DIS) and modular
|
||
decomposition have been added. TCB element identification and
|
||
security functional testing have also been extended and
|
||
penetration testing requirements have been provided to
|
||
support the added assurances of external behavior.
|
||
|
||
The intent of the operational support assurance for this
|
||
package is to establish a level of user and administrative
|
||
guidance and product information that enables the correct
|
||
product installation and the use of product security features.
|
||
The developer is required to establish and document a policy
|
||
for responding to customer inquiries and flaw remediation.
|
||
Similarly, the development environment assurances are
|
||
intended to provide a level of control over the product
|
||
configuration and production, including well-defined coding
|
||
standards and strict configuration management processes. This
|
||
level of development environment assurance is similar to that
|
||
used in the most advanced commercial development
|
||
organizations.
|
||
|
||
The development evidence required for this package is
|
||
commensurate with the assurances required. The intent of this
|
||
package is to require the type of assurance evidence that is
|
||
generated during commercial development oriented towards of
|
||
high-quality products.
|
||
|
||
At the T3+ level, evaluation support assurance determines
|
||
whether the product meets the functional requirements for
|
||
testing analysis and for independent testing. Operational
|
||
support evaluation assurance determines whether the product
|
||
documentation correctly describes the security relevant
|
||
operations. Development environment assurance determines
|
||
whether the product meets the requirements as defined in the
|
||
Protection Profile's development assurance subsections.
|
||
Design assurance determines whether the product meets the
|
||
design requirements as defined in the Development Process
|
||
Assurance section of this Protection Profile.
|
||
|
||
Also for CS3, flaw remediation was included in this
|
||
package. Flaw remediation is important for commercial
|
||
environments since it ensures that flaws (i.e, deficiencies
|
||
in a product that enables a user external to the TCB to violate
|
||
the functional requirements of a protection profile) that are
|
||
discovered by the product consumers will be tracked,
|
||
corrected, and disseminated to the affected customers.
|
||
Vendors are required to separate protection-relevant fixes
|
||
from those that are not protection-relevant and must document
|
||
points of contact for customer error reports.
|
||
|
||
2.17.1.5 Intended Method of Use
|
||
|
||
All individual users (both administrative and non-
|
||
administrative users) are assigned a unique user identifier.
|
||
This user identifier supports individual accountability. The
|
||
operating system authenticates the claimed identity of the
|
||
user before allowing the user to perform any further actions.
|
||
Upon successful authentication, users are restricted to
|
||
accessing programs, transactions, and information in a manner
|
||
that is consistent with their assigned role(s).
|
||
|
||
Products that comply with the CS3 Protection Profile are
|
||
provided with the capability of assigning privileges to TCB
|
||
modules. These privileges are used to control access to user
|
||
and role registration files, password files, and audit trails.
|
||
Privileges are associated with functional components so that
|
||
only the privileges necessary to complete a security relevant
|
||
task can be assigned at a given time. Also, privileges are
|
||
associated with TCB operations performed by system
|
||
administrators. This capability is particularly important to
|
||
prevent a "privileged user" or "superuser" from having a wide
|
||
set of privileges when only a subset is needed.
|
||
|
||
In addition, CS3 provides administrative and access control
|
||
capabilities that allow for the central administration of a
|
||
non-discretionary access control policy based on roles. A role
|
||
specifies a user's set of transactions that allow the user to
|
||
access resources through specific functions. Transactions can
|
||
only be allocated to roles by system administrators.
|
||
Membership to a role can only be granted and revoked by system
|
||
administrators.
|
||
|
||
Products that comply with CS3 specifications are intended
|
||
to be used within the following operational constraints:
|
||
|
||
o The information system is designed to be administered
|
||
as a unique entity by a single organization.
|
||
|
||
o The information system is designed to manage
|
||
computing, storage, input/output, and to control the
|
||
sharing of resources among multiple users and computer
|
||
processes.
|
||
|
||
o The administrative and non-administrative users are
|
||
identified as distinct individuals.
|
||
|
||
o For role based access control, administrators are
|
||
responsible for interpreting and enforcing
|
||
organizational policies and protection guidelines
|
||
that are derived from existing laws, ethics,
|
||
regulations, or generally accepted practices.
|
||
|
||
o The information system provides facilities for real-
|
||
time interaction with users that have access to input/
|
||
output devices.
|
||
|
||
o System administrators are selectively assigned
|
||
privileges that are minimally necessary to perform
|
||
their security related task.
|
||
|
||
2.17.2 Environmental Assumptions
|
||
|
||
A product designed to meet the CS3 Protection Profile is
|
||
intended to be a general purpose, multi-user operating system
|
||
that runs on either a workstation, minicomputer, or mainframe.
|
||
CS3 compliant products are expected to be used for both
|
||
commercial and government environments. The information being
|
||
processed for both commercial and government environments may
|
||
be unclassified, sensitive-but-unclassified, or single-level
|
||
classified, but not multi-level classified information.
|
||
|
||
The following specific environmental conditions have been
|
||
assumed in specifying CS3:
|
||
|
||
o The product hardware base (e.g., CPU, printers,
|
||
terminals, etc.), firmware, and software will be
|
||
protected from unauthorized physical access.
|
||
|
||
o There will be one or more personnel assigned to manage
|
||
the product including the security of the information
|
||
it contains.
|
||
|
||
o The operational environment will be managed according
|
||
to the operational environment documentation that is
|
||
required in the assurance chapter of the Protection
|
||
Profile.
|
||
|
||
o Access control to information and other resources is
|
||
determined by the roles that individual users have.
|
||
|
||
o The IT product provides a cooperative environment for
|
||
users to accomplish some task or group of tasks.
|
||
|
||
o The processing resources of the IT product, including
|
||
all terminals, are assumed to be located within user
|
||
spaces that have physical access controls established.
|
||
|
||
o The IT product provides facilities for some or all of
|
||
the authorized users to create programs that use an
|
||
Application Programming Interface (API) to enable them
|
||
to protect themselves and their objects from
|
||
unauthorized use.
|
||
|
||
o Fail-safe defaults are included for the access control
|
||
attributes for the defined subjects and objects for
|
||
the product.
|
||
|
||
2.17.3 Expected Threats
|
||
|
||
In general, the choice of which Protection Profile to
|
||
choose depends upon the level of security that is required for
|
||
that particular organizational environment. The lowest level,
|
||
the CS1 level, is intended for those commercial and government
|
||
environments where all the system personnel are trusted and
|
||
all the data on the system is at the same classification
|
||
level. For example, a government agency where all personnel
|
||
has a government clearance, all data is unclassified, and
|
||
there is no outside network connections would be an ideal
|
||
candidate for CS1, i.e., the threats to be countered are such
|
||
that only a minimal level of trust is needed. However, most
|
||
commercial and government environments are more complex and
|
||
require a higher degree of trust. CS2 addresses the security
|
||
needs for the mainstream commercial and government
|
||
environments. It provides a higher level of trust for those
|
||
organizations that need to enforce a security policy where
|
||
there is no need for different classifications of data. CS3
|
||
is intended to provide the highest level of trust for
|
||
commercial and government environments. It is intended to be
|
||
used in those environments where a great deal of trust is
|
||
required, such as in law enforcement agencies, nuclear
|
||
facilities, or commercial airports. It provides the strongest
|
||
features, mechanisms, and assurances to counter these
|
||
threats.
|
||
|
||
A product that is designed to meet the CS3 Protection
|
||
Profile and operate within its assumed environment will
|
||
provide capabilities to counter these threats. It should be
|
||
noted, however, that although a product may faithfully
|
||
implement all the features and assurances specified in this
|
||
Protection Profile, the complete elimination of any one threat
|
||
should not be assumed. A product that is designed to meet the
|
||
CS3 Protection Profile is generally known to be more effective
|
||
at countering the threats than products that meet the CS1 and
|
||
CS2 Protection Profiles. CS3 products counter all the CS1 and
|
||
CS2 threats, and contain stronger features and more assurance
|
||
evidence than CS1 and CS2 products. In addition to countering
|
||
CS1 and CS2 threats, CS3 compliant products provide protection
|
||
capabilities to counter one additional threat as follows:
|
||
|
||
1. AN UNAUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO THE
|
||
SYSTEM
|
||
|
||
For CS1 compliant products, the threat of an unauthorized
|
||
user gaining access to the system is primarily addressed by
|
||
I&A features that allow the TCB to verify the identity of
|
||
individuals attempting to gain access to the system. This is
|
||
accomplished through the use of passwords.
|
||
|
||
Although not a direct countermeasure, auditing requirements
|
||
are specified at the CS1 level to provide the capability to
|
||
perform an after-the-fact analysis of unauthorized system
|
||
entry and login attempts. This provides an opportunity for the
|
||
system administrators to take corrective actions, such as
|
||
strengthening existing user authentication methods or
|
||
requiring users to change their passwords.
|
||
|
||
For CS2 compliant systems, the threat of an unauthorized
|
||
user gaining access to the system is primarily addressed by
|
||
stronger I&A features and system entry requirements.
|
||
|
||
CS2 specifies password requirements that promote a strong
|
||
organizational password management program. These
|
||
requirements specify that: null passwords cannot be used
|
||
during normal operations; passwords be stored in a one-way
|
||
encrypted form; the clear text representation of a password
|
||
be automatically suppressed; passwords have a minimum-length;
|
||
and that the system utilize a password complexity-checking
|
||
algorithm. An advisory capability is also provided to exclude
|
||
a list of customer-specified passwords. Such requirements
|
||
support the use of passwords that are effective against
|
||
password guessing. To further reduce the probability of a
|
||
password being guessed, requirements limit the number of
|
||
attempted login attempts that can be made by a user associated
|
||
with a specific user identifier. The probability of a single
|
||
password being guessed is further reduced by requirements for
|
||
password aging, by having limitations on password reuse, and
|
||
by allowing users to choose a password that is already
|
||
associated with another user identifier.
|
||
|
||
CS2 also allows for a password generating capability.
|
||
Because random passwords can be difficult to remember and
|
||
users are tempted to write them down, requirements are
|
||
specified for the generation of passwords that are easy to
|
||
remember (i.e., pronounceable). Additionally, an advisory
|
||
requirement is specified to allow users to choose from a list
|
||
of alternative passwords.
|
||
|
||
To minimize the threat that a password has been
|
||
compromised, a requirement exists to allow a user to change
|
||
the password. Because a password can be compromised by
|
||
observing the characters on a terminal screen as it is being
|
||
typed, there is a requirement to blot out the clear-text
|
||
representation of the password on the display device.
|
||
|
||
In addition, requirements are specified to display an
|
||
advisory warning message to all users prior to system logon
|
||
to discourage a would-be system penetrator from attempting an
|
||
unauthorized system entry. Such a message can also provide a
|
||
basis for subsequent prosecution. System entry requirements
|
||
also specify additional controls on identified and
|
||
authenticated users entering the system. Once a user is
|
||
authenticated, a check is made to determine if the user is
|
||
allowed further entry. System entry is granted only in
|
||
accordance with the authenticated user's access control
|
||
attributes. These conditions are in terms of a user's identity
|
||
and his/her membership in roles. In addition, CS2 specifies
|
||
system entry requirements to display to an authorized user,
|
||
upon successful system entry, the date and time, method of
|
||
access or port of entry, and the number of failed logon
|
||
attempts since the last successful system entry by that user
|
||
identifier. These requirements provide a user with the
|
||
capability to detect attempted or successful system
|
||
penetrations. In addition, requirements are specified to lock
|
||
and terminate an interactive session after an administrator-
|
||
specified period of user inactivity, and also for the TCB to
|
||
appear to perform the entire user authentication procedure
|
||
even if the user identification entered is invalid. The TCB
|
||
also provides a protected mechanism to allow or deny system
|
||
entry based on specified ranges of time. Also, conditions for
|
||
system entry via dial-up lines are required to be specified.
|
||
|
||
I&A requirements are also enhanced over those of CS1 by
|
||
specifying requirements for the identification for each
|
||
trusted user, and by specifying requirements for system
|
||
administrators to disable a user's identity or account when
|
||
the number of unsuccessful logon attempts exceeds an
|
||
administrator specified threshold. This is intended to
|
||
mitigate the effectiveness of successive attacks of system
|
||
penetration.
|
||
|
||
Although passwords are currently the most common method for
|
||
authenticating users, CS3 supports the inclusion of a variety
|
||
of additional authentication mechanisms, such as smart-cards,
|
||
cryptographic-based authentication, and biometrics. Also,
|
||
access control attributes have been enhanced to include time
|
||
and location capabilities. This allows an organization to
|
||
acquire and integrate stronger user authentication
|
||
capabilities when penetration threats warrant such
|
||
capabilities.
|
||
|
||
Also, during system entry, users are granted entry based
|
||
on their role. In addition, CS3 extends the system entry
|
||
requirements of CS2 by specifying features for user-initiated
|
||
locking of the user's interactive sessions (e.g., keyboard
|
||
locking).
|
||
|
||
2. AN AUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO
|
||
RESOURCES WHEN THE USER IS NOT ALLOWED ACCESS
|
||
|
||
An authorized user can gain access to unauthorized
|
||
resources by assuming the user identifier of another user and
|
||
thus gaining their associated access rights. This is addressed
|
||
through the use of passwords.
|
||
|
||
Once an authorized user has gained access to the system,
|
||
the threat still remains for a user to gain access to
|
||
resources when the uer is not authorized. At the resource
|
||
level, CS2 specifies access control features to mediate (i.e.,
|
||
distribute, review, and revoke) user access to a subset of
|
||
resources.
|
||
|
||
The object reuse feature has been specified to ensure that
|
||
resource contents are cleared before they are reused. This
|
||
reduces the vulnerability that the resource contents can be
|
||
read before it is overwritten.
|
||
|
||
To address the vulnerability associated with passwords, CS2
|
||
specifies password requirements that promote a strong
|
||
organizational password management program. Besides those
|
||
password requirements that address penetration threats from
|
||
unauthorized users, other password requirements have been
|
||
specified to counter the threat of an insider (authorized
|
||
user) attack. There are password requirements that specify
|
||
that passwords must always be stored in encrypted format and
|
||
that passwords can never be included in audit trail data.
|
||
Also, in the event that a user selects a password that is
|
||
already in use by another user, requirements disallow the
|
||
system from acknowledging the dual association.
|
||
|
||
In addition, CS3 specifies access control features to limit
|
||
the roles that may change to another role that provides any
|
||
additional privileges to that user. These controls are based
|
||
on the role identifier. Also, administrators are provided with
|
||
capabilities through the use of protected mechanisms to set
|
||
and control security related parameters, defaults,
|
||
thresholds, attributes, and other security related data. This
|
||
provides the ability to effectively specify and control access
|
||
to resources based on site specific protection policies.
|
||
|
||
CS3 also specifies that privileges must be associated with
|
||
TCB modules, TCB calls, and accesses to privileged TCB objects
|
||
(e.g., user and role registration files. password files, audit
|
||
log files), and with TCB operations performed by
|
||
administrative users.
|
||
|
||
CS2 specifies requirements for a direct communication
|
||
channel, i.e., a trusted path, between the user and the
|
||
operating system to counter spoofing threats. This security
|
||
feature provides confidence that a user at a terminal will
|
||
communicate directly with the TCB rather than to malicious
|
||
code. In particular, to counter the threat of an authorized
|
||
user creating a spoof of legitimate user identifier
|
||
authorization prompts, CS2 specifies requirements for a
|
||
direct communication path between the user and the
|
||
authentication system.
|
||
|
||
Requirements are also specified to display an advisory
|
||
warning message to all users prior to system logon to
|
||
discourage unauthorized system entry. Such a message can also
|
||
provide a basis for subsequent prosecution.
|
||
|
||
Once an authorized user has been identified and
|
||
authenticated, system entry control can help counter threats
|
||
of inadvertent, deliberate, and coerced entry performed in an
|
||
unauthorized manner by an authorized user. At the end of
|
||
system entry control, the user bears the access-control
|
||
attributes determined during the I&A process, provided that
|
||
the system entry conditions are satisfied. These conditions
|
||
can be specified in terms of a user's identity, role identity,
|
||
or mode of access.
|
||
|
||
CS2 also provides other security features. Application
|
||
programming interfaces are provided so that applications can
|
||
protect themselves and their objects from unauthorized use.
|
||
CS2 specifies lists of user identities authorized to enter the
|
||
system via dial-up lines. CS2 also specifies general
|
||
authentication facilities for use by application developers,
|
||
system administrators, and users for the protection of
|
||
resources.
|
||
|
||
To guard against unauthorized user access, CS3 specifies
|
||
that TCB privileges can be associated with TCB operations
|
||
performed by system administrators.
|
||
|
||
Roles are also used as an access control attribute in that
|
||
access to a particular object may be granted or denied based
|
||
on a specific role. CS3 also specifies general authentication
|
||
facilities for use by application developers, system
|
||
administrators, and users for the enhanced protection of
|
||
resources. CS3 specifies requirements to provide users with
|
||
the ability to clear the content of their screens and lock
|
||
their interactive session without having to logoff the system.
|
||
This reduces the likelihood that a user will leave his or her
|
||
terminal while engaged in an active session. Also at the CS3
|
||
level, privileges are associated with TCB operations
|
||
performed by system administrators. To further strengthen TCB
|
||
mediation, CS3 expands the scope of authorization rules to
|
||
include all subject and object contents and all access control
|
||
attributes.
|
||
|
||
3. AN AUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO A ROLE
|
||
WHEN THE USER IS NOT ALLOWED ACCESS
|
||
|
||
This threat is countered by having a protected mechanism in
|
||
the TCB that allows only authorized users to access a
|
||
particular role. Users are prompted for the role they wish to
|
||
assume for that login session during system entry, and entry
|
||
will be denied if the user tries to assume a role for which
|
||
he/she is not authorized. This is assured through security
|
||
functional testing and through penetration testing. Also,
|
||
only system administrators are allowed to set role
|
||
characteristics and to include or delete users from a
|
||
particular role. Attempts to access and use a particular role
|
||
can be audited, and the use and definition of roles are
|
||
explained in security documentation.
|
||
|
||
4. SECURITY RELEVANT ACTIONS MAY NOT BE TRACEABLE TO THE
|
||
USER ASSOCIATED WITH THE EVENT
|
||
|
||
CS3 accountability and audit requirements are specified to
|
||
provide the capability to track security relevant actions
|
||
performed by users and link such actions, if possible, to the
|
||
responsible identifier. Audit mechanisms are responsible for
|
||
the monitoring and detecting of real or potential security
|
||
violations or events. These audit events can include
|
||
successful or unsuccessful: I&A events, the introduction of
|
||
objects into a user's address space, the deletion of objects,
|
||
and actions taken by computer operators and system
|
||
administrators. Each audit record includes the date, time,
|
||
location, type of event, identity of the user and object
|
||
involved, and the success or failure of the event.
|
||
|
||
Requirements are specified to protect audit trail data and
|
||
the audit control mechanism from unauthorized access,
|
||
modification, or destruction. Audit features are specified to
|
||
provide post-collection audit analysis on specific data
|
||
items, users, and privileged operations. Also, a capability
|
||
is provided for trusted application programs to append data
|
||
to the security audit trail.
|
||
|
||
System entry control helps to enhance accountability by
|
||
providing a time, space, and mode-of-entry context to each
|
||
action for which the user is held accountable. These added
|
||
constraints help to give additional assurance that the proper
|
||
user is held responsible for a set of authorized actions.
|
||
|
||
At the CS2 level, tools are specified to enhance the
|
||
effectiveness of user accountability. CS3 specifies
|
||
requirements to provide tools to verify the consistency of the
|
||
audit trial data and the selection of audit events. Tools are
|
||
also specified for post-collection analysis to selectively
|
||
review various actions.
|
||
|
||
Authentication capabilities are extended to provide for
|
||
additional authentication methods, for example, tokens or
|
||
biometrics.
|
||
|
||
5. THE PRODUCT MAY BE DELIVERED, INSTALLED, AND THEN USED
|
||
IN AN UNSECURED MANNER
|
||
|
||
This threat is countered by explicitly requiring that the
|
||
product be delivered with all security features turned on.
|
||
This ensures that the product is secure by default rather than
|
||
insecure by default. This is complemented by allowing many
|
||
security features to be configurable so that, as a specific
|
||
organization gains experience with the actual threats in its
|
||
environment, the organization can adjust the degree of
|
||
security in their system. There are several requirements that
|
||
reinforce the "security by default" perspective during
|
||
initial installation. Requirements for security
|
||
administrative documentation are specified to increase the
|
||
likelihood that the administrator will install and start the
|
||
system in a secure manner.
|
||
|
||
6. SECURITY BREACHES MAY OCCUR BECAUSE AVAILABLE SECURITY
|
||
FEATURES ARE NOT USED OR ARE USED IMPROPERLY
|
||
|
||
Requirements for authentication, system and access control,
|
||
security management, and product documentation provide a
|
||
basis for countering this threat. Authentication requirements
|
||
provide for password management procedures to reduce the
|
||
possibility of easy to guess passwords and to initialize
|
||
passwords for users. Password generation algorithms are
|
||
provided that generate easy to remember passwords and that
|
||
give the user a choice of passwords. In addition, CS3 provides
|
||
for a capability to import and export objects and subjects
|
||
with defined access control attributes. This ensures that
|
||
access control attributes are maintained with the subject or
|
||
object during import and export operations.
|
||
|
||
Security management requirements are specified for listing,
|
||
setting, and updating all of the system security parameters
|
||
and attributes. These parameters and attributes pertain to
|
||
identification, authentication, system entry, access control,
|
||
audit trail analysis and availability features for the system
|
||
and for individual users. This allows a system administrator
|
||
to confirm that the system is properly configured and, if
|
||
necessary, to modify the existing configuration and
|
||
attributes. In addition, security management requirements
|
||
provide for routine control and maintenance of system
|
||
resources.
|
||
|
||
Product documentation requirements for users,
|
||
administrators, and operators describe how to perform
|
||
security relevant functions in a secure manner.
|
||
|
||
CS3 also extends security management requirements with
|
||
respect to policy-oriented security issues. This includes a
|
||
means to initialize administrative privileges and
|
||
administrative identification, authentication, and system
|
||
entry attributes. Because CS3 compliant systems support
|
||
multiple I&A methods, the administrator is provided with a
|
||
capability to specify an authentication method on a per access
|
||
control attribute basis.
|
||
|
||
CS3 further extends security management requirements by
|
||
specifying tools for system administration. These tools
|
||
include tools for verifying consistency and proper system
|
||
installation, and for verifying that the TCB does not contain
|
||
extraneous programs or data.
|
||
|
||
7. SECURITY BREACHES MAY OCCUR BECAUSE OF TCB PENETRATION
|
||
|
||
TCB protection is a fundamental capability of CS compliant
|
||
products. The security components and mechanisms described in
|
||
this Protection Profile depend upon the integrity of the TCB
|
||
and on the TCB being isolated and non-circumventable. CS1
|
||
specifies requirements for a common and basic set of security
|
||
features to protect the TCB from outside penetration.
|
||
|
||
This threat is also countered through product assurance.
|
||
The TCB interface definition establishes the boundary between
|
||
the TCB and its internal users. Security functional testing
|
||
establishes that these TCB definitions and properties satisfy
|
||
the requirements of this Protection Profile and provides
|
||
evidence against TCB penetration.
|
||
|
||
This threat is also countered through penetration testing.
|
||
The penetration analysis evidence includes, in addition to
|
||
penetration test plans and results configured in the same
|
||
manner as the security functional testing evidence, the
|
||
documentation of the penetration-resistance testing methods
|
||
and tools, conditions that were verified, the outcomes of the
|
||
verification and, when appropriate, the scenario of the
|
||
discovered penetration flaws. Also, the developer must show
|
||
that all discovered flaws have been eliminated and that no new
|
||
flaws have been introduced. The cause of every discovered
|
||
penetration flaw, or class of penetration flaws, must also be
|
||
documented. At the CS3 level of trust, the system developer
|
||
also must illustrate how, in addition to system reference
|
||
manuals and TCB interface descriptions, the DIS, source code,
|
||
and hardware and firmware specifications are used to define
|
||
penetration test conditions. Also, for each test, the system
|
||
developer must document all test conditions, data, and
|
||
coverage.
|
||
|
||
8. USERS MAY BE ABLE TO BYPASS THE SECURITY FEATURES OF THE
|
||
SYSTEM
|
||
|
||
This threat is countered by authentication, access control,
|
||
audit, TCB isolation, TCB non-circumventability, and
|
||
reference mediation requirements. Authentication requirements
|
||
protect authentication data from unauthorized users. Resource
|
||
access control requirements protect access control data.
|
||
|
||
Audit requirements provide for the logging of successful
|
||
and unsuccessful accesses to resources as well as for changes
|
||
made to the system security configuration and system software
|
||
in the event that the system security features have been
|
||
bypassed.
|
||
|
||
CS1 specifications for reference mediation protects the
|
||
integrity of the access control mechanism and the TCB's
|
||
functionality. Starting at CS1, requirements exist for TCB
|
||
mediation of user references to objects and to security
|
||
relevant services.
|
||
|
||
CS1-compliant products maintain a domain for its own
|
||
execution to protect it from external interference and
|
||
tampering. Such requirements address TCB isolation and non-
|
||
circumventability of TCB isolation functions.
|
||
|
||
This threat is also countered through product assurance.
|
||
The definition of TCB properties assures the consistency of
|
||
the TCB's behavior. The identification of TCB elements
|
||
provides the set of elements that determine the protection
|
||
characteristics of a product. The TCB interface definition
|
||
establishes the boundary between the TCB and its internal
|
||
users. Security functional testing establishes that these TCB
|
||
definitions and properties satisfy the requirements of the
|
||
Protection Profile, and provide evidence against subjects
|
||
being able to bypass the security features of the system. At
|
||
the CS2 level, procedures also have to be established for
|
||
developers to accept customer reports of protection problems
|
||
and requests for corrections to those problems. Also, when the
|
||
product is delivered, all security related parameters must be
|
||
set to its fail-safe defaults.
|
||
|
||
9. SUBJECTS MAY BE DENIED CONTINUED ACCESSIBILITY TO THE
|
||
RESOURCES OF THE SYSTEM (I.E., DENIAL OF SERVICE)
|
||
|
||
Reliability of service requirements promote the continued
|
||
accessibility of system resources by authorized subjects.
|
||
These requirements principally counter threats related to
|
||
intentional or unintentional denial of service attacks. The
|
||
requirements include detecting and reporting facilities,
|
||
features to monitor and control the consumption of disk space
|
||
and CPU usage, controls to limit systematically the disabling
|
||
of user identifiers, mechanisms for recovery in the event of
|
||
a system crash, resource quotas, destruction of errant
|
||
processes and facilities for software, and data backup and
|
||
restoration. In particular, mechanisms are specified for
|
||
recovery and system start-up, and for a maintenance mode of
|
||
operation.
|
||
|
||
CS3 compliant systems provide the capability to detect and
|
||
recover from discontinuity of service using some combination
|
||
of automatic and procedural techniques. This capability is
|
||
intended to counter the threat that subjects may be denied
|
||
continued accessibility to the resources of the system (i.e.,
|
||
denial of service). Also, users are notified in advance to
|
||
change their password, so that access to the system is not
|
||
denied without warning. An advisory capability exists to allow
|
||
a system administrator to use null passwords during system
|
||
start-up. This allows a system administrator to access the
|
||
system even if the password mechanism has been compromised.
|
||
In addition, audit trails are compressed to avoid excessive
|
||
consumption of disk space.
|
||
|
||
CS3 provides the capability to place restrictions on the
|
||
number of subjects and objects a user may have allocated at
|
||
any given time. Such capabilities provide protection against
|
||
a single user denying access to another user's subject and
|
||
object space. Resource quota requirements are extended to
|
||
require auditing when attempts are made to violate resource
|
||
allocation limits.
|
||
|
||
At the CS3 level, an optional capability can be provided to
|
||
detect and report conditions that degrade service below a
|
||
system-specifiable minimum. Also, CS3 provides enhanced TCB
|
||
checking capabilities by extending TCB checks to not only
|
||
hardware and firmware but also to software elements (i.e.,
|
||
code and data structures).
|
||
|
||
10. THE INTEGRITY OF THE SYSTEM MAY BE COMPROMISED
|
||
|
||
At the CS3 level, requirements are specified for TCB
|
||
recovery and start-up to promote the secure state of the
|
||
system in the event of a system failure or discontinuity of
|
||
service. These features are intended to minimize the
|
||
likelihood of the loss of user objects during system recovery.
|
||
|
||
To protect audit trail data, a mechanism is specified to
|
||
automatically copy the audit trail file to an alternative
|
||
storage area. Also, mechanisms that guarantee the consistency
|
||
of the audit trail data after system failures and
|
||
discontinuity of operation is provided.
|
||
|
||
CS2 compliant products provide the capability to validate
|
||
the correct operation of the TCB software, firmware, and
|
||
hardware. Such features are important to ensure that the
|
||
software, hardware, and firmware are in working order.
|
||
|
||
Requirements for the physical security of the TCB and of
|
||
functions and devices that establish physical control over the
|
||
TCB are identified and provided. In addition, power-on tests,
|
||
loadable tests and operator-controlled tests are specified to
|
||
validate the correct operation of the TCB hardware and
|
||
firmware.
|
||
|
||
CS3 also extends the TCB initialization and recovery
|
||
capabilities by specifying requirements for automatic
|
||
procedures to protect the secure state of the system in the
|
||
event of a system failure or discontinuity of service. Also,
|
||
automated procedures are provided to assure that after system
|
||
failure or discontinuity of operations a secure state is
|
||
obtained without undue loss of system or user objects.
|
||
|
||
CS3 extends the TCB initialization and recovery
|
||
capabilities by specifying automated procedures to assure
|
||
that after system failure, other discontinuity, or start-up,
|
||
a secure state is obtained without undue loss of system or
|
||
user objects.
|
||
|
||
At the CS3 level, tools are specified to verify the
|
||
consistency of audit data and also to check for storage medium
|
||
and file system integrity. An optional capability is provided
|
||
to allow for the encryption of data to preserve the integrity
|
||
of data in an object.
|
||
|
||
In addition, fail-safe defaults are specified for the
|
||
access control attributes of subjects, objects, and services
|
||
used in common system configurations.
|
||
CS3 Functionality
|
||
|
||
3. Introduction
|
||
|
||
This section provides detailed functionality requirements
|
||
that must be satisfied by an Commercial Security 3 (CS3)
|
||
compliant product. Note that all plain text are words taken
|
||
directly from CS2 `s functionality chapter for the components
|
||
or, for those components not included in CS2, directly from
|
||
the Federal Criteria. Any assignments or refinements that were
|
||
made at CS2 are indicated by italics. Any assignments or
|
||
refinements made to the text in CS2 or the Federal Criteria
|
||
are indicated by bold italics. A Protection Profile
|
||
requirement is an assignment when it is directly taken as
|
||
stated from the component without change or when a binding is
|
||
made to a Federal Criteria threshold definition. A Protection
|
||
Profile requirement is a refinement when the requirement is
|
||
taken to a lower level of abstraction.The characterization of
|
||
Protection Profile requirements as being either assignments
|
||
or refinements can be found at each component level. Also,
|
||
note that, unlike the Federal Criteria, there are some items
|
||
that are considered to be "advisory," i.e.,an item marked
|
||
advisory is a desirable feature but is not required for that
|
||
component. Each advisory item is marked with an "(A)".
|
||
|
||
This Protection Profile for CS3 utilizes the following
|
||
levels from the Federal Criteria. Note that not all the
|
||
components from the Federal Criteria are reflected in this
|
||
Protection Profile; there are no specific requirements for
|
||
those components that are not listed. Also note that a "+"
|
||
after the component level number indicates that a requirement
|
||
was included from a higher level of that component.
|
||
|
||
CS3 Functional Component Summary
|
||
.------------------------------------------------------.
|
||
| | Component | |
|
||
| Component Name | Code | Level |
|
||
|======================================================|
|
||
| Security Policy Support: |
|
||
|----------------------------------+-----------+-------|
|
||
| Identification & Authentication | I&A | 4 |
|
||
|----------------------------------+-----------+-------|
|
||
| System Entry | SE | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| Trusted Path | TP | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Audit | AD | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| Access Control | AC | 2+ |
|
||
|----------------------------------+-----------+-------|
|
||
| Availability: |
|
||
|----------------------------------+-----------+-------|
|
||
| Resource Allocation | AR | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Security Management | SM | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| Reference Mediation | RM | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| TCB Protection | P | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Physical Protection | PP | 1 |
|
||
|----------------------------------+-----------+-------|
|
||
| Self Checking | SC | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| TCB Initialization & Recovery | TR | 3 |
|
||
|----------------------------------+-----------+-------|
|
||
| Privileged Operations | PO | 2 |
|
||
|----------------------------------+-----------+-------|
|
||
| Ease-of-Use | EU | 3 |
|
||
`------------------------------------------------------'
|
||
|
||
|
||
3.1 Identification & Authentication
|
||
|
||
All users of the product must be identified and
|
||
authenticated. A login process is established that interacts
|
||
with the user in order to provide the information necessary
|
||
for identification and authentication. The identification and
|
||
authentication process begins the user's interaction with the
|
||
target product. First, the user supplies a unique user
|
||
identifier to the TCB. Then, the user is asked to authenticate
|
||
that claimed identity by the TCB. The user identifier is used
|
||
for accountability. Therefore, the proper maintenance and
|
||
control of the identification mechanism and the
|
||
identification databases are vital to TCB security. Once a
|
||
user has supplied an identifier to the TCB, the TCB must
|
||
verify that the user really corresponds to the claimed
|
||
identifier. This is done by the authentication mechanism as
|
||
described by the following requirements.
|
||
|
||
For the CS3 level, I&A-4 was assigned from the Federal
|
||
Criteria. Refinements were made from CS2 and the Federal
|
||
Criteria to limit the enforcement of separate user
|
||
authentication procedures to system administrators.
|
||
|
||
I&A-4 Exception-Controlled Identification and
|
||
Authentication
|
||
|
||
1. The TCB shall require users to identify
|
||
themselves to it before beginning to perform any
|
||
other actions that the TCB is expected to mediate.
|
||
The TCB shall be able to enforce individual
|
||
accountability by providing the capability to
|
||
uniquely identify each individual user. The TCB
|
||
shall also provide the capability of associating
|
||
this identity with all auditable actions taken by
|
||
that individual. Furthermore, the TCB shall have
|
||
the capability of associating a unique identity
|
||
with each privileged subject, i.e. transaction
|
||
processing monitors.
|
||
|
||
2. The TCB shall maintain authentication data that
|
||
includes information for verifying the identity of
|
||
individual users (e.g., passwords), as well as
|
||
information for determining the product policy
|
||
attributes of individual users, i.e. roles. These
|
||
data shall be used by the TCB to authenticate the
|
||
user's identity and to ensure that the attributes
|
||
of subjects external to the TCB that may be
|
||
created to act on behalf of the individual user
|
||
satisfy the product policy. The control of user
|
||
identification data shall be limited to system
|
||
administrators, except that a user shall be
|
||
allowed to modify his/her own authentication data
|
||
within prescribed limits (e.g., changing his/her
|
||
own password).
|
||
|
||
The TCB shall be able to incorporate and use
|
||
installable authentication mechanisms, such as
|
||
token-based cards, biometrics, or trusted third-
|
||
party mechanisms, in the place of or in addition
|
||
to the default authentication (e.g., password-
|
||
based) mechanism, to authenticate the user. The
|
||
TCB shall be able to enforce separate user
|
||
authentication procedures based on specific policy
|
||
attributes. The enforcement of separate user
|
||
authentication procedures shall be limited to
|
||
system administrators.
|
||
|
||
3. The TCB shall protect authentication data so
|
||
that it cannot be used by any unauthorized user.
|
||
The TCB shall appear to perform the entire user
|
||
authentication procedure even if the user
|
||
identification entered is invalid. Error feedback
|
||
shall contain no information regarding which part
|
||
of the authentication information is incorrect.
|
||
|
||
The TCB shall end the attempted login session if
|
||
the user performs the authentication procedure
|
||
incorrectly for a number of successive times
|
||
(i.e., a threshold) specified by an authorized
|
||
system administrator. The default threshold shall
|
||
be three times. When the threshold is exceeded,
|
||
the TCB shall send an alarm message to the system
|
||
console and/or to the administrator's terminal,
|
||
log this event in the audit trail, and delay the
|
||
next login by an interval of time specified by the
|
||
authorized system administrator. The default time
|
||
interval shall be 60 seconds. The TCB shall
|
||
provide a protected mechanism to disable the user
|
||
identity or account when the threshold of
|
||
successive, unsuccessful login attempts is
|
||
violated more than a number of times specified by
|
||
the administrator. By default, this mechanism
|
||
shall be disabled (as it may cause unauthorized
|
||
denial of service).
|
||
|
||
4. The TCB shall have the capability to maintain,
|
||
protect, and display status information for all
|
||
active users (e.g., users currently logged on,
|
||
current policy attributes) and of all user
|
||
accounts (i.e., enabled or disabled user identity
|
||
or account).
|
||
|
||
5. Whenever passwords are used as a protection
|
||
mechanism, then, at a minimum:
|
||
|
||
a. The TCB shall not indicate to the user if he/she
|
||
has chosen a password already associated with
|
||
another user.
|
||
|
||
b. The TCB shall store passwords in a one-way
|
||
encrypted form.
|
||
|
||
(1) The TCB shall require privilege to access
|
||
encrypted passwords.
|
||
|
||
c. The TCB shall automatically suppress or fully
|
||
blot out the clear-text representation of the
|
||
password on the data entry/display device.
|
||
|
||
d. The TCB shall, by default, prohibit the use of
|
||
null passwords during normal operation.
|
||
|
||
(1) A capability, accessible only to an system
|
||
administrator, to allow null passwords during
|
||
non-normal operations, such as system start-
|
||
up, manual recovery, or maintenance mode, on a
|
||
per-user identifier or per-port basis may be
|
||
provided. (A)
|
||
|
||
e. The TCB shall provide a protected mechanism to
|
||
allow a user to change his or her password. This
|
||
mechanism shall require re-authentication of the
|
||
user identity.
|
||
|
||
(1) The TCB shall provide a protected mechanism to
|
||
set or initialize passwords for users. The use
|
||
of this mechanism shall be limited to system
|
||
administrators.
|
||
|
||
f. The TCB shall enforce password aging on a per-
|
||
user identifier or per-group basis (i.e., a user
|
||
shall be required to change his or her password
|
||
after a system-specifiable minimum time). The
|
||
default for all non-system administrators shall
|
||
be sixty days.
|
||
|
||
(1) The default for system administrator
|
||
identifiers shall be thirty days.
|
||
|
||
(2) After the password aging threshold has been
|
||
reached, the password shall no longer be
|
||
valid, except as provided in 5 g below.
|
||
|
||
The control of password aging shall be limited to
|
||
system administrators.
|
||
|
||
g. The TCB shall provide a protected mechanism to
|
||
notify users in advance of requiring them to
|
||
change their passwords. This can be done by
|
||
either:
|
||
|
||
(1) Notifying users a system-specifiable period
|
||
of time prior to their password expiring. The
|
||
default shall be seven days.
|
||
|
||
- or -
|
||
|
||
(2) Upon password expiration, notifying the user
|
||
but allowing a system-specifiable subsequent
|
||
number of additional logons prior to requiring
|
||
a new password. The default shall be two
|
||
additional logons.
|
||
|
||
The control of user password expiration defaults
|
||
shall be limited to system administrators.
|
||
|
||
h. Passwords shall not be reusable by the same user
|
||
identifier for a system-specifiable period of
|
||
time. The default shall be six months. The
|
||
control of password re-use shall be limited to
|
||
system administrators.
|
||
|
||
i. The TCB shall provide an algorithm for ensuring
|
||
the complexity of user-entered passwords that
|
||
meets the following requirements:
|
||
|
||
(1) Passwords shall meet a system-specifiable
|
||
minimum length requirement. The default
|
||
minimum length shall be eight characters.
|
||
|
||
(2) The password complexity-checking algorithm
|
||
shall be modifiable by the TCB. The default
|
||
algorithm shall require passwords to include
|
||
at least one alphabetic character, one numeric
|
||
character, and one special character.
|
||
|
||
(3) The TCB should provide a protected mechanism
|
||
that allows systems to specify a list of
|
||
excluded passwords (e.g., company acronyms,
|
||
common surnames). (A)
|
||
|
||
(a) The TCB should prevent users from selecting
|
||
a password that matches any of those on the
|
||
list of excluded passwords. (A)
|
||
|
||
The control of password complexity shall be limited
|
||
to system administrators.
|
||
|
||
j. If password generation algorithms are present,
|
||
they shall meet the following requirements:
|
||
|
||
(1) The password generation algorithm shall
|
||
generate passwords that are easy to remember
|
||
(i.e., pronounceable).
|
||
|
||
(2) The TCB should give the user a choice of
|
||
alternative passwords from which to choose.
|
||
(A)
|
||
|
||
(3) Passwords shall be reasonably resistant to
|
||
brute-force password guessing attacks.
|
||
|
||
(4) If the "alphabet" used by the password
|
||
generation algorithm consists of syllables
|
||
rather than characters, the security of the
|
||
password shall not depend on the secrecy of the
|
||
alphabet.
|
||
|
||
(5) The generated sequence of passwords shall have
|
||
the property of randomness (i.e., consecutive
|
||
instances shall be uncorrelated and the
|
||
sequences shall not display periodicity).
|
||
|
||
3.2 System Entry
|
||
|
||
Once a user is authenticated, a check is made to see if the
|
||
user is allowed to access the product. The qualifying checks
|
||
for system entry can include time-of-day, day-of-week, date,
|
||
location of terminal, or means of access (e.g., dial-up port),
|
||
and membership in roles.
|
||
|
||
For the CS3 level, SE-3 was assigned from the Federal
|
||
Criteria. An assignment was made from CS2 or the Federal
|
||
Criteria for specifying a role as a user policy attribute.
|
||
|
||
SE-3 Session Locking and Unlocking
|
||
|
||
1. Prior to initiating the system login procedure,
|
||
the TCB shall display an advisory warning message
|
||
to the user regarding unauthorized use of the
|
||
system and the possible consequences of failure to
|
||
heed this warning.
|
||
|
||
a. The message shall be system-specifiable.
|
||
|
||
b. The TCB shall be able to display a message of up
|
||
to twenty lines in length.
|
||
|
||
c. The following message shall be displayed by
|
||
default:
|
||
|
||
"NOTICE: This is a private computer system.
|
||
All users of this system are subject to
|
||
having their activities audited. Anyone
|
||
using this system consents to such
|
||
auditing. All unauthorized entries or
|
||
activities revealed by this auditing can be
|
||
used as evidence and may lead to criminal
|
||
prosecution."
|
||
|
||
The control of system entry messages shall be
|
||
limited to system administrators.
|
||
|
||
2. Before system entry is granted to a user, the
|
||
identity of that user shall be authenticated by
|
||
the TCB. If the TCB is designed to support
|
||
multiple login sessions per user identity, the TCB
|
||
shall provide a protected mechanism to enable
|
||
limiting the number of login sessions per user
|
||
identity or account with a default of a single
|
||
login session. The control of this mechanism to
|
||
limit the number of login sessions shall be
|
||
limited to system administrators.
|
||
|
||
3. The TCB shall grant system entry only in
|
||
accordance with the authenticated user's policy
|
||
attributes. The system entry conditions shall be
|
||
expressed in terms of users' policy attributes,
|
||
i.e., user identity and membership to roles. If no
|
||
explicit system-entry conditions are defined, the
|
||
system-entry default shall be used (e.g., the
|
||
correct user authentication). The TCB shall
|
||
provide a protected mechanism to allow or deny
|
||
system entry based on specified ranges of time.
|
||
Entry conditions using these ranges shall be
|
||
specified using time-of-day, day-of-week, and
|
||
calendar dates. The control of system entry
|
||
conditions shall be limited to system
|
||
administrators.
|
||
|
||
The TCB shall provide a protected mechanism to
|
||
allow or deny system entry based on location or
|
||
port of entry. Conditions for system entry via
|
||
dial-up lines (e.g., lists of user identities
|
||
authorized to enter the system via dial-up lines),
|
||
if any, shall be specified.The control of these
|
||
mechanisms shall be limited to system
|
||
administrators.
|
||
|
||
4. The TCB shall provide a protected mechanism that
|
||
enables authorized administrators to display and
|
||
modify the policy attributes used in system-entry
|
||
control for each user. The conditions under which
|
||
an unprivileged user may display these attributes
|
||
shall be specified.
|
||
|
||
5. Upon a user's successful entry to the system,
|
||
the TCB shall display the following data to the
|
||
user and shall not remove them without user
|
||
intervention: (1) the date, time, means of access
|
||
and port of entry of the last successful entry to
|
||
the system; and (2) the number of successive,
|
||
unsuccessful attempts to access the system since
|
||
the last successful entry by the identified user.
|
||
|
||
6. The TCB shall either lock or terminate an
|
||
interactive session after an administrator-
|
||
specified interval of user inactivity. The default
|
||
value for the lock interval shall be five minutes.
|
||
The default value for session termination shall be
|
||
fifteen minutes. The TCB shall also provide a
|
||
mechanism for user-initiated locking of the user's
|
||
own interactive sessions (e.g., keyboard locking)
|
||
that includes: (1) clearing or over-writing
|
||
display devices to make the current contents
|
||
unreadable; (2) requiring user authentication
|
||
prior to unlocking the session; and (3) disabling
|
||
any activity of the user's data entry/display
|
||
devices other than unlocking the session.
|
||
|
||
3.3 Trusted Path
|
||
|
||
A Trusted Path ensures that users have direct, unencumbered
|
||
communication with the TCB. A Trusted Path may be required at
|
||
various times during a subject session and also may be
|
||
initiated by a user during a TCB interaction.
|
||
|
||
For the CS3 level, TP-1 was assigned from the Federal
|
||
Criteria. There are no refinements from CS2 or the Federal
|
||
Criteria.
|
||
|
||
|
||
|
||
TP-1 Login Trusted Path
|
||
|
||
The TCB shall support a trusted communication path
|
||
between itself and the user for initial
|
||
identification and authentication. Communications
|
||
via this path shall be initiated exclusively by a
|
||
user.
|
||
|
||
a. The TCB shall provide a protected mechanism by
|
||
which a display device may force a direct
|
||
connection between the port to which it is
|
||
connected and the authentication mechanism.
|
||
|
||
3.4 Audit
|
||
|
||
Audit supports accountability by providing a trail of user
|
||
actions. Actions are associated with individual users for
|
||
security-relevant events and are stored in an audit trail.
|
||
This audit trail can be examined to determine what happened
|
||
and what user was responsible for a security relevant event.
|
||
The audit trail data must be protected from unauthorized
|
||
access, modification, or destruction. In addition, the audit
|
||
trail data must be available in a useful and timely manner for
|
||
analysis.
|
||
|
||
Audit data is recorded from several sources (such as the
|
||
TCB or privileged applications) to produce a complete picture
|
||
of a user's security relevant actions. Therefore, audit data
|
||
must be correlated across audit collection systems. The
|
||
mechanisms providing audit data recording must be tailorable
|
||
to each product's needs. Both the audit data itself and the
|
||
mechanisms to determine what audit data is recorded are
|
||
protected by privileges. Once the audit data is recorded, it
|
||
is analyzed and reported. Reporting can be by reports
|
||
generated on request.
|
||
|
||
For the CS3 level, AD-3 was assigned from the Federal
|
||
Criteria. A refinement was made to audit attempts to
|
||
circumvent or gain unauthorized access to resource allocation
|
||
limits.
|
||
|
||
AD-3 Audit Tools
|
||
|
||
1. The TCB shall be able to create, maintain, and
|
||
protect from modification or unauthorized access
|
||
or destruction an audit trail of accesses to the
|
||
objects it protects. The audit data shall be
|
||
protected by the TCB so that read access to it is
|
||
limited to those who are authorized for audit
|
||
data.
|
||
|
||
The TCB shall support an application program
|
||
interface that allows a privileged application to
|
||
append data to the security audit trail or to an
|
||
applications-specified alternative security audit
|
||
trail.
|
||
|
||
The TCB should support an option to maintain the
|
||
security audit trail data in encrypted format. (A)
|
||
|
||
2. The TCB shall be able to record the following
|
||
types of events:
|
||
|
||
- use of the identification and authentication
|
||
mechanisms, and system entry events;
|
||
|
||
- access control events selectable on a per
|
||
user, per subject, per object, per role, and/or
|
||
per policy attribute basis; i.e., introduction of
|
||
objects into a user's address space (e.g., file
|
||
open, program initiation), creation and deletion
|
||
of subjects and objects; distribution and
|
||
revocation of access rights; changes of subject
|
||
and object policy attributes; acquisition and
|
||
deletion of system privileges.
|
||
|
||
-actions taken by computer operators and system
|
||
administrators and/or system security officers;
|
||
i.e., privileged operations such as the
|
||
modification of TCB elements; accesses to TCB
|
||
objects (at a minimum, access to an object shall
|
||
include disk file access, tape volume, or tape
|
||
file access); changes of policy attributes of
|
||
users, TCB configuration and security
|
||
characteristics, and system privileges; selection
|
||
and modification of audited events.
|
||
|
||
- attempts to circumvent or otherwise gain
|
||
unauthorized access to resource allocation limits.
|
||
|
||
The events that are auditable by default, and
|
||
those that are required for successful auditing of
|
||
other events, which may not be disabled, shall be
|
||
defined. The TCB shall provide a protected
|
||
mechanism that displays the currently selected
|
||
events and their defaults. The use of this
|
||
mechanism shall be restricted to authorized system
|
||
administrators.
|
||
|
||
3. For each recorded event, the audit record shall
|
||
identify: date and time of the event, user, type
|
||
of event, and success or failure of the event. For
|
||
identification/authentication events the origin of
|
||
request (e.g., terminal ID) shall be included in
|
||
the audit record. For events that introduce an
|
||
object into a user's address space and for object
|
||
deletion events the audit record shall include the
|
||
name and policy attributes of the object.
|
||
|
||
The character strings input as a response to a
|
||
password prompt shall not be recorded in the
|
||
security audit trail.
|
||
|
||
4. The TCB shall provide a protected mechanism to
|
||
turn auditing on and off, and to select and change
|
||
the events to be audited and their defaults,
|
||
during the system operation. The use of this
|
||
mechanism shall be restricted to authorized system
|
||
administrators. The system administrator shall be
|
||
able to selectively audit the actions of one or
|
||
more users based on individual identity and/or
|
||
object policy attributes. Audit review tools shall
|
||
be available to authorized system administrators
|
||
to assist in the inspection and review of audit
|
||
data, and shall be protected from unauthorized
|
||
use, modification, or destruction.
|
||
|
||
The TCB shall provide tools for audit data
|
||
processing. These shall include specifically
|
||
designed tools: for verifying the consistency of
|
||
the audit data; for verifying the selection of
|
||
audit events; for audit trail management. The
|
||
audit trail management tools shall enable:
|
||
|
||
- creation, destruction, and emptying of audit
|
||
trails; use of warning points regarding the size
|
||
of the audit data, and modification of the audit
|
||
trail size;
|
||
|
||
-formatting and compressing of event records;
|
||
|
||
-displaying of formatted audit trail data; and
|
||
|
||
-maintaining the consistency of the audit trail
|
||
data after system failures and discontinuity of
|
||
operation.
|
||
|
||
The TCB shall provide a protected mechanism for
|
||
the automatic copying of security audit trail
|
||
files to an alternative storage area after a
|
||
system-specifiable period of time.
|
||
|
||
The TCB shall provide a protected mechanism for
|
||
the automatic deletion of security audit trail
|
||
files after a system-specifiable period of time.
|
||
The default shall be thirty days.
|
||
|
||
(a) It shall not be possible to delete the
|
||
security audit trail before it gets copied
|
||
to an alternate storage area.
|
||
|
||
(b) It shall be possible to disable this mechanism.
|
||
|
||
The use of audit trail management functions shall
|
||
be limited to system administrators.
|
||
|
||
5. Audit review tools shall be available to
|
||
authorized users to assist in the inspection and
|
||
review of audit data, and shall be protected from
|
||
unauthorized modification or destruction. The TCB
|
||
shall also provide tools for post-collection audit
|
||
analysis (e.g., intrusion detection) that shall be
|
||
able to selectively review (1) the actions of one
|
||
or more users (e.g., identification,
|
||
authentication, system-entry, and access control
|
||
actions); (2) the actions performed on a specific
|
||
object or system resource; and (3) all, or a
|
||
specified set of, audited exceptions; and (4)
|
||
actions associated with a specific
|
||
policyattributes.The review tools shall be able to
|
||
operate concurrently with the system operation.
|
||
|
||
3.5 Access Control
|
||
|
||
Once the user has been granted access, the question of which
|
||
objects the authenticated user may access still remains. An
|
||
owner, or an authorized user, allows or denies to other users
|
||
access to that object. The requirements below describe subject
|
||
accesses to objects.
|
||
|
||
For the CS3 level, AC-2+ was assigned from the Federal
|
||
Criteria.his level is indicated as being AC-2+ because
|
||
requirements were included from level AC-4 (to include the
|
||
requirements for time and location dependency conditions).
|
||
These are indicated in the text by an "[AC-4]" in front of the
|
||
requirement. This component level was refined from CS2 and the
|
||
Federal Criteria by specifying access control decisions based
|
||
on roles.
|
||
|
||
AC-2+ Basic Access Control
|
||
|
||
1. Definition of Access Control Attributes
|
||
|
||
The TCB shall define and protect access control
|
||
attributes for subjects and objects. Subject
|
||
attributes shall include named individuals or
|
||
defined roles or both. Object attributes shall
|
||
include defined access rights (i.e., read, write,
|
||
execute) that can be assigned to subject
|
||
attributes.
|
||
|
||
The TCB shall be able to assign access rights to
|
||
role identities.
|
||
|
||
If multiple access control policies are supported,
|
||
the access control attributes corresponding to
|
||
each individual policy shall be identified.
|
||
|
||
[AC-4]: The subject and object attributes shall
|
||
accurately reflect the sensitivity and/or
|
||
integrity of the subject or object.The subject's
|
||
access control attributes also shall include time
|
||
and location attributes that can be assigned to
|
||
authenticated user identities.
|
||
|
||
2. Administration of Access Control Attributes
|
||
|
||
The TCB shall define and enforce rules for
|
||
assignment and modification of access control
|
||
attributes for subjects and objects.
|
||
|
||
The TCB shall provide a protected mechanism for
|
||
roles as follows:
|
||
|
||
a. A user identifier shall be able to be associated
|
||
with one or more roles.
|
||
|
||
b. The TCB shall provide a protected mechanism to
|
||
list the names of all roles.
|
||
|
||
c. The TCB shall provide a protected mechanism to
|
||
list the membership of any role.
|
||
|
||
Rules for maintaining role membership shall be
|
||
provided. These rules shall include those for
|
||
displaying and modifying the list of users
|
||
belonging to a role and the role attributes of those
|
||
users.
|
||
|
||
The effect of these rules shall be that access
|
||
permission to an object by users not already
|
||
possessing access permission is assigned only by
|
||
authorized users.
|
||
|
||
Only the current owner or system administrators
|
||
shall modify access control attributes on objects.
|
||
|
||
The TCB shall provide a protected mechanism to
|
||
modify role membership. The use of this mechanism
|
||
shall be under the control of system
|
||
administrators. Authority to modify specific role
|
||
membership may be delegated.
|
||
|
||
The TCB shall provide a protected mechanism by which
|
||
the user identifier associated with a subject
|
||
attribute can be changed while the subject is
|
||
active. It shall also provide a protected mechanism
|
||
for limiting the user identifiers that may change
|
||
to a user identifier that would provide any
|
||
additional access rights. The control of these
|
||
mechanisms shall be limited to system
|
||
administrators.
|
||
|
||
[AC-4]: These rules shall allow authorized users
|
||
to specify and control sharing of objects by named
|
||
individuals or defined roles of individuals, or by
|
||
both, and shall provide controls to limit
|
||
propagation of access rights, (i.e., these rules
|
||
shall define the distribution, revocation, and
|
||
review of access control attributes). The controls
|
||
defined by these rules shall be capable of
|
||
specifying for each named object, a list of
|
||
individuals and a list of roles of named
|
||
individuals, with their respective access rights
|
||
to that object. Furthermore, for each named
|
||
object, it shall be possible to specify a list of
|
||
named individuals and a list of roles of named
|
||
individuals for which no access to the object is
|
||
given. These controls shall be capable of
|
||
including or excluding access to the granularity
|
||
of a single user.These controls shall also be
|
||
capable of specifying access-time dependency
|
||
(i.e., the effect of the distribution and
|
||
revocation of access control attributes take place
|
||
at a certain time and shall last for a specified
|
||
period of time), and/or access-location dependency
|
||
(i.e., shall specify the locations from which the
|
||
distribution and revocation of access rights shall
|
||
take place).
|
||
|
||
The rules for assignment and modification of
|
||
access control attributes shall include those for
|
||
attribute assignment to objects during import and
|
||
export operations. If different rules of
|
||
assignment and modification of access control
|
||
attributes apply to different subjects and/or
|
||
objects, the totality of these rules shall be
|
||
shown to support the defined policy.
|
||
|
||
3. Authorization of Subject References to Objects
|
||
|
||
[AC-4]: The TCB shall define and enforce
|
||
authorization rules for the mediation of subject
|
||
references to objects. These rules shall be based
|
||
on the access control attributes of subjects and
|
||
objects. These rules shall, either by explicit
|
||
user action or by default, provide that objects
|
||
are protected from unauthorized access. These
|
||
rules shall include time-of-access and location-
|
||
of-access controls defined for subjects and
|
||
objects.
|
||
|
||
For each object, the authorization rules of the TCB
|
||
shall be based on a protected mechanism to specify
|
||
roles with their specific access rights to that
|
||
object.
|
||
|
||
The authorization rules shall be defined in terms
|
||
of subject authorization conditions for accessing
|
||
the object (i.e., on <subject, action, object>
|
||
tuples.
|
||
|
||
At a minimum, the authorization rules shall be
|
||
defined as follows:
|
||
|
||
a. The access rights associated with a user
|
||
identifier shall take precedence over the access
|
||
rights associated with any roles of which that
|
||
user identifier is a member.
|
||
|
||
b. When a user identifier can be an active member of
|
||
multiple roles simultaneously, or if the access
|
||
rights associated with the user identifier
|
||
conflict with the access rights associated with
|
||
any role in which the user is a member, it shall
|
||
be possible for an system administrator to
|
||
configure rules that combine the access rights to
|
||
make a final access control decision.
|
||
|
||
c. The TCB shall provide a protected mechanism to
|
||
specify default access rights for user
|
||
identifiers not otherwise specified either
|
||
explicitly by a user identifier or implicitly by
|
||
role membership.
|
||
|
||
The scope of the authorization rules shall include
|
||
a defined subset of the product's subjects and
|
||
objects and associated access control attributes.
|
||
The coverage of authorization rules shall specify
|
||
the types of objects and subjects to which these
|
||
rules apply. If different rules apply to different
|
||
subjects and objects, the totality of these rules
|
||
shall be shown to support the defined policy.
|
||
|
||
If multiple policies are supported, the
|
||
authorization rules for each policy shall be
|
||
defined separately. The TCB shall define and
|
||
enforce the composition of policies, including the
|
||
enforcement of the authorization rules (e.g.,
|
||
subject and object type coverage, enforcement
|
||
precedence).
|
||
|
||
4. Subject and Object Creation and Destruction
|
||
|
||
The TCB shall control the creation and destruction
|
||
of subjects and objects. These controls shall
|
||
include object reuse. That is, all authorizations
|
||
to the information contained within a storage
|
||
object shall be revoked prior to initial
|
||
assignment, allocation or reallocation to a
|
||
subject from the TCB's pool of unused storage
|
||
objects; information, including encrypted
|
||
representations of information, produced by a
|
||
prior subjects' actions shall be unavailable to
|
||
any subject that obtains access to an object that
|
||
has been released back to the system.
|
||
|
||
3.6 Security Management
|
||
|
||
The management of security attributes and configuration
|
||
parameters is an important aspect of a secure product.
|
||
Mechanisms have to be provided to easily maintain the product,
|
||
and they must be protected so that only system administrators
|
||
can manage the security aspects of the product.
|
||
|
||
For the CS3 level, SM-2 was assigned from the Federal
|
||
Criteria. An assignment was made to this component from the
|
||
Federal Criteria to limit the number of login sessions and for
|
||
controlling the availability of system resources. A
|
||
refinement was made to provide system administrators with a
|
||
protected mechanism for grating and revoking role membership.
|
||
|
||
SM-3 Policy-Oriented Security Management
|
||
|
||
1. The TCB shall provide an installation mechanism
|
||
for the setting and updating of its configuration
|
||
parameters, and for the initialization of its
|
||
protection-relevant data structures before any
|
||
user or administrator policy attributes are
|
||
defined. It shall allow the configuration of TCB
|
||
internal databases and tables.
|
||
|
||
The TCB shall distinguish between normal mode of
|
||
operation and maintenance mode, and shall provide
|
||
a maintenance-mode mechanism for recovery and
|
||
system start-up.This mechanism shall include a
|
||
means to initialize administrative privileges and
|
||
administrative identification, authentication, and
|
||
system-entry attributes.
|
||
|
||
2. The TCB shall provide protected mechanisms for
|
||
displaying and modifying the security policy
|
||
parameters. These parameters shall include
|
||
identification, authentication, system entry and
|
||
access control parameters for the entire system
|
||
and for individual users.
|
||
|
||
The TCB shall have a capability to define the
|
||
identification and authentication policy on a
|
||
system-wide basis (e.g., password minimum and
|
||
maximum lifetime, password length and complexity
|
||
parameters). The TCB mechanisms shall have the
|
||
capability to limit: (1) maximum period of
|
||
interactive session inactivity, (2) maximum login
|
||
or session time, and (3) successive unsuccessful
|
||
attempts to log in to the system. In particular,
|
||
the TCB shall provide a protected mechanism to
|
||
specify that sessions be terminated rather than
|
||
locked after a period of inactivity. The control
|
||
of these mechanisms shall be limited to system
|
||
administrators.The TCB shall provide an
|
||
administrative capability to specify the
|
||
authentication method on a per policy-attribute
|
||
basis whenever multiple identification and
|
||
authentication methods are used; e.g., via user
|
||
passwords, tokens, or biometrics.
|
||
|
||
If the TCB is designed to support multiple login
|
||
sessions per user identity, the administrators
|
||
shall be able to limit the number of simultaneous
|
||
login sessions on an authorization-attribute basis.
|
||
The system-supplied default shall limit each user
|
||
identifier to one simultaneous logon session.
|
||
|
||
The TCB shall also have a capability to limit
|
||
the successive unsuccessful attempts to login from
|
||
a specific port of entry, and/or with a specific
|
||
user identity or account.
|
||
|
||
The TCB shall provide a mechanism to control the
|
||
availability of system resources via resource
|
||
quotas and quantity-of-resources limits.
|
||
|
||
3. The TCB shall provide protected mechanisms for
|
||
manually displaying, modifying, or deleting user
|
||
registration and account parameters. These
|
||
parameters shall include unique user identifiers,
|
||
their account, and their associated user name and
|
||
affiliation. The TCB shall allow the automatic
|
||
disabling of user identities and/ or accounts,
|
||
after a period during which the identity and/or
|
||
account have not been used. The time period shall
|
||
be administrator specified, with a specified
|
||
default provided. The TCB shall allow the
|
||
automatic re-enabling of disabled user identities
|
||
and/or accounts after an administrator-specified
|
||
period of time.
|
||
|
||
The TCB shall provide a means to uniquely identify
|
||
security policy attributes. It shall also provide
|
||
a means of listing all these attributes for a
|
||
user, and all the users associated with an
|
||
attribute. It shall be capable of defining and
|
||
maintaining the security policy attributes for
|
||
subjects including: defining and maintaining
|
||
privileges for privileged subjects, discretionary
|
||
and non-discretionary attributes, i.e., definition
|
||
and maintenance of roles, and centralized
|
||
distribution, review and revocation of policy
|
||
attributes.
|
||
|
||
System administrators shall be provided with a
|
||
protected mechanism for the purposes of granting
|
||
and revoking user membership to specific roles.
|
||
Administrative users shall also be provided with
|
||
tools for the creation of roles and for the
|
||
definition of role attributes.
|
||
|
||
4. The TCB shall support separate operator and
|
||
administrator functions. The operator functions
|
||
shall be restricted to those necessary for
|
||
performing routine operations. The operator
|
||
functions allow the enabling and disabling of
|
||
peripheral devices, mounting of removable storage
|
||
media, backing-up and recovering user objects;
|
||
maintaining the TCB hardware and software elements
|
||
(e.g., on site testing); and starting and shutting
|
||
down the system.
|
||
|
||
5. The use of the protected mechanisms for system
|
||
administration shall be limited to authorized
|
||
administrative users. The control of access-
|
||
control attributes shall be limited to the object
|
||
owner and to system administrators.
|
||
|
||
3.7 Reference Mediation
|
||
|
||
Reference mediation, that is, the control by the TCB of
|
||
subject accesses to objects, must be ensured so that the users
|
||
can have faith in the TCB's access control decisions. Also,
|
||
users must be ensured that all access to security services are
|
||
mediated by the TCB.
|
||
|
||
For the CS3 level, RM-1 was assigned from the Federal
|
||
Criteria. No refinements were made from CS2 or the Federal
|
||
Criteria.
|
||
|
||
RM-1 Mediation of References to a Defined Subject/Object
|
||
Subset
|
||
|
||
1. The TCB shall mediate all references to
|
||
subjects, objects, resources, and services (e.g.,
|
||
TCB functions) described in the TCB
|
||
specifications. The mediation shall ensure that
|
||
all references are directed to the appropriate
|
||
security-policy functions.
|
||
|
||
2. Reference mediation shall include references to
|
||
the defined subset of subjects, objects, and
|
||
resources protected under the TCB security policy,
|
||
and to their policy attributes, i.e., role
|
||
identifiers.
|
||
|
||
3. References issued by privileged subjects shall
|
||
be mediated in accordance with the policy
|
||
attributes defined for those subjects.
|
||
|
||
3.8 Resource-Allocation Requirements
|
||
|
||
This component restricts the allocation of subjects and
|
||
objects so that no one user through the exhaustion of resource
|
||
can deny service to other users. It further enables the TCB
|
||
to prioritize subject access to resources so that the highest
|
||
priority subject is given preferential treatment in its access
|
||
to objects.
|
||
|
||
For CS3l, AR-1 was assigned from the Federal Criteria. This
|
||
component was refined from the Federal Criteria by limiting
|
||
the control of the capability to place restrictions on the
|
||
number of subjects and objects to system administrators.
|
||
|
||
LEVEL - AR-1 Resource Restrictions
|
||
|
||
The TCB shall provide the capability to place
|
||
restrictions on the number of subjects and objects a user
|
||
may have allocated at any given time. The control of this
|
||
capability shall be limited to system administrators.
|
||
The TCB shall control a defined set of system resources
|
||
(e.g., memory, disk space) such that no one individual
|
||
user can deny access to another user's subject and object
|
||
space. All subjects, objects, and resources shall be
|
||
defined with default space or time quota and number-of-
|
||
resources attributes.
|
||
|
||
3.9 TCB Protection
|
||
|
||
TCB protection is a fundamental requirement for a secure
|
||
product. All of the security components and mechanisms that
|
||
have been described depend upon the integrity of the TCB and
|
||
on the TCB being isolated and non-circumventable. The TCB must
|
||
be resistant to outside penetration.
|
||
|
||
For the CS3 level, P-1 was assigned from the Federal
|
||
Criteria. No refinements were made from CS2 or the Federal
|
||
Criteria.
|
||
|
||
P-1 Basic TCB Isolation
|
||
|
||
The TCB shall maintain a domain for its own
|
||
execution that protects it from external
|
||
interference and tampering (e.g., by reading or
|
||
modification of its code and data structures). The
|
||
protection of the TCB shall provide TCB isolation
|
||
and noncircumventability of TCB isolation
|
||
functions as follows:
|
||
|
||
1. TCB Isolation requires that (1) the address
|
||
spaces of the TCB and those of unprivileged
|
||
subjects are separated such that users, or
|
||
unprivileged subjects operating on their behalf,
|
||
cannot read or modify TCB data structures or code,
|
||
(2) the transfers between TCB and non-TCB domains
|
||
are controlled such that arbitrary entry to or
|
||
return from the TCB are not possible; and (3) the
|
||
user or application parameters passed to the TCB
|
||
by addresses are validated with respect to the TCB
|
||
address space, and those passed by value are
|
||
validated with respect to the values expected by
|
||
the TCB.
|
||
|
||
2. Noncircumventability of TCB isolation
|
||
functions requires that the permission to objects
|
||
(and/or to non-TCB data) passed as parameters to
|
||
the TCB are validated with respect to the
|
||
permissions required by the TCB, and references to
|
||
TCB objects implementing TCB isolation functions
|
||
are mediated by the TCB.
|
||
|
||
3.10 Physical TCB Protection
|
||
|
||
Whenever the physical security of a product cannot be
|
||
established, then all of the software controls that have been
|
||
put into place are of no consequence. Therefore, physical TCB
|
||
protection is just as important as software protection.
|
||
Physical protection is based on a product's ability to
|
||
prevent, deter, detect, and counter physical attacks against
|
||
the product. Devices used to counter physical attacks must be
|
||
shown to be tamper-resistant and non-circumventable.
|
||
|
||
For the CS3 level, PP-1 was assigned from the Federal
|
||
Criteria. No further refinements were made from the Federal
|
||
Criteria.
|
||
|
||
PP-1 Administrative and Environment Protection
|
||
|
||
1. Administrative procedures and environmental
|
||
features necessary for establishing the physical
|
||
security of a product's TCB shall be defined.
|
||
|
||
2. Product functions and devices necessary to
|
||
establish physical control over the product's TCB
|
||
shall be identified and provided.
|
||
|
||
3.11 TCB Self-Checking
|
||
|
||
Validating the correct operation of the TCB firmware and
|
||
hardware is an important aspect of guaranteeing the integrity
|
||
of the product. Hardware and software features that validate
|
||
the correct operation of the product will be delivered with
|
||
the product to ensure that the hardware and firmware are
|
||
installed properly and are in working order.
|
||
|
||
For the CS3 level, SC-2 was assigned from the Federal
|
||
Criteria. The refinements from CS2 and the Federal Criteria
|
||
include providing for an encryption mechanism to preserve the
|
||
integrity of object data and providing for a tool to check for
|
||
storage medium and file system integrity, and for having
|
||
system operators perform operator-controlled tests. An
|
||
assignment was made to the configurable software features to
|
||
monitor system services and the corruption of access control
|
||
information.
|
||
|
||
SC-3 Software-Test Support
|
||
|
||
Hardware and/or software features shall be
|
||
provided that can be used to periodically validate
|
||
the correct operation of the on-site hardware and
|
||
firmware elements of the TCB. These features shall
|
||
include: power-on tests, loadable tests, and
|
||
operator-controlled tests.
|
||
|
||
The power-on tests shall test all basic components
|
||
of the TCB hardware and firmware elements
|
||
including memory boards and memory
|
||
interconnections; data paths; busses; control
|
||
logic and processor registers; disk adapters;
|
||
communication ports; system consoles, and the
|
||
keyboard speaker. These tests shall cover all
|
||
components that are necessary to run the loadable
|
||
tests and the operator-controlled tests.
|
||
|
||
The loadable tests shall cover: processor
|
||
components (e.g., arithmetic and logic unit,
|
||
floating point unit, instruction decode buffers,
|
||
interrupt controllers, register transfer bus,
|
||
address translation buffer, cache, and processor-
|
||
to-memory bus controller); backplane busses;
|
||
memory controllers; writable control memory for
|
||
operator-controlled and remote system-integrity
|
||
testing.
|
||
|
||
Operator-controlled tests shall be able to
|
||
initiate a series of one-time or repeated tests,
|
||
to log the results of these tests and, if any fault
|
||
is detected, to direct the integrity-test programs
|
||
to identify and isolate the failure.The execution
|
||
of operator-controlled tests shall be limited to
|
||
system operators.
|
||
|
||
Configurable software or firmware features shall
|
||
be provided that can be used to validate the
|
||
correct operation of the on-site software elements
|
||
(i.e., code and data structures) of the TCB. These
|
||
features may include, but are not limited to,
|
||
checksums and consistency checks for TCB elements
|
||
stored on storage media (e.g., disk-block
|
||
consistency invariants).
|
||
|
||
a. At a minimum, these features shall also address:
|
||
|
||
(1) Monitoring of system services
|
||
|
||
(2) Corruption of access control information.
|
||
|
||
The TCB should provide an encryption mechanism that
|
||
can be used to preserve the integrity of data in an
|
||
object. (A)
|
||
|
||
The TCB shall provide tools for checking storage
|
||
medium and file system integrity.
|
||
|
||
a. The TCB shall execute these tools periodically.
|
||
|
||
3.12 TCB Initialization and Recovery
|
||
|
||
The recovery and start-up of the TCB must be ensured so that
|
||
the product always remains in a secure state, whether the
|
||
recovery is performed manually or automatically.
|
||
|
||
For the CS3 level, TR-2 was assigned from the Federal
|
||
Criteria. An assignment was made at this component level to
|
||
specify that audit control data shall survive system restarts.
|
||
|
||
TR-3 Automated Recovery or Start-up
|
||
|
||
1. Procedures and/or mechanisms shall be provided
|
||
to assure that, after a TCB failure or other
|
||
discontinuity, recovery without protection
|
||
compromise is obtained. At a minimum, audit
|
||
control data (e.g., audit event masks) shall
|
||
survive system restarts.
|
||
|
||
2. Automated procedures, under the control of the
|
||
TCB, shall be provided to assure that after a
|
||
system failure, other discontinuity, or start-up,
|
||
a secure state is obtained without undue loss of
|
||
system or user objects. The security policy
|
||
properties, or requirements, used to determine
|
||
that a secure state is obtained shall be defined.
|
||
|
||
3.13 Privileged Operation
|
||
|
||
Privileges are associated with functional components so
|
||
that at any given time only those operations that are
|
||
associated with the privilege can be performed. The privileges
|
||
that a product needs must be identified and must cover all the
|
||
security aspects of the product, including the secure
|
||
administration of the product, and should be defined so that
|
||
there is not a single privileged mode for all of the TCB's
|
||
operations.
|
||
|
||
For the CS3 level, PO-2 was assigned from the Federal
|
||
Criteria. A refinement was made from CS2 and the Federal
|
||
Criteria by specifying that privileges be associated with
|
||
administrative roles and for controlling access to role
|
||
registration files.
|
||
|
||
PO-2 Privilege Association with TCB Modules
|
||
|
||
1. TCB privileges needed by individual functions,
|
||
or groups of functions, of a functional component
|
||
shall be identified. Privileged TCB calls or
|
||
access to privileged TCB objects, such as user and
|
||
group and role registration files, password files,
|
||
security and integrity-level definition file, role
|
||
definition file, audit-log file shall also be
|
||
identified. It shall be possible to associate TCB
|
||
privileges with TCB operations performed by
|
||
administrative users (i.e., administrative roles).
|
||
|
||
2.The modules of a TCB function shall be
|
||
associated only with the privileges necessary to
|
||
complete their task.
|
||
|
||
3. Support for product privilege implementation
|
||
and association with TCB modules provided by
|
||
lower-level mechanisms or procedures (e.g.,
|
||
operating system, processors, language) shall be
|
||
provided.
|
||
|
||
3.14 Ease-of-TCB-Use
|
||
|
||
If security mechanisms are not easy to use and maintain,
|
||
then administrative and non-system administrators may be
|
||
tempted to disable the security mechanisms. Therefore, ease
|
||
of use becomes an important element in the administration of
|
||
a secure product and in the creation of privileged
|
||
applications. It also minimizes errors on the part of both the
|
||
administrative and non-system administrators, and can serve
|
||
to minimize the consequences of these errors.
|
||
|
||
For the CS3 level, EU-3 was assigned from the Federal
|
||
Criteria. No refinements were made from CS2 or the Federal
|
||
Criteria.
|
||
|
||
EU-3 Common Configuration Coverage
|
||
|
||
1. The TCB shall provide well-defined actions to
|
||
undertake administrative functions. Fail-safe
|
||
default options shall be provided for security
|
||
parameters of administrative functions.
|
||
|
||
The TCB shall include fail-safe defaults for the
|
||
policy attributes of subjects, objects (e.g.,
|
||
devices) and services used in common system
|
||
configurations, as well as user-setable defaults
|
||
for these subjects and objects.
|
||
|
||
2. The TCB shall provide well-defined application
|
||
programming interfaces and programming functions
|
||
(e.g., libraries) for all its policies to support
|
||
the development of applications that can define
|
||
and enforce security policies on application-
|
||
controlled subjects and objects. The TCB shall
|
||
enable user-controlled reduction of permissions
|
||
available to applications.
|
||
|
||
CS3 Assurance
|
||
|
||
4. Introduction
|
||
|
||
This chapter provides the CS3 development and evaluation
|
||
assurance requirements package using the development and
|
||
evaluation assurance components defined in Volume I and the
|
||
package contained in Volume I, Appendix G of the Federal
|
||
Criteria. The structure of each assurance package follows that
|
||
of the assurance components (i.e., each package consists of
|
||
development process, operational support, development
|
||
environment, development evidence, and evaluation process
|
||
components).
|
||
|
||
Assurance Package T3+
|
||
|
||
The enhanced assurance level is intended to include the
|
||
best of the commercial computer products designed to satisfy
|
||
functional requirements. As such this package includes
|
||
several extensions to the assurance components of the previous
|
||
two packages.
|
||
|
||
The intent of product development assurance for this
|
||
package is both to establish that the external behavior of the
|
||
product conforms to its user level and administrative
|
||
documentation and to provide visibility into the internal
|
||
structure of the product TCB. For this reason, requirements
|
||
for Descriptive Interface Specifications (DIS) and modular
|
||
decomposition have been added. The TCB element identification
|
||
and functional testing, have also been extended and
|
||
penetration testing requirements added to support the added
|
||
assurances of external behavior.
|
||
|
||
The intent of the operational support assurance for this
|
||
package is to establish a level of user and administrative
|
||
guidance and product information that enables the correct
|
||
product installation and use of product security features. The
|
||
developer is required to establish and document a policy for
|
||
responding to customer inquiries and flaw remediation.
|
||
Similarly, the development environment assurances are
|
||
intended to provide the a level of control over the product
|
||
configuration and production, including well-defined coding
|
||
standards and strict configuration management processes. This
|
||
level of development environment assurance is similar to that
|
||
used in the most advanced commercial development
|
||
organizations.
|
||
|
||
The development evidence required for this package is
|
||
commensurate with the assurances required. The intent of this
|
||
package is to require the type of assurance evidence that is
|
||
generated during commercial development oriented towards of
|
||
high-quality products.
|
||
|
||
The intent of evaluation support assurance is to establish
|
||
that the product, and the context in which it is developed and
|
||
supported, is commensurate with the development assurance
|
||
requirements. At the T3+ level, testing analysis and the
|
||
requirement for independent testing determines whether the
|
||
product meets the functional protection requirements.
|
||
Operational support evaluation assurance determines whether
|
||
the product documentation correctly describes the security
|
||
relevant operations. Development environment assurance
|
||
determines whether the product meets the requirements as
|
||
defined in the protection profile's development assurance
|
||
subsections. Design assurance determines whether the product
|
||
meets the design requirements as defined in the Development
|
||
Process Assurance section of this Protection Profile.
|
||
|
||
Also for CS3, flaw remediation was included in this
|
||
package. Flaw remediation is important for commercial
|
||
environments since it ensures that flaws (i.e, deficiencies
|
||
in a product that enables a user external to the TCB to violate
|
||
the functional requirements of a protection profile) that are
|
||
discovered by the product consumers will be tracked,
|
||
corrected, and disseminated to the affected customers.
|
||
|
||
The following table summarizes the assurance components
|
||
that comprise T3+. Note that this package is indicated as
|
||
being T3+ since an additional component was included for flaw
|
||
remediation. Also note that the requirement for role based
|
||
administrative guidance was included from level AG-3 and is
|
||
indicated in the table below as "AG-2+" and in the component
|
||
text by the insertion of "[AG-3]"at the beginning of the
|
||
paragraph.
|
||
|
||
CS3 Assurance Package Summary
|
||
.---------------------------------------.
|
||
| Assurance Components | T3+ |
|
||
|================================|======|
|
||
| Development Assurance Components |
|
||
|=======================================|
|
||
| Development Process |
|
||
|--------------------------------+------|
|
||
| TCB Property Definition | PD-2 |
|
||
|--------------------------------+------|
|
||
| TCB Design |
|
||
|--------------------------------+------|
|
||
| TCB Element Identification | ID-2 |
|
||
|--------------------------------+------|
|
||
| TCB Interface Definition | IF-1 |
|
||
|--------------------------------+------|
|
||
| TCB Modular Decomposition | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Structuring Support | SP-1 |
|
||
|--------------------------------+------|
|
||
| TCB Design Disciplines | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Implementation Support | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Testing and Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | FT-1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | PA-1 |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support |
|
||
|--------------------------------+------|
|
||
| User Security Guidance | UG-1 |
|
||
|--------------------------------+------|
|
||
| Administrative Guidance | AG-2+|
|
||
|--------------------------------+------|
|
||
| Flaw Remediation | FR-2 |
|
||
|--------------------------------+------|
|
||
| Trusted Generation | TG-2 |
|
||
|--------------------------------+------|
|
||
| Development Environment |
|
||
|--------------------------------+------|
|
||
| Life Cycle Definition | LC-1 |
|
||
|--------------------------------+------|
|
||
| Configuration Management | CM-1 |
|
||
|--------------------------------+------|
|
||
| Trusted Distribution | ---- |
|
||
|--------------------------------+------|
|
||
| Development Evidence |
|
||
|--------------------------------+------|
|
||
| TCB Protection Properties | EPP2 |
|
||
|--------------------------------+------|
|
||
| Product Development | EPD1 |
|
||
|--------------------------------+------|
|
||
| Product Testing & Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | EFT1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | EPA1 |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Product Support | EPS1 |
|
||
`---------------------------------------'
|
||
|=======================================|
|
||
| Evaluation Assurance Components |
|
||
|=======================================|
|
||
| Testing |
|
||
|--------------------------------+------|
|
||
| Test Analysis | TA-2 |
|
||
|--------------------------------+------|
|
||
| Independent Testing | IT-1 |
|
||
|--------------------------------+------|
|
||
| Review |
|
||
|--------------------------------+------|
|
||
| Development Environment | DER1 |
|
||
|--------------------------------+------|
|
||
| Operational Support | OSR1 |
|
||
|--------------------------------+------|
|
||
| Analysis |
|
||
|--------------------------------+------|
|
||
| Protection Properties | ---- |
|
||
|--------------------------------+------|
|
||
| Design | DA-1 |
|
||
|--------------------------------+------|
|
||
| Implementation | ---- |
|
||
`---------------------------------------'
|
||
|
||
|
||
4.1 TCB Property Definition
|
||
|
||
The definition of TCB properties assures the consistency of
|
||
the TCB's behavior. It determines a baseline set of properties
|
||
that can be used by system developers and evaluators to assure
|
||
that the TCB satisfies the defined functional requirements.
|
||
|
||
For CS3, PD-2 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
PD-2 Informal Property Definition
|
||
|
||
The developer shall provide informal models for
|
||
the functional components and sub-components of
|
||
the profile. At a minimum, an informal model of
|
||
the access control components shall be provided.
|
||
Each informal model shall include (abstract) data
|
||
structures and operations defining each functional
|
||
component or sub-component, and a description of
|
||
the model properties. The developer shall
|
||
interpret (e.g., trace) the informal models within
|
||
the product TCB. For each model entity, the
|
||
developer shall: (1) identify the TCB elements and
|
||
their TCB interfaces (if any) that implement that
|
||
entity; (2) define the operation of these TCB
|
||
elements, and (3) explain why the operation of
|
||
these elements is consistent with the model
|
||
properties. The developer's interpretation of each
|
||
informal model, which defines the TCB properties,
|
||
shall identify all TCB elements that do not
|
||
correspond to any model entity and shall explain
|
||
why these elements do not render the TCB
|
||
properties invalid.
|
||
|
||
For the components that are not informally
|
||
modeled, the developer shall interpret the
|
||
functional requirements of the protection profile
|
||
within the product TCB. For each functional
|
||
requirement, the developer shall: (1) identify the
|
||
TCB elements and their TCB interfaces (if any)
|
||
that implement that requirement; (2) describe the
|
||
operation of these TCB elements, and (3) explain
|
||
why the operation of these elements is consistent
|
||
with the functional requirement. The developer's
|
||
interpretation of each functional requirement,
|
||
which describes the TCB properties, shall identify
|
||
all TCB elements that do not correspond to any
|
||
functional requirement and shall explain why these
|
||
elements do not render the TCB properties invalid.
|
||
|
||
4.2 TCB Element Identification
|
||
|
||
The identification of TCB elements (hardware, firmware,
|
||
software, code, and data structures) provides the set of
|
||
elements that determine the protection characteristics of a
|
||
product. All assurance methods rely on the correct
|
||
identification of TCB elements either directly or indirectly.
|
||
|
||
For CS3, ID-2 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
ID-2: TCB Element Justification
|
||
|
||
The developer shall identify the TCB elements
|
||
(i.e., software, hardware/firmware code and data
|
||
structures). Each element must be unambiguously
|
||
identified by its name, type, release, and version
|
||
number (if any).
|
||
|
||
The developer shall justify the protection
|
||
relevance of the identified elements (i.e., only
|
||
elements that can affect the correct operation of
|
||
the protection functions shall be included in the
|
||
TCB). If protection-irrelevant elements are
|
||
included in the TCB, the developer shall provide a
|
||
rationale for such inclusion.
|
||
|
||
4.3 TCB Interface Definition
|
||
|
||
The TCB interface establishes the boundary between the TCB
|
||
and its external users and application programs. It consists
|
||
of several components, such as command interfaces (i.e., user
|
||
oriented devices such as the keyboard and mouse), application
|
||
program interfaces (system calls), and machine/processor
|
||
interfaces (processor instructions).
|
||
|
||
For CS3, IF-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
IF-1: Interface Description
|
||
|
||
The developer shall describe all external (e.g.,
|
||
command, software, and I/O) administrative (i.e.,
|
||
privileged) and non-administrative interfaces to
|
||
the TCB. The description shall include those
|
||
components of the TCB that are implemented as
|
||
hardware and/or firmware if their properties are
|
||
visible at the TCB interface.
|
||
|
||
The developer shall identify all call conventions
|
||
(e.g., parameter order, call sequence
|
||
requirements) and exceptions signaled at the TCB
|
||
interface.
|
||
|
||
TCB Structuring Support
|
||
|
||
Structuring the TCB into modules is necessary. However, the
|
||
modular decomposition does not necessarily reflect the run-
|
||
time enforcement of the TCB structuring since the separation
|
||
of modules may not necessarily be supported by run-time
|
||
mechanisms. The run-time enforcement of internal TCB
|
||
structuring adds a measure of assurance that the TCB elements
|
||
that are critical to the enforcement of the protection
|
||
functions are separate from the non-critical elements. Also,
|
||
the use of run-time enforcement of TCB structuring helps
|
||
separate protection-critical TCB elements from each other,
|
||
thereby helping to enforce the separation of protection
|
||
concerns and minimizing the common mechanisms shared between
|
||
protection critical elements.
|
||
|
||
For CS3, SP-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
SP-1: Process Isolation
|
||
|
||
The TCB shall maintain process isolation.
|
||
|
||
4.4 Developer Functional Testing
|
||
|
||
Functional testing establishes that the TCB interface
|
||
exhibits the properties necessary to satisfy the requirements
|
||
of the protection profile. It provides assurance that the TCB
|
||
satisfies at least its functional protection requirements.
|
||
|
||
For CS3, FT-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
FT-1: Conformance Testing
|
||
|
||
The developer shall test the TCB interface to show
|
||
that all claimed protection functions work as
|
||
stated in the TCB interface description.
|
||
|
||
The developer shall correct all flaws discovered
|
||
by testing and shall retest the TCB until the
|
||
protection functions are shown to work as claimed.
|
||
|
||
4.5 Penetration Analysis
|
||
|
||
Penetration analysis is an important assurance component
|
||
since the effectiveness of all security policies rely on the
|
||
penetration resistance of the TCB. TCB penetration analysis
|
||
consists of the identification and confirmation of flaws in
|
||
the design and implementation of protection functions that can
|
||
be exploited by unprivileged users or untrusted application
|
||
programs.
|
||
|
||
For CS3, PA-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
PA-1 Basic Penetration Testing
|
||
|
||
The developer shall define the TCB configuration,
|
||
interface, and protection functions that are
|
||
subject to penetration testing. For each test, the
|
||
developer shall identify the goal of the test and
|
||
the criteria for successful penetration. The
|
||
developer shall identify all product documentation
|
||
(e.g., system reference manuals) used to define
|
||
penetration-test conditions, and shall document
|
||
all test conditions, data (e.g., test set-up,
|
||
function call parameters, and test outcomes), and
|
||
coverage.
|
||
|
||
The penetration testing shall include, at a
|
||
minimum, known classes of penetration flaws found
|
||
in other TCBs (e.g., generic penetration flaws).
|
||
For each uncovered flaw, the developer shall
|
||
define and document scenarios of flaw
|
||
exploitation, and shall identify all penetration
|
||
outcomes resulting from that scenario.
|
||
|
||
4.6 User's Guidance
|
||
|
||
User's guidance is an operational support assurance
|
||
component that ensures that usage constraints assumed by the
|
||
protection profile are understood by the users of the product.
|
||
It is the primary means available for providing product users
|
||
with the necessary background and specific information on how
|
||
to correctly use the product's protection functionality.
|
||
|
||
For CS3, UG-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
UG-1: Users' Guide
|
||
|
||
The developer shall provide a Users' Guide which
|
||
describes all protection services provided and
|
||
enforced by the TCB. The User's Guide shall
|
||
describe the interaction between these services
|
||
and provide examples of their use. The User's
|
||
Guide may be in the form of a summary, chapter or
|
||
manual. The User's Guide shall specifically
|
||
describe user responsibilities. These shall
|
||
encompass any user responsibilities identified in
|
||
the protection profile.
|
||
|
||
4.7 Administrative Guidance
|
||
|
||
Administrative guidance is an operation support assurance
|
||
component that ensures that the environmental constraints
|
||
assumed by the protection profile are understood by
|
||
administrative users and operators of the IT product. It is
|
||
the primary means available to the developer for providing to
|
||
administrators and operators detailed, accurate information
|
||
on how to configure and install the product, operate the IT
|
||
product is a secure manner, make effective use of the
|
||
product's privileges and protection mechanisms to control
|
||
access to administrative functions and data bases, and to
|
||
avoid pitfalls and improper use of the administrative
|
||
functions that would compromise the TCB and user security.
|
||
|
||
For CS3, AG-2+ was assigned from the Federal Criteria. This
|
||
level is indicated as being "AG-2+" because requirements were
|
||
included from AG-3 for role based administrative guidance.
|
||
This is indicated in the text by an "[AG-3]" in front of the
|
||
paragraph and through the use of bold italics.
|
||
|
||
AG-2+: Detailed Administrative Guidance
|
||
|
||
[AG-3]: The developer shall provide a Trusted
|
||
Facility Manual intended for the product
|
||
administrators and operators that describes how to
|
||
use the TCB security services (e.g., Access
|
||
Control, System Entry, or Audit) to enforce a
|
||
system security policy. The Trusted Facility
|
||
Manual shall include the procedures for securely
|
||
configuring, starting, maintaining, and halting
|
||
the TCB. The Trusted Facility Manual shall explain
|
||
how to analyze audit data generated by the TCB to
|
||
identify and document user and administrator
|
||
violations of this policy. The Trusted Facility
|
||
Manual shall explain the unique security-relevant
|
||
privileges and functions of administrators and
|
||
operators. The Trusted Facility Manual shall also
|
||
explain the distinct security-relevant privileges
|
||
and functions of the TCB and how they can be
|
||
selectively granted to provide fine-grained,
|
||
multi-role system and application administration
|
||
policies. The Trusted Facility Manual shall
|
||
describe the administrative interaction between
|
||
security services.
|
||
|
||
The Trusted Facility Manual shall identify all
|
||
hardware, firmware, software, and data structures
|
||
comprising the TCB. The detailed audit record
|
||
structure for each type of audit event shall be
|
||
described. If covert channel handling is required,
|
||
the Trusted Facility Manual shall explain how
|
||
configure the product to mitigate, eliminate, or
|
||
audit covert channel exploitation.The Trusted
|
||
Facility Manual shall describe the cautions about
|
||
and procedures for using the TCB as a base for
|
||
site-specific secure applications. The Trusted
|
||
Facility Manual shall describe procedures for
|
||
securely regenerating the TCB after any part is
|
||
changed (e.g., due to adding devices or installing
|
||
flaw corrections to the TCB software).
|
||
|
||
The Trusted Facility Manual shall be distinct from
|
||
User Guidance, and encompass any administrative
|
||
responsibilities identified in security
|
||
management.
|
||
|
||
4.8 Flaw Remediation Procedures
|
||
|
||
Flaw remediation is an operational support assurance
|
||
component that ensures that flaws (i.e, deficiencies in the
|
||
product that enable a user external to the TCB to violate the
|
||
functional requirements of a protection profile) that are
|
||
discovered by the product consumers will be tracked and
|
||
corrected while the product is supported by the developer.
|
||
|
||
For CS3, FR-2 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
FR-2: Flaw Reporting Procedures
|
||
|
||
Flaw Tracking Procedures: The developer shall
|
||
establish a procedure to track all reported
|
||
protection flaws with each release of the product.
|
||
The tracking system shall include a description of
|
||
the nature and effect of each flaw and the status
|
||
of finding a correction to the flaw.
|
||
|
||
Flaw Repair Procedures: The developer shall
|
||
establish a procedure to identify corrective
|
||
actions for protection flaws. This procedure shall
|
||
include a policy to separate protection-relevant
|
||
from non-protection relevant corrections, changes,
|
||
or upgrades to the product.
|
||
|
||
Consumer Interaction Procedures: The developer
|
||
shall establish a procedure for accepting consumer
|
||
reports of protection problems and requests for
|
||
corrections to those problems. The developer shall
|
||
designate one or more specific points of contact
|
||
for consumer reports and inquiries about
|
||
protection issues involving the product. This
|
||
procedure and the designated points of contact
|
||
shall be provided in the consumer documentation
|
||
(e.g., the TFM or the SFUG).
|
||
|
||
4.9 Trusted Generation
|
||
|
||
Trusted generation is an operational support assurance
|
||
component that ensures that the copy of the product's TCB that
|
||
is configured and activated by the consumer exhibits the same
|
||
protection properties as the master copy of the product's TCB
|
||
that was evaluated for compliance with the protection profile.
|
||
The trusted generation procedures must provide some
|
||
confidence that the consumer will be aware of what product
|
||
configuration parameters can affect the protection properties
|
||
of the TCB. The procedures must encourage the consumer to
|
||
choose parameter settings that are within the bounds assumed
|
||
during the product evaluation.
|
||
|
||
For CS3, TG-2 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
TG-2: Trusted Generation With Fail-Safe Defaults
|
||
|
||
The developer shall establish and document the
|
||
procedures that a customer must perform to
|
||
generate an operational TCB from the delivered
|
||
copy of the master TCB. The customer documentation
|
||
shall identify any system parameters, which are
|
||
initialized or set during system generation, that
|
||
affect the TCB's conformance to the protection
|
||
profile and state the acceptable ranges of values
|
||
for those parameters. The product shall be
|
||
delivered with each of these parameters set to its
|
||
fail-safe defaults.
|
||
|
||
4.10 Life Cycle Definition
|
||
|
||
Life cycle definition is an assurance component for
|
||
establishing that the business practices used by a developer
|
||
to produce the product's TCB include the considerations and
|
||
activities identified by the development process and
|
||
operational support requirements of the protection profile.
|
||
Consumer confidence in the correspondence between the
|
||
protection profile requirements and the product's TCB is
|
||
greater when security analysis and the production of evidence
|
||
are done on a regular basis as a integral part of the
|
||
development process and operational support activities.
|
||
|
||
For CS3, LC-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
LC-1: Developer-Defined Life Cycle Process
|
||
|
||
The developer shall describe the process used to
|
||
develop and maintain the product. The process
|
||
shall incorporate a security policy that states
|
||
the technical, physical, procedural, personnel,
|
||
and other measures used by the developer to
|
||
protect the product and its documentation. The
|
||
developer shall trace each development process and
|
||
support process requirement of the protection
|
||
profile to the part, or parts, of the developer's
|
||
process where the requirement is satisfied. The
|
||
developer shall identify the programming languages
|
||
used to develop the TCB software.
|
||
|
||
4.11 Configuration Management
|
||
|
||
Configuration management is an assurance component that
|
||
ensures that the product's TCB configuration remains
|
||
consistent and complete, and that changes to the TCB do not
|
||
adversely affect the protection properties of the TCB.
|
||
Configuration management must ensure that additions,
|
||
deletions, or changes to the TCB do not compromise the
|
||
correspondence between the TCB's implementation and the
|
||
requirements of the protection profile. This is accomplished
|
||
by requiring the developer to have procedures or tools that
|
||
ensure that the TCB and its documents are updated properly
|
||
with the TCB changes.
|
||
|
||
For CS3, CM-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
CM-1: Procedural Control and Generation
|
||
|
||
The developer shall establish configuration
|
||
control and generation procedures for developing
|
||
and maintaining the TCB. The procedures shall be
|
||
employed to ensure that changes to the TCB are
|
||
consistent with the product's protection
|
||
properties and security policy. The developer
|
||
shall employ these procedures to track changes to
|
||
development evidence, implementation data (e.g.,
|
||
source code and hardware diagrams), executable
|
||
versions of the TCB, test documentation and
|
||
procedures, identified flaws, and consumer
|
||
documentation.
|
||
|
||
The configuration control procedures shall permit
|
||
the regeneration of any supported version of the
|
||
TCB.
|
||
|
||
4.12 Evidence of TCB Protection Properties
|
||
|
||
The documentation of the TCB protection properties includes
|
||
the definition of the functional component requirements,
|
||
their modeling (if any), and their interpretation within a
|
||
product's TCB. For each requirement of a protection profile,
|
||
a description, definition (an informal, descriptive
|
||
specification), or a formal specification of the TCB
|
||
components and their operation corresponding to the
|
||
requirement must be provided.
|
||
|
||
For CS3, EPP-2 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EPP-2 Evidence of Informal Model Interpretation in the TCB
|
||
|
||
The developer shall provide documentation which
|
||
describes the correspondence between the
|
||
functional component requirements and the TCB
|
||
elements and interfaces. The developer shall also
|
||
provide an informal access control model and its
|
||
interpretation within the TCB. The TCB properties,
|
||
which are defined by this correspondence, shall be
|
||
explained in this documentation.
|
||
|
||
|
||
|
||
4.13 Evidence of Product Development
|
||
|
||
Product development evidence consists of the TCB design
|
||
evidence including the documentation of the TCB interface, TCB
|
||
elements, TCB structure, TCB structuring support, and TCB
|
||
design disciplines. The TCB implementation evidence includes
|
||
TCB source code, and the processor hardware and firmware
|
||
specifications.
|
||
|
||
For CS3, EPD-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EPD-1: Description Of The TCB External Interface
|
||
|
||
The developer shall provide an accurate
|
||
description of the functions, effects, exceptions
|
||
and error messages visible at the TCB interface.
|
||
|
||
The developer shall provide a list of the TCB
|
||
elements (hardware, software, and firmware).
|
||
|
||
4.14 Evidence of Functional Testing
|
||
|
||
Functional testing evidence includes the testing itself,
|
||
the test plans, and test documentation results. Test plans
|
||
consist of: the description definition or specification of the
|
||
test conditions; the test data, which consists of the test
|
||
environment set-up; the test parameters and expected
|
||
outcomes; and a description of the test coverage.
|
||
|
||
For CS3, EFT-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EFT-1: Evidence of Conformance Testing
|
||
|
||
The developer shall provide evidence of the
|
||
functional testing that includes the test plan,
|
||
the test procedures and the results of the
|
||
functional testing.
|
||
|
||
4.15 Evidence of Penetration Analysis
|
||
|
||
The penetration analysis evidence includes, in addition to
|
||
penetration test plans and results configured in the same
|
||
manner as the functional testing evidence, the documentation
|
||
of the penetration-resistance testing methods and tools,
|
||
conditions that were verified, the outcomes of the
|
||
verification and, when appropriate, the scenario of the
|
||
discovered penetration flaws. The cause of every discovered
|
||
penetration flaw, or class of penetration flaws, must also be
|
||
documented.
|
||
|
||
For CS3, EPA-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EPA-1: Evidence of Penetration Testing
|
||
|
||
The developer shall provide evidence of
|
||
penetration testing. The evidence shall identify
|
||
all product documentation on which the search for
|
||
flaws was based. The penetration evidence shall
|
||
describe the scenarios for exploiting each
|
||
potential flaw in the system and the penetration
|
||
test conditions, data (e.g., test set-up, function
|
||
call parameters, and test outcomes), coverage, and
|
||
conclusions derived from each scenario.
|
||
|
||
4.16 Evidence of Product Support
|
||
|
||
Product support evidence consists of the development
|
||
environment and operational support documentation and tools.
|
||
The development environment evidence includes the
|
||
documentation of the product life-cycle process,
|
||
configuration management procedures enforced, and the trusted
|
||
distribution mechanisms and procedures used. It also
|
||
includes: the identification of the tools used in the product
|
||
development, configuration management, and trusted
|
||
distribution; and the characteristics that make those tools
|
||
suitable for the development of product protection.
|
||
|
||
For CS3, EPS-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
EPS-1: Evidence of Basic Product Support
|
||
|
||
The developer shall provide evidence that
|
||
describes the policies, procedures, and plans
|
||
established by the developer to satisfy the
|
||
Operational Support and Development Environment
|
||
requirements of the protection profile.
|
||
|
||
4.17 Test Analysis
|
||
|
||
Test analysis determines whether the product meets the
|
||
functional protection requirements defined in the protection
|
||
profile. Functional testing is based on operational product,
|
||
the TCB's functional properties, the product's operational
|
||
support guidance, and other producer's documentation as
|
||
defined by the development evidence requirements. Functional
|
||
test analysis is based on the achieved test results as
|
||
compared to the expected results derived from the development
|
||
evidence.
|
||
|
||
For CS3, TA-2 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
TA-2: Enhanced Test Analysis
|
||
|
||
The evaluator shall assess whether the producer
|
||
has performed the activities defined in the
|
||
development assurance requirements of the
|
||
protection profile for functional testing and
|
||
penetration analysis, and whether the producer has
|
||
documented these activities as defined in the
|
||
development evidence requirements of the
|
||
protection profile. The evaluator shall analyze
|
||
the results of the producer's testing activities
|
||
for completeness of coverage and consistency of
|
||
results, and general correctness (e.g., defect
|
||
trend from regression testing). This analysis
|
||
shall examine the testability of requirements, the
|
||
adequacy of the tests to measure the required
|
||
properties, the deviation of the actual results
|
||
obtained from the expected results, and a general
|
||
interpretation of what the testing results mean.
|
||
The evaluator shall determine whether the
|
||
product's protection properties, as described in
|
||
the product documentation, and all relevant known
|
||
penetration flaws have been tested. The evaluator
|
||
shall assess testing results to determine whether
|
||
the product's TCB works as claimed, and whether
|
||
there are any remaining obvious ways (i.e., ways
|
||
that are known, or that are readily apparent or
|
||
easily discovered in product documentation) for an
|
||
unauthorized user to bypass the policy implemented
|
||
by the TCB or otherwise defeat the product's TCB.
|
||
|
||
4.18 Independent Testing
|
||
|
||
Independent testing determines whether the product's TCB
|
||
meets the functional protection requirements as defined in the
|
||
functionality chapter of this Protection Profile. Testing is
|
||
based on operational product, the TCB's functional
|
||
properties, the product's operational support guidance, and
|
||
other producer's documentation as defined by the Development
|
||
Evidence requirements.
|
||
|
||
For CS3, IT-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
IT-1: Elementary Independent Testing
|
||
|
||
A tester, independent of the producer or
|
||
evaluator, shall perform functional and elementary
|
||
penetration testing. This testing shall be based
|
||
on the product's user and administrative
|
||
documentation, and on relevant known penetration
|
||
flaws. Satisfactory completion consists of
|
||
demonstrating that all user-visible security
|
||
enforcing functions and security-relevant
|
||
functions work as described in the product's user
|
||
and administrative documentation and that no
|
||
discrepancies exist between the documentation and
|
||
the product. Test results of the producer shall be
|
||
confirmed by the results of independent testing.
|
||
The evaluator may selectively reconfirm any test
|
||
result.
|
||
|
||
If the independent testing is performed at beta-
|
||
test sites, the producer shall supply the beta-
|
||
test plan and the test results. The evaluator
|
||
shall review the scope and depth of beta testing
|
||
with respect to the required protection
|
||
functionality, and shall verify independence of
|
||
both the test sites and the producer's and beta-
|
||
test user's test results. The evaluator shall
|
||
confirm that the test environment of the beta-test
|
||
site(s) adequately represents the environment
|
||
specified in the protection profile.
|
||
|
||
4.19 Development Environment Review
|
||
|
||
Development environment review determines whether the
|
||
product meets the requirements as defined in the protection
|
||
profile's Development Assurance subsections for Development
|
||
Environment including Life-Cycle Definition and Configuration
|
||
Management.
|
||
|
||
For CS3, DER-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
DER-1: Elementary Development Environment Review
|
||
|
||
The evaluator shall review the producer's
|
||
development and maintenance process description
|
||
documentation to determine the degree of
|
||
discipline enforced upon and within the process,
|
||
and to determine the protection characteristics
|
||
associated with the product's development and
|
||
maintenance. The results of this review shall
|
||
establish, for the evaluator, the producer's
|
||
development environment, its policies, and the
|
||
degree of enforcement maintained during
|
||
development execution.
|
||
|
||
4.20 Operational Support Review
|
||
|
||
Operation support review establishes the level of review
|
||
required to determine whether the product meets the
|
||
requirements as defined in the protection profile's
|
||
Development Assurance subsections for Operational Support
|
||
including, at the CS3 level, the User and Administrative
|
||
Guidance documents.
|
||
|
||
For CS3, OSR-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
OSR-1 Elementary Operational Support Review
|
||
|
||
The evaluator shall review all documentation
|
||
focused on the activities of product use (e.g.,
|
||
Users Manuals) and product administration
|
||
including installation, operation, maintenance,
|
||
and trusted recovery (e.g., Trusted Facility
|
||
Management Manuals). This review shall assess the
|
||
clarity of presentation, difficulty in locating
|
||
topics of interest, ease of understanding, and
|
||
completeness of coverage. The need for separate
|
||
manuals dedicated to protection-relevant aspects
|
||
of the product should be assessed for
|
||
effectiveness.
|
||
|
||
This component should also address flaw
|
||
remediation and trusted generation. [[TBD.]]
|
||
|
||
4.21 Design Analysis
|
||
|
||
Design analysis determines whether the product meets the
|
||
design requirements as defined in the Development Process
|
||
Assurance section of the protection profile, including the TCB
|
||
Property Definition and TCB Design requirements. The analysis
|
||
is based on the producer's documentation, as defined by the
|
||
Development Evidence requirements.
|
||
|
||
For CS3, DA-1 was assigned from the Federal Criteria. No
|
||
refinements were made from the Federal Criteria.
|
||
|
||
DA-1: Elementary Design Analysis
|
||
|
||
The evaluator shall determine whether the producer
|
||
has performed the activities defined in the
|
||
development process assurance requirements of the
|
||
protection profile for TCB property definition and
|
||
TCB design. The evaluator shall determine whether
|
||
the producer has documented these activities as
|
||
defined in the development evidence requirements
|
||
of the protection profile. The evaluator shall
|
||
analyze the results of the producer's activities
|
||
for completeness and consistency of design with
|
||
respect to requirements.
|
||
|
||
CSR References
|
||
|
||
1. U.S. Department of Defense Trusted Computer System
|
||
Evaluation Criteria (TCSEC), DoD 5200.28-STD, December
|
||
1985.
|
||
|
||
|
||
|
||
2. Information Technology Security Evaluation Criteria
|
||
(ITSEC) - Provisional Harmonized Criteria, Version 1.2,
|
||
June 1991.
|
||
|
||
|
||
|
||
3. Bellcore Standard Operating Environment Security
|
||
Requirements, TA-STS-001080, Issue 2, June, 1991.
|
||
|
||
|
||
|
||
4. Commercial International Security Requirements (CISR),
|
||
Cutler, K. and Jones, F., Final Draft, September 9, 1991.
|
||
|
||
|
||
|
||
5. Computers at Risk - Safe Computing in the Information
|
||
Age, National Research Council, National Academy Press,
|
||
1991.
|
||
|
||
|
||
|
||
6. Information Technology - Open Systems Interconnection -
|
||
Security Frameworks in Open Systems - Part 2:
|
||
Authentication Framework, Draft International Standard
|
||
DIS 10181-2, International Organization for
|
||
Standardization, 13 May 1991
|
||
|
||
|
||
|
||
7. Assessing Federal and Commercial Information Security
|
||
Needs, Ferraiolo, D., Gilbert, D., and Lynch, N., NIST
|
||
Draft Internal Report, September 1992.
|
||
|
||
|
||
|
||
8. Security Controls for Computer Systems: Report of Defense
|
||
Science Board Task Force on Computer Security, Willis
|
||
Ware, Editor, R-609-1, 1970, Reissued October 1979.
|
||
|
||
|
||
|
||
9. Information Processing Systems - Open Systems
|
||
Interconnection Reference Model - Part 2: Security
|
||
Architecture, International Standard ISO 7498-2,
|
||
International Organization for Standardization, 1988
|
||
|
||
|
||
|
||
10. Minimum Security Requirements for Multi-User Operating
|
||
Systems: A Protection Profile for the U.S. Information
|
||
Security Standard, National Institute of Standards and
|
||
Technology, 1992 draft.
|
||
|
||
|
||
|
||
11. U.S. Information Technology Security Standard.
|
||
|
||
12. Role-Based Access Controls, Ferraiolo, D. and Kuhn, R.,
|
||
15th National Computer Security Conference, October 1992.
|
||
|
||
|
||
|
||
13. A Comparison of Commercial and Military Computer
|
||
Security Policies, IEEE Symposium on Computer Security and
|
||
Privacy, April 1987.
|
||
DRAFT
|
||
|
||
|
||
|
||
LABEL BASED PROTECTION
|
||
|
||
FOR
|
||
|
||
MULTI-USER INFORMATION SYSTEMS
|
||
|
||
|
||
|
||
LEVEL 1
|
||
|
||
(LP-1)
|
||
|
||
|
||
|
||
|
||
|
||
A Protection Profile
|
||
|
||
Derived from the Federal Criteria for IT Security
|
||
|
||
|
||
|
||
Version 1.0
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
December 1992
|
||
|
||
|
||
|
||
This document is undergoing review and
|
||
is subject to modification or withdrawal.
|
||
|
||
The contents of this document should not
|
||
be referenced in other publications.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Supersedes the
|
||
|
||
Trusted Computer System Evaluation Criteria
|
||
|
||
Class B1
|
||
|
||
|
||
|
||
|
||
|
||
DRAFT
|
||
|
||
LABEL-BASED PROTECTION - 1 (LP-1)
|
||
|
||
This Protection Profile has been developed to define a set of
|
||
technical measures that can be incorporated into remote-
|
||
access, resource- and information-sharing Information
|
||
Technology (IT) products that will be used to protect two or
|
||
more compartments of National Security Information classified
|
||
according to US Executive Order 12356 (EO 12356). This profile
|
||
can also be used to protect any information that has been
|
||
designated as sensitive information for which information
|
||
separation and access are based on sensitivity markings
|
||
applied to the information.
|
||
|
||
Compliant IT products will provide protection for a
|
||
compartmented information processing environment with which
|
||
an organization can construct an automated information system
|
||
to enhance or optimize the organization's ability to perform
|
||
its mission.
|
||
|
||
In LP-1 conformant systems, the TCB is based on a multi-level
|
||
security policy model for confidentiality that requires both
|
||
discretionary and non-discretionary access controls. In
|
||
relation to lower levels of protection functionality, LP-1
|
||
conformat systems have the following additional features.
|
||
|
||
a. Access control enforcement includes a defined subset
|
||
of subjects and objects in the ADP system.
|
||
|
||
b. An informal statement of the security policy model,
|
||
data labeling, and mandatory access control over named
|
||
subjects and objects is included.
|
||
|
||
c. The supported labels accurately represent the
|
||
sensitivity of objects and subjects, and are
|
||
maintained on exported objects.
|
||
|
||
d. Any flaws identified by testing are removed or
|
||
neutralized.
|
||
|
||
|
||
|
||
Cross References:
|
||
|
||
o Existing Criteria:
|
||
|
||
(1) TCSEC: B1
|
||
|
||
(2) ITSEC
|
||
|
||
(3) CTCPEC
|
||
|
||
o Other Protection Profiles
|
||
|
||
(1) TBD
|
||
|
||
|
||
|
||
COMPONENT SUMMARY:
|
||
|
||
|
||
|
||
LP-1 Functional Component Summary
|
||
.--------------------------------------------.
|
||
| | Code & |
|
||
| Functional Component | Level |
|
||
|============================================|
|
||
| Security Policy Support |
|
||
|----------------------------------+---------|
|
||
| Accountability | |
|
||
|----------------------------------+---------|
|
||
| Identification&Authentication | I&A-2 |
|
||
|----------------------------------+---------|
|
||
| System Entry | ---- |
|
||
|----------------------------------+---------|
|
||
| Trusted Path | ---- |
|
||
|----------------------------------+---------|
|
||
| Audit | AD-1 |
|
||
|----------------------------------+---------|
|
||
| Access Control | AC-2 |
|
||
|----------------------------------+---------|
|
||
| Discretionary | AC-2 |
|
||
|----------------------------------+---------|
|
||
| Non-Discretionary | AC-2 |
|
||
|----------------------------------+---------|
|
||
| Covert Channel Handling | ----- |
|
||
|----------------------------------+---------|
|
||
| Availability | ---- |
|
||
|----------------------------------+---------|
|
||
| Resource Allocation | ---- |
|
||
|----------------------------------+---------|
|
||
| Fault Tolerance | ---- |
|
||
|----------------------------------+---------|
|
||
| Security Mgmt. | ---- |
|
||
|----------------------------------+---------|
|
||
| Reference Mediation | RM-1 |
|
||
|----------------------------------+---------|
|
||
| TCB Logical Protection | P-1 |
|
||
|----------------------------------+---------|
|
||
| TCB Physical Protection | ---- |
|
||
|----------------------------------+---------|
|
||
| TCB Self-checking | SC-1 |
|
||
|----------------------------------+---------|
|
||
| TCB Start-Up and Recovery | ---- |
|
||
|----------------------------------+---------|
|
||
| TCB Privileged Operation | ---- |
|
||
|----------------------------------+---------|
|
||
| TCB Ease-of-Use | ---- |
|
||
`--------------------------------------------'
|
||
|
||
|
||
LP-1 Assurance Component Summary
|
||
.---------------------------------------.
|
||
| Assurance Components | T2 |
|
||
|================================|======|
|
||
| Development Assurance Components |
|
||
|=======================================|
|
||
| Development Process |
|
||
|--------------------------------+------|
|
||
| TCB Property Definition | PD-2 |
|
||
|--------------------------------+------|
|
||
| TCB Design |
|
||
|--------------------------------+------|
|
||
| TCB Element Identification | ID-2 |
|
||
|--------------------------------+------|
|
||
| TCB Interface Definition | IF-1 |
|
||
|--------------------------------+------|
|
||
| TCB Modular Decomposition | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Structuring Support | SP-1 |
|
||
|--------------------------------+------|
|
||
| TCB Design Disciplines | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Implementation Support | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Testing and Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | FT-1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support |
|
||
|--------------------------------+------|
|
||
| User Security Guidance | UG-1 |
|
||
|--------------------------------+------|
|
||
| Administrative Guidance | AG-1 |
|
||
|--------------------------------+------|
|
||
| Trusted Generation | TG-1 |
|
||
|--------------------------------+------|
|
||
| Development Environment |
|
||
|--------------------------------+------|
|
||
| Life Cycle Definition | ---- |
|
||
|--------------------------------+------|
|
||
| Configuration Management | ---- |
|
||
|--------------------------------+------|
|
||
| Trusted Distribution | ---- |
|
||
|--------------------------------+------|
|
||
| Development Evidence |
|
||
|--------------------------------+------|
|
||
| TCB Protection Properties | EPP2 |
|
||
|--------------------------------+------|
|
||
| Product Development | EPD1 |
|
||
|--------------------------------+------|
|
||
| Product Testing & Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | EFT1 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ---- |
|
||
|--------------------------------+------|
|
||
| Product Support | EPS1 |
|
||
`---------------------------------------'
|
||
|=======================================|
|
||
| Evaluation Assurance Components |
|
||
|=======================================|
|
||
| Testing |
|
||
|--------------------------------+------|
|
||
| Test Analysis | TA-1 |
|
||
|--------------------------------+------|
|
||
| Independent Testing | IT-1 |
|
||
|--------------------------------+------|
|
||
| Review |
|
||
|--------------------------------+------|
|
||
| Development Environment | ---- |
|
||
|--------------------------------+------|
|
||
| Operational Support | OSR1 |
|
||
|--------------------------------+------|
|
||
| Analysis |
|
||
|--------------------------------+------|
|
||
| Protection Properties | ---- |
|
||
|--------------------------------+------|
|
||
| Design | ---- |
|
||
|--------------------------------+------|
|
||
| Implementation | ---- |
|
||
`---------------------------------------'
|
||
|
||
RATIONALE
|
||
|
||
1. Information Protection Policy
|
||
|
||
It is anticipated that organizations wishing to process
|
||
compartmented-mode classified information will want to use IT
|
||
products that are compliant with this profile in their
|
||
automated information processing systems. These organizations
|
||
should be able to trust the profile-compliant IT product to
|
||
contribute to the protection of the compartmented information
|
||
at least as much as they trust the properly cleared personnel
|
||
who are using and managing the system.
|
||
|
||
2. Protection Philosophy
|
||
|
||
This profile presumes an environment providing control of
|
||
access to shared resources both (1) on the basis of attributes
|
||
that are controlled by the ordinary users of the system and
|
||
(2) on the basis of attributes that are controlled only by the
|
||
system administrators.
|
||
|
||
Profile compliant IT products will minimally meet the
|
||
following objectives:
|
||
|
||
a. Enforce an informally defined security policy that
|
||
describes the rules for accessing and administering
|
||
access controls.
|
||
|
||
b. Associate explicit sensitivity labels with a defined
|
||
subset of the system entities. Associate explicit
|
||
sensitivity labels with each port through which
|
||
information may be exported from or imported to the
|
||
system. Maintain the accuracy of the access control
|
||
labels as information moves within the system and
|
||
through the ports.
|
||
|
||
c. Authenticate the claimed identity of each external
|
||
human user of the IT product prior to establishing any
|
||
internal entity to act on behalf of that user and
|
||
firmly bind the authenticated user identity to the
|
||
internal entity.
|
||
|
||
d. Selectively keep and protect a log of all actions or
|
||
events that could affect system security so that they
|
||
can be accurately attributed to the known user or
|
||
system entity responsible for causing the action or
|
||
event.
|
||
|
||
3. Expected Threats
|
||
|
||
The requirements for profile conforming IT products assume
|
||
that these products are being used in an environment where
|
||
there are multiple categories of classified data and users. A
|
||
conforming IT product can be expected to protect the
|
||
confidentiality of information in an environment where there
|
||
are two or more levels of classified data and two or more
|
||
levels of cleared users, but where malicious applications
|
||
programs (e.g., Trojan Horses) and users are not present.
|
||
|
||
4. Assumed Environment
|
||
|
||
4.1 Characteristics
|
||
|
||
IT products complying with the requirements set forth in this
|
||
profile are expected to be used in an environment with the
|
||
following characteristics:
|
||
|
||
a. Multiple users will be accessing the operating system
|
||
at the same time.
|
||
|
||
b. The IT product hardware base (e.g., CPU, printers,
|
||
terminals, etc.) is protected from unauthorized
|
||
physical access.
|
||
|
||
c. One or more administrators are assigned to manage the
|
||
system in which the IT product is incorporated,
|
||
including the security of the information it contains.
|
||
|
||
d. A need to control user access to objects exists and is
|
||
based on an explicit sensitivity marking associated
|
||
with the information (e.g, Confidential, Secret or Top
|
||
Secret) and on that user's identity and membership in
|
||
organizations or groups.
|
||
|
||
e. The IT product provides facilities for some or all of
|
||
the authorized users to create programs that use the
|
||
applications programming interface (API) and make
|
||
those programs available to other users.
|
||
|
||
f. The IT product is used to provide a cooperative
|
||
environment for the users to accomplish some task or
|
||
group of tasks.
|
||
|
||
4.2 Environment Dependencies
|
||
|
||
Secure installation and operation of a product satisfying
|
||
these profile requirements depends on provision of a number
|
||
of elements in the installation environment. These include:
|
||
|
||
a. Physical security must be provided.
|
||
|
||
b. Cabling to other devices must be shown to be
|
||
consistent with policy implemented by the product. For
|
||
example, a "port" in the product is required to have
|
||
an assigned label. No device can be connected to the
|
||
port unless it has been established externally that
|
||
the device is allowed to receive data with the same
|
||
label.
|
||
|
||
c. Personnel allowed to access data processed by the
|
||
installed product must already be authorized for such
|
||
access.
|
||
|
||
5. Intended Use
|
||
|
||
Conforming IT products are useful in both general-purpose
|
||
office automation environments with multiple data
|
||
sensitivities and in specialized computing, network and
|
||
mission environments. Examples of the office automation
|
||
environment might include military headquarters and highly
|
||
competitive procurement offices. An example of the
|
||
specialized mission environment might be as a platform for a
|
||
portable battlefield map and mission management application.
|
||
|
||
FUNCTIONAL REQUIREMENTS
|
||
|
||
I&A-2 Identification, Authentication, and Authorization
|
||
|
||
1. The TCB shall require users to identify
|
||
themselves to it before beginning to perform any
|
||
other actions that the TCB is expected to mediate.
|
||
The TCB shall be able to enforce individual
|
||
accountability by providing the capability to
|
||
uniquely identify each individual user. The TCB
|
||
shall also provide the capability of associating
|
||
this identity with all auditable actions taken by
|
||
that individual.
|
||
|
||
2. The TCB shall maintain authentication data that
|
||
includes information for verifying the identity of
|
||
individual users (e.g., passwords) as well as
|
||
information for determining the clearance and
|
||
authorization of individual users. These data
|
||
shall be used by the TCB to authenticate the
|
||
user's identity and to ensure that the subject
|
||
security level and authorizations of subjects
|
||
external to the TCB that may be created to act on
|
||
behalf of the individual user are dominated by the
|
||
clearance and authorization of that user).
|
||
|
||
3. The TCB shall protect authentication data so
|
||
that it cannot be used by any unauthorized user.
|
||
|
||
AD-1 - Minimal Audit
|
||
|
||
1. The TCB shall be able to create, maintain, and
|
||
protect from modification or unauthorized access
|
||
or destruction an audit trail of accesses to the
|
||
objects it protects. The audit data shall be
|
||
protected by the TCB so that read access to it is
|
||
limited to those who are authorized for audit
|
||
data.
|
||
|
||
2. The TCB shall be able to record the following
|
||
types of events:
|
||
|
||
- use of the identification and authentication
|
||
mechanisms;
|
||
|
||
- introduction of objects into a user's address
|
||
space (e.g., file open, program initiation), and
|
||
deletion of objects;
|
||
|
||
- actions taken by computer operators and system
|
||
administrators and/or system security officers.
|
||
|
||
The TCB shall be able to record any override of
|
||
human-readable output markings.
|
||
|
||
3. For each recorded event, the audit record shall
|
||
identify: date and time of the event, user, type
|
||
of event, and success or failure of the event. For
|
||
identification/authentication events the origin of
|
||
request (e.g., terminal ID) shall be included in
|
||
the audit record. For events that introduce an
|
||
object into a user's address space and for object
|
||
deletion events the audit record shall include the
|
||
name and the object security level.
|
||
|
||
4. The system administrator shall be able to
|
||
selectively audit the actions of one or more users
|
||
based on individual identity and/or object
|
||
security level.
|
||
|
||
AC-2 Basic Access Control
|
||
|
||
1. Definition of Access Control Attributes
|
||
|
||
The TCB shall define and protect access control
|
||
attributes for subjects and objects. Subject
|
||
attributes shall include named individuals or
|
||
defined groups or both. Object attributes shall
|
||
include defined access rights (e.g., read, write,
|
||
execute) that can be assigned to subject
|
||
attributes. Access control attributes
|
||
corresponding to each individual policy shall be
|
||
identified.
|
||
|
||
Sensitivity labels associated with each subject
|
||
and object shall be maintained by the TCB. The
|
||
sensitivity labels shall be used as the basis for
|
||
mandatory access control decisions.
|
||
|
||
The subjects and objects shall be assigned
|
||
sensitivity labels that are a combination of
|
||
hierarchical classification levels and non-
|
||
hierarchical categories, and the labels shall be
|
||
used as the basis for mandatory access control
|
||
decisions. The TCB shall be able to support two or
|
||
more such security levels.
|
||
|
||
The subject and object attributes shall accurately
|
||
reflect the sensitivity and integrity of the
|
||
subject or object. When exported by the TCB,
|
||
sensitivity labels shall accurately and
|
||
unambiguously represent the internal labels and
|
||
shall be associated with the information being
|
||
exported.
|
||
|
||
2. Administration of Access Control Attributes
|
||
|
||
The TCB shall define and enforce rules for
|
||
assignment and modification of access control
|
||
attributes for subjects and objects. The effect of
|
||
these rules shall be that access permission to an
|
||
object by users not already possessing access
|
||
permission is assigned only by authorized users.
|
||
These rules shall allow authorized users to
|
||
specify and control sharing of objects by named
|
||
individuals or defined groups of individuals, or
|
||
by both, and shall provide controls to limit
|
||
propagation of access rights. These controls shall
|
||
be capable of including or excluding access to the
|
||
granularity of a single user.
|
||
|
||
The rules for assignment and modification of
|
||
access control attributes shall include those for
|
||
attribute assignment to objects during import and
|
||
export operations.
|
||
|
||
Export of Labeled Information
|
||
|
||
The TCB shall designate each communication
|
||
channel and I/O device as either single-level or
|
||
multilevel. Any change in this designation shall
|
||
be done manually and shall be auditable by the
|
||
TCB. The TCB shall maintain and be able to audit
|
||
any change in the security level or levels
|
||
associated with a communication channel or I/O
|
||
device.
|
||
|
||
1. Exportation to Multilevel Devices
|
||
|
||
When the TCB exports an object to a multilevel
|
||
I/O device, the sensitivity label associated with
|
||
that object shall also be exported and shall
|
||
reside on the same physical medium as the exported
|
||
information and shall be in the same form (i.e.,
|
||
machine-readable or human-readable form). When the
|
||
TCB exports or imports an object over a multilevel
|
||
communication channel, the protocol used on that
|
||
channel shall provide for the unambiguous pairing
|
||
between the sensitivity labels and the associated
|
||
information that is sent or received.
|
||
|
||
2. Exportation to Single-Level Devices
|
||
|
||
Single-level I/O devices and single-level
|
||
communication channels are not required to
|
||
maintain the sensitivity labels of the information
|
||
they process. However, the TCB shall include a
|
||
mechanism by which the TCB and an authorized user
|
||
reliably communicate to designate the single
|
||
security level of information imported or exported
|
||
via single-level communication channels or I/O
|
||
devices.
|
||
|
||
3. Labeling Human-Readable Output
|
||
|
||
The system administrator shall be able to
|
||
specify the printable label names associated with
|
||
exported sensitivity labels. The TCB shall mark
|
||
the beginning and end of all human-readable,
|
||
paged, hardcopy output (e.g., line printer output)
|
||
with human-readable sensitivity labels that
|
||
properly represent the sensitivity of the output.
|
||
The TCB shall, by default, mark the top and bottom
|
||
of each page of human-readable, paged, hardcopy
|
||
output (e.g., line printer output) with human-
|
||
readable sensitivity labels that properly
|
||
represent the overall sensitivity of the output or
|
||
that properly represent the sensitivity of the
|
||
information on the page. The TCB shall, by default
|
||
and in an appropriate manner, mark other forms of
|
||
human-readable output (e.g., maps, graphics) with
|
||
human-readable sensitivity labels that properly
|
||
represent the sensitivity of the output. Any
|
||
override of these marking defaults shall be
|
||
auditable by the TCB.
|
||
|
||
Import of Non-labeled Data
|
||
|
||
In order to import non-labeled data, the TCB
|
||
shall request and receive from an authorized user
|
||
the security level of the data, and all such
|
||
actions shall be auditable by the TCB.
|
||
|
||
If different rules of assignment and modification
|
||
of access control attributes apply to different
|
||
subjects and/or objects, the totality of these
|
||
rules shall be shown to support the defined
|
||
policy.
|
||
|
||
3. Authorization of Subject References to Objects
|
||
|
||
The TCB shall define and enforce authorization
|
||
rules for the mediation of subject references to
|
||
objects. These rules shall be based on the access
|
||
control attributes of subjects and objects. These
|
||
rules shall, either by explicit user action or by
|
||
default, provide that objects are protected from
|
||
unauthorized access.
|
||
|
||
The authorization rules for the mandatory access
|
||
control policy shall include:
|
||
|
||
The TCB shall enforce a mandatory access control
|
||
policy over all subjects and storage objects under
|
||
its control (e.g., processes, files, segments,
|
||
devices). The following requirements shall hold
|
||
for all accesses between all subjects and objects
|
||
controlled by the TCB: A subject can read an
|
||
object only if the hierarchical classification in
|
||
the subject's security level is greater than or
|
||
equal to the hierarchical classification in the
|
||
object's security level and the non- hierarchical
|
||
categories in the subject's security level include
|
||
all the non-hierarchical categories in the
|
||
object's security level. A subject can write an
|
||
object only if the hierarchical classification in
|
||
the subject's security level is less than or equal
|
||
to the hierarchical classification in the object's
|
||
security level and all the non-hierarchical
|
||
categories in the subject's security level are
|
||
included in the non-hierarchical categories in the
|
||
object's security level.
|
||
|
||
The scope of the authorization rules shall include
|
||
a defined subset of the product's subjects and
|
||
objects and associated access control attributes.
|
||
The coverage of authorization rules shall specify
|
||
the types of objects and subjects to which these
|
||
rules apply. If different rules apply to different
|
||
subjects and objects, the totality of these rules
|
||
shall be shown to support the defined policy.
|
||
|
||
The authorization rules for each policy shall be
|
||
defined separately. The TCB shall define and
|
||
enforce the composition of policies, including the
|
||
enforcement of the authorization rules (e.g.,
|
||
subject and object type coverage, enforcement
|
||
precedence).
|
||
|
||
4. Subject and Object Creation and Destruction
|
||
|
||
The TCB shall control the creation and destruction
|
||
of subjects and objects. These controls shall
|
||
include object reuse. That is, all authorizations
|
||
to the information contained within a storage
|
||
object shall be revoked prior to initial
|
||
assignment, allocation or reallocation to a
|
||
subject from the TCB's pool of unused storage
|
||
objects; information, including encrypted
|
||
representations of information, produced by a
|
||
prior subjects' actions shall be unavailable to
|
||
any subject that obtains access to an object that
|
||
has been released back to the system.
|
||
|
||
RM-1 Mediation of References to a Defined Subject/Object
|
||
Subset
|
||
|
||
1. The TCB shall mediate all references to
|
||
subjects, objects, resources, and services (e.g.,
|
||
TCB functions) described in the TCB
|
||
specifications. The mediation shall ensure that
|
||
all references are directed to the appropriate
|
||
security-policy functions.
|
||
|
||
2. Reference mediation shall include references to
|
||
the defined subset of subjects, objects, and
|
||
resources protected under the TCB security policy,
|
||
and to their policy attributes (i.e., access
|
||
rights, security levels).
|
||
|
||
3. References issued by privileged subjects shall
|
||
be mediated in accordance with the policy
|
||
attributes defined for those subjects.
|
||
|
||
P-1 Basic TCB Isolation
|
||
|
||
The TCB shall maintain a domain for its own
|
||
execution that protects it from external
|
||
interference and tampering (e.g., by reading or
|
||
modification of its code and data structures). The
|
||
protection of the TCB shall provide TCB isolation
|
||
and noncircumventability of TCB isolation
|
||
functions as follows:
|
||
|
||
1. TCB Isolation requires that (1) the address
|
||
spaces of the TCB and those of unprivileged
|
||
subjects are separated such that users, or
|
||
unprivileged subjects operating on their behalf,
|
||
cannot read or modify TCB data structures or code,
|
||
(2) the transfers between TCB and non-TCB domains
|
||
are controlled such that arbitrary entry to or
|
||
return from the TCB are not possible; and (3) the
|
||
user or application parameters passed to the TCB
|
||
by addresses are validated with respect to the TCB
|
||
address space, and those passed by value are
|
||
validated with respect to the values expected by
|
||
the TCB.
|
||
|
||
2. Noncircumventability of TCB isolation
|
||
functions requires that the permission to objects
|
||
(and/or to non-TCB data) passed as parameters to
|
||
the TCB are validated with respect to the
|
||
permissions required by the TCB, and references to
|
||
TCB objects implementing TCB isolation functions
|
||
are mediated by the TCB.
|
||
|
||
SC-1 Minimal Self Checking
|
||
|
||
Hardware and/or software features shall be
|
||
provided that can be used to periodically validate
|
||
the correct operation of the on-site hardware and
|
||
firmware elements of the TCB.
|
||
|
||
ASSURANCES
|
||
|
||
Requirements for TCB Property Definition
|
||
|
||
PD-2 Informal Property Identification
|
||
|
||
The developer shall provide informal models for
|
||
the functional components and sub-components of
|
||
the profile. At a minimum, an informal model of
|
||
the access control components shall be provided.
|
||
Each informal model shall include (abstract) data
|
||
structures and operations defining each functional
|
||
component or sub-component, and a description of
|
||
the model properties. The developer shall
|
||
interpret (e.g., trace) the informal models within
|
||
the product TCB. For each model entity, the
|
||
developer shall: (1) identify the TCB elements and
|
||
their TCB interfaces (if any) that implement that
|
||
entity; (2) define the operation of these TCB
|
||
elements, and (3) explain why the operation of
|
||
these elements is consistent with the model
|
||
properties. The developer's interpretation of each
|
||
informal model, which defines the TCB properties,
|
||
shall identify all TCB elements that do not
|
||
correspond to any model entity and shall explain
|
||
why these elements do not render the TCB
|
||
properties invalid.
|
||
|
||
For the components that are not informally
|
||
modeled, the developer shall interpret the
|
||
functional requirements of the protection profile
|
||
within the product TCB. For each functional
|
||
requirement, the developer shall: (1) identify the
|
||
TCB elements and their TCB interfaces (if any)
|
||
that implement that requirement; (2) describe the
|
||
operation of these TCB elements, and (3) explain
|
||
why the operation of these elements is consistent
|
||
with the functional requirement. The developer's
|
||
interpretation of each functional requirement,
|
||
which describes the TCB properties, shall identify
|
||
all TCB elements that do not correspond to any
|
||
functional requirement and shall explain why these
|
||
elements do not render the TCB properties invalid.
|
||
|
||
Requirements for TCB Element Identification
|
||
|
||
ID-2: TCB Element Justification
|
||
|
||
The developer shall identify the TCB elements
|
||
(i.e., software, hardware/firmware code and data
|
||
structures). Each element must be unambiguously
|
||
identified by its name, type, release, and version
|
||
number (if any).
|
||
|
||
The developer shall justify the protection
|
||
relevance of the identified elements (i.e., only
|
||
elements that can affect the correct operation of
|
||
the protection functions shall be included in the
|
||
TCB).
|
||
|
||
Requirements for TCB Interface Definition
|
||
|
||
IF-1: Interface Description
|
||
|
||
The developer shall describe all external (e.g.,
|
||
command, software, and I/O) administrative (i.e.,
|
||
privileged) and non-administrative interfaces to
|
||
the TCB. The description shall include those
|
||
components of the TCB that are implemented as
|
||
hardware and/or firmware if their properties are
|
||
visible at the TCB interface.
|
||
|
||
The developer shall identify all call conventions
|
||
(e.g., parameter order, call sequence
|
||
requirements) and exceptions signaled at the TCB
|
||
interface.
|
||
|
||
Requirements for TCB Structuring Support
|
||
|
||
SP-1: Process Isolation
|
||
|
||
The TCB shall maintain process isolation.
|
||
|
||
|
||
|
||
Requirements for Developer Functional Testing
|
||
|
||
FT-1: Conformance Testing
|
||
|
||
The developer shall test the TCB interface to show
|
||
that all claimed protection functions work as
|
||
stated in the TCB interface description.
|
||
|
||
The developer shall correct all flaws discovered
|
||
by testing and shall retest the TCB until the
|
||
protection functions are shown to work as claimed.
|
||
|
||
|
||
|
||
Requirements for User Guidance
|
||
|
||
UG-1: Users' Guide
|
||
|
||
The developer shall provide a User Guide which
|
||
describes all protection services provided and
|
||
enforced by the TCB. The User Guide shall describe
|
||
the interaction between these services and provide
|
||
examples of their use. The User Guide may be in the
|
||
form of a summary, chapter or manual. The User
|
||
Guide shall specifically describe user
|
||
responsibilities. These shall encompass any user
|
||
responsibilities identified in the protection
|
||
profile.
|
||
|
||
Requirements for Administrative Guidance
|
||
|
||
AG-1: Basic Administrative Guidance
|
||
|
||
The developer shall provide a Trusted Facility
|
||
Manual intended for the product administrators
|
||
that describes how to use the TCB security
|
||
services (e.g., Access Control, System Entry, or
|
||
Audit) to enforce a system security policy. The
|
||
Trusted Facility Manual shall include the
|
||
procedures for securely configuring, starting,
|
||
maintaining, and halting the TCB. The Trusted
|
||
Facility Manual shall explain how to analyze audit
|
||
data generated by the TCB to identify and document
|
||
user and administrator violations of this policy.
|
||
The Trusted Facility Manual shall explain the
|
||
privileges and functions of administrators. The
|
||
Trusted Facility Manual shall describe the
|
||
administrative interaction between security
|
||
services.
|
||
|
||
The Trusted Facility Manual shall be distinct from
|
||
User Guidance, and encompass any administrative
|
||
responsibilities identified in security
|
||
management.
|
||
|
||
|
||
|
||
Requirements for Trusted Generation
|
||
|
||
TG-1: Basic Trusted Generation
|
||
|
||
The developer shall establish and document the
|
||
procedures that a consumer must perform to
|
||
generate an operational TCB from the delivered
|
||
copy of the master TCB. The consumer documentation
|
||
shall identify any system parameters, which are
|
||
initialized or set during system generation, that
|
||
affect the TCB's conformance to the protection
|
||
profile and state the acceptable ranges of values
|
||
for those parameters.
|
||
|
||
Requirements for Evidence of TCB Protection Properties
|
||
|
||
EPP-2 Evidence of Informal Model Interpretation in the TCB
|
||
|
||
The developer shall provide documentation which
|
||
describes the correspondence between the
|
||
functional component requirements and the TCB
|
||
elements and interfaces. The developer shall also
|
||
provide an informal access control model and its
|
||
interpretation within the TCB. The TCB properties,
|
||
which are defined by this correspondence, shall be
|
||
explained in this documentation.
|
||
|
||
Requirements for Evidence of Product Development
|
||
|
||
EPD-1: Description Of The TCB External Interface
|
||
|
||
The developer shall provide an accurate
|
||
description of the functions, effects, exceptions
|
||
and error messages visible at the TCB interface.
|
||
|
||
The developer shall provide a list of the TCB
|
||
elements (hardware, software, and firmware).
|
||
|
||
Requirements for Evidence of Functional Testing
|
||
|
||
EFT-1: Evidence of Conformance Testing
|
||
|
||
The developer shall provide evidence of the
|
||
functional testing that includes the test plan,
|
||
the test procedures and the results of the
|
||
functional testing.
|
||
|
||
Requirements for Evidence of Product Support
|
||
|
||
EPS-1: Evidence of Basic Product Support
|
||
|
||
The developer shall provide evidence that
|
||
describes the policies, procedures, and plans
|
||
established by the developer to satisfy the
|
||
Operational Support and Development Environment
|
||
requirements of the protection profile.
|
||
|
||
Requirements for Test Analysis
|
||
|
||
TA-1: ElementaryTest Analysis
|
||
|
||
The evaluator shall assess whether the producer
|
||
has performed the activities defined in the
|
||
development assurance requirements of the
|
||
protection profile for functional testing and
|
||
whether the producer has documented these
|
||
activities as defined in the development evidence
|
||
requirements of the protection profile. The
|
||
evaluator shall analyze the results of the
|
||
producer's testing activities for completeness of
|
||
coverage and consistency of results. The evaluator
|
||
shall determine whether the product's protection
|
||
properties, as described in the product
|
||
documentation have been tested. The evaluator
|
||
shall assess testing results to determine whether
|
||
the product's TCB works as claimed.
|
||
|
||
|
||
|
||
Requirements for Independent Testing
|
||
|
||
T-1: Elementary Independent Testing
|
||
|
||
A tester, independent of the producer or
|
||
evaluator, shall perform functional and elementary
|
||
penetration testing. This testing shall be based
|
||
on the product's user and administrative
|
||
documentation, and on relevant known penetration
|
||
flaws. Satisfactory completion consists of
|
||
demonstrating that all user-visible security
|
||
enforcing functions and security-relevant
|
||
functions work as described in the product's user
|
||
and administrative documentation and that no
|
||
discrepancies exist between the documentation and
|
||
the product. Test results of the producer shall be
|
||
confirmed by the results of independent testing.
|
||
The evaluator may selectively reconfirm any test
|
||
result.
|
||
|
||
If the independent testing is performed at beta-
|
||
test sites, the producer shall supply the beta-
|
||
test plan and the test results. The evaluator
|
||
shall review the scope and depth of beta testing
|
||
with respect to the required protection
|
||
functionality, and shall verify independence of
|
||
both the test sites and the producer's and beta-
|
||
test user's test results. The evaluator shall
|
||
confirm that the test environment of the beta-test
|
||
site(s) adequately represents the environment
|
||
specified in the protection profile.
|
||
|
||
Requirements for Operational Support Review
|
||
|
||
OSR-1 Elementary Operational Support Review
|
||
|
||
The evaluator shall review all documentation
|
||
focused on the activities of product use (e.g.,
|
||
Users Manuals) and product administration
|
||
including installation, operation, maintenance,
|
||
and trusted recovery (e.g., Trusted Facility
|
||
Management Manuals). This review shall assess the
|
||
clarity of presentation, difficulty in locating
|
||
topics of interest, ease of understanding, and
|
||
completeness of coverage. The need for separate
|
||
manuals dedicated to protection-relevant aspects
|
||
of the product should be assessed for
|
||
effectiveness.
|
||
DRAFT
|
||
|
||
|
||
|
||
LABEL BASED PROTECTION
|
||
|
||
FOR
|
||
|
||
MULTI-USER INFORMATION SYSTEMS
|
||
|
||
|
||
|
||
LEVEL 2
|
||
|
||
(LP-2)
|
||
|
||
|
||
|
||
|
||
|
||
A Protection Profile
|
||
|
||
Derived from the Federal Criteria for IT Security
|
||
|
||
|
||
|
||
Version 1.0
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
December 1992
|
||
|
||
|
||
|
||
This document is undergoing review and
|
||
is subject to modification or withdrawal.
|
||
|
||
The contents of this document should not
|
||
be referenced in other publications.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Supersedes the
|
||
|
||
Trusted Computer System Evaluation Criteria
|
||
|
||
Class B2
|
||
|
||
|
||
|
||
|
||
|
||
DRAFT
|
||
|
||
LABEL-BASED PROTECTION - 2 (LP-2)
|
||
|
||
This Protection Profile has been developed to define a set
|
||
of technical measures that can be incorporated into remote-
|
||
access, resource- and information-sharing Information
|
||
Technology (IT) products that will be used to protect up to
|
||
three levels or more than two categories of National Security
|
||
Information classified according to US Executive Order 12356
|
||
(EO 12356). This profile can also be used to protect any
|
||
information that has been designated as sensitive information
|
||
for which information separation and access are based on
|
||
sensitivity markings applied to the information.
|
||
|
||
Compliant IT products will provide structured protection
|
||
for a multi-level information processing environment with
|
||
which an organization can construct an automated information
|
||
system to enhance or optimize the organization's ability to
|
||
perform its mission.
|
||
|
||
In LP-2 conformant systems, the TCB is based on a clearly
|
||
defined and documented formal security policy model for
|
||
confidentiality that requires both discretionary and non-
|
||
discretionary access controls. Also, The TCB is relatively
|
||
resistant to penetration. In relation to lower levels of
|
||
protection functionality, LP-2 conformat systems have the
|
||
following additional features.
|
||
|
||
a. Access control enforcement is extended to all subjects
|
||
and objects in the ADP system.
|
||
|
||
b. Covert storage channels are identified and handled.
|
||
|
||
c. The TCB is modularized and carefully structured into
|
||
protection-critical and non-protection-critical.
|
||
|
||
d. The TCB interface is well-defined and the TCB design
|
||
and implementation enables it to be subjected to
|
||
thorough testing and review. Penetration testing is
|
||
also performed, and the TCB must be found relatively
|
||
resistant to penetration.
|
||
|
||
e. Authentication mechanisms cover all policy attributes
|
||
of a user (e.g., groups, secrecy and/or integrity
|
||
levels, roles), not just the individual identity.
|
||
|
||
f. Security management is enhanced by the separation of
|
||
system administrator and operator functions.
|
||
|
||
g. Configuration management controls are imposed.
|
||
|
||
Cross References:
|
||
|
||
o Existing Criteria:
|
||
|
||
(1) TCSEC: B2
|
||
|
||
(2) ITSEC
|
||
|
||
(3) CTCPEC
|
||
|
||
o Other Protection Profiles
|
||
|
||
(1) TBD
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
COMPONENT SUMMARY:
|
||
|
||
|
||
|
||
LP-2 Functional Component Summary
|
||
.--------------------------------------------.
|
||
| | Code & |
|
||
| Functional Component | Level |
|
||
|============================================|
|
||
| Security Policy Support |
|
||
|----------------------------------+---------|
|
||
| Accountability | |
|
||
|----------------------------------+---------|
|
||
| Identification uthentication | I&A-2 |
|
||
|----------------------------------+---------|
|
||
| System Entry | ---- |
|
||
|----------------------------------+---------|
|
||
| Trusted Path | TP-1 |
|
||
|----------------------------------+---------|
|
||
| Audit | AD-1 |
|
||
|----------------------------------+---------|
|
||
| Access Control | AC-3 |
|
||
|----------------------------------+---------|
|
||
| Discretionary | AC-3 |
|
||
|----------------------------------+---------|
|
||
| Non-Discretionary | AC-3 |
|
||
|----------------------------------+---------|
|
||
| Covert Channel Handling | CCH-2 |
|
||
|----------------------------------+---------|
|
||
| Availability | ---- |
|
||
|----------------------------------+---------|
|
||
| Resource Allocation | ---- |
|
||
|----------------------------------+---------|
|
||
| Fault Tolerance | ---- |
|
||
|----------------------------------+---------|
|
||
| Security Mgmt. | SM-1+ |
|
||
|----------------------------------+---------|
|
||
| Reference Mediation | RM-3 |
|
||
|----------------------------------+---------|
|
||
| TCB Logical Protection | P-2 |
|
||
|----------------------------------+---------|
|
||
| TCB Physical Protection | ---- |
|
||
|----------------------------------+---------|
|
||
| TCB Self-checking | SC-1 |
|
||
|----------------------------------+---------|
|
||
| TCB Start-Up and Recovery | ---- |
|
||
|----------------------------------+---------|
|
||
| TCB Privileged Operation | PO-2 |
|
||
|----------------------------------+---------|
|
||
| TCB Ease-of-Use | ---- |
|
||
`--------------------------------------------'
|
||
|
||
|
||
LP-2 Assurance Component Summary
|
||
.---------------------------------------.
|
||
| Assurance Components | T5 |
|
||
|================================|======|
|
||
| Development Assurance Components |
|
||
|=======================================|
|
||
| Development Process |
|
||
|--------------------------------+------|
|
||
| TCB Property Definition | PD-3 |
|
||
|--------------------------------+------|
|
||
| TCB Design |
|
||
|--------------------------------+------|
|
||
| TCB Element Identification | ID-2 |
|
||
|--------------------------------+------|
|
||
| TCB Interface Definition | IF-2 |
|
||
|--------------------------------+------|
|
||
| TCB Modular Decomposition | MD-2 |
|
||
|--------------------------------+------|
|
||
| TCB Structuring Support | SP-2 |
|
||
|--------------------------------+------|
|
||
| TCB Design Disciplines | ---- |
|
||
|--------------------------------+------|
|
||
| TCB Implementation Support | IM-3 |
|
||
|--------------------------------+------|
|
||
| TCB Testing and Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | FT-3 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | PA-2 |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | CCA1 |
|
||
|--------------------------------+------|
|
||
| Operational Support |
|
||
|--------------------------------+------|
|
||
| User Security Guidance | UG-1 |
|
||
|--------------------------------+------|
|
||
| Administrative Guidance | AG-2 |
|
||
|--------------------------------+------|
|
||
| Trusted Generation | TG-2 |
|
||
|--------------------------------+------|
|
||
| Development Environment |
|
||
|--------------------------------+------|
|
||
| Life Cycle Definition | LC-2 |
|
||
|--------------------------------+------|
|
||
| Configuration Management | CM-2 |
|
||
|--------------------------------+------|
|
||
| Trusted Distribution | ---- |
|
||
|--------------------------------+------|
|
||
| Development Evidence |
|
||
|--------------------------------+------|
|
||
| TCB Protection Properties | EPP3 |
|
||
|--------------------------------+------|
|
||
| Product Development | EPD3 |
|
||
|--------------------------------+------|
|
||
| Product Testing & Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | EFT3 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | EPA2 |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ECC1 |
|
||
|--------------------------------+------|
|
||
| Product Support | EPS2 |
|
||
`---------------------------------------'
|
||
|=======================================|
|
||
| Evaluation Assurance Components |
|
||
|=======================================|
|
||
| Testing |
|
||
|--------------------------------+------|
|
||
| Test Analysis | TA-4 |
|
||
|--------------------------------+------|
|
||
| Independent Testing | IT-3 |
|
||
|--------------------------------+------|
|
||
| Review |
|
||
|--------------------------------+------|
|
||
| Development Environment | DER2 |
|
||
|--------------------------------+------|
|
||
| Operational Support | OSR2 |
|
||
|--------------------------------+------|
|
||
| Analysis |
|
||
|--------------------------------+------|
|
||
| Protection Properties | ---- |
|
||
|--------------------------------+------|
|
||
| Design | DA-2 |
|
||
|--------------------------------+------|
|
||
| Implementation | CI-1 |
|
||
`---------------------------------------'
|
||
|
||
RATIONALE
|
||
|
||
6. Information Protection Policy
|
||
|
||
It is anticipated that organizations wishing to process
|
||
either one level with three or more categories or one to three
|
||
levels with one category of classified information will want
|
||
to use IT products that are compliant with this profile in
|
||
their automated information processing systems. These
|
||
organizations should be able to trust the profile-compliant
|
||
IT product to contribute to the protection of the classified
|
||
information at least as much as they trust the properly
|
||
cleared personnel who are using and managing the system.
|
||
|
||
7. Protection Philosophy
|
||
|
||
This profile presumes a hostile environment with divided,
|
||
aggressive users. It provides control of access to shared
|
||
resources both (1) on the basis of attributes that are
|
||
controlled by the ordinary users of the system and (2) on the
|
||
basis of attributes that are controlled only by the system
|
||
administrators.
|
||
|
||
Profile compliant IT products will minimally meet the
|
||
following objectives:
|
||
|
||
a. Enforce a formally defined security policy that
|
||
describes the rules for controlling access to system
|
||
subjects and objects. Use the access control rules to
|
||
enforce an information flow policy that aims to
|
||
control the use of covert storage channels.
|
||
|
||
b. Associate explicit sensitivity labels with each
|
||
subject and object in the system. Associate explicit
|
||
sensitivity labels with each port through which
|
||
information may be exported from or imported to the
|
||
system. Maintain the accuracy of the sensitivity
|
||
labels as information moves within the system and
|
||
through the ports.
|
||
|
||
c. Authenticate the claimed identity of each external
|
||
human user of the IT product prior to establishing any
|
||
internal entity to act on behalf of that user and
|
||
firmly bind the authenticated user identity to the
|
||
internal entity.
|
||
|
||
d. Selectively keep and protect a log of all actions or
|
||
events (including use of covert storage channels) that
|
||
could affect system security so that they can be
|
||
accurately attributed to the known user or system
|
||
entity responsible for causing the action or event.
|
||
|
||
e. Contains hardware and software mechanisms that can be
|
||
independently evaluated to provide sufficient
|
||
assurance that the system satisfies the previous four
|
||
objectives.
|
||
|
||
f. Implements the enforcement of objectives in such a
|
||
fashion that the enforcing mechanisms are protected
|
||
from tampering and unauthorized changes by the
|
||
entities these mechanisms are supposed to control.
|
||
|
||
8. Expected Threats
|
||
|
||
The requirements for profile conforming IT products assume
|
||
that these products are being used in an environment where
|
||
there are different levels or categories of classified data
|
||
and users of differing clearance levels. A conforming IT
|
||
product can be expected to protect the confidentiality of
|
||
information in an environment where there are two levels or
|
||
categories of classified data and two or more levels of
|
||
cleared users and where there are collaborating, malicious
|
||
users and software at each clearance level.
|
||
|
||
9. Assumed Environment
|
||
|
||
9.1 Characteristics
|
||
|
||
IT products complying with the requirements set forth in
|
||
this profile are expected to be used in an environment with
|
||
the following characteristics:
|
||
|
||
a. Multiple users will be accessing the operating system
|
||
at the same time.
|
||
|
||
b. The IT product hardware base (e.g., CPU, printers,
|
||
terminals, etc.) is protected from unauthorized
|
||
physical access.
|
||
|
||
c. One or more administrators are assigned to manage the
|
||
system in which the IT product is incorporated,
|
||
including the security of the information it contains.
|
||
|
||
d. A need to control user access to information exists
|
||
and is based on an explicit sensitivity marking
|
||
associated with the information (e.g, Secret or Top
|
||
Secret).
|
||
|
||
e. A need to control user access to all subjects and
|
||
objects exists and is based on that user's identity
|
||
and membership in organizations or groups.
|
||
|
||
f. The IT product provides facilities for some or all of
|
||
the authorized users to create programs that use the
|
||
applications programming interface (API) and make
|
||
those programs available to other users.
|
||
|
||
g. The IT product is used to provide a cooperative
|
||
environment for the users to accomplish some task or
|
||
group of tasks.
|
||
|
||
9.2 Environment Dependencies
|
||
|
||
Secure installation and operation of a product satisfying
|
||
these profile requirements depends on provision of a number
|
||
of elements in the installation environment. These include:
|
||
|
||
a. Physical security must be provided.
|
||
|
||
b. Cabling to other devices must be shown to be
|
||
consistent with policy implemented by the product. For
|
||
example, a "port" in the product is required to have
|
||
an assigned label. No device can be connected to the
|
||
port unless it has been established externally that
|
||
the device is allowed to receive data with the same
|
||
label.
|
||
|
||
c. Personnel allowed to access data processed by the
|
||
installed product must already be authorized for such
|
||
access.
|
||
|
||
10. Intended Use
|
||
|
||
Conforming IT products are useful in both general-purpose
|
||
office automation environments with multiple data
|
||
sensitivities (or "classifications") and multiple levels of
|
||
user authorizations (or "clearances") and in specialized
|
||
computing, network and mission environments. Examples of the
|
||
office automation environment might include military
|
||
headquarters and highly competitive procurement offices.
|
||
Examples of the network environments include use as the basis
|
||
for a multilevel secure network management center or a trusted
|
||
guard gateway operating between two networks processing
|
||
different levels of information. An example of the specialized
|
||
mission environment might be as a platform for a portable
|
||
battlefield map and mission management application.
|
||
|
||
FUNCTIONAL REQUIREMENTS
|
||
|
||
I&A-2 Identification, Authentication, and Authorization
|
||
|
||
1. The TCB shall require users to identify
|
||
themselves to it before beginning to perform any
|
||
other actions that the TCB is expected to mediate.
|
||
The TCB shall be able to enforce individual
|
||
accountability by providing the capability to
|
||
uniquely identify each individual user. The TCB
|
||
shall also provide the capability of associating
|
||
this identity with all auditable actions taken by
|
||
that individual.
|
||
|
||
2. The TCB shall maintain authentication data that
|
||
includes information for verifying the identity of
|
||
individual users (e.g., passwords) as well as
|
||
information for determining the clearance and
|
||
authorization of individual users. These data
|
||
shall be used by the TCB to authenticate the
|
||
user's identity and to ensure that the subject
|
||
security level and authorizations of subjects
|
||
external to the TCB that may be created to act on
|
||
behalf of the individual user are dominated by the
|
||
clearance and authorization of that user).
|
||
|
||
3. The TCB shall protect authentication data so
|
||
that it cannot be used by any unauthorized user.
|
||
|
||
TP-1 Login Trusted Path
|
||
|
||
The TCB shall support a trusted communication path
|
||
between itself and the user for initial
|
||
identification and authentication. Communications
|
||
via this path shall be initiated exclusively by a
|
||
user.
|
||
|
||
AD-1 - Minimal Audit
|
||
|
||
1. The TCB shall be able to create, maintain, and
|
||
protect from modification or unauthorized access
|
||
or destruction an audit trail of accesses to the
|
||
objects it protects. The audit data shall be
|
||
protected by the TCB so that read access to it is
|
||
limited to those who are authorized for audit
|
||
data.
|
||
|
||
2. The TCB shall be able to record the following
|
||
types of events:
|
||
|
||
- use of the identification and authentication
|
||
mechanisms;
|
||
|
||
- introduction of objects into a user's address
|
||
space (e.g., file open, program initiation), and
|
||
deletion of objects;
|
||
|
||
- actions taken by computer operators and system
|
||
administrators and/or system security officers.
|
||
|
||
The TCB shall be able to record any override of
|
||
human-readable output markings. The TCB shall also
|
||
be able to audit the identified event that may be
|
||
used in the exploitation of covert channels.
|
||
|
||
3. For each recorded event, the audit record shall
|
||
identify: date and time of the event, user, type
|
||
of event, and success or failure of the event. For
|
||
identification/authentication events the origin of
|
||
request (e.g., terminal ID) shall be included in
|
||
the audit record. For events that introduce an
|
||
object into a user's address space and for object
|
||
deletion events the audit record shall include the
|
||
name and the object security level.
|
||
|
||
4. The system administrator shall be able to
|
||
selectively audit the actions of one or more users
|
||
based on individual identity and/or object
|
||
security level.
|
||
|
||
AC-3 Extended Access Control
|
||
|
||
1. Definition of Access Control Attributes
|
||
|
||
The TCB shall define and protect access control
|
||
attributes for subjects and objects. Subject
|
||
attributes shall include named individuals or
|
||
defined groups or both. Object attributes shall
|
||
include defined access rights (e.g., read, write,
|
||
execute) that can be assigned to subject
|
||
attributes. Access control attributes
|
||
corresponding to each individual policy shall be
|
||
identified.
|
||
|
||
Sensitivity labels associated with each subject
|
||
and storage object that is directly or indirectly
|
||
accessible by subjects external to the TCB shall
|
||
be maintained by the TCB. The sensitivity labels
|
||
shall be used as the basis for mandatory access
|
||
control decisions.
|
||
|
||
The subjects and objects shall be assigned
|
||
sensitivity labels that are a combination of
|
||
hierarchical classification levels and non-
|
||
hierarchical categories, and the labels shall be
|
||
used as the basis for mandatory access control
|
||
decisions. The TCB shall be able to support two or
|
||
more such security levels.
|
||
|
||
The subject and object attributes shall accurately
|
||
reflect the sensitivity and integrity of the
|
||
subject or object. When exported by the TCB,
|
||
sensitivity labels shall accurately and
|
||
unambiguously represent the internal labels and
|
||
shall be associated with the information being
|
||
exported.
|
||
|
||
The TCB shall immediately notify a terminal user
|
||
of each change in the security level associated
|
||
with that user during an interactive session. A
|
||
terminal user shall be able to query the TCB as
|
||
desired for a display of the subject's complete
|
||
sensitivity label.
|
||
|
||
The TCB shall support the assignment of minimum
|
||
and maximum security levels to all attached
|
||
physical devices. These security levels shall be
|
||
used by the TCB to enforce constraints imposed by
|
||
the physical environments in which the devices are
|
||
located.
|
||
|
||
2. Administration of Access Control Attributes
|
||
|
||
The TCB shall define and enforce rules for
|
||
assignment and modification of access control
|
||
attributes for subjects and objects. The effect of
|
||
these rules shall be that access permission to an
|
||
object by users not already possessing access
|
||
permission is assigned only by authorized users.
|
||
These rules shall allow authorized users to
|
||
specify and control sharing of objects by named
|
||
individuals or defined groups of individuals, or
|
||
by both, and shall provide controls to limit
|
||
propagation of access rights. These controls shall
|
||
be capable of including or excluding access to the
|
||
granularity of a single user.
|
||
|
||
The rules for assignment and modification of
|
||
access control attributes shall include those for
|
||
attribute assignment to objects during import and
|
||
export operations.
|
||
|
||
Export of Labeled Information
|
||
|
||
The TCB shall designate each communication
|
||
channel and I/O device as either single-level or
|
||
multilevel. Any change in this designation shall
|
||
be done manually and shall be auditable by the
|
||
TCB. The TCB shall maintain and be able to audit
|
||
any change in the security level or levels
|
||
associated with a communication channel or I/O
|
||
device.
|
||
|
||
1. Exportation to Multilevel Devices
|
||
|
||
When the TCB exports an object to a multilevel
|
||
I/O device, the sensitivity label associated with
|
||
that object shall also be exported and shall
|
||
reside on the same physical medium as the exported
|
||
information and shall be in the same form (i.e.,
|
||
machine-readable or human-readable form). When the
|
||
TCB exports or imports an object over a multilevel
|
||
communication channel, the protocol used on that
|
||
channel shall provide for the unambiguous pairing
|
||
between the sensitivity labels and the associated
|
||
information that is sent or received.
|
||
|
||
2. Exportation to Single-Level Devices
|
||
|
||
Single-level I/O devices and single-level
|
||
communication channels are not required to
|
||
maintain the sensitivity labels of the information
|
||
they process. However, the TCB shall include a
|
||
mechanism by which the TCB and an authorized user
|
||
reliably communicate to designate the single
|
||
security level of information imported or exported
|
||
via single-level communication channels or I/O
|
||
devices.
|
||
|
||
3. Labeling Human-Readable Output
|
||
|
||
The system administrator shall be able to
|
||
specify the printable label names associated with
|
||
exported sensitivity labels. The TCB shall mark
|
||
the beginning and end of all human-readable,
|
||
paged, hardcopy output (e.g., line printer output)
|
||
with human-readable sensitivity labels that
|
||
properly represent the sensitivity of the output.
|
||
The TCB shall, by default, mark the top and bottom
|
||
of each page of human-readable, paged, hardcopy
|
||
output (e.g., line printer output) with human-
|
||
readable sensitivity labels that properly
|
||
represent the overall sensitivity of the output or
|
||
that properly represent the sensitivity of the
|
||
information on the page. The TCB shall, by default
|
||
and in an appropriate manner, mark other forms of
|
||
human-readable output (e.g., maps, graphics) with
|
||
human-readable sensitivity labels that properly
|
||
represent the sensitivity of the output. Any
|
||
override of these marking defaults shall be
|
||
auditable by the TCB.
|
||
|
||
Import of Non-labeled Data
|
||
|
||
In order to import non-labeled data, the TCB
|
||
shall request and receive from an authorized user
|
||
the security level of the data, and all such
|
||
actions shall be auditable by the TCB.
|
||
|
||
If different rules of assignment and modification
|
||
of access control attributes apply to different
|
||
subjects and/or objects, the totality of these
|
||
rules shall be shown to support the defined
|
||
policy.
|
||
|
||
3. Authorization of Subject References to Objects
|
||
|
||
The TCB shall define and enforce authorization
|
||
rules for the mediation of subject references to
|
||
objects. These rules shall be based on the access
|
||
control attributes of subjects and objects. These
|
||
rules shall, either by explicit user action or by
|
||
default, provide that objects are protected from
|
||
unauthorized access.
|
||
|
||
The scope of the authorization rules shall include
|
||
all subjects, storage objects (e.g., processes,
|
||
segments, devices) and associated access control
|
||
attributes that are directly or indirectly
|
||
accessible to subjects external to the TCB. The
|
||
scope of the authorization rules shall also
|
||
include all policy and status attributes of
|
||
subjects and storage objects (e.g., quotas, object
|
||
existence, size, access time, creation and
|
||
modification time, locked/unlocked). If different
|
||
rules apply to different subjects and objects, the
|
||
totality of these rules shall be shown to support
|
||
the defined policy.
|
||
|
||
The authorization rules for the mandatory access
|
||
control policy shall include:
|
||
|
||
The TCB shall enforce a mandatory access control
|
||
policy over all resources (i.e., subjects, storage
|
||
objects, and I/O devices that are directly or
|
||
indirectly accessible by subjects external to the
|
||
TCB. The following requirements shall hold for all
|
||
accesses between all subjects external to the TCB
|
||
and all objects directly or indirectly accessible
|
||
by these subjects: A subject can read an object
|
||
only if the hierarchical classification in the
|
||
subject's security level is greater than or equal
|
||
to the hierarchical classification in the object's
|
||
security level and the non- hierarchical
|
||
categories in the subject's security level include
|
||
all the non-hierarchical categories in the
|
||
object's security level. A subject can write an
|
||
object only if the hierarchical classification in
|
||
the subject's security level is less than or equal
|
||
to the hierarchical classification in the object's
|
||
security level and all the non-hierarchical
|
||
categories in the subject's security level are
|
||
included in the non-hierarchical categories in the
|
||
object's security level.
|
||
|
||
The authorization rules for each policy shall be
|
||
defined separately. The TCB shall define and
|
||
enforce the composition of policies, including the
|
||
enforcement of the authorization rules (e.g.,
|
||
subject and object type coverage, enforcement
|
||
precedence).
|
||
|
||
4. Subject and Object Creation and Destruction
|
||
|
||
The TCB shall control the creation and destruction
|
||
of subjects and objects. These controls shall
|
||
include object reuse. That is, all authorizations
|
||
to the information contained within a storage
|
||
object shall be revoked prior to initial
|
||
assignment, allocation or reallocation to a
|
||
subject from the TCB's pool of unused storage
|
||
objects; information, including encrypted
|
||
representations of information, produced by a
|
||
prior subjects' actions shall be unavailable to
|
||
any subject that obtains access to an object that
|
||
has been released back to the system.
|
||
|
||
CCH-2 Storage Channel Audit and Bandwidth Limitation
|
||
|
||
1. The TCB and privileged applications shall
|
||
include functions that help audit the use of
|
||
covert storage channels. These functions shall
|
||
enable the identification of the transmitter,
|
||
receiver, and specific covert channels used (e.g.,
|
||
TCB and privileged application element used to
|
||
transmit information). TCB functions that help
|
||
limit the bandwidth and/or eliminate covert
|
||
storage channels shall also be provided. The
|
||
bandwidth limits for each channel shall be
|
||
settable by system administrators.
|
||
|
||
2. The functions added to the TCB and privileged
|
||
applications for storage channel auditing shall be
|
||
identified for each channel and shall be available
|
||
in common product configurations. If audit
|
||
functions are not added to certain storage
|
||
channels (e.g., hardware storage channels),
|
||
evidence must be provided to justify why these
|
||
channels do not represent a security threat for
|
||
the intended use of the product. TCB and
|
||
privileged application functions that help limit
|
||
the bandwidth and/or eliminate covert storage
|
||
channels shall also be available in common product
|
||
configurations.
|
||
|
||
If channel bandwidth limitation and channel
|
||
elimination functions are not added to certain
|
||
storage channels (e.g., hardware storage
|
||
channels), evidence must be provided to justify
|
||
why these channels do not represent a security
|
||
threat for the intended use of the product.
|
||
|
||
SM-1 Minimal Security Management
|
||
|
||
1. The TCB shall provide an installation mechanism
|
||
for the setting and updating of its configuration
|
||
parameters, and for the initialization of its
|
||
protection-relevant data structures before any
|
||
user or administrator policy attributes are
|
||
defined. It shall allow the configuration of TCB
|
||
internal databases and tables.
|
||
|
||
2. The TCB shall provide protected mechanisms for
|
||
displaying and modifying the security policy
|
||
parameters.
|
||
|
||
3. The TCB shall provide protected mechanisms for
|
||
manually displaying, modifying, or deleting user
|
||
registration and account parameters. These
|
||
parameters shall include unique user identifiers,
|
||
their account, and their associated user name and
|
||
affiliation. The TCB shall allow the manual
|
||
enabling and disabling of user identities and/or
|
||
accounts.
|
||
|
||
4. The TCB shall support separate operator and
|
||
administrator functions. The operator functions
|
||
shall be restricted to those necessary for
|
||
performing routine operations. The operator
|
||
functions shall allow the enabling and disabling
|
||
of peripheral devices, mounting removable storage
|
||
media, backing-up and recovering user objects;
|
||
maintaining the TCB hardware and software elements
|
||
(e.g., on-site testing); and starting and shutting
|
||
down the system. [SM-3]
|
||
|
||
5. The use of the protected mechanisms for system
|
||
administration shall be limited to authorized
|
||
administrative users.
|
||
|
||
RM-3 Mediation of References to Subject and Object
|
||
Attributes
|
||
|
||
1. The TCB shall mediate all references to
|
||
subjects, objects, resources, and services (e.g.,
|
||
TCB functions) described in the TCB
|
||
specifications. The mediation shall ensure that
|
||
all references are directed to the appropriate
|
||
security-policy functions.
|
||
|
||
2. Reference mediation shall include control of
|
||
references to all subjects, objects, and resources
|
||
protected under the TCB security policy, to their
|
||
policy (i.e., access rights, security levels) and
|
||
status attributes (e.g., existence, length,
|
||
locking state).
|
||
|
||
3. References issued by privileged subjects shall
|
||
be mediated in accordance with the policy
|
||
attributes defined for those subjects.
|
||
|
||
P-2 TCB Isolation and Consistency
|
||
|
||
The TCB shall maintain a domain for its own
|
||
execution that protects it from external
|
||
interference and tampering (e.g., by reading or
|
||
modification of its code and data structures). The
|
||
protection of the TCB shall provide TCB isolation
|
||
and noncircumventability of TCB isolation
|
||
functions as follows:
|
||
|
||
1. TCB Isolation requires that (1) the address
|
||
spaces of the TCB and those of unprivileged
|
||
subjects are separated such that users, or
|
||
unprivileged subjects operating on their behalf,
|
||
cannot read or modify TCB data structures or code,
|
||
(2) the transfers between TCB and non-TCB domains
|
||
are controlled such that arbitrary entry to or
|
||
return from the TCB are not possible; and (3) the
|
||
user or application parameters passed to the TCB
|
||
by addresses are validated with respect to the TCB
|
||
address space, and those passed by value are
|
||
validated with respect to the values expected by
|
||
the TCB.
|
||
|
||
2. Non-circumventability of TCB isolation
|
||
functions requires that the permission to objects
|
||
(and/or to non-TCB data) passed as parameters to
|
||
the TCB are validated with respect to the
|
||
permissions required by the TCB, and references to
|
||
TCB objects implementing TCB isolation functions
|
||
are mediated by the TCB.
|
||
|
||
TCB protection shall also maintain the consistency
|
||
of TCB global variables and eliminate undesirable
|
||
dependencies of the TCB on unprivileged subject or
|
||
user actions.
|
||
|
||
3. Consistency of TCB global variables requires
|
||
that consistency conditions defined over TCB
|
||
internal variables, objects, and functions hold
|
||
before and after any TCB invocation.
|
||
|
||
4. Elimination of undesirable dependencies of
|
||
the TCB on unprivileged subject actions requires
|
||
that any TCB invocation by an unprivileged subject
|
||
(or user) input to a TCB call may not place the TCB
|
||
in a state such that it is unable to respond to
|
||
communication initiated by other users.
|
||
|
||
SC-1 Minimal Self Checking
|
||
|
||
Hardware and/or software features shall be
|
||
provided that can be used to periodically validate
|
||
the correct operation of the on-site hardware and
|
||
firmware elements of the TCB.
|
||
|
||
PO-2 Privilege Association with TCB Modules
|
||
|
||
1. TCB privileges needed by individual functions,
|
||
or groups of functions, of a functional component
|
||
shall be identified. Privileged TCB calls or
|
||
access to privileged TCB objects, such as user and
|
||
group registration files, password files, security
|
||
and integrity-level definition file, role
|
||
definition file, audit-log file shall also be
|
||
identified. It shall be possible to associate TCB
|
||
privileges with TCB operations performed by
|
||
administrative users.
|
||
|
||
2.The modules of a TCB function shall be
|
||
associated only with the privileges necessary to
|
||
complete their task.
|
||
|
||
3. Support for product privilege implementation
|
||
and association with TCB modules provided by
|
||
lower-level mechanisms or procedures (e.g.,
|
||
operating system, processors, language) shall be
|
||
provided.
|
||
|
||
ASSURANCES
|
||
|
||
Requirements for TCB Property Definition
|
||
|
||
PD-3 Property Specification by Model Interpretation
|
||
|
||
The developer shall provide formal models for the
|
||
functional components and sub-components of the
|
||
profile. At a minimum, a formal model of the
|
||
access control components shall be provided. The
|
||
properties of the formal models shall be clearly
|
||
stated. The developer shall provide an
|
||
interpretation of the models in the DIS of the
|
||
product's TCB. For each model entity, the
|
||
developer shall: (1) identify the TCB elements and
|
||
their DIS (if any) that implement that entity; (2)
|
||
define the operation of these TCB elements, and
|
||
(3) demonstrate, by coherent arguments, that the
|
||
DIS of these elements is consistent with the model
|
||
properties. The developer's interpretation of each
|
||
formal model, which specifies the TCB properties,
|
||
shall identify all TCB and DIS elements (if any)
|
||
that do not correspond to any model entity and
|
||
shall explain why these elements do not render the
|
||
TCB properties invalid.
|
||
|
||
An informal model of reference mediation and TCB
|
||
protection shall be provided. For the components
|
||
that are not modeled, the developer shall
|
||
interpret the functional requirements of the
|
||
protection profile within the product TCB. For
|
||
each functional requirement, the developer shall:
|
||
(1) identify the TCB elements and their TCB
|
||
interfaces (if any) that implement that
|
||
requirement; (2) describe the operation of these
|
||
TCB elements, and (3) explain why the operation of
|
||
these elements is consistent with the functional
|
||
requirement. The developer's interpretation of
|
||
each functional requirement, which describes the
|
||
TCB properties, shall include all the TCB
|
||
elements.
|
||
|
||
Requirements for TCB Element Identification
|
||
|
||
ID-2: TCB Element Justification
|
||
|
||
The vendor shall identify the TCB elements (i.e.,
|
||
software, hardware/firmware code and data
|
||
structures). Each element must be unambiguously
|
||
identified by its name, type, release, and version
|
||
number (if any).
|
||
|
||
The developer shall justify the protection
|
||
relevance of the identified elements (i.e., only
|
||
elements that can affect the correct operation of
|
||
the protection functions shall be included in the
|
||
TCB). If protection-irrelevant elements are
|
||
included in the TCB, the developer shall provide a
|
||
rationale for such inclusion.
|
||
|
||
Requirements for TCB Interface Definition
|
||
|
||
IF-2: Interface Descriptive Specification
|
||
|
||
The developer shall define all external (e.g.,
|
||
command, software, and I/O) administrative (i.e.,
|
||
privileged) and non-administrative interfaces to
|
||
the TCB.
|
||
|
||
The developer shall provide and maintain a
|
||
descriptive interface specification (DIS) of the
|
||
TCB that completely and accurately describes the
|
||
TCB in terms of exceptions, error messages, and
|
||
effects. The DIS shall identify the TCB call
|
||
conventions (e.g., parameter order, call sequence
|
||
requirements), and exceptions signaled. The DIS
|
||
shall also include the TCB call identifier,
|
||
parameter types (e.g., input, output), the effect
|
||
of the call, TCB call conventions (e.g., parameter
|
||
order, call sequence requirements), and exceptions
|
||
handled and signaled. It shall be shown to be an
|
||
accurate description of the TCB interface.
|
||
|
||
The DIS shall include those components of the TCB
|
||
that are implemented as hardware and/or firmware
|
||
if their properties are visible at the TCB
|
||
interface.
|
||
|
||
If the TCB consists of a kernel and privileged
|
||
processes, the developer shall separately identify
|
||
and define the interfaces for the kernel and each
|
||
privileged process.
|
||
|
||
The TCB interface definition must also include all
|
||
effects of a call including the direct visibility
|
||
and alterability of internal TCB variables and
|
||
functions.
|
||
|
||
Requirements for Modular Decomposition
|
||
|
||
MD-2: Module-level Decomposition
|
||
|
||
The developer shall design the TCB as a small
|
||
number (e.g., 10 to 100) of design and
|
||
implementation subsystems that have well-defined
|
||
functional relationships and shared-data
|
||
dependencies. The developer shall identify the
|
||
specific TCB protection functions (if any)
|
||
associated with each subsystem and the TCB
|
||
interfaces (if any) implemented by each subsystem.
|
||
|
||
The developer shall design each subsystem as a set
|
||
of modules. For each module, the developer shall
|
||
describe: the role or purpose of the module, the
|
||
set of related functions performed by the module,
|
||
and the module interface (i.e., the set of
|
||
invocable functions, calling conventions,
|
||
parameters, global variables, and results). The
|
||
developer shall identify the protection functions
|
||
of, and describe the interfaces between, these
|
||
modules. The developer shall choose the modules so
|
||
that the set of functions implemented by the
|
||
module, the module's contribution to the TCB
|
||
protection properties, and the interface(s) to the
|
||
module can be described concisely (e.g., the
|
||
module shall have a single purpose). The TCB
|
||
structuring into modules shall be based on well-
|
||
defined module relationships; for example, the
|
||
contains relation (e.g., A is part of B) or the
|
||
"uses" relation (e.g., A is correct only if B is
|
||
correct).
|
||
|
||
Requirements for TCB Structuring Support
|
||
|
||
SP-2: Support for Storage Objects
|
||
|
||
The TCB shall maintain process isolation. The TCB
|
||
shall separate those elements that are protection-
|
||
critical from those that are not. Features in
|
||
hardware, such as segmentation, shall be used to
|
||
support logically distinct storage objects with
|
||
separate access-control attributes (e.g.,
|
||
readable, writable).
|
||
|
||
Requirements for Implementation Support
|
||
|
||
IM-3: Module Correspondence Support
|
||
|
||
The developer shall maintain engineering diagrams
|
||
and source code (as applicable) for all TCB
|
||
elements. The diagrams and source code for each
|
||
module of the TCB shall be identified and provided
|
||
as configuration items.
|
||
|
||
Requirements for Developer Functional Testing
|
||
|
||
FT-3: Specification-Driven TCB Interface Testing
|
||
|
||
The developer shall test the TCB interface to show
|
||
that all claimed protection functions work as
|
||
stated in the TCB interface description or
|
||
specification. The tests shall exercise the
|
||
boundary conditions of the protection functions.
|
||
The developer shall generate the test conditions
|
||
and data from the Descriptive Interface
|
||
Specification(s). The developer test procedures
|
||
shall include the tests used to demonstrate the
|
||
absence of all flaws discovered in previous
|
||
versions of the TCB.
|
||
|
||
The developer shall correct all flaws discovered
|
||
by testing and shall retest the TCB to show that
|
||
all discovered flaws have been eliminated, no new
|
||
flaws have been introduced, and the protection
|
||
functions work as claimed.
|
||
|
||
Requirements for Penetration Analysis
|
||
|
||
PA-2 Flaw-Hypothesis Testing
|
||
|
||
The developer shall define the TCB configuration,
|
||
interface, and protection functions that are
|
||
subject to penetration testing. For each test, the
|
||
developer shall identify the goal of the test and
|
||
the criteria for successful penetration. The
|
||
developer shall illustrate how, in addition to
|
||
system reference manuals and TCB interface
|
||
description, the DIS, source code, and hardware
|
||
and firmware specifications are used to define
|
||
penetration-test conditions. For each test, the
|
||
developer shall document all test conditions, data
|
||
(e.g., test set-up, function call parameters, and
|
||
test outcomes), and coverage.
|
||
|
||
The developer shall generate the test conditions
|
||
from flaw-hypotheses derived by negating
|
||
assertions of TCB design capabilities and by
|
||
providing counter examples that show that these
|
||
assertions are false. The developer shall confirm
|
||
the flaw hypotheses by checking design and
|
||
implementation documentation, by defining the test
|
||
data and running test programs, or by referring to
|
||
known classes of penetration flaws found in other
|
||
TCBs. The refutation of any hypothesis shall be
|
||
documented.
|
||
|
||
For each uncovered flaw, the developer shall
|
||
define and document scenarios of flaw exploitation
|
||
and shall identify all penetration outcomes
|
||
resulting from that scenario. The cause of the
|
||
flaw shall be identified and documented.
|
||
|
||
Requirements for Covert-Channel Analysis
|
||
|
||
CCA-1 Analysis of Covert Storage Channels
|
||
|
||
1. Identification: The developer shall identify
|
||
all sources of information used in covert-storage-
|
||
channel analysis. These sources shall include TCB
|
||
reference manuals and DIS. The developer shall
|
||
define the identification method used. The
|
||
developer shall demonstrate that the chosen
|
||
identification method is sound (e.g., it leads to
|
||
the discovery of all covert storage channels in
|
||
the DIS or source documentation) and repeatable
|
||
(i.e., independent evaluators can use the method
|
||
on the same sources of covert-storage-channel
|
||
information and can obtain the same results.) The
|
||
developer shall define scenarios of use for each
|
||
covert storage channel.
|
||
|
||
2. Bandwidth Measurement or Engineering
|
||
Estimation: The developer shall define the method
|
||
used for covert-storage-channel bandwidth
|
||
estimation. In measuring TCB performance for
|
||
covert-channel-bandwidth estimation, the developer
|
||
shall satisfy the following assumptions. The
|
||
maximum bandwidth estimation shall be based on the
|
||
assumptions that the storage channel is noiseless,
|
||
that the senders and receivers are not delayed by
|
||
the presence of other processes in the product,
|
||
and that the sender-receiver synchronization time
|
||
is negligible. The choice of informal estimation
|
||
methods shall define and justify the coding method
|
||
and, therefore, the distribution of "0s" and "1s"
|
||
in all transmissions.
|
||
|
||
The developer shall select TCB primitives to be
|
||
measured for bandwidth determination from real
|
||
scenarios of covert-storage-channel use. The
|
||
developer shall specify TCB measurement
|
||
environment for the bandwidth measurements. This
|
||
specification shall include: (1) the speed of the
|
||
product functions, (2) the product configuration,
|
||
(3) the sizes of the memory and cache components,
|
||
and (4) the product initialization. The
|
||
sensitivity of the measurement results to
|
||
configuration changes shall be documented. The
|
||
covert-storage-channel measurements shall include
|
||
the fastest TCB function calls for altering,
|
||
viewing, and setting up the transmission
|
||
environment; the demonstrably fastest process
|
||
(context) switch time shall also be included in
|
||
the bandwidth measurements. All measurements shall
|
||
be repeatable.
|
||
|
||
3. Covert Channel Testing: The developer shall
|
||
test all the use of all identified covert storage
|
||
channels to determine whether the handling
|
||
functions work as intended.
|
||
|
||
Requirements for User Guidance
|
||
|
||
UG-1: Users' Guide
|
||
|
||
The developer shall provide a User Guide which
|
||
describes all protection services provided and
|
||
enforced by the TCB. The User Guide shall describe
|
||
the interaction between these services and provide
|
||
examples of their use. The User Guide may be in the
|
||
form of a summary, chapter or manual. The User
|
||
Guide shall specifically describe user
|
||
responsibilities. These shall encompass any user
|
||
responsibilities identified in the protection
|
||
profile.
|
||
|
||
Requirements for Administrative Guidance
|
||
|
||
AG-2: Detailed Administrative Guidance
|
||
|
||
The developer shall provide a Trusted Facility
|
||
Manual intended for the product administrators and
|
||
operators that describes how to use the TCB
|
||
security services (e.g., Access Control, System
|
||
Entry, or Audit) to enforce a system security
|
||
policy. The Trusted Facility Manual shall include
|
||
the procedures for securely configuring, starting,
|
||
maintaining, and halting the TCB. The Trusted
|
||
Facility Manual shall explain how to analyze audit
|
||
data generated by the TCB to identify and document
|
||
user and administrator violations of this policy.
|
||
The Trusted Facility Manual shall explain the
|
||
unique security-relevant privileges and functions
|
||
of administrators and operators. The Trusted
|
||
Facility Manual shall describe the administrative
|
||
interaction between security services.
|
||
|
||
The Trusted Facility Manual shall identify all
|
||
hardware, firmware, software, and data structures
|
||
comprising the TCB. The detailed audit record
|
||
structure for each type of audit event shall be
|
||
described. The Trusted Facility Manual shall
|
||
explain how configure the product to mitigate,
|
||
eliminate, or audit covert channel
|
||
exploitation.The Trusted Facility Manual shall
|
||
describe the cautions about and procedures for
|
||
using the TCB as a base for site-specific secure
|
||
applications. The Trusted Facility Manual shall
|
||
describe procedures for securely regenerating the
|
||
TCB after any part is changed (e.g., due to adding
|
||
devices or installing flaw corrections to the TCB
|
||
software).
|
||
|
||
The Trusted Facility Manual shall be distinct from
|
||
User Guidance, and encompass any administrative
|
||
responsibilities identified in security
|
||
management.
|
||
|
||
Requirements for Trusted Generation
|
||
|
||
TG-2: Trusted Generation With Fail-Safe Defaults
|
||
|
||
The developer shall establish and document the
|
||
procedures that a consumer must perform to
|
||
generate an operational TCB from the delivered
|
||
copy of the master TCB. The consumer documentation
|
||
shall identify any system parameters, which are
|
||
initialized or set during system generation, that
|
||
affect the TCB's conformance to the protection
|
||
profile and state the acceptable ranges of values
|
||
for those parameters. The product shall be
|
||
delivered with each of these parameters set to its
|
||
fail-safe defaults.
|
||
|
||
Requirements for Life Cycle Process
|
||
|
||
LC-2: Standardized Life Cycle Process
|
||
|
||
The developer shall develop and maintain the
|
||
product using a well defined, standardized
|
||
engineering process. The developer shall explain
|
||
why the process was chosen and how the developer
|
||
uses it to develop and maintain the product. The
|
||
process shall incorporate a security policy that
|
||
states the technical, physical, procedural,
|
||
personnel, and other measures used by the
|
||
developer to protect the product and its
|
||
documentation. The developer shall demonstrate
|
||
that each development process and support process
|
||
requirement of the protection profile is satisfied
|
||
by some part, or parts, of the developer's
|
||
process. The developer shall identify the
|
||
programming languages used to develop the TCB
|
||
software and reference the definitions of those
|
||
languages. The developer shall identify any
|
||
implementation dependent options of the
|
||
programming language compiler(s) used to implement
|
||
the TCB software.
|
||
|
||
Requirements for Configuration Management
|
||
|
||
CM-2: Automated Source Code Control
|
||
|
||
The developer shall establish configuration
|
||
control and generation procedures for developing
|
||
and maintaining the TCB. The procedures shall be
|
||
employed to ensure that changes to the TCB are
|
||
consistent with the product's protection
|
||
properties and security policy. The developer
|
||
shall employ these procedures to track changes to
|
||
development evidence, implementation data (e.g.,
|
||
source code and hardware diagrams), executable
|
||
versions of the TCB, test documentation and
|
||
procedures, identified flaws, and consumer
|
||
documentation. The procedures shall include
|
||
automated tools to control the software source
|
||
code that comprises the TCB.
|
||
|
||
The configuration control procedures shall assure
|
||
a consistent mapping among documentation and code
|
||
associated with the current version of the TCB and
|
||
permit the regeneration of any supported version
|
||
of the TCB.
|
||
|
||
Requirements for Evidence of TCB Protection Properties
|
||
|
||
EPP-3 Evidence of Formal Model Interpretation in the DIS
|
||
|
||
The developer shall provide documentation which
|
||
describes the correspondence between the
|
||
functional component requirements and the TCB
|
||
elements and interfaces. This documentation shall
|
||
describe how the TCB implements the reference
|
||
monitor concept. The developer shall also provide
|
||
a formal access-control model and an informal
|
||
reference mediation and TCB protection model. The
|
||
TCB properties, which are defined by this
|
||
correspondence and the interpretation of these
|
||
models within the DIS of the TCB shall be
|
||
documented by the product developer.
|
||
|
||
Requirements for Evidence of Product Development
|
||
|
||
EPD-3: Analysis Of The TCB External Interface
|
||
|
||
The developer shall provide TCB Design
|
||
Specifications that include: a list of the TCB
|
||
elements (hardware, software, and firmware
|
||
configuration items); a list of protection
|
||
services provided to the TCB by hardware,
|
||
software, and firmware that is not part of the
|
||
TCB; an explanation of the techniques and criteria
|
||
used during the modular decomposition of the TCB;
|
||
a description of the policy allocations,
|
||
functions, and interactions among the major TCB
|
||
subsystems; and module level descriptions of all
|
||
software and hardware in the TCB.
|
||
|
||
The developer shall provide a Descriptive
|
||
Interface Specification (DIS) that describes the
|
||
functions, effects, exceptions and error messages
|
||
visible at the TCB interface. The developer shall
|
||
show that the DIS is an accurate representation of
|
||
the TCB's external interfaces.
|
||
|
||
The developer shall provide TCB Implementation
|
||
Data consisting of the engineering diagrams for
|
||
all hardware included in the TCB and the source
|
||
code used to generate the TCB software and
|
||
firmware.
|
||
|
||
Requirements for Evidence of Functional Testing
|
||
|
||
EFT-3: Evidence of Specification-Driven Testing
|
||
|
||
The developer shall provide evidence of the
|
||
functional testing that includes the test plan,
|
||
the test procedures, and the results of the
|
||
functional testing. The test, plans, procedures,
|
||
and results shall be maintained under the same
|
||
configuration control as the TCB software. The
|
||
test plans shall identify the TCB specification
|
||
used in the derivation of the test conditions,
|
||
data, and coverage analysis.
|
||
|
||
Requirements for Evidence of Penetration Analysis
|
||
|
||
EPA-2: Evidence of Flaw-Hypothesis Generation and Testing
|
||
|
||
The developer shall provide evidence of
|
||
penetration testing. The penetration evidence
|
||
shall identify all product documentation and
|
||
development evidence on which the search for flaws
|
||
was based. The penetration evidence shall describe
|
||
the scenarios for exploiting each potential flaw
|
||
in the system and the penetration test conditions,
|
||
data (e.g., test set-up, function call parameters,
|
||
and test outcomes), coverage, and conclusions
|
||
derived from each scenario. The penetration
|
||
evidence shall summarize both refuted and
|
||
confirmed flaws hypothesis.
|
||
|
||
Requirements for Evidence of Covert Channel Analysis
|
||
|
||
ECC-1: Evidence of Covert Storage Channel Analysis and
|
||
Handling
|
||
|
||
The developer's documentation shall present the
|
||
results of the covert-storage-channel analysis and
|
||
the trade-offs involved in restricting these
|
||
channels. All auditable events that may be used in
|
||
the exploitation of known covert storage channels
|
||
shall be identified. The developer shall provide
|
||
the bandwidths of known covert-storage-channels
|
||
whose use is not detectable by the auditing
|
||
mechanism. The documentation of each identified
|
||
storage channel shall consist of the variable that
|
||
can be viewed/altered by the channel and the TCB
|
||
interface functions that can alter or view that
|
||
variable. The measurements of each TCB function
|
||
call used by covert-storage channels must be
|
||
documented and the bandwidth computation shall be
|
||
included for each channel. The measurement
|
||
environment should be documented as specified.
|
||
Test documentation shall include results of
|
||
testing the effectiveness of the methods used to
|
||
reduce covert-storage-channel bandwidths.
|
||
|
||
Requirements for Evidence of Product Support
|
||
|
||
EPS-2: Evidence of Defined Product Support
|
||
|
||
The developer shall provide documentation that
|
||
defines the policies, procedures, plans, and tools
|
||
established by the developer to satisfy the
|
||
Operational Support and Development Environment
|
||
requirements of the protection profile.
|
||
|
||
Requirements for Test Analysis
|
||
|
||
TA-4: Comprehensive Test Analysis
|
||
|
||
The evaluator shall assess whether the producer
|
||
has performed the activities defined in the
|
||
development assurance requirements of the
|
||
protection profile for functional testing and
|
||
penetration analysis, and whether the producer has
|
||
documented these activities as defined in the
|
||
development evidence requirements of the
|
||
protection profile. The evaluator shall analyze
|
||
the results of the producer's testing activities
|
||
for completeness of coverage and consistency of
|
||
results, and general correctness (e.g., defect
|
||
trend from regression testing). This analysis
|
||
shall examine the testability of requirements, the
|
||
adequacy of the tests to measure the required
|
||
properties, the deviation of the actual results
|
||
obtained from the expected results. The analysis
|
||
shall extend to trace all defects identified,
|
||
corrected, and retested. The analysis shall
|
||
include an assessment of test coverage and
|
||
completeness, and defect frequency. The results of
|
||
testing shall be interpreted in terms that express
|
||
product performance and protection adequacy. The
|
||
evaluator shall determine whether the product's
|
||
protection properties, as defined for all
|
||
protection-relevant modules of the TCB, and all
|
||
relevant known penetration flaws have been tested.
|
||
The evaluator shall independently develop, test,
|
||
and document additional flaw hypotheses. The
|
||
evaluator shall assess testing results to
|
||
determine whether the product's TCB works as
|
||
claimed, that the TCB's implementation is
|
||
consistent with the DIS, and whether there are any
|
||
obvious ways (i.e., ways that are known, or that
|
||
are readily apparent or easily discovered in
|
||
product documentation) for an unauthorized user to
|
||
bypass the policy implemented by the TCB or
|
||
otherwise defeat the product's TCB, and whether
|
||
all discovered TCB flaws have been corrected and
|
||
no new TCB flaws introduced. No design flaws and
|
||
no more than a few correctable implementation
|
||
flaws may be found during testing and there shall
|
||
be reasonable confidence that few remain. The
|
||
testing results shall show that the methods used
|
||
to reduce covert channel bandwidths have been
|
||
effective for all evaluated configurations. The
|
||
evaluator shall determine whether the product is
|
||
relatively resistant to penetrations.
|
||
|
||
Requirements for Independent Testing
|
||
|
||
IT-3: Comprehensive Independent Testing.
|
||
|
||
The evaluator shall independently perform
|
||
functional and elementary penetration testing to
|
||
confirm test results. This testing may be
|
||
selective and shall be based on (1) the results of
|
||
other independent and/or producer testing, (2) the
|
||
TCB's DIS, (3) other product design and
|
||
implementation documentation, (4) the product's
|
||
user and administrative documentation, (5)
|
||
relevant known penetration flaws, and (6)
|
||
evaluator-developed TCB penetration flaw
|
||
hypotheses and corresponding tests that attempt to
|
||
exploit the hypothesized flaws. Satisfactory
|
||
completion consists of demonstrating that all TCB
|
||
functions work as described in the product's
|
||
relevant documentation, that test results are
|
||
consistent, and that no discrepancies exist
|
||
between the documentation and the product.
|
||
Satisfactory penetration test completion shall be
|
||
determined by the subjective judgement (which may
|
||
be supported algorithmically) of the evaluator.
|
||
Test duration agreements may further constrain
|
||
this judgement. Categorization of an actual
|
||
penetration flaw shall be based on the
|
||
reproducibility of that flaw. Flaws that are
|
||
discovered, but are not reproducible shall remain
|
||
categorized as potential penetration flaws. All
|
||
actual penetration flaws must be corrected and
|
||
retested.
|
||
|
||
The evaluator shall provide a penetration test
|
||
plan document that describes the additional
|
||
evaluator-developed flaw hypotheses and associated
|
||
tests. The evaluator shall execute these tests and
|
||
shall report any discovered flaws to the producer
|
||
as part of the testing results. At the conclusion
|
||
of penetration testing, the evaluator shall
|
||
provide copies of this penetration test plan and
|
||
its test results to the producer. The producer
|
||
shall ensure that this test plan and its test
|
||
results are incorporated into the rest of the
|
||
product's testing documentation and that such
|
||
documentation is available for further analysis
|
||
throughout the life of the product.
|
||
|
||
The evaluator shall test for covert channel
|
||
bandwidth reductions to determine the
|
||
effectiveness of handling method(s) in reducing
|
||
the bandwidths of identified covert channels for
|
||
all evaluated configurations.
|
||
|
||
If the independent testing is performed at beta-
|
||
test sites, the producer shall supply the beta-
|
||
test plan and the test results. The evaluator
|
||
shall review the scope and depth of beta testing
|
||
with respect to the required protection
|
||
functionality, and shall verify independence of
|
||
both the test sites and the producer's and beta-
|
||
test user's test results. The evaluator shall also
|
||
confirm that the test environment of the beta-test
|
||
site(s) adequately represents the environment
|
||
specified in the protection profile.
|
||
|
||
Requirements for Development Environment
|
||
|
||
DER-2: Enhanced Development Environment Review
|
||
|
||
The evaluator shall review the producer's
|
||
development and maintenance process description
|
||
documentation and shall conduct a random audit of
|
||
the producer's processes using the evidence
|
||
generated by each process to determine the degree
|
||
of discipline enforced upon and within the
|
||
process, and to determine the protection
|
||
characteristics associated with the product's
|
||
development and maintenance. The results of this
|
||
review shall establish, for the evaluator, the
|
||
producer's development environment, its policies,
|
||
and the degree of enforcement maintained during
|
||
development execution. The results of this review
|
||
shall also confirm the producer's general
|
||
conformance with relevant development environment
|
||
requirements.
|
||
|
||
Requirements for Operational Support
|
||
|
||
OSR-2 Enhanced Operational Support Review
|
||
|
||
The evaluator shall review all documentation
|
||
focused on the activities of product use (e.g.,
|
||
Users Manuals) and product administration
|
||
including installation, operation, maintenance,
|
||
and trusted recovery (e.g., Trusted Facility
|
||
Management Manuals). This review shall assess the
|
||
clarity of presentation, difficulty in locating
|
||
topics of interest, ease of understanding, and
|
||
completeness of coverage. The need for separate
|
||
manuals dedicated to protection-relevant aspects
|
||
of the product should be assessed for
|
||
effectiveness. The evaluator shall randomly select
|
||
a sample of the documented protection-relevant
|
||
features and procedures and execute them to
|
||
determine if their descriptions are accurate and
|
||
correct.
|
||
|
||
Requirements for Design Analysis
|
||
|
||
DA-2: Enhanced Design Analysis
|
||
|
||
The evaluator shall determine whether the producer has
|
||
performed the activities defined in the development process
|
||
assurance requirements of the protection profile for TCB
|
||
property definition and TCB design. The evaluator shall
|
||
determine whether the producer has documented these
|
||
activities as defined in the development evidence
|
||
requirements of the protection profile. The evaluator shall
|
||
analyze the results of the producer's activities for
|
||
completeness, consistency, and correctness of design with
|
||
respect to requirements.
|
||
|
||
Requirements for Implementation Analysis
|
||
|
||
CI-1: Elementary Implementation Analysis
|
||
|
||
The evaluator shall conduct a code inspection on a
|
||
small sample of randomly selected product code.
|
||
The assessment shall focus on clarity of the
|
||
coding style, adherence to coding standards,
|
||
coding documentation, and on possible software
|
||
defects that may be present with respect to the
|
||
product's informal design. The inspection shall be
|
||
performed to obtain only a sample of possible
|
||
software defects, not to capture all such possible
|
||
defects. The evaluator shall report all discovered
|
||
defects to the producer; the assessment shall
|
||
report the number of defects found per line of
|
||
code inspected from the random sample size. Use of
|
||
producer-provided code inspection results can
|
||
supplement this sample inspection. All trapdoors
|
||
built into the product for maintenance purposes
|
||
shall be identified by the producer and shown to
|
||
be protected by the product.
|
||
DRAFT
|
||
|
||
|
||
|
||
LABEL BASED PROTECTION
|
||
|
||
FOR
|
||
|
||
MULTI-USER INFORMATION SYSTEMS
|
||
|
||
|
||
|
||
LEVEL 3
|
||
|
||
(LP-3)
|
||
|
||
|
||
|
||
|
||
|
||
A Protection Profile
|
||
|
||
Derived from the Federal Criteria for IT Security
|
||
|
||
|
||
|
||
Version 1.0
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
December 1992
|
||
|
||
|
||
|
||
This document is undergoing review and
|
||
is subject to modification or withdrawal.
|
||
|
||
The contents of this document should not
|
||
be referenced in other publications.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Supersedes the
|
||
|
||
Trusted Computer System Evaluation Criteria
|
||
|
||
Class B3
|
||
|
||
|
||
|
||
|
||
|
||
DRAFT
|
||
|
||
LABEL-BASED PROTECTION - 3 (LP-3)
|
||
|
||
This Protection Profile has been developed to define a set
|
||
of technical measures that can be incorporated into remote-
|
||
access, resource- and information-sharing Information
|
||
Technology (IT) products that will be used to protect up to
|
||
three levels and multiple categories of National Security
|
||
Information classified according to US Executive Order 12356
|
||
(EO 12356). This profile can also be used to protect any
|
||
information that has been designated as sensitive information
|
||
for which information separation and access are based on
|
||
sensitivity markings applied to the information. This profile
|
||
is intended for use in environments where the presence
|
||
potentially malicious application software (e.g., Trojan
|
||
Horses) mandate the use of high-assurance products.
|
||
|
||
Compliant IT products will provide highly-structured,
|
||
conceptually simple protection mechanisms for a multi-level
|
||
information processing environment with which an organization
|
||
can construct an automated information system to enhance or
|
||
optimize the organization's ability to perform its mission.
|
||
|
||
In LP-3 conformant systems, the TCB is demonstrably based
|
||
on a clearly defined and documented formal security policy
|
||
model (i.e., the interpretation of the policy model within the
|
||
TCB is shown to be valid). The TCB is resistant to
|
||
penetration. In relation to lower levels of protection
|
||
functionality, LP-3 conformat systems have the following
|
||
additional features.
|
||
|
||
a. The TCB must satisfy all requirements of the reference
|
||
monitor concept (i.e., TCB protection, reference
|
||
mediation, and TCB structuring and complexity
|
||
minimization to enhance TCB verification; viz.,
|
||
Appendix B).
|
||
|
||
b. Covert storage and timing channels are analyzed and
|
||
handled.
|
||
|
||
c. The TCB includes trusted recovery functions and a
|
||
trusted path mechanism that includes general user
|
||
commands, not just login commands.
|
||
|
||
d. The audit mechanisms include alarms that signal
|
||
accumulation of events representing potential
|
||
security violations.
|
||
|
||
e. Security management is enhanced by the fine-grain
|
||
separation of system administrator and operator
|
||
functions and by the minimization of security
|
||
irrelevant functions of security roles.
|
||
|
||
f. Stringent configuration management controls are
|
||
imposed.
|
||
|
||
g. The TCB must be found resistant to penetration.
|
||
|
||
Cross References:
|
||
|
||
o Existing Criteria:
|
||
|
||
(1) TCSEC: B3
|
||
|
||
(2) ITSEC
|
||
|
||
(3) CTCPEC
|
||
|
||
o Other Protection Profiles
|
||
|
||
(1) TBD
|
||
|
||
COMPONENT SUMMARY:
|
||
|
||
|
||
|
||
LP-3 Functional Component Summary
|
||
|
||
.--------------------------------------------.
|
||
| | Code & |
|
||
| Functional Component | Level |
|
||
|============================================|
|
||
| Security Policy Support |
|
||
|----------------------------------+---------|
|
||
| Accountability | |
|
||
|----------------------------------+---------|
|
||
| Identification uthentication | I&A-2 |
|
||
|----------------------------------+---------|
|
||
| System Entry | ---- |
|
||
|----------------------------------+---------|
|
||
| Trusted Path | TP-2 |
|
||
|----------------------------------+---------|
|
||
| Audit | AD-1+ |
|
||
|----------------------------------+---------|
|
||
| Access Control | AC-3+ |
|
||
|----------------------------------+---------|
|
||
| Discretionary | AC-3+ |
|
||
|----------------------------------+---------|
|
||
| Non-Discretionary | AC-3 |
|
||
|----------------------------------+---------|
|
||
| Covert Channel Handling | CCH-3 |
|
||
|----------------------------------+---------|
|
||
| Availability | ---- |
|
||
|----------------------------------+---------|
|
||
| Resource Allocation | ---- |
|
||
|----------------------------------+---------|
|
||
| Fault Tolerance | ---- |
|
||
|----------------------------------+---------|
|
||
| Security Mgmt. | SM-1++ |
|
||
|----------------------------------+---------|
|
||
| Reference Mediation | RM-3 |
|
||
|----------------------------------+---------|
|
||
| TCB Logical Protection | P-3 |
|
||
|----------------------------------+---------|
|
||
| TCB Physical Protection | ---- |
|
||
|----------------------------------+---------|
|
||
| TCB Self-checking | SC-1 |
|
||
|----------------------------------+---------|
|
||
| TCB Start-Up and Recovery | TR-1 |
|
||
|----------------------------------+---------|
|
||
| TCB Privileged Operation | PO-2 |
|
||
|----------------------------------+---------|
|
||
| TCB Ease-of-Use | ---- |
|
||
`--------------------------------------------'
|
||
|
||
|
||
LP-3 Assurance Component Summary
|
||
.---------------------------------------.
|
||
| Assurance Components | T6 |
|
||
|================================|======|
|
||
| Development Assurance Components |
|
||
|=======================================|
|
||
| Development Process |
|
||
|--------------------------------+------|
|
||
| TCB Property Definition | PD-3 |
|
||
|--------------------------------+------|
|
||
| TCB Design |
|
||
|--------------------------------+------|
|
||
| TCB Element Identification | ID-2 |
|
||
|--------------------------------+------|
|
||
| TCB Interface Definition | IF-2 |
|
||
|--------------------------------+------|
|
||
| TCB Modular Decomposition | MD-3 |
|
||
|--------------------------------+------|
|
||
| TCB Structuring Support | SP-3 |
|
||
|--------------------------------+------|
|
||
| TCB Design Disciplines | DD-2 |
|
||
|--------------------------------+------|
|
||
| TCB Implementation Support | IM-3 |
|
||
|--------------------------------+------|
|
||
| TCB Testing and Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | FT-3 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | PA-2 |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | CCA2 |
|
||
|--------------------------------+------|
|
||
| Operational Support |
|
||
|--------------------------------+------|
|
||
| User Security Guidance | UG-1 |
|
||
|--------------------------------+------|
|
||
| Administrative Guidance | AG-3 |
|
||
|--------------------------------+------|
|
||
| Trusted Generation | TG-3 |
|
||
|--------------------------------+------|
|
||
| Development Environment |
|
||
|--------------------------------+------|
|
||
| Life Cycle Definition | LC-3 |
|
||
|--------------------------------+------|
|
||
| Configuration Management | CM-3 |
|
||
|--------------------------------+------|
|
||
| Trusted Distribution | ---- |
|
||
|--------------------------------+------|
|
||
| Development Evidence |
|
||
|--------------------------------+------|
|
||
| TCB Protection Properties | EPP3 |
|
||
|--------------------------------+------|
|
||
| Product Development | EPD4 |
|
||
|--------------------------------+------|
|
||
| Product Testing & Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | EFT3 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | EPA2 |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ECC2 |
|
||
|--------------------------------+------|
|
||
| Product Support | EPS3 |
|
||
`---------------------------------------'
|
||
|=======================================|
|
||
| Evaluation Assurance Components |
|
||
|=======================================|
|
||
| Testing |
|
||
|--------------------------------+------|
|
||
| Test Analysis | TA-4 |
|
||
|--------------------------------+------|
|
||
| Independent Testing | IT-3 |
|
||
|--------------------------------+------|
|
||
| Review |
|
||
|--------------------------------+------|
|
||
| Development Environment | DER3 |
|
||
|--------------------------------+------|
|
||
| Operational Support | OSR3 |
|
||
|--------------------------------+------|
|
||
| Analysis |
|
||
|--------------------------------+------|
|
||
| Protection Properties | ---- |
|
||
|--------------------------------+------|
|
||
| Design | DA-3 |
|
||
|--------------------------------+------|
|
||
| Implementation | CI-3 |
|
||
`---------------------------------------'
|
||
|
||
RATIONALE
|
||
|
||
11. Information Protection Policy
|
||
|
||
It is anticipated that organizations wishing to process two
|
||
to three levels of classified information with multiple
|
||
categories will want to use IT products that are compliant
|
||
with this profile in their automated information processing
|
||
systems. These organizations should be able to trust the
|
||
profile-compliant IT product to contribute to the protection
|
||
of the classified information at least as much as they trust
|
||
the properly cleared personnel who are using and managing the
|
||
system.
|
||
|
||
12. Protection Philosophy
|
||
|
||
This profile presumes a hostile environment with divided,
|
||
aggressive users. It provides control of access to shared
|
||
resources both (1) on the basis of attributes that are
|
||
controlled by the ordinary users of the system and (2) on the
|
||
basis of attributes that are controlled only by the system
|
||
administrators.
|
||
|
||
Profile compliant IT products will minimally meet the
|
||
following objectives:
|
||
|
||
a. Employ a reference validation mechanism to enforce a
|
||
formally defined security policy that describes the
|
||
rules for controlling access to system subjects and
|
||
objects and use the access control rules to enforce an
|
||
information flow policy that aims to control the use
|
||
of covert storage and timing channels.
|
||
|
||
b. Associate explicit sensitivity labels with each
|
||
subject and object in the system and each port through
|
||
which information may be exported from or imported to
|
||
the system. Maintain the accuracy of the sensitivity
|
||
labels as information moves within the system and
|
||
through the ports.
|
||
|
||
c. Authenticate the claimed identity of each external
|
||
human user of the IT product prior to establishing any
|
||
internal entity to act on behalf of that user and
|
||
firmly bind the authenticated user identity to the
|
||
internal entity.
|
||
|
||
d. Selectively keep and protect a log of all actions or
|
||
events (including use of covert storage channels) that
|
||
could affect system security so that they can be
|
||
accurately attributed to the known user or system
|
||
entity responsible for causing the action or event.
|
||
Also, alert the system administrator when a series of
|
||
events indicates an imminent violation of the security
|
||
policy.
|
||
|
||
e. Contains hardware and software mechanisms that can be
|
||
independently evaluated to provide sufficient
|
||
assurance that the system satisfies the previous four
|
||
objectives.
|
||
|
||
f. Implements the enforcement of objectives a through d
|
||
in such a fashion that the enforcing mechanisms are
|
||
protected from tampering and unauthorized changes by
|
||
the information moving entities that the mechanisms
|
||
are supposed to control.
|
||
|
||
13. Expected Threats
|
||
|
||
The requirements for profile conforming IT products assume
|
||
that these products are being used in an environment where
|
||
there are different levels and categories of classified data
|
||
and users of differing clearance levels. A conforming IT
|
||
product can be reasonably expected to protect the
|
||
confidentiality of information in an environment where there
|
||
are three levels and multiple categories of classified data,
|
||
and two or more levels of cleared users and where there are
|
||
collaborating, malicious users and software at each clearance
|
||
level.
|
||
|
||
14. Assumed Environment
|
||
|
||
14.1 Characteristics
|
||
|
||
IT products complying with the requirements set forth in
|
||
this profile are expected to be used in an environment with
|
||
the following characteristics:
|
||
|
||
a. Multiple users will be accessing the operating system
|
||
at the same time.
|
||
|
||
b. The IT product hardware base (e.g., CPU, printers,
|
||
terminals, etc.) is protected from unauthorized
|
||
physical access.
|
||
|
||
c. One or more personnel are assigned to manage the
|
||
system in which the IT product is incorporated,
|
||
including the security of the information it contains.
|
||
|
||
d. A need to control user access to information exists
|
||
and is based on an explicit sensitivity marking
|
||
associated with the information (e.g, Secret or Top
|
||
Secret).
|
||
|
||
e. There is a need to control user access to information
|
||
exists and is based on that user's identity and
|
||
membership in organizations or groups.
|
||
|
||
f. The IT product provides facilities for some or all of
|
||
the authorized users to create programs that use the
|
||
applications programming interface (API) and make
|
||
those programs available to other users.
|
||
|
||
g. The IT product is used to provide a cooperative
|
||
environment for the users to accomplish some task or
|
||
group of tasks.
|
||
|
||
14.2 Environment Dependencies
|
||
|
||
Secure installation and operation of a product satisfying
|
||
these profile requirements depends on provision of a number
|
||
of elements in the installation environment. These include:
|
||
|
||
a. Physical security must be provided. For US Government
|
||
classified operation, physical security equivalent to
|
||
PP-2 would be required.
|
||
|
||
b. Cabling to other devices must be shown to be
|
||
consistent with policy implemented by the product. For
|
||
example, a "port" in the product is required to have
|
||
an assigned label. No device can be connected to the
|
||
port unless it has been established externally that
|
||
the device is allowed to receive data with the same
|
||
label.
|
||
|
||
c. Personnel allowed to access data processed by the
|
||
installed product must already be authorized for such
|
||
access.
|
||
|
||
15. Intended Use
|
||
|
||
Conforming IT products are useful in both general-purpose
|
||
office automation environments with multiple data
|
||
sensitivities (or "classifications") and multiple levels of
|
||
user authorizations (or "clearances") and in specialized
|
||
computing, network and mission environments. Examples of the
|
||
office automation environment might include military
|
||
headquarters and highly competitive procurement offices.
|
||
Examples of the network environments include use as the basis
|
||
for a multilevel secure network management center or a trusted
|
||
guard gateway operating between two networks processing
|
||
different levels of information. An example of the specialized
|
||
mission environment might be as a platform for a portable
|
||
battlefield map and mission management application.
|
||
|
||
FUNCTIONAL REQUIREMENTS
|
||
|
||
Requirements for Identification and Authentication
|
||
|
||
I&A-2 Identification, Authentication, and Authorization
|
||
|
||
1. The TCB shall require users to identify
|
||
themselves to it before beginning to perform any
|
||
other actions that the TCB is expected to mediate.
|
||
The TCB shall be able to enforce individual
|
||
accountability by providing the capability to
|
||
uniquely identify each individual user. The TCB
|
||
shall also provide the capability of associating
|
||
this identity with all auditable actions taken by
|
||
that individual.
|
||
|
||
2. The TCB shall maintain authentication data that
|
||
includes information for verifying the identity of
|
||
individual users (e.g., passwords) as well as
|
||
information for determining the clearance and
|
||
authorization of individual users. These data
|
||
shall be used by the TCB to authenticate the
|
||
user's identity and to ensure that the subject
|
||
security level and authorizations of subjects
|
||
external to the TCB that may be created to act on
|
||
behalf of the individual user are dominated by the
|
||
clearance and authorization of that user).
|
||
|
||
3. The TCB shall protect authentication data so
|
||
that it cannot be used by any unauthorized user.
|
||
|
||
Requirements for Trusted Path
|
||
|
||
TP-2 Trusted User-to-TCB Communication
|
||
|
||
The TCB shall support a trusted communication path
|
||
between itself and users for use whenever a
|
||
positive user-to-TCB connection is required (e.g.,
|
||
login, change of policy attributes).
|
||
Communications via this trusted path shall be
|
||
activated exclusively by a user or the TCB and
|
||
shall be logically isolated and unmistakably
|
||
distinguishable from other communication paths.
|
||
|
||
Requirements for Audit
|
||
|
||
AD-1+ Minimal Audit
|
||
|
||
1. The TCB shall be able to create, maintain, and
|
||
protect from modification or unauthorized access
|
||
or destruction an audit trail of accesses to the
|
||
objects it protects. The audit data shall be
|
||
protected by the TCB so that read access to it is
|
||
limited to those who are authorized for audit
|
||
data.
|
||
|
||
2. The TCB shall be able to record the following
|
||
types of events:
|
||
|
||
- use of the identification and authentication
|
||
mechanisms;
|
||
|
||
- introduction of objects into a user's address
|
||
space (e.g., file open, program initiation), and
|
||
deletion of objects;
|
||
|
||
- actions taken by computer operators and system
|
||
administrators and/or system security officers.
|
||
|
||
The TCB shall be able to record any override of
|
||
human-readable output markings. The TCB shall also
|
||
be able to audit the identified event that may be
|
||
used in the exploitation of covert channels.
|
||
|
||
The TCB shall contain a mechanism that is able to
|
||
monitor the occurrence or accumulation of
|
||
auditable events that may indicate an imminent
|
||
violation of the product's security policy. This
|
||
mechanism shall be able to immediately notify the
|
||
security administrator when thresholds are
|
||
exceeded, and, if the occurrence or accumulation
|
||
of these security relevant events continues, the
|
||
system shall take the least disruptive action to
|
||
terminate the event. [AD-3]
|
||
|
||
3. For each recorded event, the audit record shall
|
||
identify: date and time of the event, user, type
|
||
of event, and success or failure of the event. For
|
||
identification/authentication events the origin of
|
||
request (e.g., terminal ID) shall be included in
|
||
the audit record. For events that introduce an
|
||
object into a user's address space and for object
|
||
deletion events the audit record shall include the
|
||
name and the object security level.
|
||
|
||
4. The system administrator shall be able to
|
||
selectively audit the actions of one or more users
|
||
based on individual identity and/or object
|
||
security level.
|
||
|
||
Requirements for Access Control
|
||
|
||
AC-3 + Extended Access Control
|
||
|
||
1. Definition of Access Control Attributes
|
||
|
||
The TCB shall define and protect access control
|
||
attributes for subjects and objects. Subject
|
||
attributes shall include named individuals or
|
||
defined groups or both. Object attributes shall
|
||
include defined access rights (e.g., read, write,
|
||
execute) that can be assigned to subject
|
||
attributes. Access control attributes
|
||
corresponding to each individual policy shall be
|
||
identified.
|
||
|
||
Sensitivity labels associated with each subject
|
||
and storage object that is directly or indirectly
|
||
accessible by subjects external to the TCB shall
|
||
be maintained by the TCB. The sensitivity labels
|
||
shall be used as the basis for mandatory access
|
||
control decisions.
|
||
|
||
The subjects and objects shall be assigned
|
||
sensitivity labels that are a combination of
|
||
hierarchical classification levels and non-
|
||
hierarchical categories, and the labels shall be
|
||
used as the basis for mandatory access control
|
||
decisions. The TCB shall be able to support two or
|
||
more such security levels.
|
||
|
||
The subject and object attributes shall accurately
|
||
reflect the sensitivity and integrity of the
|
||
subject or object. When exported by the TCB,
|
||
sensitivity labels shall accurately and
|
||
unambiguously represent the internal labels and
|
||
shall be associated with the information being
|
||
exported.
|
||
|
||
The TCB shall immediately notify a terminal user
|
||
of each change in the security level associated
|
||
with that user during an interactive session. A
|
||
terminal user shall be able to query the TCB as
|
||
desired for a display of the subject's complete
|
||
sensitivity label.
|
||
|
||
The TCB shall support the assignment of minimum
|
||
and maximum security levels to all attached
|
||
physical devices. These security levels shall be
|
||
used by the TCB to enforce constraints imposed by
|
||
the physical environments in which the devices are
|
||
located.
|
||
|
||
2. Administration of Access Control Attributes
|
||
|
||
The TCB shall define and enforce rules for
|
||
assignment and modification of access control
|
||
attributes for subjects and objects. The effect of
|
||
these rules shall be that access permission to an
|
||
object by users not already possessing access
|
||
permission is assigned only by authorized users.
|
||
These rules shall allow authorized users to
|
||
specify and control sharing of objects by named
|
||
individuals or defined groups of individuals, or
|
||
by both, and shall provide controls to limit
|
||
propagation of access rights. (i.e., these rules
|
||
shall define the distribution, revocation, and
|
||
review of access control attributes). The controls
|
||
defined by these rules shall be capable of
|
||
specifying for each named object, a list of
|
||
individuals and a list of groups of named
|
||
individuals, with their respective access rights
|
||
to that object. Furthermore, for each named
|
||
object, it shall be possible to specify a list of
|
||
named individuals and a list of groups of named
|
||
individuals for which no access to the object is
|
||
given [AC-4}. These controls shall be capable of
|
||
including or excluding access to the granularity
|
||
of a single user.
|
||
|
||
The rules for assignment and modification of
|
||
access control attributes shall include those for
|
||
attribute assignment to objects during import and
|
||
export operations.
|
||
|
||
Export of Labeled Information
|
||
|
||
The TCB shall designate each communication
|
||
channel and I/O device as either single-level or
|
||
multilevel. Any change in this designation shall
|
||
be done manually and shall be auditable by the
|
||
TCB. The TCB shall maintain and be able to audit
|
||
any change in the security level or levels
|
||
associated with a communication channel or I/O
|
||
device.
|
||
|
||
1. Exportation to Multilevel Devices
|
||
|
||
When the TCB exports an object to a multilevel
|
||
I/O device, the sensitivity label associated with
|
||
that object shall also be exported and shall
|
||
reside on the same physical medium as the exported
|
||
information and shall be in the same form (i.e.,
|
||
machine-readable or human-readable form). When the
|
||
TCB exports or imports an object over a multilevel
|
||
communication channel, the protocol used on that
|
||
channel shall provide for the unambiguous pairing
|
||
between the sensitivity labels and the associated
|
||
information that is sent or received.
|
||
|
||
2. Exportation to Single-Level Devices
|
||
|
||
Single-level I/O devices and single-level
|
||
communication channels are not required to
|
||
maintain the sensitivity labels of the information
|
||
they process. However, the TCB shall include a
|
||
mechanism by which the TCB and an authorized user
|
||
reliably communicate to designate the single
|
||
security level of information imported or exported
|
||
via single-level communication channels or I/O
|
||
devices.
|
||
|
||
3. Labeling Human-Readable Output
|
||
|
||
The system administrator shall be able to
|
||
specify the printable label names associated with
|
||
exported sensitivity labels. The TCB shall mark
|
||
the beginning and end of all human-readable,
|
||
paged, hardcopy output (e.g., line printer output)
|
||
with human-readable sensitivity labels that
|
||
properly represent the sensitivity of the output.
|
||
The TCB shall, by default, mark the top and bottom
|
||
of each page of human-readable, paged, hardcopy
|
||
output (e.g., line printer output) with human-
|
||
readable sensitivity labels that properly
|
||
represent the overall sensitivity of the output or
|
||
that properly represent the sensitivity of the
|
||
information on the page. The TCB shall, by default
|
||
and in an appropriate manner, mark other forms of
|
||
human-readable output (e.g., maps, graphics) with
|
||
human-readable sensitivity labels that properly
|
||
represent the sensitivity of the output. Any
|
||
override of these marking defaults shall be
|
||
auditable by the TCB.
|
||
|
||
Import of Non-labeled Data
|
||
|
||
In order to import non-labeled data, the TCB
|
||
shall request and receive from an authorized user
|
||
the security level of the data, and all such
|
||
actions shall be auditable by the TCB.
|
||
|
||
If different rules of assignment and modification
|
||
of access control attributes apply to different
|
||
subjects and/or objects, the totality of these
|
||
rules shall be shown to support the defined
|
||
policy.
|
||
|
||
3. Authorization of Subject References to Objects
|
||
|
||
The TCB shall define and enforce authorization
|
||
rules for the mediation of subject references to
|
||
objects. These rules shall be based on the access
|
||
control attributes of subjects and objects. These
|
||
rules shall, either by explicit user action or by
|
||
default, provide that objects are protected from
|
||
unauthorized access.
|
||
|
||
The scope of the authorization rules shall include
|
||
all subjects, storage objects (e.g., processes,
|
||
segments, devices) and associated access control
|
||
attributes that are directly or indirectly
|
||
accessible to subjects external to the TCB. The
|
||
scope of the authorization rules shall also
|
||
include all policy and status attributes of
|
||
subjects and storage objects (e.g., quotas, object
|
||
existence, size, access time, creation and
|
||
modification time, locked/unlocked). If different
|
||
rules apply to different subjects and objects, the
|
||
totality of these rules shall be shown to support
|
||
the defined policy.
|
||
|
||
The authorization rules for the mandatory access
|
||
control policy shall include:
|
||
|
||
The TCB shall enforce a mandatory access control
|
||
policy over all resources (i.e., subjects, storage
|
||
objects, and I/O devices that are directly or
|
||
indirectly accessible by subjects external to the
|
||
TCB. The following requirements shall hold for all
|
||
accesses between all subjects external to the TCB
|
||
and all objects directly or indirectly accessible
|
||
by these subjects: A subject can read an object
|
||
only if the hierarchical classification in the
|
||
subject's security level is greater than or equal
|
||
to the hierarchical classification in the object's
|
||
security level and the non- hierarchical
|
||
categories in the subject's security level include
|
||
all the non-hierarchical categories in the
|
||
object's security level. A subject can write an
|
||
object only if the hierarchical classification in
|
||
the subject's security level is less than or equal
|
||
to the hierarchical classification in the object's
|
||
security level and all the non-hierarchical
|
||
categories in the subject's security level are
|
||
included in the non-hierarchical categories in the
|
||
object's security level.
|
||
|
||
The authorization rules for each policy shall be
|
||
defined separately. The TCB shall define and
|
||
enforce the composition of policies, including the
|
||
enforcement of the authorization rules (e.g.,
|
||
subject and object type coverage, enforcement
|
||
precedence).
|
||
|
||
4. Subject and Object Creation and Destruction
|
||
|
||
The TCB shall control the creation and destruction
|
||
of subjects and objects. These controls shall
|
||
include object reuse. That is, all authorizations
|
||
to the information contained within a storage
|
||
object shall be revoked prior to initial
|
||
assignment, allocation or reallocation to a
|
||
subject from the TCB's pool of unused storage
|
||
objects; information, including encrypted
|
||
representations of information, produced by a
|
||
prior subjects' actions shall be unavailable to
|
||
any subject that obtains access to an object that
|
||
has been released back to the system.
|
||
|
||
Requirements for Covert Channel Handling
|
||
|
||
CCH-3 Timing Channel Audit and Bandwidth Limitation
|
||
|
||
1. The TCB and privileged applications shall
|
||
include functions that help audit the use of
|
||
covert storage channels. These functions shall
|
||
enable the identification of the transmitter,
|
||
receiver, and specific covert channels used (e.g.,
|
||
TCB and privileged application element used to
|
||
transmit information). TCB functions that help
|
||
limit the bandwidth and/or eliminate covert
|
||
storage channels shall also be provided. The
|
||
bandwidth limits for each channel shall be
|
||
settable by system administrators.
|
||
|
||
2. The functions added to the TCB and privileged
|
||
applications for storage channel auditing shall be
|
||
identified for each channel and shall be available
|
||
in common product configurations. If audit
|
||
functions are not added to certain storage
|
||
channels (e.g., hardware storage channels),
|
||
evidence must be provided to justify why these
|
||
channels do not represent a security threat for
|
||
the intended use of the product. TCB and
|
||
privileged application functions that help limit
|
||
the bandwidth and/or eliminate covert storage or
|
||
timing channels shall also be available in common
|
||
product configurations.
|
||
|
||
If channel bandwidth limitation and channel
|
||
elimination functions are not added to certain
|
||
storage or timing channels (e.g., hardware
|
||
channels), evidence must be provided to justify
|
||
why these channels do not represent a security
|
||
threat for the intended use of the product.
|
||
|
||
Requirements for Security Management
|
||
|
||
SM-1++ Minimal Security Management
|
||
|
||
1. The TCB shall provide an installation mechanism
|
||
for the setting and updating of its configuration
|
||
parameters, and for the initialization of its
|
||
protection-relevant data structures before any
|
||
user or administrator policy attributes are
|
||
defined. It shall allow the configuration of TCB
|
||
internal databases and tables.
|
||
|
||
2. The TCB shall provide protected mechanisms for
|
||
displaying and modifying the security policy
|
||
parameters.
|
||
|
||
3. The TCB shall provide protected mechanisms for
|
||
manually displaying, modifying, or deleting user
|
||
registration and account parameters. These
|
||
parameters shall include unique user identifiers,
|
||
their account, and their associated user name and
|
||
affiliation. The TCB shall allow the manual
|
||
enabling and disabling of user identities and/or
|
||
accounts.
|
||
|
||
4. The TCB shall support separate operator and
|
||
administrator functions. The operator functions
|
||
shall be restricted to those necessary for
|
||
performing routine operations. The operator
|
||
functions shall allow the enabling and disabling
|
||
of peripheral devices, mounting of removable
|
||
storage media, backing-up and recovering user
|
||
objects; maintaining the TCB hardware and software
|
||
elements (e.g., on-site testing); and starting and
|
||
shutting down the system. The administrative
|
||
functions shall support separate security
|
||
administrator and auditor roles. The TCB shall
|
||
enable the administrators to perform their
|
||
functions only after taking distinct auditable
|
||
action to assume an administrator role. Non-
|
||
security functions that can be performed in the
|
||
security administrative role shall be limited
|
||
strictly to those essential to performing the
|
||
security role effectively.[SM-4]
|
||
|
||
5. The use of the protected mechanisms for system
|
||
administration shall be limited to authorized
|
||
administrative users.
|
||
|
||
Requirements for Reference Mediation
|
||
|
||
RM-3 Mediation of References to Subject and Object
|
||
Attributes
|
||
|
||
1. The TCB shall mediate all references to
|
||
subjects, objects, resources, and services (e.g.,
|
||
TCB functions) described in the TCB
|
||
specifications. The mediation shall ensure that
|
||
all references are directed to the appropriate
|
||
security-policy functions.
|
||
|
||
2. Reference mediation shall include control of
|
||
references to all subjects, objects, and resources
|
||
protected under the TCB security policy, to their
|
||
policy (i.e., access rights, security levels) and
|
||
status attributes (e.g., existence, length,
|
||
locking state).
|
||
|
||
3. References issued by privileged subjects shall
|
||
be mediated in accordance with the policy
|
||
attributes defined for those subjects.
|
||
|
||
Requirements for Logical TCB Protection
|
||
|
||
P-3 TCB Isolation and Timing Consistency
|
||
|
||
The TCB shall maintain a domain for its own
|
||
execution that protects it from external
|
||
interference and tampering (e.g., by reading or
|
||
modification of its code and data structures). The
|
||
protection of the TCB shall provide TCB isolation
|
||
and noncircumventability of TCB isolation
|
||
functions as follows:
|
||
|
||
1. TCB Isolation requires that (1) the address
|
||
spaces of the TCB and those of unprivileged
|
||
subjects are separated such that users, or
|
||
unprivileged subjects operating on their behalf,
|
||
cannot read or modify TCB data structures or code,
|
||
(2) the transfers between TCB and non-TCB domains
|
||
are controlled such that arbitrary entry to or
|
||
return from the TCB are not possible; and (3) the
|
||
user or application parameters passed to the TCB
|
||
by addresses are validated with respect to the TCB
|
||
address space, and those passed by value are
|
||
validated with respect to the values expected by
|
||
the TCB.
|
||
|
||
2. Non-circumventability of TCB isolation
|
||
functions requires that the permission to objects
|
||
(and/or to non-TCB data) passed as parameters to
|
||
the TCB are validated with respect to the
|
||
permissions required by the TCB, and references to
|
||
TCB objects implementing TCB isolation functions
|
||
are mediated by the TCB.
|
||
|
||
TCB protection shall also maintain the consistency
|
||
of TCB global variables and eliminate undesirable
|
||
dependencies of the TCB on unprivileged subject or
|
||
user actions.
|
||
|
||
3. Consistency of TCB global variables requires
|
||
that consistency conditions defined over TCB
|
||
internal variables, objects, and functions hold
|
||
before and after any TCB invocation.
|
||
|
||
4. Elimination of undesirable dependencies of
|
||
the TCB on unprivileged subject actions requires
|
||
that any TCB invocation by an unprivileged subject
|
||
(or user) input to a TCB call may not place the TCB
|
||
in a state such that it is unable to respond to
|
||
communication initiated by other users.
|
||
|
||
Furthermore, TCB protection shall maintain the
|
||
timing consistency of condition checks.
|
||
|
||
5. Timing consistency of condition checks
|
||
requires that a validation check holds at the
|
||
instant when the TCB action depending on that
|
||
check is performed.
|
||
|
||
Requirements for TCB Self Checking
|
||
|
||
SC-1 Minimal Self Checking
|
||
|
||
Hardware and/or software features shall be
|
||
provided that can be used to periodically validate
|
||
the correct operation of the on-site hardware and
|
||
firmware elements of the TCB.
|
||
|
||
Requirements for TCB Start-Up and Recovery
|
||
|
||
TR-1 Minimal Requirements for Recovery or Start-up
|
||
|
||
Procedures and/or mechanisms shall be provided to
|
||
assure that, after a TCB failure or other
|
||
discontinuity, recovery without protection
|
||
compromise is obtained.
|
||
|
||
Requirements for TCB Privileged Operation
|
||
|
||
PO-2 Privilege Association with TCB Modules
|
||
|
||
1. TCB privileges needed by individual functions,
|
||
or groups of functions, of a functional component
|
||
shall be identified. Privileged TCB calls or
|
||
access to privileged TCB objects, such as user and
|
||
group registration files, password files, security
|
||
and integrity-level definition file, role
|
||
definition file, audit-log file shall also be
|
||
identified. It shall be possible to associate TCB
|
||
privileges with TCB operations performed by
|
||
administrative users.
|
||
|
||
2.The modules of a TCB function shall be
|
||
associated only with the privileges necessary to
|
||
complete their task.
|
||
|
||
3. Support for product privilege implementation
|
||
and association with TCB modules provided by
|
||
lower-level mechanisms or procedures (e.g.,
|
||
operating system, processors, language) shall be
|
||
provided.
|
||
|
||
ASSURANCES
|
||
|
||
Requirements for TCB Property Definition
|
||
|
||
PD-3 Property Specification by Model Interpretation
|
||
|
||
The developer shall provide formal models for the
|
||
functional components and sub-components of the
|
||
profile. At a minimum, a formal model of the
|
||
access control components shall be provided. The
|
||
properties of the formal models shall be clearly
|
||
stated. The developer shall provide an
|
||
interpretation of the models in the DIS of the
|
||
product's TCB. For each model entity, the
|
||
developer shall: (1) identify the TCB elements and
|
||
their DIS (if any) that implement that entity; (2)
|
||
define the operation of these TCB elements, and
|
||
(3) demonstrate, by coherent arguments, that the
|
||
DIS of these elements is consistent with the model
|
||
properties. The developer's interpretation of each
|
||
formal model, which specifies the TCB properties,
|
||
shall identify all TCB and DIS elements (if any)
|
||
that do not correspond to any model entity and
|
||
shall explain why these elements do not render the
|
||
TCB properties invalid.
|
||
|
||
An informal model of reference mediation and TCB
|
||
protection shall be provided. For the components
|
||
that are not modeled, the developer shall
|
||
interpret the functional requirements of the
|
||
protection profile within the product TCB. For
|
||
each functional requirement, the developer shall:
|
||
(1) identify the TCB elements and their TCB
|
||
interfaces (if any) that implement that
|
||
requirement; (2) describe the operation of these
|
||
TCB elements, and (3) explain why the operation of
|
||
these elements is consistent with the functional
|
||
requirement. The developer's interpretation of
|
||
each functional requirement, which describes the
|
||
TCB properties, shall include all the TCB
|
||
elements.
|
||
|
||
Requirements for TCB Element Identification
|
||
|
||
ID-2: TCB Element Justification
|
||
|
||
The vendor shall identify the TCB elements (i.e.,
|
||
software, hardware/firmware code and data
|
||
structures). Each element must be unambiguously
|
||
identified by its name, type, release, and version
|
||
number (if any).
|
||
|
||
The developer shall justify the protection
|
||
relevance of the identified elements (i.e., only
|
||
elements that can affect the correct operation of
|
||
the protection functions shall be included in the
|
||
TCB). If protection-irrelevant elements are
|
||
included in the TCB, the developer shall provide a
|
||
rationale for such inclusion.
|
||
|
||
Requirements for TCB Interface Definition
|
||
|
||
IF-2: Interface Descriptive Specification
|
||
|
||
The developer shall define all external (e.g.,
|
||
command, software, and I/O) administrative (i.e.,
|
||
privileged) and non-administrative interfaces to
|
||
the TCB.
|
||
|
||
The developer shall provide and maintain a
|
||
descriptive interface specification (DIS) of the
|
||
TCB that completely and accurately describes the
|
||
TCB in terms of exceptions, error messages, and
|
||
effects. The DIS shall identify the TCB call
|
||
conventions (e.g., parameter order, call sequence
|
||
requirements), and exceptions signaled. The DIS
|
||
shall also include the TCB call identifier,
|
||
parameter types (e.g., input, output), the effect
|
||
of the call, TCB call conventions (e.g., parameter
|
||
order, call sequence requirements), and exceptions
|
||
handled and signaled. It shall be shown to be an
|
||
accurate description of the TCB interface.
|
||
|
||
The DIS shall include those components of the TCB
|
||
that are implemented as hardware and/or firmware
|
||
if their properties are visible at the TCB
|
||
interface.
|
||
|
||
If the TCB consists of a kernel and privileged
|
||
processes, the developer shall separately identify
|
||
and define the interfaces for the kernel and each
|
||
privileged process.
|
||
|
||
The TCB interface definition must also include all
|
||
effects of a call including the direct visibility
|
||
and alterability of internal TCB variables and
|
||
functions.
|
||
|
||
Requirements for TCB Modular Decomposition
|
||
|
||
MD-3: Module Relationship Analysis
|
||
|
||
The developer shall design the TCB as a small
|
||
number (e.g., 10 to 100) of design and
|
||
implementation subsystems that have well-defined
|
||
functional relationships and shared-data
|
||
dependencies. The developer shall identify the
|
||
specific TCB protection properties and functions
|
||
associated with each subsystem and the TCB
|
||
interfaces (if any) implemented by each subsystem.
|
||
|
||
The developer shall design each subsystem as a set
|
||
of modules. For each module, the developer shall
|
||
describe: the role or purpose of the module, the
|
||
set of related functions performed by the module,
|
||
and the module interface (i.e., the set of
|
||
invocable functions, calling conventions,
|
||
parameters, global variables, and results). The
|
||
developer shall identify the protection functions
|
||
of, and describe the interfaces between, these
|
||
modules. The developer shall choose the modules so
|
||
that the set of functions implemented by the
|
||
module, the module's contribution to the TCB
|
||
protection properties, and the interface(s) to the
|
||
module can be described concisely (e.g., the
|
||
module shall have a single purpose). The TCB
|
||
structuring into modules shall be based on well-
|
||
defined module relationships; for example, the
|
||
contains relation (e.g., A is part of B), the
|
||
"uses" relation (e.g., A is correct only if B is
|
||
correct). The developer shall analyze the
|
||
correctness dependencies among these modules. This
|
||
analysis may include, but is not restricted to,
|
||
service and environmental dependencies.
|
||
|
||
Requirements for TCB Structuring Support
|
||
|
||
SP-3: Structured Protection Mechanisms
|
||
|
||
The TCB shall maintain process isolation. The TCB
|
||
shall separate those elements that are protection-
|
||
critical from those that are not. Features in
|
||
hardware, such as segmentation, shall be used to
|
||
support logically distinct storage objects with
|
||
separate access-control attributes (e.g.,
|
||
readable, writable). The TCB shall employ a
|
||
complete, conceptually simple, protection
|
||
mechanism with precisely defined semantics. This
|
||
mechanism shall play a central role in enforcing
|
||
the internal structuring of the TCB and the
|
||
product.
|
||
|
||
Requirements for Design Disciplines
|
||
|
||
DD-2: Extended Disciplines for TCB Structuring
|
||
|
||
The developer shall design the product to minimize
|
||
the complexity of the TCB. System engineering
|
||
shall be directed towards excluding from the TCB
|
||
modules that are not protection critical.
|
||
|
||
The TCB design shall reflect use of modern
|
||
software engineering techniques), such as data
|
||
hiding and abstraction (i.e., data, functional,
|
||
and control abstractions) and well-defined
|
||
exception-handling. The TCB design shall also
|
||
include use of layering (including a rationale for
|
||
each layering violation), high-level
|
||
synchronization constructs, and multi-tasking/
|
||
multi-threading.
|
||
|
||
Requirements for TCB Implementation Support
|
||
|
||
IM-3: Module Correspondence Support
|
||
|
||
The developer shall maintain engineering diagrams
|
||
and source code (as applicable) for all TCB
|
||
elements. The diagrams and source code for each
|
||
module of the TCB shall be identified and provided
|
||
as configuration items.
|
||
|
||
Requirements for Developer Functional Testing
|
||
|
||
FT-3: Specification-Driven TCB Interface Testing
|
||
|
||
The developer shall test the TCB interface to show
|
||
that all claimed protection functions work as
|
||
stated in the TCB interface description or
|
||
specification. The tests shall exercise the
|
||
boundary conditions of the protection functions.
|
||
The developer shall generate the test conditions
|
||
and data from the Descriptive Interface
|
||
Specification(s). The developer test procedures
|
||
shall include the tests used to demonstrate the
|
||
absence of all flaws discovered in previous
|
||
versions of the TCB.
|
||
|
||
The developer shall correct all flaws discovered
|
||
by testing and shall retest the TCB to show that
|
||
all discovered flaws have been eliminated, no new
|
||
flaws have been introduced, and the protection
|
||
functions work as claimed.
|
||
|
||
Requirements for Penetration Analysis
|
||
|
||
PA-2 Flaw-Hypothesis Testing
|
||
|
||
The developer shall define the TCB configuration,
|
||
interface, and protection functions that are
|
||
subject to penetration testing. For each test, the
|
||
developer shall identify the goal of the test and
|
||
the criteria for successful penetration. The
|
||
developer shall illustrate how, in addition to
|
||
system reference manuals and TCB interface
|
||
description, the DIS, source code, and hardware
|
||
and firmware specifications are used to define
|
||
penetration-test conditions. For each test, the
|
||
developer shall document all test conditions, data
|
||
(e.g., test set-up, function call parameters, and
|
||
test outcomes), and coverage.
|
||
|
||
The developer shall generate the test conditions
|
||
from flaw-hypotheses derived by negating
|
||
assertions of TCB design capabilities and by
|
||
providing counter examples that show that these
|
||
assertions are false. The developer shall confirm
|
||
the flaw hypotheses by checking design and
|
||
implementation documentation, by defining the test
|
||
data and running test programs, or by referring to
|
||
known classes of penetration flaws found in other
|
||
TCBs. The refutation of any hypothesis shall be
|
||
documented.
|
||
|
||
For each uncovered flaw, the developer shall
|
||
define and document scenarios of flaw exploitation
|
||
and shall identify all penetration outcomes
|
||
resulting from that scenario. The cause of the
|
||
flaw shall be identified and documented.
|
||
|
||
Requirements for Covert-Channel Analysis
|
||
|
||
CCA-2 Timing Channel Analysis
|
||
|
||
1. Identification: The developer shall identify
|
||
all sources of information used in covert-channel
|
||
analysis. These sources shall include TCB
|
||
reference manuals and DIS. The sources of
|
||
information and methods of identification shall
|
||
include processor specifications whenever the
|
||
identification method includes source code and
|
||
hardware analysis. The developer shall define the
|
||
identification method used. The developer shall
|
||
demonstrate that the chosen identification method
|
||
is sound (e.g., it leads to the discovery of all
|
||
covert channels in the DIS or source
|
||
documentation) and repeatable (i.e., independent
|
||
evaluators can use the method on the same sources
|
||
of covert-channel information and can obtain the
|
||
same results.) The developer shall define
|
||
scenarios of use for each covert channel. The
|
||
developer shall also define timing channel
|
||
scenarios, and shall identify all functions that
|
||
provide independent sources of timing (e.g., CPUs,
|
||
I/O processors).
|
||
|
||
2. Bandwidth Measurement or Engineering
|
||
Estimation: The developer shall define the method
|
||
used for covert-channel bandwidth estimation. In
|
||
measuring TCB performance for covert-channel-
|
||
bandwidth estimation, the developer shall satisfy
|
||
the following assumptions. The maximum bandwidth
|
||
estimation shall be based on the assumptions that
|
||
the covert channel is noiseless, that the senders
|
||
and receivers are not delayed by the presence of
|
||
other processes in the product, and that the
|
||
sender-receiver synchronization time is
|
||
negligible. The choice of informal estimation
|
||
methods shall define and justify the coding method
|
||
and, therefore, the distribution of "0s" and "1s"
|
||
in all transmissions.
|
||
|
||
The developer shall select TCB primitives to be
|
||
measured for bandwidth determination from real
|
||
scenarios of covert-channel use. The developer
|
||
shall specify TCB measurement environment for the
|
||
bandwidth measurements. This specification shall
|
||
include: (1) the speed of the product functions,
|
||
(2) the product configuration, (3) the sizes of
|
||
the memory and cache components, and (4) the
|
||
product initialization. The sensitivity of the
|
||
measurement results to configuration changes shall
|
||
be documented. The covert-channel measurements
|
||
shall include the fastest TCB function calls for
|
||
altering, viewing, and setting up the transmission
|
||
environment; the demonstrably fastest process
|
||
(context) switch time shall also be included in
|
||
the bandwidth measurements. All measurements shall
|
||
be repeatable.
|
||
|
||
3. Covert Channel Testing: The developer shall
|
||
test all the use of all identified covert channels
|
||
to determine whether the handling functions work
|
||
as intended.
|
||
|
||
Requirements for User Guidance
|
||
|
||
UG-1: Users' Guide
|
||
|
||
The developer shall provide a User Guide which
|
||
describes all protection services provided and
|
||
enforced by the TCB. The User Guide shall describe
|
||
the interaction between these services and provide
|
||
examples of their use. The User Guide may be in the
|
||
form of a summary, chapter or manual. The User
|
||
Guide shall specifically describe user
|
||
responsibilities. These shall encompass any user
|
||
responsibilities identified in the protection
|
||
profile.
|
||
|
||
Requirements for Administrative Guidance
|
||
|
||
AG-3: Role-Based Administrative Guidance
|
||
|
||
The developer shall provide a Trusted Facility
|
||
Manual intended for the product administrators and
|
||
operators that describes how to use the TCB
|
||
security services (e.g., Access Control, System
|
||
Entry, or Audit) to enforce a system security
|
||
policy. The Trusted Facility Manual shall include
|
||
the procedures for securely configuring, starting,
|
||
maintaining, and halting the TCB. The Trusted
|
||
Facility Manual shall explain how to analyze audit
|
||
data generated by the TCB to identify and document
|
||
user and administrator violations of this policy.
|
||
The Trusted Facility Manual shall explain the
|
||
unique security-relevant privileges and functions
|
||
of administrators and operators. The Trusted
|
||
Facility Manual shall also explain the distinct
|
||
security-relevant privileges and functions of the
|
||
TCB and how they can be selectively granted to
|
||
provide fine-grained, multi-person or multi-role
|
||
system and application administration policies.
|
||
The Trusted Facility Manual shall describe the
|
||
administrative interaction between security
|
||
services.
|
||
|
||
The Trusted Facility Manual shall identify all
|
||
hardware, firmware, software, and data structures
|
||
comprising the TCB. The detailed audit record
|
||
structure for each type of audit event shall be
|
||
described. The Trusted Facility Manual shall
|
||
explain how to configure the product to mitigate,
|
||
eliminate, or audit covert channel exploitation.
|
||
The Trusted Facility Manual shall describe the
|
||
cautions about and procedures for using the TCB as
|
||
a base for site-specific secure applications. The
|
||
Trusted Facility Manual shall describe procedures
|
||
for securely regenerating the TCB after any part
|
||
is changed (e.g., due to adding devices or
|
||
installing flaw corrections to the TCB software).
|
||
|
||
The Trusted Facility Manual shall be distinct from
|
||
User Guidance, and encompass any administrative
|
||
responsibilities identified in security
|
||
management.
|
||
|
||
Requirements for Trusted Generation
|
||
|
||
TG-3: Trusted Generation With Secure State Review
|
||
|
||
The developer shall establish and document the
|
||
procedures that a consumer must perform to
|
||
generate an operational TCB from the delivered
|
||
copy of the master TCB. The consumer documentation
|
||
shall identify any system parameters, which are
|
||
initialized or set during system generation, that
|
||
affect the TCB's conformance to the protection
|
||
profile and state the acceptable ranges of values
|
||
for those parameters. The product shall be
|
||
delivered with each of these parameters set to its
|
||
fail-safe defaults. The developer shall provide
|
||
the consumer with a capability to review the
|
||
product security state (e.g., by providing a
|
||
program, which could be executed after generating
|
||
and starting the TCB, that determines the
|
||
consistency of the protection-relevant
|
||
parameters).
|
||
|
||
Requirements for Life Cycle Definition
|
||
|
||
LC-3: Measurable Life Cycle Process
|
||
|
||
The developer shall develop and maintain the
|
||
product using a well defined, standardized, and
|
||
measurable engineering process. The developer
|
||
shall explain why the process was chosen and how
|
||
the developer uses it to develop and maintain the
|
||
product. The developer shall comply with the
|
||
engineering process standard. The process shall
|
||
incorporate a security policy that states the
|
||
technical, physical, procedural, personnel, and
|
||
other measures used by the developer to protect
|
||
the product and its documentation. The developer
|
||
shall demonstrate that each development process
|
||
and support process requirement of the protection
|
||
profile is satisfied by some part, or parts, of
|
||
the developer's process. The developer shall
|
||
identify the programming languages used to develop
|
||
the TCB software and reference the definitions of
|
||
those languages. The developer shall identify any
|
||
implementation dependent options of the
|
||
programming language compiler(s) used to implement
|
||
the TCB software and reference the definitions of
|
||
those languages.The developer shall describe
|
||
coding standards followed during the
|
||
implementation of the product and shall ensure
|
||
that all source code complies with these
|
||
standards.
|
||
|
||
Requirements for Configuration Management
|
||
|
||
CM-3: Comprehensive Automated Control
|
||
|
||
The developer shall establish configuration
|
||
control and generation procedures employing
|
||
automated tools for developing and maintaining the
|
||
TCB. The procedures shall be employed to ensure
|
||
that changes to the TCB are consistent with the
|
||
product's protection properties and security
|
||
policy. The developer shall employ these tools to
|
||
track and control changes to development evidence,
|
||
implementation data (e.g., source code and
|
||
hardware diagrams), executable versions of the
|
||
TCB, test documentation and procedures, identified
|
||
flaws, and consumer documentation. The procedures
|
||
shall include a formal acceptance process for
|
||
protection-relevant changes.
|
||
|
||
The configuration control procedures shall assure
|
||
a consistent mapping among documentation and code
|
||
associated with the current version of the TCB and
|
||
permit the regeneration of any supported version
|
||
of the TCB. The developer shall provide tools for
|
||
the generation of a new version of the TCB from
|
||
source code. Also, tools shall be available for
|
||
comparing a newly generated version with the
|
||
previous TCB version to ascertain that only the
|
||
intended changes have been made in the code that
|
||
will actually be used as the new version of the
|
||
TCB.
|
||
|
||
Requirements for Evidence of TCB Protection Properties
|
||
|
||
EPP-3 Evidence of Formal Model Interpretation in the DIS
|
||
|
||
The developer shall provide documentation which
|
||
describes the correspondence between the
|
||
functional component requirements and the TCB
|
||
elements and interfaces. This documentation shall
|
||
describe how the TCB implements the reference
|
||
monitor concept. The developer shall also provide
|
||
a formal access-control model and an informal
|
||
reference mediation and TCB protection model. The
|
||
TCB properties, which are defined by this
|
||
correspondence and the interpretation of these
|
||
models within the DIS of the TCB shall be
|
||
documented by the product developer.
|
||
|
||
Requirements for Evidence of Product Development
|
||
|
||
EPD-4: Policy Consistency Of The DIS
|
||
|
||
The developer shall provide TCB Design
|
||
Specifications that include: a list of the TCB
|
||
elements (hardware, software, and firmware
|
||
configuration items); a list of protection
|
||
services provided to the TCB by hardware,
|
||
software, and firmware that is not part of the
|
||
TCB; an explanation of the techniques and criteria
|
||
used during the modular decomposition of the TCB;
|
||
a description of the policy allocations,
|
||
functions, and interactions among the major TCB
|
||
subsystems; and module level descriptions of all
|
||
software and hardware in the TCB.
|
||
|
||
The developer shall provide a Descriptive
|
||
Interface Specification (DIS) that describes the
|
||
functions, effects, exceptions and error messages
|
||
visible at the TCB interface and includes a
|
||
convincing argument that the DIS is consistent
|
||
with the formal model of the policy. The developer
|
||
shall show that the DIS is an accurate
|
||
representation of the TCB's external interfaces.
|
||
|
||
The developer shall provide TCB Implementation
|
||
Data consisting of the engineering diagrams for
|
||
all hardware included in the TCB and the source
|
||
code used to generate the TCB software and
|
||
firmware. The developer shall show that the TCB
|
||
software, firmware, and hardware implement the
|
||
documented TCB design.
|
||
|
||
Requirements for Evidence of Functional Testing
|
||
|
||
EFT-3: Evidence of Specification-Driven Testing
|
||
|
||
The developer shall provide evidence of the
|
||
functional testing that includes the test plan,
|
||
the test procedures, and the results of the
|
||
functional testing. The test, plans, procedures,
|
||
and results shall be maintained under the same
|
||
configuration control as the TCB software. The
|
||
test plans shall identify the TCB specification
|
||
used in the derivation of the test conditions,
|
||
data, and coverage analysis.
|
||
|
||
Requirements for Evidence of Penetration Analysis
|
||
|
||
EPA-2: Evidence of Flaw-Hypothesis Generation and Testing
|
||
|
||
The developer shall provide evidence of
|
||
penetration testing. The penetration evidence
|
||
shall identify all product documentation and
|
||
development evidence on which the search for flaws
|
||
was based. The penetration evidence shall describe
|
||
the scenarios for exploiting each potential flaw
|
||
in the system and the penetration test conditions,
|
||
data (e.g., test set-up, function call parameters,
|
||
and test outcomes), coverage, and conclusions
|
||
derived from each scenario. The penetration
|
||
evidence shall summarize both refuted and
|
||
confirmed flaws hypothesis.
|
||
|
||
Requirements for Evidence of Covert Channel Analysis
|
||
|
||
ECC-2: Evidence of Covert Channel Analysis and Handling
|
||
|
||
The developer's documentation shall present the
|
||
results of the covert channel analysis and the
|
||
trade-offs involved in restricting these channels.
|
||
All auditable events that may be used in the
|
||
exploitation of known covert channels shall be
|
||
identified. The developer shall provide the
|
||
bandwidths of known covert channels whose use is
|
||
not detectable by the auditing mechanism. The
|
||
documentation of each identified covert channel
|
||
shall consist of the variables, timing sources,
|
||
and the TCB interface functions that can be used
|
||
to transmit information. The measurements of each
|
||
TCB function call used by covert channels must be
|
||
documented and the bandwidth computation shall be
|
||
included for each channel. The measurement
|
||
environment should be documented as specified.
|
||
Test documentation shall include results of
|
||
testing the effectiveness of the methods used to
|
||
reduce covert-channel bandwidths.
|
||
|
||
Requirements for Evidence of Product Support
|
||
|
||
EPS-3: Evidence of Measured Product Support
|
||
|
||
The developer shall provide documentation that
|
||
defines, explains, and justifies the policies,
|
||
procedures, plans, and tools established by the
|
||
developer to satisfy the Operational Support and
|
||
Development Environment requirements of the
|
||
protection profile. The documentation shall also
|
||
explain how the developer periodically evaluates
|
||
compliance with the established procedures,
|
||
policies, and plans.
|
||
|
||
Requirements for Test Analysis
|
||
|
||
TA-4: Comprehensive Test Analysis
|
||
|
||
The evaluator shall assess whether the producer
|
||
has performed the activities defined in the
|
||
development assurance requirements of the
|
||
protection profile for functional testing and
|
||
penetration analysis, and whether the producer has
|
||
documented these activities as defined in the
|
||
development evidence requirements of the
|
||
protection profile. The evaluator shall analyze
|
||
the results of the producer's testing activities
|
||
for completeness of coverage and consistency of
|
||
results, and general correctness (e.g., defect
|
||
trend from regression testing). This analysis
|
||
shall examine the testability of requirements, the
|
||
adequacy of the tests to measure the required
|
||
properties, the deviation of the actual results
|
||
obtained from the expected results. The analysis
|
||
shall extend to trace all defects identified,
|
||
corrected, and retested. The analysis shall
|
||
include an assessment of test coverage and
|
||
completeness, and defect frequency. The results of
|
||
testing shall be interpreted in terms that express
|
||
product performance and protection adequacy. The
|
||
evaluator shall determine whether the product's
|
||
protection properties, as defined for all
|
||
protection-relevant modules of the TCB, and all
|
||
relevant known penetration flaws have been tested.
|
||
The evaluator shall independently develop, test,
|
||
and document additional flaw hypotheses. The
|
||
evaluator shall assess testing results to
|
||
determine whether the product's TCB works as
|
||
claimed, that the TCB's implementation is
|
||
consistent with the DIS, and whether there are any
|
||
obvious ways (i.e., ways that are known, or that
|
||
are readily apparent or easily discovered in
|
||
product documentation) for an unauthorized user to
|
||
bypass the policy implemented by the TCB or
|
||
otherwise defeat the product's TCB, and whether
|
||
all discovered TCB flaws have been corrected and
|
||
no new TCB flaws introduced. No design flaws and
|
||
no more than a few correctable implementation
|
||
flaws may be found during testing and there shall
|
||
be reasonable confidence that few remain. The
|
||
testing results shall show that the methods used
|
||
to reduce covert channel bandwidths have been
|
||
effective for all evaluated configurations. The
|
||
evaluator shall determine whether the product is
|
||
relatively resistant to penetrations.
|
||
|
||
Requirements for Independent Testing
|
||
|
||
IT-3: Comprehensive Independent Testing.
|
||
|
||
The evaluator shall independently perform
|
||
functional and elementary penetration testing to
|
||
confirm test results. This testing may be
|
||
selective and shall be based on (1) the results of
|
||
other independent and/or producer testing, (2) the
|
||
TCB's DIS, (3) other product design and
|
||
implementation documentation, (4) the product's
|
||
user and administrative documentation, (5)
|
||
relevant known penetration flaws, and (6)
|
||
evaluator-developed TCB penetration flaw
|
||
hypotheses and corresponding tests that attempt to
|
||
exploit the hypothesized flaws. Satisfactory
|
||
completion consists of demonstrating that all TCB
|
||
functions work as described in the product's
|
||
relevant documentation, that test results are
|
||
consistent, and that no discrepancies exist
|
||
between the documentation and the product.
|
||
Satisfactory penetration test completion shall be
|
||
determined by the subjective judgement (which may
|
||
be supported algorithmically) of the evaluator.
|
||
Test duration agreements may further constrain
|
||
this judgement. Categorization of an actual
|
||
penetration flaw shall be based on the
|
||
reproducibility of that flaw. Flaws that are
|
||
discovered, but are not reproducible shall remain
|
||
categorized as potential penetration flaws. All
|
||
actual penetration flaws must be corrected and
|
||
retested.
|
||
|
||
The evaluator shall provide a penetration test
|
||
plan document that describes the additional
|
||
evaluator-developed flaw hypotheses and associated
|
||
tests. The evaluator shall execute these tests and
|
||
shall report any discovered flaws to the producer
|
||
as part of the testing results. At the conclusion
|
||
of penetration testing, the evaluator shall
|
||
provide copies of this penetration test plan and
|
||
its test results to the producer. The producer
|
||
shall ensure that this test plan and its test
|
||
results are incorporated into the rest of the
|
||
product's testing documentation and that such
|
||
documentation is available for further analysis
|
||
throughout the life of the product.
|
||
|
||
The evaluator shall test for covert channel
|
||
bandwidth reductions to determine the
|
||
effectiveness of handling method(s) in reducing
|
||
the bandwidths of identified covert channels for
|
||
all evaluated configurations.
|
||
|
||
If the independent testing is performed at beta-
|
||
test sites, the producer shall supply the beta-
|
||
test plan and the test results. The evaluator
|
||
shall review the scope and depth of beta testing
|
||
with respect to the required protection
|
||
functionality, and shall verify independence of
|
||
both the test sites and the producer's and beta-
|
||
test user's test results. The evaluator shall also
|
||
confirm that the test environment of the beta-test
|
||
site(s) adequately represents the environment
|
||
specified in the protection profile.
|
||
|
||
Requirements for Development Environment
|
||
|
||
DER-3: Comprehensive Development Environment Review
|
||
|
||
The evaluator shall review the producer's
|
||
development and maintenance process description
|
||
documentation and shall conduct a complete audit
|
||
of the producer's processes using the evidence
|
||
generated by each process to determine the degree
|
||
of discipline enforced upon and within the
|
||
process, and to determine the protection
|
||
characteristics associated with the product's
|
||
development and maintenance. The results of this
|
||
review shall establish, for the evaluator, the
|
||
producer's development environment, its policies,
|
||
and the degree of enforcement maintained during
|
||
development execution. The review shall also
|
||
confirm the producer's complete conformance with
|
||
all relevant development environment requirements.
|
||
|
||
Requirements for Operational Support
|
||
|
||
OSR-3 Comprehensive Operational Support Review
|
||
|
||
The evaluator shall review all documentation
|
||
focused on the activities of product use (e.g.,
|
||
Users Manuals) and product administration
|
||
including installation, operation, maintenance,
|
||
and trusted recovery (e.g., Trusted Facility
|
||
Management manuals. This review shall assess the
|
||
clarity of presentation, difficulty in locating
|
||
topics of interest, ease of understanding, and
|
||
completeness of coverage. The need for separate
|
||
manuals dedicated to protection-relevant aspects
|
||
of the product should be assessed for
|
||
effectiveness. The evaluator shall execute all
|
||
documented protection-relevant features and
|
||
procedures to determine if their descriptions are
|
||
accurate and correct.
|
||
|
||
Requirements for Design Analysis
|
||
|
||
DA-3: Comprehensive Design Analysis
|
||
|
||
The evaluator shall determine whether the producer
|
||
has performed the activities defined in the
|
||
development process assurance requirements of the
|
||
protection profile for TCB property definition and
|
||
TCB design. The evaluator shall determine whether
|
||
the producer has documented these activities as
|
||
defined in the development evidence requirements
|
||
of the protection profile. The evaluator shall
|
||
analyze, with the help of formal methods and
|
||
appropriate automated tools, the results of the
|
||
producer's activities for completeness,
|
||
consistency, and correctness of design with
|
||
respect to requirements (e.g., validating the
|
||
formal verification of the design).
|
||
|
||
Requirements for Implementation
|
||
|
||
CI-3: Comprehensive Implementation Analysis
|
||
|
||
The evaluator shall conduct an inspection on a
|
||
moderate sample of randomly selected product code.
|
||
The assessment shall focus on the clarity of the
|
||
coding style, adherence to coding standards,
|
||
coding documentation, and on possible software
|
||
defects that may be present with respect to the
|
||
product's formal design and model. The inspection
|
||
shall be performed to obtain only a sample of
|
||
possible software defects, not to capture all such
|
||
possible defects. The evaluator shall report all
|
||
discovered defects to the producer; the assessment
|
||
shall report the number of defects found per line
|
||
of code inspected from the random sample size. Use
|
||
of producer-provided code inspection results can
|
||
supplement this inspection. All trapdoors built
|
||
into the product for maintenance purposes shall be
|
||
identified by the producer and shown to be
|
||
protected by the product. The producer shall
|
||
correct all discovered defects and the corrected
|
||
software reinspected. A rigorous analysis of the
|
||
implementation's correspondence to the verified
|
||
design shall be performed by the evaluator to
|
||
validate correctness. Such analysis may be
|
||
supported by appropriate automated tools.
|
||
DRAFT
|
||
|
||
|
||
|
||
LABEL BASED PROTECTION
|
||
|
||
FOR
|
||
|
||
MULTI-USER INFORMATION SYSTEMS
|
||
|
||
|
||
|
||
LEVEL 4
|
||
|
||
(LP-4)
|
||
|
||
|
||
|
||
|
||
|
||
A Protection Profile
|
||
|
||
Derived from the Federal Criteria for IT Security
|
||
|
||
|
||
|
||
Version 1.0
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
December 1992
|
||
|
||
|
||
|
||
This document is undergoing review and
|
||
is subject to modification or withdrawal.
|
||
|
||
The contents of this document should not
|
||
be referenced in other publications.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Supersedes the
|
||
|
||
Trusted Computer System Evaluation Criteria
|
||
|
||
Class A1
|
||
|
||
|
||
|
||
|
||
|
||
DRAFT
|
||
|
||
LABEL-BASED PROTECTION - 4 (LP-4)
|
||
|
||
This Protection Profile has been developed to define a set
|
||
of technical measures that can be incorporated into remote-
|
||
access, resource- and information-sharing Information
|
||
Technology (IT) products that will be used to protect two or
|
||
more levels of National Security Information classified
|
||
according to US Executive Order 12356 (EO 12356). This profile
|
||
can also be used to protect any information that has been
|
||
designated as sensitive information for which information
|
||
separation and access are based on sensitivity markings
|
||
applied to the information. This profile is intended for use
|
||
in environments where the presence potentially malicious
|
||
application software (e.g., Trojan Horses) mandate the use of
|
||
high-assurance products.
|
||
|
||
Compliant IT products will provide highly-structured,
|
||
conceptually simple protection mechanisms for a multi-level
|
||
information processing environment with which an organization
|
||
can construct an automated information system to enhance or
|
||
optimize the organization's ability to perform its mission.
|
||
Formal assurance of security policy support and covert channel
|
||
analysis must be available. Compliant IT products are
|
||
maintained under very strict configuration management
|
||
facilities and can only be distributed via a trusted
|
||
distribution channel.
|
||
|
||
LP-4 compliant products are functionally equivalent to
|
||
those satisfying profile LP3 in that no additional
|
||
architectural features or policy requirements are added. The
|
||
distinguishing feature of systems in this class is the
|
||
analysis derived from formal design specifications and
|
||
verification techniques and the resulting high degree of
|
||
assurance that the TCB is correctly implemented. This
|
||
assurance is developmental in nature, starting with a formal
|
||
model of the security policy and a formal interface
|
||
specification (FIS) of the design. Independent of the
|
||
particular specification language or verification system
|
||
used, there are five important criteria for profile LP-4
|
||
design verification:
|
||
|
||
a. A formal model of the security policy must be clearly
|
||
identified and documented, including a mathematical
|
||
proof that the model interpretation in the TCB is
|
||
valid (i.e., the model interpretation is consistent
|
||
with the model axioms) and is sufficient to support
|
||
the security policy.
|
||
|
||
b. A FIS must be produced that includes abstract
|
||
definitions of the functions the TCB performs and of
|
||
the hardware and/or firmware mechanisms that are used
|
||
to support separate execution domains.
|
||
|
||
c. The FIS of the TCB must be shown to be consistent with
|
||
the model by formal techniques where possible (i.e.,
|
||
where verification tools exist) and informal ones
|
||
otherwise.
|
||
|
||
d. The TCB implementation (i.e., in hardware, firmware,
|
||
and software) must be informally shown to be
|
||
consistent with the FIS. The elements of the FIS must
|
||
be shown, using informal techniques, to correspond to
|
||
the elements of the TCB. The FIS must express the
|
||
unified protection mechanism required to satisfy the
|
||
security policy, and it is the elements of this
|
||
protection mechanism that are mapped to the elements
|
||
of the TCB.
|
||
|
||
e. Formal analysis techniques must be used to identify
|
||
and analyze covert channels. Informal techniques may
|
||
be used to identify covert timing channels. the
|
||
continued existence of identified covert channels in
|
||
the system must be justified.
|
||
|
||
In keeping with the extensive design and development
|
||
analysis of the TCB required of LP4 compliant systems,
|
||
stringent configuration management is required and procedures
|
||
are established for securely distributing the system to sites.
|
||
A system security administrator is supported.
|
||
|
||
Cross References:
|
||
|
||
o Existing Criteria:
|
||
|
||
(1) TCSEC: A1
|
||
|
||
(2) ITSEC
|
||
|
||
(3) CTCPEC
|
||
|
||
o Other Protection Profiles
|
||
|
||
(1) TBD
|
||
|
||
|
||
|
||
COMPONENT SUMMARY:
|
||
|
||
LP-4 Functional Component Summary
|
||
.--------------------------------------------.
|
||
| | Code & |
|
||
| Functional Component | Level |
|
||
|============================================|
|
||
| Security Policy Support |
|
||
|----------------------------------+---------|
|
||
| Accountability |
|
||
|----------------------------------+---------|
|
||
| Identification&Authentication | I&A-2 |
|
||
|----------------------------------+---------|
|
||
| System Entry | ---- |
|
||
|----------------------------------+---------|
|
||
| Trusted Path | TP-2 |
|
||
|----------------------------------+---------|
|
||
| Audit | AD-1+ |
|
||
|----------------------------------+---------|
|
||
| Access Control | AC-3+ |
|
||
|----------------------------------+---------|
|
||
| Discretionary | AC-3+ |
|
||
|----------------------------------+---------|
|
||
| Non-Discretionary | AC-3 |
|
||
|----------------------------------+---------|
|
||
| Covert Channel Handling | CCH-3 |
|
||
|----------------------------------+---------|
|
||
| Availability | ---- |
|
||
|----------------------------------+---------|
|
||
| Resource Allocation | ---- |
|
||
|----------------------------------+---------|
|
||
| Fault Tolerance | ---- |
|
||
|----------------------------------+---------|
|
||
| Security Mgmt. | SM-1++ |
|
||
|----------------------------------+---------|
|
||
| Reference Mediation | RM-3 |
|
||
|----------------------------------+---------|
|
||
| TCB Logical Protection | P-3 |
|
||
|----------------------------------+---------|
|
||
| TCB Physical Protection | ---- |
|
||
|----------------------------------+---------|
|
||
| TCB Self-checking | SC-1 |
|
||
|----------------------------------+---------|
|
||
| TCB Start-Up and Recovery | TR-1 |
|
||
|----------------------------------+---------|
|
||
| TCB Privileged Operation | PO-2 |
|
||
|----------------------------------+---------|
|
||
| TCB Ease-of-Use | ---- |
|
||
`--------------------------------------------'
|
||
|
||
|
||
LP-4 Assurance Component Summary
|
||
.---------------------------------------.
|
||
| Assurance Components | T7 |
|
||
|================================|======|
|
||
| Development Assurance Components |
|
||
|=======================================|
|
||
| Development Process |
|
||
|--------------------------------+------|
|
||
| TCB Property Definition | PD-4 |
|
||
|--------------------------------+------|
|
||
| TCB Design |
|
||
|--------------------------------+------|
|
||
| TCB Element Identification | ID-2 |
|
||
|--------------------------------+------|
|
||
| TCB Interface Definition | IF-3 |
|
||
|--------------------------------+------|
|
||
| TCB Modular Decomposition | MD-3 |
|
||
|--------------------------------+------|
|
||
| TCB Structuring Support | SP-3 |
|
||
|--------------------------------+------|
|
||
| TCB Design Disciplines | DD-2 |
|
||
|--------------------------------+------|
|
||
| TCB Implementation Support | IM-4 |
|
||
|--------------------------------+------|
|
||
| TCB Testing and Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | FT-3 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | PA-2 |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | CCA3 |
|
||
|--------------------------------+------|
|
||
| Operational Support |
|
||
|--------------------------------+------|
|
||
| User Security Guidance | UG-1 |
|
||
|--------------------------------+------|
|
||
| Administrative Guidance | AG-3 |
|
||
|--------------------------------+------|
|
||
| Trusted Generation | TG-3 |
|
||
|--------------------------------+------|
|
||
| Development Environment |
|
||
|--------------------------------+------|
|
||
| Life Cycle Definition | LC-3 |
|
||
|--------------------------------+------|
|
||
| Configuration Management | CM-4 |
|
||
|--------------------------------+------|
|
||
| Trusted Distribution | TD-1 |
|
||
|--------------------------------+------|
|
||
| Development Evidence |
|
||
|--------------------------------+------|
|
||
| TCB Protection Properties | EPP4 |
|
||
|--------------------------------+------|
|
||
| Product Development | EPD5 |
|
||
|--------------------------------+------|
|
||
| Product Testing & Analysis |
|
||
|--------------------------------+------|
|
||
| Functional Testing | EFT3 |
|
||
|--------------------------------+------|
|
||
| Penetration Analysis | EPA2 |
|
||
|--------------------------------+------|
|
||
| Covert Channel Analysis | ECC2 |
|
||
|--------------------------------+------|
|
||
| Product Support | EPS3 |
|
||
`---------------------------------------'
|
||
|=======================================|
|
||
| Evaluation Assurance Components |
|
||
|=======================================|
|
||
| Testing |
|
||
|--------------------------------+------|
|
||
| Test Analysis | TA-5 |
|
||
|--------------------------------+------|
|
||
| Independent Testing | IT-4 |
|
||
|--------------------------------+------|
|
||
| Review |
|
||
|--------------------------------+------|
|
||
| Development Environment | DER3 |
|
||
|--------------------------------+------|
|
||
| Operational Support | OSR3 |
|
||
|--------------------------------+------|
|
||
| Analysis |
|
||
|--------------------------------+------|
|
||
| Protection Properties | ---- |
|
||
|--------------------------------+------|
|
||
| Design | DA-3 |
|
||
|--------------------------------+------|
|
||
| Implementation | CI-3 |
|
||
`---------------------------------------'
|
||
|
||
RATIONALE
|
||
|
||
16. Information Protection Policy
|
||
|
||
It is anticipated that organizations wishing to process
|
||
two to three levels of classified information with multiple
|
||
categories will want to use IT products that are compliant
|
||
with this profile in their automated information processing
|
||
systems. These organizations should be able to trust the
|
||
profile-compliant IT product to contribute to the protection
|
||
of the classified information at least as much as they trust
|
||
the properly cleared personnel who are using and managing the
|
||
system.
|
||
|
||
17. Protection Philosophy
|
||
|
||
This profile presumes a hostile environment with divided,
|
||
aggressive users. It provides control of access to shared
|
||
resources both (1) on the basis of attributes that are
|
||
controlled by the ordinary users of the system and (2) on the
|
||
basis of attributes that are controlled only by the system
|
||
administrators.
|
||
|
||
Profile compliant IT products will minimally meet the
|
||
following objectives:
|
||
|
||
a. Employ a reference validation mechanism to enforce a
|
||
formally defined security policy that describes the
|
||
rules for controlling access to system subjects and
|
||
objects and use the access control rules to enforce an
|
||
information flow policy that aims to control the use
|
||
of covert storage and timing channels.
|
||
|
||
b. Associate explicit sensitivity labels with each
|
||
subject and object in the system and each port through
|
||
which information may be exported from or imported to
|
||
the system. Maintain the accuracy of the sensitivity
|
||
labels as information moves within the system and
|
||
through the ports.
|
||
|
||
c. Authenticate the claimed identity of each external
|
||
human user of the IT product prior to establishing any
|
||
internal entity to act on behalf of that user and
|
||
firmly bind the authenticated user identity to the
|
||
internal entity.
|
||
|
||
d. Selectively keep and protect a log of all actions or
|
||
events (including use of covert storage channels) that
|
||
could affect system security so that they can be
|
||
accurately attributed to the known user or system
|
||
entity responsible for causing the action or event.
|
||
Also, alert the system administrator when a series of
|
||
events indicates an imminent violation of the security
|
||
policy.
|
||
|
||
e. Contains hardware and software mechanisms that can be
|
||
independently evaluated to provide sufficient
|
||
assurance that the system satisfies the previous four
|
||
objectives.
|
||
|
||
f. Implements the enforcement of objectives a through d
|
||
in such a fashion that the enforcing mechanisms are
|
||
protected from tampering and unauthorized changes by
|
||
the information moving entities that the mechanisms
|
||
are supposed to control.
|
||
|
||
18. Expected Threats
|
||
|
||
The requirements for profile conforming IT products assume
|
||
that these products are being used in an environment where
|
||
there are different levels and categories of classified data
|
||
and users of differing clearance levels. A conforming IT
|
||
product can be reasonably expected to protect the
|
||
confidentiality of information in an environment where there
|
||
are three levels and multiple categories of classified data,
|
||
and two or more levels of cleared users and where there are
|
||
collaborating, malicious users and software at each clearance
|
||
level.
|
||
|
||
19. Assumed Environment
|
||
|
||
19.1 Characteristics
|
||
|
||
IT products complying with the requirements set forth in
|
||
this profile are expected to be used in an environment with
|
||
the following characteristics:
|
||
|
||
a. Multiple users will be accessing the operating system
|
||
at the same time.
|
||
|
||
b. The IT product hardware base (e.g., CPU, printers,
|
||
terminals, etc.) is protected from unauthorized
|
||
physical access.
|
||
|
||
c. One or more personnel are assigned to manage the
|
||
system in which the IT product is incorporated,
|
||
including the security of the information it contains.
|
||
|
||
d. A need to control user access to information exists
|
||
and is based on an explicit sensitivity marking
|
||
associated with the information (e.g, Secret or Top
|
||
Secret).
|
||
|
||
e. There is a need to control user access to information
|
||
exists and is based on that user's identity and
|
||
membership in organizations or groups.
|
||
|
||
f. The IT product provides facilities for some or all of
|
||
the authorized users to create programs that use the
|
||
applications programming interface (API) and make
|
||
those programs available to other users.
|
||
|
||
g. The IT product is used to provide a cooperative
|
||
environment for the users to accomplish some task or
|
||
group of tasks.
|
||
|
||
19.2 Environment Dependencies
|
||
|
||
Secure installation and operation of a product satisfying
|
||
these profile requirements depends on provision of a number
|
||
of elements in the installation environment. These include:
|
||
|
||
a. Physical security must be provided. For US Government
|
||
classified operation, physical security equivalent to
|
||
PP-2 would be required.
|
||
|
||
b. Cabling to other devices must be shown to be
|
||
consistent with policy implemented by the product. For
|
||
example, a "port" in the product is required to have
|
||
an assigned label. No device can be connected to the
|
||
port unless it has been established externally that
|
||
the device is allowed to receive data with the same
|
||
label.
|
||
|
||
c. Personnel allowed to access data processed by the
|
||
installed product must already be authorized for such
|
||
access.
|
||
|
||
20. Intended Use
|
||
|
||
Conforming IT products are useful in both general-purpose
|
||
office automation environments with multiple data
|
||
sensitivities (or "classifications") and multiple levels of
|
||
user authorizations (or "clearances") and in specialized
|
||
computing, network and mission environments. Examples of the
|
||
office automation environment might include military
|
||
headquarters and highly competitive procurement offices.
|
||
Examples of the network environments include use as the basis
|
||
for a multilevel secure network management center or a trusted
|
||
guard gateway operating between two networks processing
|
||
different levels of information. An example of the specialized
|
||
mission environment might be as a platform for a portable
|
||
battlefield map and mission management application.
|
||
|
||
FUNCTIONAL REQUIREMENTS
|
||
|
||
Requirements for Identification and Authentication
|
||
|
||
I&A-2 Identification, Authentication, and Authorization
|
||
|
||
1. The TCB shall require users to identify
|
||
themselves to it before beginning to perform any
|
||
other actions that the TCB is expected to mediate.
|
||
The TCB shall be able to enforce individual
|
||
accountability by providing the capability to
|
||
uniquely identify each individual user. The TCB
|
||
shall also provide the capability of associating
|
||
this identity with all auditable actions taken by
|
||
that individual.
|
||
|
||
2. The TCB shall maintain authentication data that
|
||
includes information for verifying the identity of
|
||
individual users (e.g., passwords) as well as
|
||
information for determining the clearance and
|
||
authorization of individual users. These data
|
||
shall be used by the TCB to authenticate the
|
||
user's identity and to ensure that the subject
|
||
security level and authorizations of subjects
|
||
external to the TCB that may be created to act on
|
||
behalf of the individual user are dominated by the
|
||
clearance and authorization of that user).
|
||
|
||
3. The TCB shall protect authentication data so
|
||
that it cannot be used by any unauthorized user.
|
||
|
||
Requirements for Trusted Path
|
||
|
||
TP-2 Trusted User-to-TCB Communication
|
||
|
||
The TCB shall support a trusted communication path
|
||
between itself and users for use whenever a
|
||
positive user-to-TCB connection is required (e.g.,
|
||
login, change of policy attributes).
|
||
Communications via this trusted path shall be
|
||
activated exclusively by a user or the TCB and
|
||
shall be logically isolated and unmistakably
|
||
distinguishable from other communication paths.
|
||
|
||
Requirements for Audit
|
||
|
||
AD-1+ Minimal Audit
|
||
|
||
1. The TCB shall be able to create, maintain, and
|
||
protect from modification or unauthorized access
|
||
or destruction an audit trail of accesses to the
|
||
objects it protects. The audit data shall be
|
||
protected by the TCB so that read access to it is
|
||
limited to those who are authorized for audit
|
||
data.
|
||
|
||
2. The TCB shall be able to record the following
|
||
types of events:
|
||
|
||
- use of the identification and authentication
|
||
mechanisms;
|
||
|
||
- introduction of objects into a user's address
|
||
space (e.g., file open, program initiation), and
|
||
deletion of objects;
|
||
|
||
- actions taken by computer operators and system
|
||
administrators and/or system security officers.
|
||
|
||
The TCB shall be able to record any override of
|
||
human-readable output markings. The TCB shall also
|
||
be able to audit the identified event that may be
|
||
used in the exploitation of covert channels.
|
||
|
||
The TCB shall contain a mechanism that is able to
|
||
monitor the occurrence or accumulation of
|
||
auditable events that may indicate an imminent
|
||
violation of the product's security policy. This
|
||
mechanism shall be able to immediately notify the
|
||
security administrator when thresholds are
|
||
exceeded, and, if the occurrence or accumulation
|
||
of these security relevant events continues, the
|
||
system shall take the least disruptive action to
|
||
terminate the event. [AD-3]
|
||
|
||
3. For each recorded event, the audit record shall
|
||
identify: date and time of the event, user, type
|
||
of event, and success or failure of the event. For
|
||
identification/authentication events the origin of
|
||
request (e.g., terminal ID) shall be included in
|
||
the audit record. For events that introduce an
|
||
object into a user's address space and for object
|
||
deletion events the audit record shall include the
|
||
name and the object security level.
|
||
|
||
4. The system administrator shall be able to
|
||
selectively audit the actions of one or more users
|
||
based on individual identity and/or object
|
||
security level.
|
||
|
||
Requirements for Access Control
|
||
|
||
AC-3 + Extended Access Control
|
||
|
||
1. Definition of Access Control Attributes
|
||
|
||
The TCB shall define and protect access control
|
||
attributes for subjects and objects. Subject
|
||
attributes shall include named individuals or
|
||
defined groups or both. Object attributes shall
|
||
include defined access rights (e.g., read, write,
|
||
execute) that can be assigned to subject
|
||
attributes. Access control attributes
|
||
corresponding to each individual policy shall be
|
||
identified.
|
||
|
||
Sensitivity labels associated with each subject
|
||
and storage object that is directly or indirectly
|
||
accessible by subjects external to the TCB shall
|
||
be maintained by the TCB. The sensitivity labels
|
||
shall be used as the basis for mandatory access
|
||
control decisions.
|
||
|
||
The subjects and objects shall be assigned
|
||
sensitivity labels that are a combination of
|
||
hierarchical classification levels and non-
|
||
hierarchical categories, and the labels shall be
|
||
used as the basis for mandatory access control
|
||
decisions. The TCB shall be able to support two or
|
||
more such security levels.
|
||
|
||
The subject and object attributes shall accurately
|
||
reflect the sensitivity and integrity of the
|
||
subject or object. When exported by the TCB,
|
||
sensitivity labels shall accurately and
|
||
unambiguously represent the internal labels and
|
||
shall be associated with the information being
|
||
exported.
|
||
|
||
The TCB shall immediately notify a terminal user
|
||
of each change in the security level associated
|
||
with that user during an interactive session. A
|
||
terminal user shall be able to query the TCB as
|
||
desired for a display of the subject's complete
|
||
sensitivity label.
|
||
|
||
The TCB shall support the assignment of minimum
|
||
and maximum security levels to all attached
|
||
physical devices. These security levels shall be
|
||
used by the TCB to enforce constraints imposed by
|
||
the physical environments in which the devices are
|
||
located.
|
||
|
||
2. Administration of Access Control Attributes
|
||
|
||
The TCB shall define and enforce rules for
|
||
assignment and modification of access control
|
||
attributes for subjects and objects. The effect of
|
||
these rules shall be that access permission to an
|
||
object by users not already possessing access
|
||
permission is assigned only by authorized users.
|
||
These rules shall allow authorized users to
|
||
specify and control sharing of objects by named
|
||
individuals or defined groups of individuals, or
|
||
by both, and shall provide controls to limit
|
||
propagation of access rights. (i.e., these rules
|
||
shall define the distribution, revocation, and
|
||
review of access control attributes). The controls
|
||
defined by these rules shall be capable of
|
||
specifying for each named object, a list of
|
||
individuals and a list of groups of named
|
||
individuals, with their respective access rights
|
||
to that object. Furthermore, for each named
|
||
object, it shall be possible to specify a list of
|
||
named individuals and a list of groups of named
|
||
individuals for which no access to the object is
|
||
given [AC-4}. These controls shall be capable of
|
||
including or excluding access to the granularity
|
||
of a single user.
|
||
|
||
The rules for assignment and modification of
|
||
access control attributes shall include those for
|
||
attribute assignment to objects during import and
|
||
export operations.
|
||
|
||
Export of Labeled Information
|
||
|
||
The TCB shall designate each communication
|
||
channel and I/O device as either single-level or
|
||
multilevel. Any change in this designation shall
|
||
be done manually and shall be auditable by the
|
||
TCB. The TCB shall maintain and be able to audit
|
||
any change in the security level or levels
|
||
associated with a communication channel or I/O
|
||
device.
|
||
|
||
1. Exportation to Multilevel Devices
|
||
|
||
When the TCB exports an object to a multilevel
|
||
I/O device, the sensitivity label associated with
|
||
that object shall also be exported and shall
|
||
reside on the same physical medium as the exported
|
||
information and shall be in the same form (i.e.,
|
||
machine-readable or human-readable form). When the
|
||
TCB exports or imports an object over a multilevel
|
||
communication channel, the protocol used on that
|
||
channel shall provide for the unambiguous pairing
|
||
between the sensitivity labels and the associated
|
||
information that is sent or received.
|
||
|
||
2. Exportation to Single-Level Devices
|
||
|
||
Single-level I/O devices and single-level
|
||
communication channels are not required to
|
||
maintain the sensitivity labels of the information
|
||
they process. However, the TCB shall include a
|
||
mechanism by which the TCB and an authorized user
|
||
reliably communicate to designate the single
|
||
security level of information imported or exported
|
||
via single-level communication channels or I/O
|
||
devices.
|
||
|
||
3. Labeling Human-Readable Output
|
||
|
||
The system administrator shall be able to
|
||
specify the printable label names associated with
|
||
exported sensitivity labels. The TCB shall mark
|
||
the beginning and end of all human-readable,
|
||
paged, hardcopy output (e.g., line printer output)
|
||
with human-readable sensitivity labels that
|
||
properly represent the sensitivity of the output.
|
||
The TCB shall, by default, mark the top and bottom
|
||
of each page of human-readable, paged, hardcopy
|
||
output (e.g., line printer output) with human-
|
||
readable sensitivity labels that properly
|
||
represent the overall sensitivity of the output or
|
||
that properly represent the sensitivity of the
|
||
information on the page. The TCB shall, by default
|
||
and in an appropriate manner, mark other forms of
|
||
human-readable output (e.g., maps, graphics) with
|
||
human-readable sensitivity labels that properly
|
||
represent the sensitivity of the output. Any
|
||
override of these marking defaults shall be
|
||
auditable by the TCB.
|
||
|
||
Import of Non-labeled Data
|
||
|
||
In order to import non-labeled data, the TCB
|
||
shall request and receive from an authorized user
|
||
the security level of the data, and all such
|
||
actions shall be auditable by the TCB.
|
||
|
||
If different rules of assignment and modification
|
||
of access control attributes apply to different
|
||
subjects and/or objects, the totality of these
|
||
rules shall be shown to support the defined
|
||
policy.
|
||
|
||
3. Authorization of Subject References to Objects
|
||
|
||
The TCB shall define and enforce authorization
|
||
rules for the mediation of subject references to
|
||
objects. These rules shall be based on the access
|
||
control attributes of subjects and objects. These
|
||
rules shall, either by explicit user action or by
|
||
default, provide that objects are protected from
|
||
unauthorized access.
|
||
|
||
The scope of the authorization rules shall include
|
||
all subjects, storage objects (e.g., processes,
|
||
segments, devices) and associated access control
|
||
attributes that are directly or indirectly
|
||
accessible to subjects external to the TCB. The
|
||
scope of the authorization rules shall also
|
||
include all policy and status attributes of
|
||
subjects and storage objects (e.g., quotas, object
|
||
existence, size, access time, creation and
|
||
modification time, locked/unlocked). If different
|
||
rules apply to different subjects and objects, the
|
||
totality of these rules shall be shown to support
|
||
the defined policy.
|
||
|
||
The authorization rules for the mandatory access
|
||
control policy shall include:
|
||
|
||
The TCB shall enforce a mandatory access control
|
||
policy over all resources (i.e., subjects, storage
|
||
objects, and I/O devices that are directly or
|
||
indirectly accessible by subjects external to the
|
||
TCB. The following requirements shall hold for all
|
||
accesses between all subjects external to the TCB
|
||
and all objects directly or indirectly accessible
|
||
by these subjects: A subject can read an object
|
||
only if the hierarchical classification in the
|
||
subject's security level is greater than or equal
|
||
to the hierarchical classification in the object's
|
||
security level and the non- hierarchical
|
||
categories in the subject's security level include
|
||
all the non-hierarchical categories in the
|
||
object's security level. A subject can write an
|
||
object only if the hierarchical classification in
|
||
the subject's security level is less than or equal
|
||
to the hierarchical classification in the object's
|
||
security level and all the non-hierarchical
|
||
categories in the subject's security level are
|
||
included in the non-hierarchical categories in the
|
||
object's security level.
|
||
|
||
The authorization rules for each policy shall be
|
||
defined separately. The TCB shall define and
|
||
enforce the composition of policies, including the
|
||
enforcement of the authorization rules (e.g.,
|
||
subject and object type coverage, enforcement
|
||
precedence).
|
||
|
||
4. Subject and Object Creation and Destruction
|
||
|
||
The TCB shall control the creation and destruction
|
||
of subjects and objects. These controls shall
|
||
include object reuse. That is, all authorizations
|
||
to the information contained within a storage
|
||
object shall be revoked prior to initial
|
||
assignment, allocation or reallocation to a
|
||
subject from the TCB's pool of unused storage
|
||
objects; information, including encrypted
|
||
representations of information, produced by a
|
||
prior subjects' actions shall be unavailable to
|
||
any subject that obtains access to an object that
|
||
has been released back to the system.
|
||
|
||
Requirements for Covert Channel Handling
|
||
|
||
CCH-3 Timing Channel Audit and Bandwidth Limitation
|
||
|
||
1. The TCB and privileged applications shall
|
||
include functions that help audit the use of
|
||
covert storage channels. These functions shall
|
||
enable the identification of the transmitter,
|
||
receiver, and specific covert channels used (e.g.,
|
||
TCB and privileged application element used to
|
||
transmit information). TCB functions that help
|
||
limit the bandwidth and/or eliminate covert
|
||
storage channels shall also be provided. The
|
||
bandwidth limits for each channel shall be
|
||
settable by system administrators.
|
||
|
||
2. The functions added to the TCB and privileged
|
||
applications for storage channel auditing shall be
|
||
identified for each channel and shall be available
|
||
in common product configurations. If audit
|
||
functions are not added to certain storage
|
||
channels (e.g., hardware storage channels),
|
||
evidence must be provided to justify why these
|
||
channels do not represent a security threat for
|
||
the intended use of the product. TCB and
|
||
privileged application functions that help limit
|
||
the bandwidth and/or eliminate covert storage or
|
||
timing channels shall also be available in common
|
||
product configurations.
|
||
|
||
If channel bandwidth limitation and channel
|
||
elimination functions are not added to certain
|
||
storage or timing channels (e.g., hardware
|
||
channels), evidence must be provided to justify
|
||
why these channels do not represent a security
|
||
threat for the intended use of the product.
|
||
|
||
Requirements for Security Management
|
||
|
||
SM-1++ Minimal Security Management
|
||
|
||
1. The TCB shall provide an installation mechanism
|
||
for the setting and updating of its configuration
|
||
parameters, and for the initialization of its
|
||
protection-relevant data structures before any
|
||
user or administrator policy attributes are
|
||
defined. It shall allow the configuration of TCB
|
||
internal databases and tables.
|
||
|
||
2. The TCB shall provide protected mechanisms for
|
||
displaying and modifying the security policy
|
||
parameters.
|
||
|
||
3. The TCB shall provide protected mechanisms for
|
||
manually displaying, modifying, or deleting user
|
||
registration and account parameters. These
|
||
parameters shall include unique user identifiers,
|
||
their account, and their associated user name and
|
||
affiliation. The TCB shall allow the manual
|
||
enabling and disabling of user identities and/or
|
||
accounts.
|
||
|
||
4. The TCB shall support separate operator and
|
||
administrator functions. The operator functions
|
||
shall be restricted to those necessary for
|
||
performing routine operations. The operator
|
||
functions shall allow the enabling and disabling
|
||
of peripheral devices, mounting of removable
|
||
storage media, backing-up and recovering user
|
||
objects; maintaining the TCB hardware and software
|
||
elements (e.g., on-site testing); and starting and
|
||
shutting down the system. The administrative
|
||
functions shall support separate security
|
||
administrator and auditor roles. The TCB shall
|
||
enable the administrators to perform their
|
||
functions only after taking distinct auditable
|
||
action to assume an administrator role. Non-
|
||
security functions that can be performed in the
|
||
security administrative role shall be limited
|
||
strictly to those essential to performing the
|
||
security role effectively.[SM-4]
|
||
|
||
5. The use of the protected mechanisms for system
|
||
administration shall be limited to authorized
|
||
administrative users.
|
||
|
||
Requirements for Reference Mediation
|
||
|
||
RM-3 Mediation of References to Subject and Object
|
||
Attributes
|
||
|
||
1. The TCB shall mediate all references to
|
||
subjects, objects, resources, and services (e.g.,
|
||
TCB functions) described in the TCB
|
||
specifications. The mediation shall ensure that
|
||
all references are directed to the appropriate
|
||
security-policy functions.
|
||
|
||
2. Reference mediation shall include control of
|
||
references to all subjects, objects, and resources
|
||
protected under the TCB security policy, to their
|
||
policy (i.e., access rights, security levels) and
|
||
status attributes (e.g., existence, length,
|
||
locking state).
|
||
|
||
3. References issued by privileged subjects shall
|
||
be mediated in accordance with the policy
|
||
attributes defined for those subjects.
|
||
|
||
Requirements for Logical TCB Protection
|
||
|
||
P-3 TCB Isolation and Timing Consistency
|
||
|
||
The TCB shall maintain a domain for its own
|
||
execution that protects it from external
|
||
interference and tampering (e.g., by reading or
|
||
modification of its code and data structures). The
|
||
protection of the TCB shall provide TCB isolation
|
||
and noncircumventability of TCB isolation
|
||
functions as follows:
|
||
|
||
1. TCB Isolation requires that (1) the address
|
||
spaces of the TCB and those of unprivileged
|
||
subjects are separated such that users, or
|
||
unprivileged subjects operating on their behalf,
|
||
cannot read or modify TCB data structures or code,
|
||
(2) the transfers between TCB and non-TCB domains
|
||
are controlled such that arbitrary entry to or
|
||
return from the TCB are not possible; and (3) the
|
||
user or application parameters passed to the TCB
|
||
by addresses are validated with respect to the TCB
|
||
address space, and those passed by value are
|
||
validated with respect to the values expected by
|
||
the TCB.
|
||
|
||
2. Non-circumventability of TCB isolation
|
||
functions requires that the permission to objects
|
||
(and/or to non-TCB data) passed as parameters to
|
||
the TCB are validated with respect to the
|
||
permissions required by the TCB, and references to
|
||
TCB objects implementing TCB isolation functions
|
||
are mediated by the TCB.
|
||
|
||
TCB protection shall also maintain the consistency
|
||
of TCB global variables and eliminate undesirable
|
||
dependencies of the TCB on unprivileged subject or
|
||
user actions.
|
||
|
||
3. Consistency of TCB global variables requires
|
||
that consistency conditions defined over TCB
|
||
internal variables, objects, and functions hold
|
||
before and after any TCB invocation.
|
||
|
||
4. Elimination of undesirable dependencies of
|
||
the TCB on unprivileged subject actions requires
|
||
that any TCB invocation by an unprivileged subject
|
||
(or user) input to a TCB call may not place the TCB
|
||
in a state such that it is unable to respond to
|
||
communication initiated by other users.
|
||
|
||
Furthermore, TCB protection shall maintain the
|
||
timing consistency of condition checks.
|
||
|
||
5. Timing consistency of condition checks
|
||
requires that a validation check holds at the
|
||
instant when the TCB action depending on that
|
||
check is performed.
|
||
|
||
Requirements for TCB Self Checking
|
||
|
||
SC-1 Minimal Self Checking
|
||
|
||
Hardware and/or software features shall be
|
||
provided that can be used to periodically validate
|
||
the correct operation of the on-site hardware and
|
||
firmware elements of the TCB.
|
||
|
||
Requirements for TCB Start-Up and Recovery
|
||
|
||
TR-1 Minimal Requirements for Recovery or Start-up
|
||
|
||
Procedures and/or mechanisms shall be provided to
|
||
assure that, after a TCB failure or other
|
||
discontinuity, recovery without protection
|
||
compromise is obtained.
|
||
|
||
Requirements for TCB Privileged Operation
|
||
|
||
PO-2 Privilege Association with TCB Modules
|
||
|
||
1. TCB privileges needed by individual functions,
|
||
or groups of functions, of a functional component
|
||
shall be identified. Privileged TCB calls or
|
||
access to privileged TCB objects, such as user and
|
||
group registration files, password files, security
|
||
and integrity-level definition file, role
|
||
definition file, audit-log file shall also be
|
||
identified. It shall be possible to associate TCB
|
||
privileges with TCB operations performed by
|
||
administrative users.
|
||
|
||
2.The modules of a TCB function shall be
|
||
associated only with the privileges necessary to
|
||
complete their task.
|
||
|
||
3. Support for product privilege implementation
|
||
and association with TCB modules provided by
|
||
lower-level mechanisms or procedures (e.g.,
|
||
operating system, processors, language) shall be
|
||
provided.
|
||
|
||
ASSURANCES
|
||
|
||
Requirements for TCB Property Definition
|
||
|
||
PD-4 Formal Specification of TCB Properties
|
||
|
||
The developer shall provide formal models for the
|
||
functional components and sub-components of the
|
||
profile. At a minimum, a formal model of the
|
||
access control components shall be provided. The
|
||
properties of the formal models shall be clearly
|
||
stated. The developer shall provide a formal
|
||
interpretation of the models in the FIS of the
|
||
product's TCB. For each model entity, the
|
||
developer shall: (1) identify the TCB elements and
|
||
their FIS (if any) that implement that entity; (2)
|
||
specify the operation of these TCB elements, and
|
||
(3) prove that the FIS of these elements is
|
||
consistent with the model properties. The
|
||
developer's interpretation of each formal model,
|
||
which specifies the TCB properties, shall identify
|
||
all TCB and FIS elements (if any) that do not
|
||
correspond to any model entity and shall explain
|
||
why these elements do not render the TCB
|
||
properties invalid.
|
||
|
||
An informal model of reference mediation and TCB
|
||
protection shall be provided. For the components
|
||
that are not modeled, the developer shall
|
||
interpret the functional requirements of the
|
||
protection profile within the product TCB. For
|
||
each functional requirement, the developer shall:
|
||
(1) identify the TCB elements and their TCB
|
||
interfaces (if any) that implement that
|
||
requirement; (2) describe the operation of these
|
||
TCB elements, and (3) explain why the operation of
|
||
these elements is consistent with the functional
|
||
requirement. The developer's interpretation of
|
||
each functional requirement, which describes the
|
||
TCB properties, shall include all the TCB
|
||
elements.
|
||
|
||
Requirements for TCB Element Identification
|
||
|
||
ID-2: TCB Element Justification
|
||
|
||
The vendor shall identify the TCB elements (i.e.,
|
||
software, hardware/firmware code and data
|
||
structures). Each element must be unambiguously
|
||
identified by its name, type, release, and version
|
||
number (if any).
|
||
|
||
The developer shall justify the protection
|
||
relevance of the identified elements (i.e., only
|
||
elements that can affect the correct operation of
|
||
the protection functions shall be included in the
|
||
TCB). If protection-irrelevant elements are
|
||
included in the TCB, the developer shall provide a
|
||
rationale for such inclusion.
|
||
|
||
Requirements for TCB Interface Definition
|
||
|
||
IF-3: Formal Interface Specification
|
||
|
||
The developer shall define all external (e.g.,
|
||
command, software, and I/O) administrative (i.e.,
|
||
privileged) and non-administrative interfaces to
|
||
the TCB.
|
||
|
||
The developer shall provide and maintain a
|
||
descriptive interface specification (DIS) of the
|
||
TCB that completely and accurately describes the
|
||
TCB in terms of exceptions, error messages, and
|
||
effects. The DIS shall identify the TCB call
|
||
conventions (e.g., parameter order, call sequence
|
||
requirements), and exceptions signaled. The DIS
|
||
shall also include the TCB call identifier,
|
||
parameter types (e.g., input, output), the effect
|
||
of the call, TCB call conventions (e.g., parameter
|
||
order, call sequence requirements), and exceptions
|
||
handled and signaled. It shall be shown to be an
|
||
accurate description of the TCB interface.
|
||
|
||
A Formal Interface Specification (FIS) of the TCB
|
||
shall be maintained that accurately describes the
|
||
TCB in terms of the call identifier, parameter
|
||
types (e.g., input, output), the effect of the
|
||
call, TCB call conventions (e.g., parameter order,
|
||
call sequence requirements), and exceptions
|
||
signaled.
|
||
|
||
The DIS and FIS shall include those components of
|
||
the TCB that are implemented as hardware and/or
|
||
firmware if their properties are visible at the
|
||
TCB interface.
|
||
|
||
If the TCB consists of a kernel and privileged
|
||
processes, the developer shall separately identify
|
||
and define the interfaces for the kernel and each
|
||
privileged process.
|
||
|
||
The TCB interface definition must also include all
|
||
effects of a call including the direct visibility
|
||
and alterability of internal TCB variables and
|
||
functions.
|
||
|
||
Requirements for TCB Modular Decomposition
|
||
|
||
MD-3: Module Relationship Analysis
|
||
|
||
The developer shall design the TCB as a small
|
||
number (e.g., 10 to 100) of design and
|
||
implementation subsystems that have well-defined
|
||
functional relationships and shared-data
|
||
dependencies. The developer shall identify the
|
||
specific TCB protection properties and functions
|
||
associated with each subsystem and the TCB
|
||
interfaces (if any) implemented by each subsystem.
|
||
|
||
The developer shall design each subsystem as a set
|
||
of modules. For each module, the developer shall
|
||
describe: the role or purpose of the module, the
|
||
set of related functions performed by the module,
|
||
and the module interface (i.e., the set of
|
||
invocable functions, calling conventions,
|
||
parameters, global variables, and results). The
|
||
developer shall identify the protection functions
|
||
of, and describe the interfaces between, these
|
||
modules. The developer shall choose the modules so
|
||
that the set of functions implemented by the
|
||
module, the module's contribution to the TCB
|
||
protection properties, and the interface(s) to the
|
||
module can be described concisely (e.g., the
|
||
module shall have a single purpose). The TCB
|
||
structuring into modules shall be based on well-
|
||
defined module relationships; for example, the
|
||
contains relation (e.g., A is part of B), the
|
||
"uses" relation (e.g., A is correct only if B is
|
||
correct). The developer shall analyze the
|
||
correctness dependencies among these modules. This
|
||
analysis may include, but is not restricted to,
|
||
service and environmental dependencies.
|
||
|
||
Requirements for TCB Structuring Support
|
||
|
||
SP-3: Structured Protection Mechanisms
|
||
|
||
The TCB shall maintain process isolation. The TCB
|
||
shall separate those elements that are protection-
|
||
critical from those that are not. Features in
|
||
hardware, such as segmentation, shall be used to
|
||
support logically distinct storage objects with
|
||
separate access-control attributes (e.g.,
|
||
readable, writable). The TCB shall employ a
|
||
complete, conceptually simple, protection
|
||
mechanism with precisely defined semantics. This
|
||
mechanism shall play a central role in enforcing
|
||
the internal structuring of the TCB and the
|
||
product.
|
||
|
||
Requirements for Design Disciplines
|
||
|
||
DD-2: Extended Disciplines for TCB Structuring
|
||
|
||
The developer shall design the product to minimize
|
||
the complexity of the TCB. System engineering
|
||
shall be directed towards excluding from the TCB
|
||
modules that are not protection critical.
|
||
|
||
The TCB design shall reflect use of modern
|
||
software engineering techniques), such as data
|
||
hiding and abstraction (i.e., data, functional,
|
||
and control abstractions) and well-defined
|
||
exception-handling. The TCB design shall also
|
||
include use of layering (including a rationale for
|
||
each layering violation), high-level
|
||
synchronization constructs, and multi-tasking/
|
||
multi-threading.
|
||
|
||
Requirements for TCB Implementation Support
|
||
|
||
IM-4: Naming Support For Design Correspondence
|
||
|
||
The developer shall maintain engineering diagrams
|
||
and source code (as applicable) for all TCB
|
||
elements. The developer shall identify the
|
||
programming languages used to develop the TCB
|
||
software and reference the definitions of those
|
||
languages. The developer shall identify any
|
||
implementation dependent options of the
|
||
programming language compiler(s) used in the TCB
|
||
source code. The developer shall describe coding
|
||
standards followed during the implementation of
|
||
the product and shall ensure that all source code
|
||
complies with these standards. The diagrams and
|
||
source code for each module of the TCB shall be
|
||
identified and provided as configuration items.
|
||
The diagrams and source code shall be named using
|
||
the same conventions as those used in the TCB
|
||
design. The developer shall explain how the
|
||
programming languages used help establish the
|
||
correspondence between the TCB implementation and
|
||
design.
|
||
|
||
Requirements for Developer Functional Testing
|
||
|
||
FT-3: Specification-Driven TCB Interface Testing
|
||
|
||
The developer shall test the TCB interface to show
|
||
that all claimed protection functions work as
|
||
stated in the TCB interface description or
|
||
specification. The tests shall exercise the
|
||
boundary conditions of the protection functions.
|
||
The developer shall generate the test conditions
|
||
and data from the Descriptive Interface
|
||
Specification(s). The developer test procedures
|
||
shall include the tests used to demonstrate the
|
||
absence of all flaws discovered in previous
|
||
versions of the TCB.
|
||
|
||
The developer shall correct all flaws discovered
|
||
by testing and shall retest the TCB to show that
|
||
all discovered flaws have been eliminated, no new
|
||
flaws have been introduced, and the protection
|
||
functions work as claimed.
|
||
|
||
Requirements for Penetration Analysis
|
||
|
||
PA-2 Flaw-Hypothesis Testing
|
||
|
||
The developer shall define the TCB configuration,
|
||
interface, and protection functions that are
|
||
subject to penetration testing. For each test, the
|
||
developer shall identify the goal of the test and
|
||
the criteria for successful penetration. The
|
||
developer shall illustrate how, in addition to
|
||
system reference manuals and TCB interface
|
||
description, the DIS, source code, and hardware
|
||
and firmware specifications are used to define
|
||
penetration-test conditions. For each test, the
|
||
developer shall document all test conditions, data
|
||
(e.g., test set-up, function call parameters, and
|
||
test outcomes), and coverage.
|
||
|
||
The developer shall generate the test conditions
|
||
from flaw-hypotheses derived by negating
|
||
assertions of TCB design capabilities and by
|
||
providing counter examples that show that these
|
||
assertions are false. The developer shall confirm
|
||
the flaw hypotheses by checking design and
|
||
implementation documentation, by defining the test
|
||
data and running test programs, or by referring to
|
||
known classes of penetration flaws found in other
|
||
TCBs. The refutation of any hypothesis shall be
|
||
documented.
|
||
|
||
For each uncovered flaw, the developer shall
|
||
define and document scenarios of flaw exploitation
|
||
and shall identify all penetration outcomes
|
||
resulting from that scenario. The cause of the
|
||
flaw shall be identified and documented.
|
||
|
||
Requirements for Covert-Channel Analysis
|
||
|
||
CCA-3 Formal Covert Channel Analysis
|
||
|
||
1. Identification: The developer shall identify
|
||
all sources of information used in covert-channel
|
||
analysis. These sources shall include TCB
|
||
reference manuals, DIS, and FIS. The sources of
|
||
information and methods of identification shall
|
||
include processor specifications whenever the
|
||
identification method includes source code and
|
||
hardware analysis. The developer shall define
|
||
the identification method used. The developer
|
||
shall define the identification method used. The
|
||
developer shall demonstrate that the chosen
|
||
identification method is sound (e.g., it leads to
|
||
the discovery of all covert channels in the FIS or
|
||
source documentation) and repeatable (i.e.,
|
||
independent evaluators can use the method on the
|
||
same sources of covert-channel information and can
|
||
obtain the same results.) The method shall be
|
||
applied on the FIS of the TCB, and shall include
|
||
syntactic information-flow analysis (with or
|
||
without the use of semantic analysis) or
|
||
noninterference analysis. The identification of
|
||
covert channels shall include specification-to-
|
||
code correspondence.
|
||
|
||
The developer shall define scenarios of use for
|
||
each cover channel. The developer shall also
|
||
define timing channel scenarios, and shall
|
||
identify all functions that provide independent
|
||
sources of timing (e.g., CPUs, I/O processors).
|
||
|
||
2. Bandwidth Measurement or Engineering
|
||
Estimation: The developer shall define the method
|
||
used for covert-channel bandwidth estimation. The
|
||
method shall be based on information theory
|
||
methods. In measuring TCB performance for covert-
|
||
channel-bandwidth estimation, the developer shall
|
||
satisfy the following assumptions. The maximum
|
||
bandwidth estimation shall be based on the
|
||
assumptions that the covert channel is noiseless,
|
||
that the senders and receivers are not delayed by
|
||
the presence of other processes in the product,
|
||
and that the sender-receiver synchronization time
|
||
is negligible.
|
||
|
||
The developer shall select TCB primitives to be
|
||
measured for bandwidth determination from real
|
||
scenarios of covert channel use. The developer
|
||
shall specify TCB measurement environment for the
|
||
bandwidth measurements. This specification shall
|
||
include: (1) the speed of the product functions,
|
||
(2) the product configuration, (3) the sizes of
|
||
the memory and cache components, and (4) the
|
||
product initialization. The sensitivity of the
|
||
measurement results to configuration changes shall
|
||
be documented. The covert-channel measurements
|
||
shall include the fastest TCB function calls for
|
||
altering, viewing, and setting up the transmission
|
||
environment; the demonstrably fastest process
|
||
(context) switch time shall also be included in
|
||
the bandwidth measurements. All measurements shall
|
||
be repeatable.
|
||
|
||
3. Covert Channel Testing: The developer shall
|
||
test all the use of all identified covert channels
|
||
to determine whether the handling functions work
|
||
as intended.
|
||
|
||
Requirements for User Guidance
|
||
|
||
UG-1: Users' Guide
|
||
|
||
The developer shall provide a User Guide which
|
||
describes all protection services provided and
|
||
enforced by the TCB. The User Guide shall describe
|
||
the interaction between these services and provide
|
||
examples of their use. The User Guide may be in the
|
||
form of a summary, chapter or manual. The User
|
||
Guide shall specifically describe user
|
||
responsibilities. These shall encompass any user
|
||
responsibilities identified in the protection
|
||
profile.
|
||
|
||
Requirements for Administrative Guidance
|
||
|
||
AG-3: Role-Based Administrative Guidance
|
||
|
||
The developer shall provide a Trusted Facility
|
||
Manual intended for the product administrators and
|
||
operators that describes how to use the TCB
|
||
security services (e.g., Access Control, System
|
||
Entry, or Audit) to enforce a system security
|
||
policy. The Trusted Facility Manual shall include
|
||
the procedures for securely configuring, starting,
|
||
maintaining, and halting the TCB. The Trusted
|
||
Facility Manual shall explain how to analyze audit
|
||
data generated by the TCB to identify and document
|
||
user and administrator violations of this policy.
|
||
The Trusted Facility Manual shall explain the
|
||
unique security-relevant privileges and functions
|
||
of administrators and operators. The Trusted
|
||
Facility Manual shall also explain the distinct
|
||
security-relevant privileges and functions of the
|
||
TCB and how they can be selectively granted to
|
||
provide fine-grained, multi-person or multi-role
|
||
system and application administration policies.
|
||
The Trusted Facility Manual shall describe the
|
||
administrative interaction between security
|
||
services.
|
||
|
||
The Trusted Facility Manual shall identify all
|
||
hardware, firmware, software, and data structures
|
||
comprising the TCB. The detailed audit record
|
||
structure for each type of audit event shall be
|
||
described. The Trusted Facility Manual shall
|
||
explain how configure the product to mitigate,
|
||
eliminate, or audit their exploitation. The
|
||
Trusted Facility Manual shall describe the
|
||
cautions about and procedures for using the TCB as
|
||
a base for site-specific secure applications. The
|
||
Trusted Facility Manual shall describe procedures
|
||
for securely regenerating the TCB after any part
|
||
is changed (e.g., due to adding devices or
|
||
installing flaw corrections to the TCB software).
|
||
|
||
The Trusted Facility Manual shall be distinct from
|
||
User Guidance, and encompass any administrative
|
||
responsibilities identified in security
|
||
management.
|
||
|
||
Requirements for Trusted Generation
|
||
|
||
TG-3: Trusted Generation With Secure State Review
|
||
|
||
The developer shall establish and document the
|
||
procedures that a consumer must perform to
|
||
generate an operational TCB from the delivered
|
||
copy of the master TCB. The consumer documentation
|
||
shall identify any system parameters, which are
|
||
initialized or set during system generation, that
|
||
affect the TCB's conformance to the protection
|
||
profile and state the acceptable ranges of values
|
||
for those parameters. The product shall be
|
||
delivered with each of these parameters set to its
|
||
fail-safe defaults. The developer shall provide
|
||
the consumer with a capability to review the
|
||
product security state (e.g., by providing a
|
||
program, which could be executed after generating
|
||
and starting the TCB, that determines the
|
||
consistency of the protection-relevant
|
||
parameters).
|
||
|
||
Requirements for Life Cycle Definition
|
||
|
||
LC-3: Measurable Life Cycle Process
|
||
|
||
The developer shall develop and maintain the
|
||
product using a well defined, standardized, and
|
||
measurable engineering process. The developer
|
||
shall explain why the process was chosen and how
|
||
the developer uses it to develop and maintain the
|
||
product. The developer shall comply with the
|
||
engineering process standard. The process shall
|
||
incorporate a security policy that states the
|
||
technical, physical, procedural, personnel, and
|
||
other measures used by the developer to protect
|
||
the product and its documentation. The developer
|
||
shall demonstrate that each development process
|
||
and support process requirement of the protection
|
||
profile is satisfied by some part, or parts, of
|
||
the developer's process. The developer shall
|
||
identify the programming languages used to develop
|
||
the TCB software and reference the definitions of
|
||
those languages. The developer shall identify any
|
||
implementation dependent options of the
|
||
programming language compiler(s) used to implement
|
||
the TCB software and reference the definitions of
|
||
those languages.The developer shall describe
|
||
coding standards followed during the
|
||
implementation of the product and shall ensure
|
||
that all source code complies with these
|
||
standards.
|
||
|
||
Requirements for Configuration Management
|
||
|
||
CM-4: Extended Configuration Management
|
||
|
||
The developer shall establish configuration
|
||
control and generation procedures employing
|
||
automated tools for developing and maintaining the
|
||
TCB. The procedures shall be employed to ensure
|
||
that all changes to the TCB are consistent with
|
||
the product's protection properties and security
|
||
policy. The developer shall employ these tools to
|
||
track and control changes to development evidence,
|
||
implementation data (e.g., source code and
|
||
hardware diagrams), executable versions of the
|
||
TCB, test documentation and procedures, identified
|
||
flaws, and consumer documentation. The procedures
|
||
shall include a formal acceptance process for
|
||
protection-relevant changes.
|
||
|
||
The configuration control procedures shall assure
|
||
a consistent mapping among documentation and code
|
||
associated with the current version of the TCB and
|
||
permit the regeneration of any supported version
|
||
of the TCB. The developer shall provide tools for
|
||
the generation of a new version of the TCB from
|
||
source code. Also, tools shall be available for
|
||
comparing a newly generated version with the
|
||
previous TCB version to ascertain that only the
|
||
intended changes have been made in the code that
|
||
will actually be used as the new version of the
|
||
TCB. The developer shall use a combination of
|
||
technical, physical, and procedural safeguards to
|
||
protect the master copy or copies of all material
|
||
used to generate the TCB from unauthorized
|
||
modification or destruction.
|
||
|
||
Requirements for Trusted Distribution
|
||
|
||
TD-1: TCB Modification Detection During Distribution
|
||
|
||
The developer shall establish procedures and
|
||
employ appropriate technical measures to detect
|
||
modifications to any TCB-related software,
|
||
firmware, and hardware, including updates, that is
|
||
transferred from the development environment to a
|
||
consumer's site.
|
||
|
||
Requirements for Evidence of TCB Protection Properties
|
||
|
||
EPP-4 Evidence of Formal Model Interpretation in the FIS
|
||
|
||
The developer shall provide documentation which
|
||
describes the correspondence between the
|
||
functional component requirements and the TCB
|
||
elements and interfaces. This documentation shall
|
||
describe how the TCB implements the reference
|
||
monitor concept. The developer shall also provide
|
||
a formal access-control model and an informal
|
||
reference mediation and TCB protection model. The
|
||
TCB properties, which are defined by this
|
||
correspondence and the interpretation of these
|
||
models within the DIS and FIS of the TCB shall be
|
||
documented by the product developer.
|
||
|
||
Requirements for Evidence of Product Development
|
||
|
||
EPD-5: Policy Consistency Of The FIS
|
||
|
||
The developer shall provide a Descriptive
|
||
Interface Specification (DIS) that describes the
|
||
functions, effects, exceptions and error messages
|
||
visible at the TCB interface and includes a
|
||
convincing argument that the DIS is consistent
|
||
with the formal model of the policy. The developer
|
||
shall show that the DIS is an accurate
|
||
representation of the TCB's external interfaces.
|
||
|
||
The developer shall provide a Formal Interface
|
||
Specification (FIS) that rigorously defines the
|
||
protection functions available at the TCB
|
||
interface in terms of: the protection properties
|
||
implemented by each function, the precise
|
||
semantics for invoking each function, the effects
|
||
of each function (i.e., returned values and effect
|
||
on the TCB state), and the possible exceptions and
|
||
error messages returned by each function. The FIS
|
||
shall be accompanied by a convincing argument that
|
||
it is consistent with the formal model of the
|
||
product protection policy. This argument shall be
|
||
constructed using both manual and machine-assisted
|
||
specification and verification methods. Machine-
|
||
assisted specification and verification methods
|
||
shall be approved by the product evaluation
|
||
authority.
|
||
|
||
The developer shall provide TCB Design
|
||
Specifications that include: a list of the TCB
|
||
elements (hardware, software, and firmware
|
||
configuration items); a list of protection
|
||
services provided to the TCB by hardware,
|
||
software, and firmware that is not part of the
|
||
TCB; an explanation of the techniques and criteria
|
||
used during the modular decomposition of the TCB;
|
||
a description of the policy allocations,
|
||
functions, and interactions among the major TCB
|
||
subsystems; module level descriptions of all
|
||
software and hardware in the TCB; and an argument
|
||
that the design implements exactly the functions
|
||
specified in the FIS.
|
||
|
||
The developer shall provide TCB Implementation
|
||
Data consisting of the engineering diagrams for
|
||
all hardware included in the TCB and the source
|
||
code used to generate the TCB software and
|
||
firmware. The developer shall show, through either
|
||
manual or machine-assisted correspondence methods,
|
||
that the TCB software, firmware, and hardware
|
||
implement the documented TCB design.
|
||
|
||
Requirements for Evidence of Functional Testing
|
||
|
||
EFT-3: Evidence of Specification-Driven Testing
|
||
|
||
The developer shall provide evidence of the
|
||
functional testing that includes the test plan,
|
||
the test procedures, and the results of the
|
||
functional testing. The test, plans, procedures,
|
||
and results shall be maintained under the same
|
||
configuration control as the TCB software. The
|
||
test plans shall identify the TCB specification
|
||
used in the derivation of the test conditions,
|
||
data, and coverage analysis.
|
||
|
||
Requirements for Evidence of Penetration Analysis
|
||
|
||
EPA-2: Evidence of Flaw-Hypothesis Generation and Testing
|
||
|
||
The developer shall provide evidence of
|
||
penetration testing. The penetration evidence
|
||
shall identify all product documentation and
|
||
development evidence on which the search for flaws
|
||
was based. The penetration evidence shall describe
|
||
the scenarios for exploiting each potential flaw
|
||
in the system and the penetration test conditions,
|
||
data (e.g., test set-up, function call parameters,
|
||
and test outcomes), coverage, and conclusions
|
||
derived from each scenario. The penetration
|
||
evidence shall summarize both refuted and
|
||
confirmed flaws hypothesis.
|
||
|
||
Requirements for Evidence of Covert Channel Analysis
|
||
|
||
ECC-2: Evidence of Covert Channel Analysis and Handling
|
||
|
||
The developer's documentation shall present the
|
||
results of the covert channel analysis and the
|
||
trade-offs involved in restricting these channels.
|
||
All auditable events that may be used in the
|
||
exploitation of known covert channels shall be
|
||
identified. The developer shall provide the
|
||
bandwidths of known covert channels whose use is
|
||
not detectable by the auditing mechanism. The
|
||
documentation of each identified covert channel
|
||
shall consist of the variables, timing sources,
|
||
and the TCB interface functions that can be used
|
||
to transmit information. The measurements of each
|
||
TCB function call used by covert channels must be
|
||
documented and the bandwidth computation shall be
|
||
included for each channel. The measurement
|
||
environment should be documented as specified.
|
||
Test documentation shall include results of
|
||
testing the effectiveness of the methods used to
|
||
reduce covert-channel bandwidths.
|
||
|
||
Requirements for Evidence of Product Support
|
||
|
||
EPS-3: Evidence of Measured Product Support
|
||
|
||
The developer shall provide documentation that
|
||
defines, explains, and justifies the policies,
|
||
procedures, plans, and tools established by the
|
||
developer to satisfy the Operational Support and
|
||
Development Environment requirements of the
|
||
protection profile. The documentation shall also
|
||
explain how the developer periodically evaluates
|
||
compliance with the established procedures,
|
||
policies, and plans.
|
||
|
||
Requirements for Test Analysis
|
||
|
||
TA-5: Formal Test Analysis
|
||
|
||
The evaluator shall assess whether the producer
|
||
has performed the activities defined in the
|
||
development assurance requirements of the
|
||
protection profile for functional testing and
|
||
penetration analysis, and whether the producer has
|
||
documented these activities as defined in the
|
||
development evidence requirements of the
|
||
protection profile. The evaluator shall analyze
|
||
the results of the producer's testing activities
|
||
for completeness of coverage and consistency of
|
||
results, and general correctness (e.g., defect
|
||
trend from regression testing). This analysis
|
||
shall examine the testability of requirements, use
|
||
of the FIS for test derivation, the adequacy of
|
||
the tests to measure the required properties, the
|
||
deviation of the actual results obtained from the
|
||
expected results. The analysis shall extend to
|
||
trace all defects identified, corrected, and
|
||
retested. The analysis shall include an assessment
|
||
of test coverage and completeness, and defect
|
||
frequency. The results of testing shall be
|
||
interpreted in terms that express product
|
||
performance and protection adequacy. The evaluator
|
||
shall determine whether the product's protection
|
||
properties, as defined for the entire TCB, and all
|
||
relevant known penetration flaws have been tested.
|
||
The evaluator shall independently develop, test,
|
||
and document additional flaw hypotheses. The
|
||
evaluator shall assess testing results to
|
||
determine whether the product's TCB works as
|
||
claimed, that the TCB's implementation is
|
||
consistent with the FIS, and whether there are any
|
||
obvious ways (i.e., ways that are known, or that
|
||
are readily apparent or easily discovered in
|
||
product documentation) for an unauthorized user to
|
||
bypass the policy implemented by the TCB or
|
||
otherwise defeat the product's TCB, and whether
|
||
all discovered TCB flaws have been corrected and
|
||
no new TCB flaws introduced. No design flaws and
|
||
no more than a few correctable implementation
|
||
flaws may be found during testing and there shall
|
||
be reasonable confidence that few remain. If
|
||
covert channel handling methods have been
|
||
implemented, the testing results shall show that
|
||
the methods used to reduce covert channel
|
||
bandwidths have been effective for all evaluated
|
||
configurations. The evaluator shall determine
|
||
whether the product is completely resistant to
|
||
penetrations.
|
||
|
||
IT-4: Formal Independent Testing.
|
||
|
||
The evaluator shall independently perform
|
||
functional and elementary penetration testing to
|
||
confirm test results. This testing shall be based
|
||
on (1) the results of producer or other
|
||
independent testing, (2) the TCB's FIS, (3) the
|
||
product's design and implementation documentation,
|
||
(4) the product's user and administrative
|
||
documentation, (5) relevant known penetration
|
||
flaws, and (6) evaluator-developed TCB penetration
|
||
flaw hypotheses and corresponding tests that
|
||
attempt to exploit the hypothesized flaws.
|
||
Satisfactory completion consists of demonstrating
|
||
that all TCB functions work as described in the
|
||
product's relevant documentation, that the TCB
|
||
functions are consistent with the FIS, that test
|
||
results are consistent, and that no discrepancies
|
||
exist between the documentation and the product.
|
||
Satisfactory penetration test completion shall be
|
||
determined by the subjective judgement of the
|
||
evaluator (which may be supported
|
||
algorithmically). Test duration agreements may
|
||
further constrain this judgement. Categorization
|
||
of an actual penetration flaw shall be based on
|
||
the reproducibility of that flaw. Flaws that are
|
||
discovered, but are not reproducible shall remain
|
||
categorized as potential penetration flaws. All
|
||
actual penetration flaws must be corrected and
|
||
retested.
|
||
|
||
The evaluator shall provide a penetration test
|
||
plan document that describes the additional
|
||
evaluator-developed flaw hypotheses and associated
|
||
tests. The evaluator shall execute these tests and
|
||
shall report any discovered flaws to the producer
|
||
as part of the testing results. At the conclusion
|
||
of penetration testing, the evaluator shall
|
||
provide copies of this penetration test plan and
|
||
its test results to the producer. The producer
|
||
shall ensure that this test plan and its test
|
||
results are incorporated into the rest of the
|
||
product's testing documentation and that such
|
||
documentation is available for further analysis
|
||
throughout the life of the product.
|
||
|
||
The evaluator shall test for covert channel
|
||
bandwidth reductions to determine the
|
||
effectiveness of handling method(s) in reducing
|
||
the bandwidths of identified covert channels.
|
||
|
||
Requirements for Development Environment
|
||
|
||
DER-3: Comprehensive Development Environment Review
|
||
|
||
The evaluator shall review the producer's
|
||
development and maintenance process description
|
||
documentation and shall conduct a complete audit
|
||
of the producer's processes using the evidence
|
||
generated by each process to determine the degree
|
||
of discipline enforced upon and within the
|
||
process, and to determine the protection
|
||
characteristics associated with the product's
|
||
development and maintenance. The results of this
|
||
review shall establish, for the evaluator, the
|
||
producer's development environment, its policies,
|
||
and the degree of enforcement maintained during
|
||
development execution. The review shall also
|
||
confirm the producer's complete conformance with
|
||
all relevant development environment requirements.
|
||
|
||
Requirements for Operational Support
|
||
|
||
OSR-3 Comprehensive Operational Support Review
|
||
|
||
The evaluator shall review all documentation
|
||
focused on the activities of product use (e.g.,
|
||
Users Manuals) and product administration
|
||
including installation, operation, maintenance,
|
||
and trusted recovery (e.g., Trusted Facility
|
||
Management manuals. This review shall assess the
|
||
clarity of presentation, difficulty in locating
|
||
topics of interest, ease of understanding, and
|
||
completeness of coverage. The need for separate
|
||
manuals dedicated to protection-relevant aspects
|
||
of the product should be assessed for
|
||
effectiveness. The evaluator shall execute all
|
||
documented protection-relevant features and
|
||
procedures to determine if their descriptions are
|
||
accurate and correct.
|
||
|
||
Requirements for Design Analysis
|
||
|
||
DA-3: Comprehensive Design Analysis
|
||
|
||
The evaluator shall determine whether the producer
|
||
has performed the activities defined in the
|
||
development process assurance requirements of the
|
||
protection profile for TCB property definition and
|
||
TCB design. The evaluator shall determine whether
|
||
the producer has documented these activities as
|
||
defined in the development evidence requirements
|
||
of the protection profile. The evaluator shall
|
||
analyze, with the help of formal methods and
|
||
appropriate automated tools, the results of the
|
||
producer's activities for completeness,
|
||
consistency, and correctness of design with
|
||
respect to requirements (e.g., validating the
|
||
formal verification of the design).
|
||
|
||
Requirements for Implementation
|
||
|
||
CI-3: Comprehensive Implementation Analysis
|
||
|
||
The evaluator shall conduct an inspection on a
|
||
moderate sample of randomly selected product code.
|
||
The assessment shall focus on the clarity of the
|
||
coding style, adherence to coding standards,
|
||
coding documentation, and on possible software
|
||
defects that may be present with respect to the
|
||
product's formal design and model. The inspection
|
||
shall be performed to obtain only a sample of
|
||
possible software defects, not to capture all such
|
||
possible defects. The evaluator shall report all
|
||
discovered defects to the producer; the assessment
|
||
shall report the number of defects found per line
|
||
of code inspected from the random sample size. Use
|
||
of producer-provided code inspection results can
|
||
supplement this inspection. All trapdoors built
|
||
into the product for maintenance purposes shall be
|
||
identified by the producer and shown to be
|
||
protected by the product. The producer shall
|
||
correct all discovered defects and the corrected
|
||
software reinspected. A rigorous analysis of the
|
||
implementation's correspondence to the verified
|
||
design shall be performed by the evaluator to
|
||
validate correctness. Such analysis may be
|
||
supported by appropriate automated tools.
|
||
|
||
|
||
|
||
Downloaded From P-80 International Information Systems 304-744-2253
|