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
|