home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-09-15 | 275.8 KB | 5,266 lines |
-
- DoD 5200.28-STD
- Supersedes
- CSC-STD-00l-83, dtd l5 Aug 83
- Library No. S225,7ll
-
-
-
-
-
-
-
-
-
- DEPARTMENT OF DEFENSE STANDARD
-
-
-
-
- DEPARTMENT OF
-
- DEFENSE
-
- TRUSTED COMPUTER
-
- SYSTEM EVALUATION
-
- CRITERIA
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DECEMBER l985
-
-
- December 26, l985
-
- FOREWORD
-
-
- This publication, DoD 5200.28-STD, "Department of Defense Trusted Computer
- System Evaluation Criteria," is issued under the authority of an in accordance
- with DoD Directive 5200.28, "Security Requirements for Automatic Data
- Processing (ADP) Systems," and in furtherance of responsibilities assigned by
- DoD Directive 52l5.l, "Computer Security Evaluation Center." Its purpose is to
- provide technical hardware/firmware/software security criteria and associated
- technical evaluation methodologies in support of the overall ADP system
- security policy, evaluation and approval/accreditation responsibilities
- promulgated by DoD Directive 5200.28.
-
- The provisions of this document apply to the Office of the Secretary of Defense
- (ASD), the Military Departments, the Organization of the Joint Chiefs of Staff,
- the Unified and Specified Commands, the Defense Agencies and activities
- administratively supported by OSD (hereafter called "DoD Components").
-
- This publication is effective immediately and is mandatory for use by all DoD
- Components in carrying out ADP system technical security evaluation activities
- applicable to the processing and storage of classified and other sensitive DoD
- information and applications as set forth herein.
-
- Recommendations for revisions to this publication are encouraged and will be
- reviewed biannually by the National Computer Security Center through a formal
- review process. Address all proposals for revision through appropriate
- channels to: National Computer Security Center, Attention: Chief, Computer
- Security Standards.
-
- DoD Components may obtain copies of this publication through their own
- publications channels. Other federal agencies and the public may obtain copies
- from: Office of Standards and Products, National Computer Security Center,
- Fort Meade, MD 20755-6000, Attention: Chief, Computer Security Standards.
-
-
-
-
- _________________________________
-
- Donald C. Latham
- Assistant Secretary of Defense
- (Command, Control, Communications, and Intelligence)
-
-
- ACKNOWLEDGEMENTS
-
-
- Special recognition is extended to Sheila L. Brand, National Computer Security
- Center (NCSC), who integrated theory, policy, and practice into and directed
- the production of this document.
-
- Acknowledgment is also given for the contributions of: Grace Hammonds and
- Peter S. Tasker, the MITRE Corp., Daniel J. Edwards, NCSC, Roger R. Schell,
- former Deputy Director of NCSC, Marvin Schaefer, NCSC, and Theodore M. P. Lee,
- Sperry Corp., who as original architects formulated and articulated the
- technical issues and solutions presented in this document; Jeff Makey, formerly
- NCSC, Warren F. Shadle, NCSC, and Carole S. Jordan, NCSC, who assisted in the
- preparation of this document; James P. Anderson, James P. Anderson & Co.,
- Steven B. Lipner, Digital Equipment Corp., Clark Weissman, System Development
- Corp., LTC Lawrence A. Noble, formerly U.S. Air Force, Stephen T. Walker,
- formerly DoD, Eugene V. Epperly, DoD, and James E. Studer, formerly Dept. of
- the Army, who gave generously of their time and expertise in the review and
- critique of this document; and finally, thanks are given to the computer
- industry and others interested in trusted computing for their enthusiastic
- advice and assistance throughout this effort.
-
-
-
- CONTENTS
-
-
- FOREWORD. . . . . . . . . . . . . . . . . . . . . . . . . . . .i
-
- ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . ii
-
- PREFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . .v
-
- INTRODUCTION. . . . . . . . . . . . . . . . . . . . . . . . . .1
-
-
- PART I: THE CRITERIA
-
- 1.0 DIVISION D: MINIMAL PROTECTION. . . . . . . . . . . . . .9
-
- 2.0 DIVISION C: DISCRETIONARY PROTECTION. . . . . . . . . . 11
- 2.1 Class (C1): Discretionary Security Protection . . 12
- 2.2 Class (C2): Controlled Access Protection. . . . . 15
-
- 3.0 DIVISION B: MANDATORY PROTECTION. . . . . . . . . . . . 19
- 3.1 Class (B1): Labeled Security Protection . . . . . 20
- 3.2 Class (B2): Structured Protection . . . . . . . . 26
- 3.3 Class (B3): Security Domains. . . . . . . . . . . 33
-
- 4.0 DIVISION A: VERIFIED PROTECTION . . . . . . . . . . . . 41
- 4.1 Class (A1): Verified Design . . . . . . . . . . . 42
- 4.2 Beyond Class (A1). . . . . . . . . . . . . . . . . 51
-
-
- PART II: RATIONALE AND GUIDELINES
-
- 5.0 CONTROL OBJECTIVES FOR TRUSTED COMPUTER SYSTEMS. . . . . 55
- 5.1 A Need for Consensus . . . . . . . . . . . . . . . 56
- 5.2 Definition and Usefulness. . . . . . . . . . . . . 56
- 5.3 Criteria Control Objective . . . . . . . . . . . . 56
-
- 6.0 RATIONALE BEHIND THE EVALUATION CLASSES. . . . . . . . . 63
- 6.1 The Reference Monitor Concept. . . . . . . . . . . 64
- 6.2 A Formal Security Policy Model . . . . . . . . . . 64
- 6.3 The Trusted Computing Base . . . . . . . . . . . . 65
- 6.4 Assurance. . . . . . . . . . . . . . . . . . . . . 65
- 6.5 The Classes. . . . . . . . . . . . . . . . . . . . 66
-
- 7.0 THE RELATIONSHIP BETWEEN POLICY AND THE CRITERIA . . . . 69
- 7.1 Established Federal Policies . . . . . . . . . . . 70
- 7.2 DoD Policies . . . . . . . . . . . . . . . . . . . 70
- 7.3 Criteria Control Objective For Security Policy . . 71
- 7.4 Criteria Control Objective for Accountability. . . 74
- 7.5 Criteria Control Objective for Assurance . . . . . 76
-
- 8.0 A GUIDELINE ON COVERT CHANNELS . . . . . . . . . . . . . 79
-
-
- 9.0 A GUIDELINE ON CONFIGURING MANDATORY ACCESS CONTROL
- FEATURES . . . . . . . . . . . . . . . . . . . . . . . . 81
-
- 10.0 A GUIDELINE ON SECURITY TESTING . . . . . . . . . . . . 83
- 10.1 Testing for Division C . . . . . . . . . . . . . . 84
- 10.2 Testing for Division B . . . . . . . . . . . . . . 84
- 10.3 Testing for Division A . . . . . . . . . . . . . . 85
-
-
- APPENDIX A: Commercial Product Evaluation Process. . . . . . 87
-
- APPENDIX B: Summary of Evaluation Criteria Divisions . . . . 89
-
- APPENDIX C: Sumary of Evaluation Criteria Classes. . . . . . 91
-
- APPENDIX D: Requirement Directory. . . . . . . . . . . . . . 93
-
- GLOSSARY. . . . . . . . . . . . . . . . . . . . . . . . . . .109
-
- REFERENCES. . . . . . . . . . . . . . . . . . . . . . . . . .115
-
-
-
- PREFACE
-
-
- The trusted computer system evaluation criteria defined in this document
- classify systems into four broad hierarchical divisions of enhanced security
- protection. They provide a basis for the evaluation of effectiveness of
- security controls built into automatic data processing system products. The
- criteria were developed with three objectives in mind: (a) to provide users
- with a yardstick with which to assess the degree of trust that can be placed
- in computer systems for the secure processing of classified or other sensitive
- information; (b) to provide guidance to manufacturers as to what to build into
- their new, widely-available trusted commercial products in order to satisfy
- trust requirements for sensitive applications; and (c) to provide a basis for
- specifying security requirements in acquisition specifications. Two types of
- requirements are delineated for secure processing: (a) specific security
- feature requirements and (b) assurance requirements. Some of the latter
- requirements enable evaluation personnel to determine if the required features
- are present and functioning as intended. The scope of these criteria is to be
- applied to the set of components comprising a trusted system, and is not
- necessarily to be applied to each system component individually. Hence, some
- components of a system may be completely untrusted, while others may be
- individually evaluated to a lower or higher evaluation class than the trusted
- product considered as a whole system. In trusted products at the high end of
- the range, the strength of the reference monitor is such that most of the
- components can be completely untrusted. Though the criteria are intended to be
- application-independent, the specific security feature requirements may have to
- be interpreted when applying the criteria to specific systems with their own
- functional requirements, applications or special environments (e.g.,
- communications processors, process control computers, and embedded systems in
- general). The underlying assurance requirements can be applied across the
- entire spectrum of ADP system or application processing environments without
- special interpretation.
-
-
- INTRODUCTION
-
- Historical Perspective
-
- In October 1967, a task force was assembled under the auspices of the Defense
- Science Board to address computer security safeguards that would protect
- classified information in remote-access, resource-sharing computer systems.
- The Task Force report, "Security Controls for Computer Systems," published in
- February 1970, made a number of policy and technical recommendations on
- actions to be taken to reduce the threat of compromise of classified
- information processed on remote-access computer systems.[34] Department of
- Defense Directive 5200.28 and its accompanying manual DoD 5200.28-M, published
- in 1972 and 1973 respectively, responded to one of these recommendations by
- establishing uniform DoD policy, security requirements, administrative
- controls, and technical measures to protect classified information processed
- by DoD computer systems.[8;9] Research and development work undertaken by the
- Air Force, Advanced Research Projects Agency, and other defense agencies in
- the early and mid 70's developed and demonstrated solution approaches for the
- technical problems associated with controlling the flow of information in
- resource and information sharing computer systems.[1] The DoD Computer
- Security Initiative was started in 1977 under the auspices of the Under
- Secretary of Defense for Research and Engineering to focus DoD efforts
- addressing computer security issues.[33]
-
- Concurrent with DoD efforts to address computer security issues, work was
- begun under the leadership of the National Bureau of Standards (NBS) to define
- problems and solutions for building, evaluating, and auditing secure computer
- systems.[17] As part of this work NBS held two invitational workshops on the
- subject of audit and evaluation of computer security.[20;28] The first was
- held in March 1977, and the second in November of 1978. One of the products
- of the second workshop was a definitive paper on the problems related to
- providing criteria for the evaluation of technical computer security
- effectiveness.[20] As an outgrowth of recommendations from this report, and in
- support of the DoD Computer Security Initiative, the MITRE Corporation began
- work on a set of computer security evaluation criteria that could be used to
- assess the degree of trust one could place in a computer system to protect
- classified data.[24;25;31] The preliminary concepts for computer security
- evaluation were defined and expanded upon at invitational workshops and
- symposia whose participants represented computer security expertise drawn from
- industry and academia in addition to the government. Their work has since
- been subjected to much peer review and constructive technical criticism from
- the DoD, industrial research and development organizations, universities, and
- computer manufacturers.
-
- The DoD Computer Security Center (the Center) was formed in January 1981 to
- staff and expand on the work started by the DoD Computer Security
- Initiative.[15] A major goal of the Center as given in its DoD Charter is to
- encourage the widespread availability of trusted computer systems for use by
- those who process classified or other sensitive information.[10] The criteria
- presented in this document have evolved from the earlier NBS and MITRE
- evaluation material.
-
- Scope
-
- The trusted computer system evaluation criteria defined in this document apply
- primarily to trusted commercially available automatic data processing (ADP)
- systems. They are also applicable, as amplified below, the the evaluation of
- existing systems and to the specification of security requirements for ADP
- systems acquisition. Included are two distinct sets of requirements: 1)
- specific security feature requirements; and 2) assurance requirements. The
- specific feature requirements encompass the capabilities typically found in
- information processing systems employing general-purpose operating systems that
- are distinct from the applications programs being supported. However, specific
- security feature requirements may also apply to specific systems with their own
- functional requirements, applications or special environments (e.g.,
- communications processors, process control computers, and embedded systems in
- general). The assurance requirements, on the other hand, apply to systems that
- cover the full range of computing environments from dedicated controllers to
- full range multilevel secure resource sharing systems.
-
-
- Purpose
-
- As outlined in the Preface, the criteria have been developedto serve a number
- of intended purposes:
-
- * To provide a standard to manufacturers as to what security
- features to build into their new and planned, commercial
- products in order to provide widely available systems that
- satisfy trust requirements (with particular emphasis on preventing
- the disclosure of data) for sensitive applications.
-
- * To provide DoD components with a metric with which to evaluate
- the degree of trust that can be placed in computer systems for
- the secure processing of classified and other sensitive
- information.
-
- * To provide a basis for specifying security requirements in
- acquisition specifications.
-
- With respect to the second purpose for development of the criteria, i.e.,
- providing DoD components with a security evaluation metric, evaluations can be
- delineated into two types: (a) an evaluation can be performed on a computer
- product from a perspective that excludes the application environment; or, (b)
- it can be done to assess whether appropriate security measures have been taken
- to permit the system to be used operationally in a specific environment. The
- former type of evaluation is done by the Computer Security Center through the
- Commercial Product Evaluation Process. That process is described in Appendix
- A.
-
- The latter type of evaluation, i.e., those done for the purpose of assessing a
- system's security attributes with respect to a specific operational mission,
- is known as a certification evaluation. It must be understood that the
- completion of a formal product evaluation does not constitute certification or
- accreditation for the system to be used in any specific application
- environment. On the contrary, the evaluation report only provides a trusted
- computer system's evaluation rating along with supporting data describing the
- product system's strengths and weaknesses from a computer security point of
- view. The system security certification and the formal approval/accreditation
- procedure, done in accordance with the applicable policies of the issuing
- agencies, must still be followed-before a system can be approved for use in
- processing or handling classified information.[8;9] Designated Approving
- Authorities (DAAs) remain ultimately responsible for specifying security of
- systems they accredit.
-
- The trusted computer system evaluation criteria will be used directly and
- indirectly in the certification process. Along with applicable policy, it
- will be used directly as technical guidance for evaluation of the total system
- and for specifying system security and certification requirements for new
- acquisitions. Where a system being evaluated for certification employs a
- product that has undergone a Commercial Product Evaluation, reports from that
- process will be used as input to the certification evaluation. Technical data
- will be furnished to designers, evaluators and the Designated Approving
- Authorities to support their needs for making decisions.
-
-
- Fundamental Computer Security Requirements
-
- Any discussion of computer security necessarily starts from a statement of
- requirements, i.e., what it really means to call a computer system "secure."
- In general, secure systems will control, through use of specific security
- features, access to information such that only properly authorized
- individuals, or processes operating on their behalf, will have access to read,
- write, create, or delete information. Six fundamental requirements are
- derived from this basic statement of objective: four deal with what needs to
- be provided to control access to information; and two deal with how one can
- obtain credible assurances that this is accomplished in a trusted computer
- system.
-
- Policy
-
- Requirement 1 - SECURITY POLICY - There must be an explicit and
- well-defined security policy enforced by the system. Given identified subjects
- and objects, there must be a set of rules that are used by the system to
- determine whether a given subject can be permitted to gain access to a specific
- object. Computer systems of interest must enforce a mandatory security policy
- that can effectively implement access rules for handling sensitive (e.g.,
- classified) information.[7] These rules include requirements such as: No
- person lacking proper personnel security clearance shall obtain access to
- classified
- information. In addition, discretionary security controls are required to
- ensure that only selected users or groups of users may obtain access to data
- (e.g., based on a need-to-know).
-
- Requirement 2 - MARKING - Access control labels must be associated
- with objects. In order to control access to information stored in a computer,
- according to the rules of a mandatory security policy, it must be possible to
- mark every object with a label that reliably identifies the object's
- sensitivity level (e.g., classification), and/or the modes of access accorded
- those subjects who may potentially access the object.
-
- Accountability
-
- Requirement 3 - IDENTIFICATION - Individual subjects must be
- identified. Each access to information must be mediated based on who is
- accessing the information and what classes of information they are authorized
- to deal with. This identification and authorization information must be
- securely maintained by the computer system and be associated with every active
- element that performs some security-relevant action in the system.
-
- Requirement 4 - ACCOUNTABILITY - Audit information must be
- selectively kept and protected so that actions affecting security can be traced
- to the responsible party. A trusted system must be able to record the
- occurrences of security-relevant events in an audit log. The capability to
- select the audit events to be recorded is necessary to minimize the expense of
- auditing and to allow efficient analysis. Audit data must be protected from
- modification and unauthorized destruction to permit detection and
- after-the-fact investigations of security violations.
-
- Assurance
-
- Requirement 5 - ASSURANCE - The computer system must contain
- hardware/software mechanisms that can be independently evaluated to provide
- sufficient assurance that the system enforces requirements 1 through 4 above.
- In order to assure that the four requirements of Security Policy, Marking,
- Identification, and Accountability are enforced by a computer system, there
- must be some identified and unified collection of hardware and software
- controls that perform those functions. These mechanisms are typically embedded
- in the operating system and are designed to carry out the assigned tasks in a
- secure manner. The basis for trusting such system mechanisms in their
- operational setting must be clearly documented such that it is possible to
- independently examine the evidence to evaluate their sufficiency.
-
- Requirement 6 - CONTINUOUS PROTECTION - The trusted mechanisms that
- enforce these basic requirements must be continuously protected against
- tampering and/or unauthorized changes. No computer system can be considered
- truly secure if the basic hardware and software mechanisms that enforce the
- security policy are themselves subject to unauthorized modification or
- subversion. The continuous protection requirement has direct implications
- throughout the computer system's life-cycle.
-
- These fundamental requirements form the basis for the individual evaluation
- criteria applicable for each evaluation division and class. The interested
- reader is referred to Section 5 of this document, "Control Objectives for
- Trusted Computer Systems," for a more complete discussion and further
- amplification of these fundamental requirements as they apply to
- general-purpose information processing systems and to Section 7 for
- amplification of the relationship between Policy and these requirements.
-
-
- Structure of the Document
-
- The remainder of this document is divided into two parts, four appendices, and
- a glossary. Part I (Sections 1 through 4) presents the detailed criteria
- derived from the fundamental requirements described above and relevant to the
- rationale and policy excerpts contained in Part II.
-
- Part II (Sections 5 through 10) provides a discussion of basic objectives,
- rationale, and national policy behind the development of the criteria, and
- guidelines for developers pertaining to: mandatory access control rules
- implementation, the covert channel problem, and security testing. It is
- divided into six sections. Section 5 discusses the use of control objectives
- in general and presents the three basic control objectives of the criteria.
- Section 6 provides the theoretical basis behind the criteria. Section 7 gives
- excerpts from pertinent regulations, directives, OMB Circulars, and Executive
- Orders which provide the basis for many trust requirements for processing
- nationally sensitive and classified information with computer systems.
- Section 8 provides guidance to system developers on expectations in dealing
- with the covert channel problem. Section 9 provides guidelines dealing with
- mandatory security. Section 10 provides guidelines for security testing.
- There are four appendices, including a description of the Trusted Computer
- System Commercial Products Evaluation Process (Appendix A), summaries of the
- evaluation divisions (Appendix B) and classes (Appendix C), and finally a
- directory of requirements ordered alphabetically. In addition, there is a
- glossary.
-
-
- Structure of the Criteria
-
- The criteria are divided into four divisions: D, C, B, and A ordered in a
- hierarchical manner with the highest division (A) being reserved for systems
- providing the most comprehensive security. Each division represents a major
- improvement in the overall confidence one can place in the system for the
- protection of sensitive information. Within divisions C and B there are a
- number of subdivisions known as classes. The classes are also ordered in a
- hierarchical manner with systems representative of division C and lower
- classes of division B being characterized by the set of computer security
- mechanisms that they possess. Assurance of correct and complete design and
- implementation for these systems is gained mostly through testing of the
- security- relevant portions of the system. The security-relevant portions of
- a system are referred to throughout this document as the Trusted Computing
- Base (TCB). Systems representative of higher classes in division B and
- division A derive their security attributes more from their design and
- implementation structure. Increased assurance that the required features are
- operative, correct, and tamperproof under all circumstances is gained through
- progressively more rigorous analysis during the design process.
-
- Within each class, four major sets of criteria are addressed. The first three
- represent features necessary to satisfy the broad control objectives of
- Security Policy, Accountability, and Assurance that are discussed in Part II,
- Section 5. The fourth set, Documentation, describes the type of written
- evidence in the form of user guides, manuals, and the test and design
- documentation required for each class.
-
- A reader using this publication for the first time may find it helpful to
- first read Part II, before continuing on with Part I.
-
-
-
- PART I: THE CRITERIA
-
-
- Highlighting (UPPERCASE) is used in Part I to indicate criteria not contained
- in a lower class or changes and additions to already defined criteria. Where
- there is no highlighting, requirements have been carried over from lower
- classes without addition or modification.
-
-
-
- 1.0 DIVISION D: MINIMAL PROTECTION
-
-
- This division contains only one class. It is reserved for those systems that
- have been evaluated but that fail to meet the requirements for a higher
- evaluation class.
-
-
-
- 2.0 DIVISION C: DISCRETIONARY PROTECTION
-
-
- Classes in this division provide for discretionary (need-to-know) protection
- and, through the inclusion of audit capabilities, for accountability of
- subjects and the actions they initiate.
-
-
-
- 2.1 CLASS (C1): DISCRETIONARY SECURITY PROTECTION
-
- The Trusted Computing Base (TCB) of a class (C1) system nominally satisfies
- the discretionary security requirements by providing separation of users and
- data. It incorporates some form of credible controls capable of enforcing
- access limitations on an individual basis, i.e., ostensibly suitable for
- allowing users to be able to protect project or private information and to
- keep other users from accidentally reading or destroying their data. The
- class (C1) environment is expected to be one of cooperating users processing
- data at the same level(s) of sensitivity. The following are minimal
- requirements for systems assigned a class (C1) rating:
-
- 2.1.1 Security Policy
-
- 2.1.1.1 Discretionary Access Control
-
- The TCB shall define and control access between named users and
- named objects (e.g., files and programs) in the ADP system. The
- enforcement mechanism (e.g., self/group/public controls, access
- control lists) shall allow users to specify and control sharing
- of those objects by named individuals or defined groups or both.
-
- 2.1.2 Accountability
-
- 2.1.2.1 Identification and Authentication
-
- The TCB shall require users to identify themselves to it before
- beginning to perform any other actions that the TCB is expected
- to mediate. Furthermore, the TCB shall use a protected
- mechanism (e.g., passwords) to authenticate the user's identity.
- The TCB shall protect authentication data so that it cannot be
- accessed by any unauthorized user.
-
- 2.1.3 Assurance
-
- 2.1.3.1 Operational Assurance
-
- 2.1.3.1.1 System Architecture
-
- The TCB shall maintain a domain for its own execution
- protects it from external interference or tampering
- (e.g., by modification of its code or data strucutres).
- Resources controlled by the TCB may be a defined subset
- of the subjects and objects in the ADP system.
-
- 2.1.3.1.2 System Integrity
-
- 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.
-
- 2.1.3.2 Life-Cycle Assurance
-
- 2.1.3.2.1 Security Testing
-
- The security mechanisms of the ADP system shall be tested
- and found to work as claimed in the system documentation.
- Testing shall be done to assure that there are no obvious
- ways for an unauthorized user to bypass or otherwise
- defeat the security protection mechanisms of the TCB.
- (See the Security Testing Guidelines.)
-
- 2.1.4 Documentation
-
- 2.1.4.1 Security Features User's Guide
-
- A single summary, chapter, or manual in user documentation
- shall describe the protection mechanisms provided by the TCB,
- guidelines on their use, and how they interact with one another.
-
- 2.1.4.2 Trusted Facility Manual
-
- A manual addressed to the ADP System Administrator shall
- present cautions about functions and privileges that should be
- controlled when running a secure facility.
-
- 2.1.4.3 Test Documentation
-
- The system developer shall provide to the evaluators a document
- that describes the test plan, test procedures that show how the
- the security mechanisms were tested, and results of the
- security mechanisms' functional testing.
-
- 2.1.4.4 Design Documentation
-
- Documentation shall be available that provides a description of
- the manufacturer's philosophy of protection and an explanation
- of how this philosophy is translated into the TCB. If the TCB
- is composed of distinct modules, the interfaces between these
- modules shall be described.
-
-
-
-
- 2.2 CLASS (C2): CONTROLLED ACCESS PROTECTION
-
- Systems in this class enforce a more finely grained discretionary access
- control than (C1) systems, making users individually accountable for their
- actions through login procedures, auditing of security-relevant events, and
- resource isolation. The following are minimal requirements for systems
- assigned a class (C2) rating:
-
- 2.2.1 Security Policy
-
- 2.2.1.1 Discretionary Access Control
-
- The TCB shall define and control access between named users and
- named objects (e.g., files and programs) in the ADP system. The
- enforcement mechanism (e.g., self/group/public controls, access
- control lists) shall allow users to specify and control sharing
- of those objects by named individuals, or defined groups of
- individuals, or by both, and shall provide controls to limit
- propagation of access rights. The discretionary access control
- mechanism shall, either by explicit user action or by default,
- provide that objects are protected from unauthorized access.
- These access controls shall be capable of including or excluding
- access to the granularity of a single user. Access permission
- to an object by users not already possessing access permission
- shall only be assigned by authorized users.
-
- 2.2.1.2 Object Reuse
-
- 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. No information, including encrypted
- representations of information, produced by a prior subject's
- actions is to be available to any subject that obtains access
- to an object that has been released back to the system.
-
- 2.2.2 Accountability
-
- 2.2.2.1 Identification and Authentication
-
- The TCB shall require users to identify themselves to it before
- beginning to perform any other actions that the TCB is expected
- to mediate. Furthermore, the TCB shall use a protected
- mechanism (e.g., passwords) to authenticate the user's identity.
- The TCB shall protect authentication data so that it cannot be
- accessed by any unauthorized user. The TCB shall be able to
- enforce individual accountability by providing the capability to
- uniquely identify each individual ADP system user. The TCB
- shall also provide the capability of associating this identity
- with all auditable actions taken by that individual.
-
- 2.2.2.2 Audit
-
- 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 be able to record the following types of events: use of
- identification and authentication mechanisms, introduction or
- objects into a user's address space (e.g., file open, program
- initiation), deletion of objects, and actions taken by
- computer operators and system administrators and/or system
- security officers, and other security relevant events. 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 of the object. The ADP system
- administrator shall be able to selectively audit the actions of
- any one or more users based on individual identity.
-
- 2.2.3 Assurance
-
- 2.2.3.1 Operational Assurance
-
- 2.2.3.1.1 System Architecture
-
- The TCB shall maintain a domain for its own execution
- that protects it from external interference or tampering
- (e.g., by modification of its code or data structures).
- Resources controlled by the TCB may be a defined subset
- of the subjects and objects in the ADP system. The TCB
- shall isolate the resources to be protected so that they
- are subject to the access control and auditing
- requirements.
-
- 2.2.3.1.2 System Integrity
-
- 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.
-
- 2.2.3.2 Life-Cycle Assurance
-
- 2.2.3.2.1 Security Testing
-
- The security mechanisms of the ADP system shall be tested
- and found to work as claimed in the system documentation.
- Testing shall be done to assure that there are no obvious
- ways for an unauthorized user to bypass or otherwise
- defeat the security protection mechanisms of the TCB.
- Testing shall also include a search for obvious flaws that
- would allow violation of resource isolation, or that would
- permit unauthorized access to the audit or authentication
- data. (See the Security Testing guidelines.)
-
- 2.2.4 Documentation
-
- 2.2.4.1 Security Features User's Guide
-
- A single summary, chapter, or manual in user documentation
- shall describe the protection mechanisms provided by the TCB,
- guidelines on their use, and how they interact with one another.
-
- 2.2.4.2 Trusted Facility Manual
-
- A manual addressed to the ADP system administrator shall
- present cautions about functions and privileges that should be
- controlled when running a secure facility. The procedures for
- examining and maintaining the audit files as well as the
- detailed audit record structure for each type of audit event
- shall be given.
-
-
- 2.2.4.3 Test Documentation
-
- The system developer shall provide to the evaluators a document
- that describes the test plan, test procedures that show how the
- security mechanisms were tested, and results of the security
- mechanisms' functional testing.
-
- 2.2.4.4 Design Documentation
-
- Documentation shall be available that provides a description of
- the manufacturer's philosophy of protection and an explanation
- of how this philosophy is translated into the TCB. If the TCB
- is composed of distinct modules, the interfaces between these
- modules shall be described.
-
-
-
- 3.0 DIVISION B: MANDATORY PROTECTION
-
-
- The notion of a TCB that preserves the integrity of sensitivity labels and
- uses them to enforce a set of mandatory access control rules is a major
- requirement in this division. Systems in this division must carry the
- sensitivity labels with major data structures in the system. The system
- developer also provides the security policy model on which the TCB is based
- and furnishes a specification of the TCB. Evidence must be provided to
- demonstrate that the reference monitor concept has been implemented.
-
-
-
- 3.1 CLASS (B1): LABELED SECURITY PROTECTION
-
- Class (B1) systems require all the features required for class (C2). In
- addition, an informal statement of the security policy model, data labeling,
- and mandatory access control over named subjects and objects must be present.
- The capability must exist for accurately labeling exported information. Any
- flaws identified by testing must be removed. The following are minimal
- requirements for systems assigned a class (B1) rating:
-
- 3.1.1 Security Policy
-
- 3.1.1.1 Discretionary Access Control
-
- The TCB shall define and control access between named users and
- named objects (e.g., files and programs) in the ADP system.
- The enforcement mechanism (e.g., self/group/public controls,
- access control lists) shall allow users to specify and control
- sharing of those objects by named individuals, or defined groups
- of individuals, or by both, and shall provide controls to limit
- propagation of access rights. The discretionary access control
- mechanism shall, either by explicit user action or by default,
- provide that objects are protected from unauthorized access.
- These access controls shall be capable of including or excluding
- access to the granularity of a single user. Access permission
- to an object by users not already possessing access permission
- shall only be assigned by authorized users.
-
- 3.1.1.2 Object Reuse
-
- 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. No information, including encrypted
- representations of information, produced by a prior subject's
- actions is to be available to any subject that obtains access
- to an object that has been released back to the system.
-
- 3.1.1.3 Labels
-
- Sensitivity labels associated with each subject and storage
- object under its control (e.g., process, file, segment, device)
- shall be maintained by the TCB. These labels shall be used as
- the basis for mandatory access control decisions. 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.
-
- 3.1.1.3.1 Label Integrity
-
- Sensitivity labels shall accurately represent security
- levels of the specific subjects or objects with which they
- are associated. When exported by the TCB, sensitivity
- labels shall accurately and unambiguously represent the
- internal labels and shall be associated with the
- information being exported.
-
- 3.1.1.3.2 Exportation of Labeled Information
-
- The TCB shall designate each communication channel and
- I/O device as either single-level or miltilevel. 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.
-
- 3.1.1.3.2.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.
-
- 3.1.1.3.2.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.1.1.3.2.3 Labeling Human-Readable Output
-
- The ADP 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, be 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 touput. Any
- override of these marking defaults shall be
- auditable by the TCB.
-
- 3.1.1.4 Mandatory Access Control
-
- The TCB shall enforce a mandatory access control policy over
- all subjects and storage objects under its control (e.g.,
- processes, files, segments, devices). These 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.
- (See the Mandatory Access Control Guidelines.) The following
- requirements shall hold for all accesses between 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. Identification
- and authentication data shall be used by the TCB to authenti-
- cate the user's identity and to ensure that the security level
- and authorization 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.1.2 Accountability
-
- 3.1.2.1 Identification and Authentication
-
- The TCB shall require users to identify themselves to it before
- beginning to perform any other actions that the TCB is expected
- to mediate. Furthermore, 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 authorizations or individual
- _____________________________
- * The hierarchical classification component in human-readable sensitivity
- labels shall be equal to the greatest hierarchical classification or any of the
- information in the output that the labels refer to; the non-hierarchical
- category component shall include all of the non-hierarchical categories of the
- information in the output the labels refer to, but no other non-hierarchical
- categories.
-
- users. This data shall be used by the TCB to authenticate the
- user's identity and to ensure that the 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. The TCB shall
- protect authentication data so that it cannot be accessed by any
- unauthorized user. The TCB shall be able to enforce individual
- accountability by providing the capability to uniquely identify
- each individual ADP system user. The TCB shall also provide the
- capability of associating this identity with all auditable
- actions taken by that individual.
-
- 3.1.2.2 Audit
-
- 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 be able to record the following types of events: use of
- identification and authentication mechanisms, introduction of
- objects into a user's address space (e.g., file open, program
- initiation), deletion of objects, and actions taken by computer
- operators and system administrators and/or system security
- officers and other security relevant events. The TCB shall also
- be able to audit any override of human-readable output markings.
- 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 of the object and the object's
- security level. The ADP system administrator shall be able to
- selectively audit the actions of any one or more users based on
- individual identity and/or object security level.
-
- 3.1.3 Assurance
-
- 3.1.3.1 Operational Assurance
-
- 3.1.3.1.1 System Architecture
-
- The TCB shall maintain a domain for its own execution
- that protects it from external interference or tampering
- (e.g., by modification of its code or data structures).
- Resources controlled by the TCB may be a defined subset
- of the subjects and objects in the ADP system. The TCB
- shall maintain process isolation through the provision of
- distinct address spaces under its control. The TCB shall
- isolate the resources to be protected so that they are
- subject to the access control and auditing requirements.
-
- 3.1.3.1.2 System Integrity
-
- 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.
-
- 3.1.3.2 Life-Cycle Assurance
-
- 3.1.3.2.1 Security Testing
-
- The security mechanisms of the ADP system shall be tested
- and found to work as claimed in the system documentation.
- A team of individuals who thoroughly understand the
- specific implementation of the TCB shall subject its
- design documentation, source code, and object code to
- thorough analysis and testing. Their objectives shall be:
- to uncover all design and implementation flaws that would
- permit a subject external to the TCB to read, change, or
- delete data normally denied under the mandatory or
- discretionary security policy enforced by the TCB; as well
- as to assure that no subject (without authorization to do
- so) is able to cause the TCB to enter a state such that
- it is unable to respond to communications initiated by
- other users. All discovered flaws shall be removed or
- neutralized and the TCB retested to demonstrate that they
- have been eliminated and that new flaws have not been
- introduced. (See the Security Testing Guidelines.)
-
- 3.1.3.2.2 Design Specification and Verification
-
- An informal or formal model of the security policy
- supported by the TCB shall be maintained over the life
- cycle of the ADP system and demonstrated to be consistent
- with its axioms.
-
- 3.1.4 Documentation
-
- 3.1.4.1 Security Features User's Guide
-
- A single summary, chapter, or manual in user documentation
- shall describe the protection mechanisms provided by the TCB,
- guidelines on their use, and how they interact with one another.
-
- 3.1.4.2 Trusted Facility Manual
-
- A manual addressed to the ADP system administrator shall
- present cautions about functions and privileges that should be
- controlled when running a secure facility. The procedures for
- examining and maintaining the audit files as well as the
- detailed audit record structure for each type of audit event
- shall be given. The manual shall describe the operator and
- administrator functions related to security, to include changing
- the security characteristics of a user. It shall provide
- guidelines on the consistent and effective use of the protection
- features of the system, how they interact, how to securely
- generate a new TCB, and facility procedures, warnings, and
- privileges that need to be controlled in order to operate the
- facility in a secure manner.
-
- 3.1.4.3 Test Documentation
-
- The system developer shall provide to the evaluators a document
- that describes the test plan, test procedures that show how the
- security mechanisms were tested, and results of the security
- mechanisms' functional testing.
-
- 3.1.4.4 Design Documentation
-
- Documentation shall be available that provides a description of
- the manufacturer's philosophy of protection and an explanation
- of how this philosophy is translated into the TCB. If the TCB
- is composed of distinct modules, the interfaces between these
- modules shall be described. An informal or formal description
- of the security policy model enforced by the TCB shall be
- available and an explanation provided to show that it is
- sufficient to enforce the security policy. The specific TCB
- protection mechanisms shall be identified and an explanation
- given to show that they satisfy the model.
-
-
- 3.2 CLASS (B2): STRUCTURED PROTECTION
-
- In class (B2) systems, the TCB is based on a clearly defined and documented
- formal security policy model that requires the discretionary and mandatory
- access control enforcement found in class (B1) systems be extended to all
- subjects and objects in the ADP system. In addition, covert channels are
- addressed. The TCB must be carefully structured into protection-critical and
- non- protection-critical elements. The TCB interface is well-defined and the
- TCB design and implementation enable it to be subjected to more thorough
- testing and more complete review. Authentication mechanisms are strengthened,
- trusted facility management is provided in the form of support for system
- administrator and operator functions, and stringent configuration management
- controls are imposed. The system is relatively resistant to penetration. The
- following are minimal requirements for systems assigned a class (B2) rating:
-
- 3.2.1 Security Policy
-
- 3.2.1.1 Discretionary Access Control
-
- The TCB shall define and control access between named users and
- named objects (e.g., files and programs) in the ADP system.
- The enforcement mechanism (e.g., self/group/public controls,
- access control lists) shall allow users to specify and control
- sharing of those objects by named individuals, or defined
- groups of individuals, or by both, and shall provide controls
- to limit propagation of access rights. The discretionary access
- control mechanism shall, either by explicit user action or by
- default, provide that objects are protected from unauthorized
- access. These access controls shall be capable of including
- or excluding access to the granularity of a single user.
- Access permission to an object by users not already possessing
- access permission shall only be assigned by authorized users.
-
- 3.2.1.2 Object Reuse
-
- 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. No information, including encrypted
- representations of information, produced by a prior subject's
- actions is to be available to any subject that obtains access
- to an object that has been released back to the system.
-
- 3.2.1.3 Labels
-
- Sensitivity labels associated with each ADP system resource
- (e.g., subject, storage object, ROM) that is directly or
- indirectly accessible by subjects external to the TCB shall be
- maintained by the TCB. These labels shall be used as the basis
- for mandatory access control decisions. 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.
-
- 3.2.1.3.1 Label Integrity
-
- Sensitivity labels shall accurately represent security
- levels of the specific subjects or objects with which
- they are associated. When exported by the TCB,
- sensitivity labels shall accurately and unambiguously
- represent the internal labels and shall be associated
- with the information being exported.
-
- 3.2.1.3.2 Exportation 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.
-
- 3.2.1.3.2.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.
-
- 3.2.1.3.2.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.2.1.3.2.3 Labeling Human-Readable Output
-
- The ADP 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.
-
- 3.2.1.3.3 Subject Sensitivity Labels
-
- 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.
-
- 3.2.1.3.4 Device Labels
-
- 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.
-
- 3.2.1.4 Mandatory Access Control
-
- 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. These 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. (See the Mandatory Access Control guidelines.)
- 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. Identification and
- authentication data shall be used by the TCB to authenticate
- the user's identity and to ensure that the security level and
- authorization 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.2.2 Accountability
-
- 3.2.2.1 Identification and Authentication
-
- The TCB shall require users to identify themselves to it before
- beginning to perform any other actions that the TCB is expected
- to mediate. Furthermore, 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 authorizations of individual
- users. This data shall be used by the TCB to authenticate the
- user's identity and to ensure that the 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. The TCB shall
- protect authentication data so that it cannot be accessed by any
- unauthorized user. The TCB shall be able to enforce individual
- accountability by providing the capability to uniquely identify
- each individual ADP system user. The TCB shall also provide the
- capability of associating this identity with all auditable
- actions taken by that individual.
-
- 3.2.2.1.1 Trusted Path
-
- The TCB shall support a trusted communication path
- between itself and user for initial login and
- authentication. Communications via this path shall be
- initiated exclusively by a user.
-
- 3.2.2.2 Audit
-
- 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 be able to record the following types of events: use of
- identification and authentication mechanisms, introduction of
- objects into a user's address space (e.g., file open, program
- initiation), deletion of objects, and actions taken by computer
- operators and system administrators and/or system security
- officers, and other security relevant events. The TCB shall
- also be able to audit any override of human-readable output
- markings. 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 of the
- object and the object's security level. The ADP system
- administrator shall be able to selectively audit the actions of
- any one or more users based on individual identity and/or object
- security level. The TCB shall be able to audit the identified
- events that may be used in the exploitation of covert storage
- channels.
-
- 3.2.3 Assurance
-
- 3.2.3.1 Operational Assurance
-
- 3.2.3.1.1 System Architecture
-
- The TCB shall maintain a domain for its own execution
- that protects it from external interference or tampering
- (e.g., by modification of its code or data structures).
- The TCB shall maintain process isolation through the
- provision of distinct address spaces under its control.
- The TCB shall be internally structured into well-defined
- largely independent modules. It shall make effective use
- of available hardware to separate those elements that are
- protection-critical from those that are not. The TCB
- modules shall be designed such that the principle of least
- privilege is enforced. Features in hardware, such as
- segmentation, shall be used to support logically distinct
- storage objects with separate attributes (namely:
- readable, writeable). The user interface to the TCB
- shall be completely defined and all elements of the TCB
- identified.
-
- 3.2.3.1.2 System Integrity
-
- 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.
-
- 3.2.3.1.3 Covert Channel Analysis
-
- The system developer shall conduct a thorough search for
- covert storage channels and make a determination (either
- by actual measurement or by engineering estimation) of
- the maximum bandwidth of each identified channel. (See
- the covert channels guideline section.)
-
- 3.2.3.1.4 Trusted Facility Management
-
- The TCB shall support separate operator and administrator
- functions.
-
- 3.2.3.2 Life-Cycle Assurance
-
- 3.2.3.2.1 Security Testing
-
- The security mechanisms of the ADP system shall be tested
- and found to work as claimed in the system documentation.
- A team of individuals who thoroughly understand the
- specific implementation of the TCB shall subject its
- design documentation, source code, and object code to
- thorough analysis and testing. Their objectives shall be:
- to uncover all design and implementation flaws that would
- permit a subject external to the TCB to read, change, or
- delete data normally denied under the mandatory or
- discretionary security policy enforced by the TCB; as well
- as to assure that no subject (without authorization to do
- so) is able to cause the TCB to enter a state such that it
- is unable to respond to communications initiated by other
- users. The TCB shall be found relatively resistant to
- penetration. All discovered flaws shall be corrected and
- the TCB retested to demonstrate that they have been
- eliminated and that new flaws have not been introduced.
- Testing shall demonstrate that the TCB implementation is
- consistent with the descriptive top-level specification.
- (See the Security Testing Guidelines.)
-
- 3.2.3.2.2 Design Specification and Verification
-
- A formal model of the security policy supported by the
- TCB shall be maintained over the life cycle of the ADP
- system that is proven consistent with its axioms. A
- descriptive top-level specification (DTLS) of the TCB
- shall be maintained that completely and accurately
- describes the TCB in terms of exceptions, error messages,
- and effects. It shall be shown to be an accurate
- description of the TCB interface.
-
- 3.2.3.2.3 Configuration Management
-
- During development and maintenance of the TCB, a
- configuration management system shall be in place that
- maintains control of changes to the descriptive top-level
- specification, other design data, implementation
- documentation, source code, the running versionof the
- object code, and test fixtures and documentation. The
- configuration management system shall assure a consistent
- mapping among all documentation and code associated with
- the current version of the TCB. Tools shall be provided
- for generation of a new version of the TCB from source
- code. Also available shall be tools for comparing a
- newly generated version with the previous TCB version in
- order 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.
-
- 3.2.4 Documentation
-
- 3.2.4.1 Security Features User's Guide
-
- A single summary, chapter, or manual in user documentation
- shall describe the protection mechanisms provided by the TCB,
- guidelines on their use, and how they interact with one another.
-
- 3.2.4.2 Trusted Facility Manual
-
- A manual addressed to the ADP system administrator shall
- present cautions about functions and privileges that should be
- controlled when running a secure facility. The procedures for
- examining and maintaining the audit files as well as the
- detailed audit record structure for each type of audit event
- shall be given. The manual shall describe the operator and
- administrator functions related to security, to include
- changing the security characteristics of a user. It shall
- provide guidelines on the consistent and effective use of the
- protection features of the system, how they interact, how to
- securely generate a new TCB, and facility procedures, warnings,
- and privileges that need to be controlled in order to operate
- the facility in a secure manner. The TCB modules that contain
- the reference validation mechanism shall be identified. The
- procedures for secure generation of a new TCB from source after
- modification of any modules in the TCB shall be described.
-
- 3.2.4.3 Test Documentation
-
- The system developer shall provide to the evaluators a document
- that describes the test plan, test procedures that show how the
- security mechanisms were tested, and results of the security
- mechanisms' functional testing. It shall include results of
- testing the effectiveness of the methods used to reduce covert
- channel bandwidths.
-
- 3.2.4.4 Design Documentation
-
- Documentation shall be available that provides a description of
- the manufacturer's philosophy of protection and an explanation
- of how this philosophy is translated into the TCB. The
- interfaces between the TCB modules shall be described. A
- formal description of the security policy model enforced by the
- TCB shall be available and proven that it is sufficient to
- enforce the security policy. The specific TCB protection
- mechanisms shall be identified and an explanation given to show
- that they satisfy the model. The descriptive top-level
- specification (DTLS) shall be shown to be an accurate
- description of the TCB interface. Documentation shall describe
- how the TCB implements the reference monitor concept and give
- an explanation why it is tamper resistant, cannot be bypassed,
- and is correctly implemented. Documentation shall describe how
- the TCB is structured to facilitate testing and to enforce least
- privilege. This documentation shall also present the results
- of the covert channel analysis and the tradeoffs involved in
- restricting the channels. All auditable events that may be
- used in the exploitation of known covert storage channels shall
- be identified. The bandwidths of known covert storage channels
- the use of which is not detectable by the auditing mechanisms,
- shall be provided. (See the Covert Channel Guideline section.)
-
-
- 3.3 CLASS (B3): SECURITY DOMAINS
-
- The class (B3) TCB must satisfy the reference monitor requirements that it
- mediate all accesses of subjects to objects, be tamperproof, and be small
- enough to be subjected to analysis and tests. To this end, the TCB is
- structured to exclude code not essential to security policy enforcement, with
- significant system engineering during TCB design and implementation directed
- toward minimizing its complexity. A security administrator is supported,
- audit mechanisms are expanded to signal security- relevant events, and system
- recovery procedures are required. The system is highly resistant to
- penetration. The following are minimal requirements for systems assigned a
- class (B3) rating:
-
- 3.1.1 Security Policy
-
- 3.3.1.1 Discretionary Access Control
-
- The TCB shall define and control access between named users and
- named objects (e.g., files and programs) in the ADP system.
- The enforcement mechanism (e.g., access control lists) shall
- allow users to specify and control sharing of those objects,
- and shall provide controls to limit propagation of access
- rights. The discretionary access control mechanism shall,
- either by explicit user action or by default, provide that
- objects are protected from unauthorized access. These access
- controls shall be capable of specifying, for each named object,
- a list of named individuals and a list of groups of named
- individuals with their respective modes of access to that
- object. Furthermore, for each such 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
- to be given. Access permission to an object by users not
- already possessing access permission shall only be assigned by
- authorized users.
-
- 3.3.1.2 Object Reuse
-
- 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. No information, including
- encrypted representations of information, produced by a prior
- subjects actions is to be available to any subject that obtains
- access to an object that has been released back to the system.
-
- 3.3.1.3 Labels
-
- Sensitivity labels associated with each ADP system resource
- (e.g., subject, storage object, ROM) that is directly or
- indirectly accessible by subjects external to the TCB shall be
- maintained by the TCB. These labels shall be used as the basis
- for mandatory access control decisions. 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.
-
- 3.3.1.3.1 Label Integrity
-
- Sensitivity labels shall accurately represent security
- levels of the specific subjects or objects with which
- they are associated. When exported by the TCB,
- sensitivity labels shall accurately and unambiguously
- represent the internal labels and shall be associated
- with the information being exported.
-
- 3.3.1.3.2 Exportation 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.
-
- 3.3.1.3.2.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.
-
- 3.3.1.3.2.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.3.1.3.2.3 Labeling Human-Readable Output
-
- The ADP 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.
-
- 3.3.1.3.3 Subject Sensitivity Labels
-
- 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.
-
- 3.3.1.3.4 Device Labels
-
- 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.
-
- 3.3.1.4 Mandatory Access Control
-
- 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. These 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. (See the Mandatory
- ______________________________
- * The hierarchical classification component in human-readable sensitivity
- labels shall be equal to the greatest hierarchical classification of any of the
- information in the output that the labels refer to; the non-hierarchical
- category component shall include all of the non-hierarchical categories of the
- information in the output the labels refer to, but no other non-hierarchical
- categories.
-
- Access Control guidelines.) 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. Identification and authentication
- data shall be used by the TCB to authenticate the user's
- identity and to ensure that the security level and authori-
- zation 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.3.2 Accountability
-
- 3.3.2.1 Identification and Authentication
-
- The TCB shall require users to identify themselves to it before
- beginning to perform any other actions that the TCB is expected
- to mediate. Furthermore, 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 authorizations of individual
- users. This data shall be used by the TCB to authenticate the
- user's identity and to ensure that the security level and
- authorizations of subjectsexternal 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. The TCB shall
- protect authentication data so that it cannot be accessed by any
- unauthorized user. The TCB shall be able to enforce individual
- accountability by providing the capability to uniquely identify
- each individual ADP system user. The TCB shall also provide the
- capability of associating this identity with all auditable
- actions taken by that individual.
-
- 3.3.2.1.1 Trusted Path
-
- The TCB shall support a trusted communication path
- between itself and users for use when a positive TCB-to-
- user connection is required (e.g., login, change subject
- security level). Communications via this trusted path
- shall be activated exclusively by a user of the TCB and
- shall be logically isolated and unmistakably
- distinguishable from other paths.
-
- 3.3.2.2 Audit
-
- 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 be able to record the following types of events: use of
- identification and authentication mechanisms, introduction of
- objects into a user's address space (e.g., file open, program
- initiation), deletion of objects, and actions taken by computer
- operators and system administrators and/or system security
- officers and other security relevant events. The TCB shall also
- be able to audit any override of human-readable output markings.
- 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 of the object and the object's
- security level. The ADP system administrator shall be able to
- selectively audit the actions of any one or more users based on
- individual identity and/or object security level. The TCB shall
- be able to audit the identified events that may be used in the
- exploitation of covert storage channels. The TCB shall contain
- a mechanism that is able to monitor the occurrence or
- accumulation of security auditable events that may indicate an
- imminent violation of 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.
-
- 3.3.3 Assurance
-
- 3.3.3.1 Operational Assurance
-
- 3.3.3.1.1 System Architecture
-
- The TCB shall maintain a domain for its own execution
- that protects it from external interference or tampering
- (e.g., by modification of its code or data structures).
- The TCB shall maintain process isolation through the
- provision of distinct address spaces under its control.
- The TCB shall be internally structured into well-defined
- largely independent modules. It shall make effective use
- of available hardware to separate those elements that are
- protection-critical from those that are not. The TCB
- modules shall be designed such that the principle of
- least privilege is enforced. Features in hardware, such
- as segmentation, shall be used to support logically
- distinct storage objects with separate attributes (namely:
- readable, writeable). The user interface to the TCB shall
- be completely defined and all elements of the TCB
- identified. The TCB shall be designed and structured to
- use 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 system. The TCB shall incorporate
- significant use of layering, abstraction and data hiding.
- Significant system engineering shall be directed toward
- minimizing the complexity of the TCB and excluding from
- the TCB modules that are not protection-critical.
-
- 3.3.3.1.2 System Integrity
-
- 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.
-
- 3.3.3.1.3 Covert Channel Analysis
-
- The system developer shall conduct a thorough search for
- covert channels and make a determination (either by
- actual measurement or by engineering estimation) of the
- maximum bandwidth of each identified channel. (See the
- Covert Channels Guideline section.)
-
- 3.3.3.1.4 Trusted Facility Management
-
- The TCB shall support separate operator and administrator
- functions. The functions performed in the role of a
- security administrator shall be identified. The ADP
- system administrative personnel shall only be able to
- perform security administrator functions after taking a
- distinct auditable action to assume the security
- administrator role on the ADP system. Non-security
- functions that can be performed in the security
- administration role shall be limited strictly to those
- essential to performing the security role effectively.
-
- 3.3.3.1.5 Trusted Recovery
-
- Procedures and/or mechanisms shall be provided to assure
- that, after an ADP system failure or other discontinuity,
- recovery without a protection compromise is obtained.
-
- 3.3.3.2 Life-Cycle Assurance
-
- 3.3.3.2.1 Security Testing
-
- The security mechanisms of the ADP system shall be tested
- and found to work as claimed in the system documentation.
- A team of individuals who thoroughly understand the
- specific implementation of the TCB shall subject its
- design documentation, source code, and object code to
- thorough analysis and testing. Their objectives shall
- be: to uncover all design and implementation flaws that
- would permit a subject external to the TCB to read,
- change, or delete data normally denied under the
- mandatory or discretionary security policy enforced by
- the TCB; as well as to assure that no subject (without
- authorization to do so) is able to cause the TCB to enter
- a state such that it is unable to respond to
- communications initiated by other users. The TCB shall
- be found resistant to penetration. All discovered flaws
- shall be corrected and the TCB retested to demonstrate
- that they have been eliminated and that new flaws have
- not been introduced. Testing shall demonstrate that the
- TCB implementation is consistent with the descriptive
- top-level specification. (See the Security Testing
- Guidelines.) 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.
-
- 3.3.3.2.2 Design Specification and Verification
-
- A formal model of the security policy supported by the
- TCB shall be maintained over the life cycle of the ADP
- system that is proven consistent with its axioms. A
- descriptive top-level specification (DTLS) of the TCB
- shall be maintained that completely and accurately
- describes the TCB in terms of exceptions, error messages,
- and effects. It shall be shown to be an accurate
- description of the TCB interface. A convincing argument
- shall be given that the DTLS is consistent with the model.
-
- 3.3.3.2.3 Configuration Management
-
- During development and maintenance of the TCB, a
- configuration management system shall be in place that
- maintains control of changes to the descriptive top-level
- specification, other design data, implementation
- documentation, source code, the running version of the
- object code, and test fixtures and documentation. The
- configuration management system shall assure a consistent
- mapping among all documentation and code associated with
- the current version of the TCB. Tools shall be provided
- for generation of a new version of the TCB from source
- code. Also available shall be tools for comparing a
- newly generated version with the previous TCB version in
- order 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.
-
- 3.3.4 Documentation
-
- 3.3.4.1 Security Features User's Guide
-
- A single summary, chapter, or manual in user documentation
- shall describe the protection mechanisms provided by the TCB,
- guidelines on their use, and how they interact with one another.
-
- 3.3.4.2 Trusted Facility Manual
-
- A manual addressed to the ADP system administrator shall
- present cautions about functions and privileges that should be
- controlled when running a secure facility. The procedures for
- examining and maintaining the audit files as well as the
- detailed audit record structure for each type of audit event
- shall be given. The manual shall describe the operator and
- administrator functions related to security, to include
- changing the security characteristics of a user. It shall
- provide guidelines on the consistent and effective use of the
- protection features of the system, how they interact, how to
- securely generate a new TCB, and facility procedures, warnings,
- and privileges that need to be controlled in order to operate
- the facility in a secure manner. The TCB modules that contain
- the reference validation mechanism shall be identified. The
- procedures for secure generation of a new TCB from source after
- modification of any modules in the TCB shall be described. It
- shall include the procedures to ensure that the system is
- initially started in a secure manner. Procedures shall also be
- included to resume secure system operation after any lapse in
- system operation.
-
- 3.3.4.3 Test Documentation
-
- The system developer shall provide to the evaluators a document
- that describes the test plan, test procedures that show how the
- security mechanisms were tested, and results of the security
- mechanisms' functional testing. It shall include results of
- testing the effectiveness of the methods used to reduce covert
- channel bandwidths.
-
- 3.3.4.4 Design Documentation
-
- Documentation shall be available that provides a description of
- the manufacturer's philosophy of protection and an explanation
- of how this philosophy is translated into the TCB. The
- interfaces between the TCB modules shall be described. A
- formal description of the security policy model enforced by the
- TCB shall be available and proven that it is sufficient to
- enforce the security policy. The specific TCB protection
- mechanisms shall be identified and an explanation given to show
- that they satisfy the model. The descriptive top-level
- specification (DTLS) shall be shown to be an accurate
- description of the TCB interface. Documentation shall describe
- how the TCB implements the reference monitor concept and give
- an explanation why it is tamper resistant, cannot be bypassed,
- and is correctly implemented. The TCB implementation (i.e., in
- hardware, firmware, and software) shall be informally shown to
- be consistent with the DTLS. The elements of the DTLS shall be
- shown, using informal techniques, to correspond to the elements
- of the TCB. Documentation shall describe how the TCB is
- structured to facilitate testing and to enforce least privilege.
- This documentation shall also present the results of the covert
- channel analysis and the tradeoffs involved in restricting the
- channels. All auditable events that may be used in the
- exploitation of known covert storage channels shall be
- identified. The bandwidths of known covert storage channels,
- the use of which is not detectable by the auditing mechanisms,
- shall be provided. (See the Covert Channel Guideline section.)
-
-
- 4.0 DIVISION A: VERIFIED PROTECTION
-
- This division is characterized by the use of formal security verification
- methods to assure that the mandatory and discretionary security controls
- employed in the system can effectively protect classified or other sensitive
- information stored or processed by the system. Extensive documentation is
- required to demonstrate that the TCB meets the security requirements in all
- aspects of design, development and implementation.
-
-
-
- 4.1 CLASS (A1): VERIFIED DESIGN
-
- Systems in class (A1) are functionally equivalent to those in class (B3) 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 specification 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 top-level specification (FTLS) of the design.
- Independent of the particular specification language or verification system
- used, there are five important criteria for class (A1) design verification:
-
- * A formal model of the security policy must be clearly
- identified and documented, including a mathematical proof
- that the model is consistent with its axioms and is
- sufficient to support the security policy.
-
- * An FTLS 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.
-
- * The FTLS 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.
-
- * The TCB implementation (i.e., in hardware, firmware, and
- software) must be informally shown to be consistent with the
- FTLS. The elements of the FTLS must be shown, using
- informal techniques, to correspond to the elements of the
- TCB. The FTLS 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.
-
- * 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 systems in class (A1), more stringent configuration management is
- required and procedures are established for securely distributing the system
- to sites. A system security administrator is supported.
-
- The following are minimal requirements for systems assigned a class (A1)
- rating:
-
- 4.1.1 Security Policy
-
- 4.1.1.1 Discretionary Access Control
-
- The TCB shall define and control access between named users and
- named objects (e.g., files and programs) in the ADP system.
- The enforcement mechanism (e.g., access control lists) shall
- allow users to specify and control sharing of those objects,
- and shall provide controls to limit propagation of access
- rights. The discretionary access control mechanism shall,
- either by explicit user action or by default, provide that
- objects are protected from unauthorized access. These access
- controls shall be capable of specifying, for each named object,
- a list of named individuals and a list of groups of named
- individuals with their respective modes of access to that
- object. Furthermore, for each such 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
- to be given. Access permission to an object by users not
- already possessing access permission shall only be assigned by
- authorized users.
-
- 4.1.1.2 Object Reuse
-
- 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. No information, including encrypted
- representations of information, produced by a prior subject's
- actions is to be available to any subject that obtains access
- to an object that has been released back to the system.
-
- 4.1.1.3 Labels
-
- Sensitivity labels associated with each ADP system resource
- (e.g., subject, storage object, ROM) that is directly or
- indirectly accessible by subjects external to the TCB shall be
- maintained by the TCB. These labels shall be used as the basis
- for mandatory access control decisions. 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.
-
- 4.1.1.3.1 Label Integrity
-
- Sensitivity labels shall accurately represent security
- levels of the specific subjects or objects with which
- they are associated. When exported by the TCB,
- sensitivity labels shall accurately and unambiguously
- represent the internal labels and shall be associated
- with the information being exported.
-
- 4.1.1.3.2 Exportation 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.
-
- 4.1.1.3.2.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.
-
- 4.1.1.3.2.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.
-
- 4.1.1.3.2.3 Labeling Human-Readable Output
-
- The ADP 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.
-
- 4.1.1.3.3 Subject Sensitivity Labels
-
- 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.
-
- 4.1.1.3.4 Device Labels
-
- 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.
-
- 4.1.1.4 Mandatory Access Control
-
- 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. These 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. (See the Mandatory
- Access Control guidelines.) 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
- ______________________________
- * The hierarchical classification component in human-readable sensitivity
- labels shall be equal to the greatest hierarchical classification of any of the
- information in the output that the labels refer to; the non-hierarchical
- category component shall include all of the non-hierarchical categories of the
- information in the output the labels refer to, but no other non-hierarchical
- categories.
-
- 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. Identification and authentication
- data shall be used by the TCB to authenticate the user's
- identity and to ensure that the security level and authoriza-
- tion 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.
-
- 4.1.2 Accountability
-
- 4.1.2.1 Identification and Authentication
-
- The TCB shall require users to identify themselves to it before
- beginning to perform any other actions that the TCB is expected
- to mediate. Furthermore, 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 authorizations of individual
- users. This data shall be used by the TCB to authenticate the
- user's identity and to ensure that the 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. The TCB shall
- protect authentication data so that it cannot be accessed by any
- unauthorized user. The TCB shall be able to enforce individual
- accountability by providing the capability to uniquely identify
- each individual ADP system user. The TCB shall also provide the
- capability of associating this identity with all auditable
- actions taken by that individual.
-
- 4.1.2.1.1 Trusted Path
-
- The TCB shall support a trusted communication path
- between itself and users for use when a positive TCB-to-
- user connection is required (e.g., login, change subject
- security level). 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 paths.
-
- 4.1.2.2 Audit
-
- 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 be able to record the following types of events: use of
- identification and authentication mechanisms, introduction of
- objects into a user's address space (e.g., file open, program
- initiation), deletion of objects, and actions taken by computer
- operators and system administrators and/or system security
- officers, and other security relevant events. The TCB shall
- also be able to audit any override of human-readable output
- markings. 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 of the
- object and the object's security level. The ADP system
- administrator shall be able to selectively audit the actions of
- any one or more users based on individual identity and/or object
- security level. The TCB shall be able to audit the identified
- events that may be used in the exploitation of covert storage
- channels. The TCB shall contain a mechanism that is able to
- monitor the occurrence or accumulation of security auditable
- events that may indicate an imminent violation of 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.
-
- 4.1.3 Assurance
-
- 4.1.3.1 Operational Assurance
-
- 4.1.3.1.1 System Architecture
-
- The TCB shall maintain a domain for its own execution
- that protects it from external interference or tampering
- (e.g., by modification of its code or data structures).
- The TCB shall maintain process isolation through the
- provision of distinct address spaces under its control.
- The TCB shall be internally structured into well-defined
- largely independent modules. It shall make effective use
- of available hardware to separate those elements that are
- protection-critical from those that are not. The TCB
- modules shall be designed such that the principle of
- least privilege is enforced. Features in hardware, such
- as segmentation, shall be used to support logically
- distinct storage objects with separate attributes (namely:
- readable, writeable). The user interface to the TCB
- shall be completely defined and all elements of the TCB
- identified. The TCB shall be designed and structured to
- use 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 system. The TCB shall incorporate
- significant use of layering, abstraction and data hiding.
- Significant system engineering shall be directed toward
- minimizing the complexity of the TCB and excluding from
- the TCB modules that are not protection-critical.
-
- 4.1.3.1.2 System Integrity
-
- 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.
-
- 4.1.3.1.3 Covert Channel Analysis
-
- The system developer shall conduct a thorough search for
- covert channels and make a determination (either by
- actual measurement or by engineering estimation) of the
- maximum bandwidth of each identified channel. (See the
- Covert Channels Guideline section.) Formal methods shall
- be used in the analysis.
-
- 4.1.3.1.4 Trusted Facility Management
-
- The TCB shall support separate operator and administrator
- functions. The functions performed in the role of a
- security administrator shall be identified. The ADP
- system administrative personnel shall only be able to
- perform security administrator functions after taking a
- distinct auditable action to assume the security
- administrator role on the ADP system. Non-security
- functions that can be performed in the security
- administration role shall be limited strictly to those
- essential to performing the security role effectively.
-
- 4.1.3.1.5 Trusted Recovery
-
- Procedures and/or mechanisms shall be provided to assure
- that, after an ADP system failure or other discontinuity,
- recovery without a protection compromise is obtained.
-
- 4.1.3.2 Life-Cycle Assurance
-
- 4.1.3.2.1 Security Testing
-
- The security mechanisms of the ADP system shall be tested
- and found to work as claimed in the system documentation.
- A team of individuals who thoroughly understand the
- specific implementation of the TCB shall subject its
- design documentation, source code, and object code to
- thorough analysis and testing. Their objectives shall
- be: to uncover all design and implementation flaws that
- would permit a subject external to the TCB to read,
- change, or delete data normally denied under the
- mandatory or discretionary security policy enforced by
- the TCB; as well as to assure that no subject (without
- authorization to do so) is able to cause the TCB to enter
- a state such that it is unable to respond to
- communications initiated by other users. The TCB shall
- be found resistant to penetration. All discovered flaws
- shall be corrected and the TCB retested to demonstrate
- that they have been eliminated and that new flaws have
- not been introduced. Testing shall demonstrate that the
- TCB implementation is consistent with the formal top-
- level specification. (See the Security Testing
- Guidelines.) 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. Manual or other mapping of the FTLS to the
- source code may form a basis for penetration testing.
-
- 4.1.3.2.2 Design Specification and Verification
-
- A formal model of the security policy supported by the
- TCB shall be maintained over the life-cycle of the ADP
- system that is proven consistent with its axioms. A
- descriptive top-level specification (DTLS) of the TCB
- shall be maintained that completely and accurately
- describes the TCB in terms of exceptions, error messages,
- and effects. A formal top-level specification (FTLS) of
- the TCB shall be maintained that accurately describes the
- TCB in terms of exceptions, error messages, and effects.
- The DTLS and FTLS 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
- FTLS shall be shown to be an accurate description of the
- TCB interface. A convincing argument shall be given that
- the DTLS is consistent with the model and a combination of
- formal and informal techniques shall be used to show that
- the FTLS is consistent with the model. This verification
- evidence shall be consistent with that provided within the
- state-of-the-art of the particular computer security
- center-endorsed formal specification and verification
- system used. Manual or other mapping of the FTLS to the
- TCB source code shall be performed to provide evidence of
- correct implementation.
-
- 4.1.3.2.3 Configuration Management
-
- During the entire life-cycle, i.e., during the design,
- development, and maintenance of the TCB, a configuration
- management system shall be in place for all security-
- relevant hardware, firmware, and software that maintains
- control of changes to the formal model, the descriptive
- and formal top-level specifications, other design data,
- implementation documentation, source code, the running
- version of the object code, and test fixtures and
- documentation. The configuration management system shall
- assure a consistent mapping among all documentation and
- code associated with the current version of the TCB.
- Tools shall be provided for generation of a new version
- of the TCB from source code. Also available shall be
- tools, maintained under strict configuration control, for
- comparing a newly generated version with the previous TCB
- version in order 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. A combination of
- technical, physical, and procedural safeguards shall be
- used to protect from unauthorized modification or
- destruction the master copy or copies of all material
- used to generate the TCB.
-
- 4.1.3.2.4 Trusted Distribution
-
- A trusted ADP system control and distribution facility
- shall be provided for maintaining the integrity of the
- mapping between the master data describing the current
- version of the TCB and the on-site master copy of the
- code for the current version. Procedures (e.g., site
- security acceptance testing) shall exist for assuring
- that the TCb software, firmware, and hardware updates
- distributed to a customer are exactly as specified by
- the master copies.
-
- 4.1.4 Documentation
-
- 4.1.4.1 Security Features User's Guide
-
- A single summary, chapter, or manual in user documentation
- shall describe the protection mechanisms provided by the TCB,
- guidelines on their use, and how they interact with one another.
-
- 4.1.4.2 Trusted Facility Manual
-
- A manual addressed to the ADP system administrator shall
- present cautions about functions and privileges that should be
- controlled when running a secure facility. The procedures for
- examining and maintaining the audit files as well as the
- detailed audit record structure for each type of audit event
- shall be given. The manual shall describe the operator and
- administrator functions related to security, to include
- changing the security characteristics of a user. It shall
- provide guidelines on the consistent and effective use of the
- protection features of the system, how they interact, how to
- securely generate a new TCB, and facility procedures, warnings,
- and privileges that need to be controlled in order to operate
- the facility in a secure manner. The TCB modules that contain
- the reference validation mechanism shall be identified. The
- procedures for secure generation of a new TCB from source after
- modification of any modules in the TCB shall be described. It
- shall include the procedures to ensure that the system is
- initially started in a secure manner. Procedures shall also be
- included to resume secure system operation after any lapse in
- system operation.
-
- 4.1.4.3 Test Documentation
-
- The system developer shall provide to the evaluators a document
- that describes the test plan, test procedures that show how the
- security mechanisms were tested, and results of the security
- mechanisms' functional testing. It shall include results of
- testing the effectiveness of the methods used to reduce covert
- channel bandwidths. The results of the mapping between the
- formal top-level specification and the TCB source code shall be
- given.
-
- 4.1.4.4 Design Documentation
-
- Documentation shall be available that provides a description of
- the manufacturer's philosophy of protection and an explanation
- of how this philosophy is translated into the TCB. The
- interfaces between the TCB modules shall be described. A
- formal description of the security policy model enforced by the
- TCB shall be available and proven that it is sufficient to
- enforce the security policy. The specific TCB protection
- mechanisms shall be identified and an explanation given to show
- that they satisfy the model. The descriptive top-level speci-
- fication (DTLS) shall be shown to be an accurate description of
- the TCB interface. Documentation shall describe how the TCB
- implements the reference monitor concept and give an explana-
- tion why it is tamper resistant, cannot be bypassed, and
- is correctly implemented. The TCB implementation (i.e., in
- hardware, firmware, and software) shall be informally shown to
- be consistent with the formal top-level specification (FTLS).
- The elements of the FTLS shall be shown, using informal
- techniques, to correspond to the elements of the TCB.
- Documentation shall describe how the TCB is structured to
- facilitate testing and to enforce least privilege. This
- documentation shall also present the results of the covert
- channel analysis and the tradeoffs involved in restricting the
- channels. All auditable events that may be used in the
- exploitation of known covert storage channels shall be
- identified. The bandwidths of known covert storage channels,
- the use of which is not detectable by the auditing mechanisms,
- shall be provided. (See the Covert Channel Guideline section.)
- Hardware, firmware, and software mechanisms not dealt with in
- the FTLS but strictly internal to the TCB (e.g., mapping
- registers, direct memory access I/O) shall be clearly described.
-
-
- 4.2 BEYOND CLASS (A1)
-
- Most of the security enhancements envisioned for systems that will provide
- features and assurance in addition to that already provided by class (Al)
- systems are beyond current technology. The discussion below is intended to
- guide future work and is derived from research and development activities
- already underway in both the public and private sectors. As more and better
- analysis techniques are developed, the requirements for these systems will
- become more explicit. In the future, use of formal verification will be
- extended to the source level and covert timing channels will be more fully
- addressed. At this level the design environment will become important and
- testing will be aided by analysis of the formal top-level specification.
- Consideration will be given to the correctness of the tools used in TCB
- development (e.g., compilers, assemblers, loaders) and to the correct
- functioning of the hardware/firmware on which the TCB will run. Areas to be
- addressed by systems beyond class (A1) include:
-
- * System Architecture
-
- A demonstration (formal or otherwise) must be given showing
- that requirements of self-protection and completeness for
- reference monitors have been implemented in the TCB.
-
- * Security Testing
-
- Although beyond the current state-of-the-art, it is
- envisioned that some test-case generation will be done
- automatically from the formal top-level specification or
- formal lower-level specifications.
-
- * Formal Specification and Verification
-
- The TCB must be verified down to the source code level,
- using formal verification methods where feasible. Formal
- verification of the source code of the security-relevant
- portions of an operating system has proven to be a difficult
- task. Two important considerations are the choice of a
- high-level language whose semantics can be fully and
- formally expressed, and a careful mapping, through
- successive stages, of the abstract formal design to a
- formalization of the implementation in low-level
- specifications. Experience has shown that only when the
- lowest level specifications closely correspond to the actual
- code can code proofs be successfully accomplished.
-
- * Trusted Design Environment
-
- The TCB must be designed in a trusted facility with only
- trusted (cleared) personnel.
-
-
-
-
-
- PART II:
-
- RATIONALE AND GUIDELINES
-
-
-
- 5.0 CONTROL OBJECTIVES FOR TRUSTED COMPUTER SYSTEMS
-
- The criteria are divided within each class into groups of requirements. These
- groupings were developed to assure that three basic control objectives for
- computer security are satisfied and not overlooked. These control objectives
- deal with:
-
- * Security Policy
- * Accountability
- * Assurance
-
- This section provides a discussion of these general control objectives and
- their implication in terms of designing trusted systems.
-
-
- 5.1 A NEED FOR CONSENSUS
-
- A major goal of the DoD Computer Security Center is to encourage the Computer
- Industry to develop trusted computer systems and products, making them widely
- available in the commercial market place. Achievement of this goal will
- require recognition and articulation by both the public and private sectors of
- a need and demand for such products.
-
- As described in the introduction to this document, efforts to define the
- problems and develop solutions associated with processing nationally sensitive
- information, as well as other sensitive data such as financial, medical, and
- personnel information used by the National Security Establishment, have been
- underway for a number of years. The criteria, as described in Part I,
- represent the culmination of these efforts and describe basic requirements for
- building trusted computer systems. To date, however, these systems have been
- viewed by many as only satisfying National Security needs. As long as this
- perception continues the consensus needed to motivate manufacture of trusted
- systems will be lacking.
-
- The purpose of this section is to describe in detail the fundamental control
- objectives. These objectives lay the foundation for the requirements outlined
- in the criteria. The goal is to explain the foundations so that those outside
- the National Security Establishment can assess their universality and, by
- extension, the universal applicability of the criteria requirements to
- processing all types of sensitive applications whether they be for National
- Security or the private sector.
-
-
- 5.2 DEFINITION AND USEFULNESS
-
- The term "control objective" refers to a statement of intent with respect to
- control over some aspect of an organization's resources, or processes, or
- both. In terms of a computer system, control objectives provide a framework
- for developing a strategy for fulfilling a set of security requirements for
- any given system. Developed in response to generic vulnerabilities, such as
- the need to manage and handle sensitive data in order to prevent compromise,
- or the need to provide accountability in order to detect fraud, control
- objectives have been identified as a useful method of expressing security
- goals.[3]
-
- Examples of control objectives include the three basic design requirements for
- implementing the reference monitor concept discussed in Section 6. They are:
-
- * The reference validation mechanism must be tamperproof.
-
- * The reference validation mechanism must always be invoked.
-
- * The reference validation mechanism must be small enough to be
- subjected to analysis and tests, the completeness of which can
- be assured.[1]
-
-
- 5.3 CRITERIA CONTROL OBJECTIVES
-
- The three basic control objectives of the criteria are concerned with security
- policy, accountability, and assurance. The remainder of this section provides
- a discussion of these basic requirements.
-
- 5.3.1 Security Policy
-
- In the most general sense, computer security is concerned with
- controlling the way in which a computer can be used, i.e.,
- controlling how information processed by it can be accessed and
- manipulated. However, at closer examination, computer security
- can refer to a number of areas. Symptomatic of this, FIPS PUB 39,
- Glossary For Computer Systems Security, does not have a unique
- definition for computer security.[16] Instead there are eleven
- separate definitions for security which include: ADP systems
- security, administrative security, data security, etc. A common
- thread running through these definitions is the word "protection."
- Further declarations of protection requirements can be found in
- DoD Directive 5200.28 which describes an acceptable level of
- protection for classified data to be one that will "assure that
- systems which process, store, or use classified data and produce
- classified information will, with reasonable dependability,
- prevent: a. Deliberate or inadvertent access to classified
- material by unauthorized persons, and b. Unauthorized
- manipulation of the computer and its associated peripheral
- devices."[8]
-
- In summary, protection requirements must be defined in terms of
- the perceived threats, risks, and goals of an organization. This
- is often stated in terms of a security policy. It has been
- pointed out in the literature that it is external laws, rules,
- regulations, etc. that establish what access to information is to
- be permitted, independent of the use of a computer. In particular,
- a given system can only be said to be secure with respect to its
- enforcement of some specific policy.[30] Thus, the control
- objective for security policy is:
-
- SECURITY POLICY CONTROL OBJECTIVE
-
- A statement of intent with regard to control over access to and
- dissemination of information, to be known as the security policy
- must be precisely defined and implemented for each system that is
- used to process sensitive information. The security policy must
- accurately reflect the laws, regulations, and general policies
- from which it is derived.
-
- 5.3.1.1 Mandatory Security Policy
-
- Where a security policy is developed that is to be applied
- to control of classified or other specifically designated
- sensitive information, the policy must include detailed
- rules on how to handle that information throughout its
- life-cycle. These rules are a function of the various
- sensitivity designations that the information can assume
- and the various forms of access supported by the system.
- Mandatory security refers to the enforcement of a set of
- access control rules that constrains a subject's access to
- information on the basis of a comparison of that
- individual's clearance/authorization to the information,
- the classification/sensitivity designation of the
- information, and the form of access being mediated.
- Mandatory policies either require or can be satisfied by
- systems that can enforce a partial ordering of
- designations, namely, the designations must form what is
- mathematically known as a "lattice."[5]
-
- A clear implication of the above is that the system must
- assure that the designations associated with sensitive data
- cannot be arbitrarily changed, since this could permit
- individuals who lack the appropriate authorization to
- access sensitive information. Also implied is the
- requirement that the system control the flow of information
- so that data cannot be stored with lower sensitivity
- designations unless its "downgrading" has been authorized.
- The control objective is:
-
- MANDATORY SECURITY CONTROL OBJECTIVE
-
- Security policies defined for systems that are used to
- process classified or other specifically categorized
- sensitive information must include provisions for the
- enforcement of mandatory access control rules. That is,
- they must include a set of rules for controlling access
- based directly on a comparison of the individual's
- clearance or authorization for the information and the
- classification or sensitivity designation of the
- information being sought, and indirectly on considerations
- of physical and other environmental factors of control.
- The mandatory access control rules must accurately reflect
- the laws, regulations, and general policies from which
- they are derived.
-
- 5.3.1.2 Discretionary Security Policy
-
- Discretionary security is the principal type of access
- control available in computer systems today. The basis of
- this kind of security is that an individual user, or
- program operating on his behalf, is allowed to specify
- explicitly the types of access other users may have to
- information under his control. Discretionary security
- differs from mandatory security in that it implements an
- access control policy on the basis of an individual's
- need-to-know as opposed to mandatory controls which are
- driven by the classification or sensitivity designation of
- the information.
-
- Discretionary controls are not a replacement for mandatory
- controls. In an environment in which information is
- classified (as in the DoD) discretionary security provides
- for a finer granularity of control within the overall
- constraints of the mandatory policy. Access to classified
- information requires effective implementation of both types
- of controls as precondition to granting that access. In
- general, no person may have access to classified
- information unless: (a) that person has been determined to
- be trustworthy, i.e., granted a personnel security
- clearance -- MANDATORY, and (b) access is necessary for the
- performance of official duties, i.e., determined to have a
- need-to-know -- DISCRETIONARY. In other words,
- discretionary controls give individuals discretion to
- decide on which of the permissible accesses will actually
- be allowed to which users, consistent with overriding
- mandatory policy restrictions. The control objective is:
-
- DISCRETIONARY SECURITY CONTROL OBJECTIVE
-
- Security policies defined for systems that are used to
- process classified or other sensitive information must
- include provisions for the enforcement of discretionary
- access control rules. That is, they must include a
- consistent set of rules for controlling and limiting access
- based on identified individuals who have been determined to
- have a need-to-know for the information.
-
- 5.3.1.3 Marking
-
- To implement a set of mechanisms that will put into effect
- a mandatory security policy, it is necessary that the
- system mark information with appropriate classification or
- sensitivity labels and maintain these markings as the
- information moves through the system. Once information is
- unalterably and accurately marked, comparisons required by
- the mandatory access control rules can be accurately and
- consistently made. An additional benefit of having the
- system maintain the classification or sensitivity label
- internally is the ability to automatically generate
- properly "labeled" output. The labels, if accurately and
- integrally maintained by the system, remain accurate when
- output from the system. The control objective is:
-
- MARKING CONTROL OBJECTIVE
-
- Systems that are designed to enforce a mandatory security
- policy must store and preserve the integrity of
- classification or other sensitivity labels for all
- information. Labels exported from the system must be
- accurate representations of the corresponding internal
- sensitivity labels being exported.
-
- 5.3.2 Accountability
-
- The second basic control objective addresses one of the
- fundamental principles of security, i.e., individual
- accountability. Individual accountability is the key to securing
- and controlling any system that processes information on behalf
- of individuals or groups of individuals. A number of requirements
- must be met in order to satisfy this objective.
-
- The first requirement is for individual user identification.
- Second, there is a need for authentication of the identification.
- Identification is functionally dependent on authentication.
- Without authentication, user identification has no credibility.
- Without a credible identity, neither mandatory nor discretionary
- security policies can be properly invoked because there is no
- assurance that proper authorizations can be made.
-
- The third requirement is for dependable audit capabilities. That
- is, a trusted computer system must provide authorized personnel
- with the ability to audit any action that can potentially cause
- access to, generation of, or effect the release of classified or
- sensitive information. The audit data will be selectively
- acquired based on the auditing needs of a particular installation
- and/or application. However, there must be sufficient granularity
- in the audit data to support tracing the auditable events to a
- specific individual who has taken the actions or on whose behalf
- the actions were taken. The control objective is:
-
- ACCOUNTABILITY CONTROL OBJECTIVE
-
- Systems that are used to process or handle classified or other
- sensitive information must assure individual accountability
- whenever either a mandatory or discretionary security policy is
- invoked. Furthermore, to assure accountability, the capability
- must exist for an authorized and competent agent to access and
- evaluate accountability information by a secure means, within a
- reasonable amount of time, and without undue difficulty.
-
- 5.3.3 Assurance
-
- The third basic control objective is concerned with guaranteeing
- or providing confidence that the security policy has been
- implemented correctly and that the protection-relevant elements of
- the system do, indeed, accurately mediate and enforce the intent
- of that policy. By extension, assurance must include a guarantee
- that the trusted portion of the system works only as intended. To
- accomplish these objectives, two types of assurance are needed.
- They are life-cycle assurance and operational assurance.
-
- Life-cycle assurance refers to steps taken by an organization to
- ensure that the system is designed, developed, and maintained
- using formalized and rigorous controls and standards.[17]
- Computer systems that process and store sensitive or classified
- information depend on the hardware and software to protect that
- information. It follows that the hardware and software themselves
- must be protected against unauthorized changes that could cause
- protection mechanisms to malfunction or be bypassed completely.
- For this reason trusted computer systems must be carefully
- evaluated and tested during the design and development phases and
- reevaluated whenever changes are made that could affect the
- integrity of the protection mechanisms. Only in this way can
- confidence be provided that the hardware and software
- interpretation of the security policy is maintained accurately
- and without distortion.
-
- While life-cycle assurance is concerned with procedures for
- managing system design, development, and maintenance; operational
- assurance focuses on features and system architecture used to
- ensure that the security policy is uncircumventably enforced
- during system operation. That is, the security policy must be
- integrated into the hardware and software protection features of
- the system. Examples of steps taken to provide this kind of
- confidence include: methods for testing the operational hardware
- and software for correct operation, isolation of protection-
- critical code, and the use of hardware and software to provide
- distinct domains. The control objective is:
-
- ASSURANCE CONTROL OBJECTIVE
-
- Systems that are used to process or handle classified or other
- sensitive information must be designed to guarantee correct and
- accurate interpretation of the security policy and must not
- distort the intent of that policy. Assurance must be provided
- that correct implementation and operation of the policy exists
- throughout the system's life-cycle.
-
-
-
- 6.0 RATIONALE BEHIND THE EVALUATION CLASSES
-
-
-
- 6.1 THE REFERENCE MONITOR CONCEPT
-
- In October of 1972, the Computer Security Technology Planning Study, conducted
- by James P. Anderson & Co., produced a report for the Electronic Systems
- Division (ESD) of the United States Air Force.[1] In that report, the concept
- of "a reference monitor which enforces the authorized access relationships
- between subjects and objects of a system" was introduced. The reference
- monitor concept was found to be an essential element of any system that would
- provide multilevel secure computing facilities and controls.
-
- The Anderson report went on to define the reference validation mechanism as
- "an implementation of the reference monitor concept . . . that validates
- each reference to data or programs by any user (program) against a list of
- authorized types of reference for that user." It then listed the three design
- requirements that must be met by a reference validation mechanism:
-
- a. The reference validation mechanism must be tamper proof.
-
- b. The reference validation mechanism must always be invoked.
-
- c. The reference validation mechanism must be small enough to be
- subject to analysis and tests, the completeness of which can
- be assured."[1]
-
- Extensive peer review and continuing research and development activities have
- sustained the validity of the Anderson Committee's findings. Early examples
- of the reference validation mechanism were known as security kernels. The
- Anderson Report described the security kernel as "that combination of hardware
- and software which implements the reference monitor concept."[1] In this vein,
- it will be noted that the security kernel must support the three reference
- monitor requirements listed above.
-
-
- 6.2 A FORMAL SECURITY POLICY MODEL
-
- Following the publication of the Anderson report, considerable research was
- initiated into formal models of security policy requirements and of the
- mechanisms that would implement and enforce those policy models as a security
- kernel. Prominent among these efforts was the ESD-sponsored development of
- the Bell and LaPadula model, an abstract formal treatment of DoD security
- policy.[2] Using mathematics and set theory, the model precisely defines the
- notion of secure state, fundamental modes of access, and the rules for
- granting subjects specific modes of access to objects. Finally, a theorem is
- proven to demonstrate that the rules are security-preserving operations, so
- that the application of any sequence of the rules to a system that is in a
- secure state will result in the system entering a new state that is also
- secure. This theorem is known as the Basic Security Theorem.
-
- A subject can act on behalf of a user or another subject. The subject is
- created as a surrogate for the cleared user and is assigned a formal security
- level based on their classification. The state transitions and invariants of
- the formal policy model define the invariant relationships that must hold
- between the clearance of the user, the formal security level of any process
- that can act on the user's behalf, and the formal security level of the devices
- and other objects to which any process can obtain specific modes of access.
- The Bell and LaPadula model, for example, defines a relationship between formal
- security levels of subjects and objects, now referenced as the "dominance
- relation." From this definition, accesses permitted between subjects and
- objects are explicitly defined for the fundamental modes of access, including
- read-only access, read/write access, and write-only access. The model defines
- the Simple Security Condition to control granting a subject read access to a
- specific object, and the *-Property (read "Star Property") to control granting
- a subject write access to a specific object. Both the Simple Security
- Condition and the *-Property include mandatory security provisions based on the
- dominance relation between formal security levels of subjects and objects the
- clearance of the subject and the classification of the object. The
- Discretionary Security Property is also defined, and requires that a specific
- subject be authorized for the particular mode of access required for the state
- transition. In its treatment of subjects (processes acting on behalf of a
- user), the model distinguishes between trusted subjects (i.e., not constrained
- within the model by the *-Property) and untrusted subjects (those that are
- constrained by the *-Property).
-
- From the Bell and LaPadula model there evolved a model of the method of proof
- required to formally demonstrate that all arbitrary sequences of state
- transitions are security-preserving. It was also shown that the *- Property
- is sufficient to prevent the compromise of information by Trojan Horse
- attacks.
-
-
- 6.3 THE TRUSTED COMPUTING BASE
-
- In order to encourage the widespread commercial availability of trusted
- computer systems, these evaluation criteria have been designed to address
- those systems in which a security kernel is specifically implemented as well
- as those in which a security kernel has not been implemented. The latter case
- includes those systems in which objective (c) is not fully supported because
- of the size or complexity of the reference validation mechanism. For
- convenience, these evaluation criteria use the term Trusted Computing Base to
- refer to the reference validation mechanism, be it a security kernel,
- front-end security filter, or the entire trusted computer system.
-
- The heart of a trusted computer system is the Trusted Computing Base (TCB)
- which contains all of the elements of the system responsible for supporting
- the security policy and supporting the isolation of objects (code and data) on
- which the protection is based. The bounds of the TCB equate to the "security
- perimeter" referenced in some computer security literature. In the interest
- of understandable and maintainable protection, a TCB should be as simple as
- possible consistent with the functions it has to perform. Thus, the TCB
- includes hardware, firmware, and software critical to protection and must be
- designed and implemented such that system elements excluded from it need not
- be trusted to maintain protection. Identification of the interface and
- elements of the TCB along with their correct functionality therefore forms the
- basis for evaluation.
-
- For general-purpose systems, the TCB will include key elements of the
- operating system and may include all of the operating system. For embedded
- systems, the security policy may deal with objects in a way that is meaningful
- at the application level rather than at the operating system level. Thus, the
- protection policy may be enforced in the application software rather than in
- the underlying operating system. The TCB will necessarily include all those
- portions of the operating system and application software essential to the
- support of the policy. Note that, as the amount of code in the TCB increases,
- it becomes harder to be confident that the TCB enforces the reference monitor
- requirements under all circumstances.
-
-
- 6.4 ASSURANCE
-
- The third reference monitor design objective is currently interpreted as
- meaning that the TCB "must be of sufficiently simple organization and
- complexity to be subjected to analysis and tests, the completeness of which
- can be assured."
-
- Clearly, as the perceived degree of risk increases (e.g., the range of
- sensitivity of the system's protected data, along with the range of clearances
- held by the system's user population) for a particular system's operational
- application and environment, so also must the assurances be increased to
- substantiate the degree of trust that will be placed in the system. The
- hierarchy of requirements that are presented for the evaluation classes in the
- trusted computer system evaluation criteria reflect the need for these
- assurances.
-
- As discussed in Section 5.3, the evaluation criteria uniformly require a
- statement of the security policy that is enforced by each trusted computer
- system. In addition, it is required that a convincing argument be presented
- that explains why the TCB satisfies the first two design requirements for a
- reference monitor. It is not expected that this argument will be entirely
- formal. This argument is required for each candidate system in order to
- satisfy the assurance control objective.
-
- The systems to which security enforcement mechanisms have been added, rather
- than built-in as fundamental design objectives, are not readily amenable to
- extensive analysis since they lack the requisite conceptual simplicity of a
- security kernel. This is because their TCB extends to cover much of the
- entire system. Hence, their degree of trustworthiness can best be ascertained
- only by obtaining test results. Since no test procedure for something as
- complex as a computer system can be truly exhaustive, there is always the
- possibility that a subsequent penetration attempt could succeed. It is for
- this reason that such systems must fall into the lower evaluation classes.
-
- On the other hand, those systems that are designed and engineered to support
- the TCB concepts are more amenable to analysis and structured testing. Formal
- methods can be used to analyze the correctness of their reference validation
- mechanisms in enforcing the system's security policy. Other methods,
- including less-formal arguments, can be used in order to substantiate claims
- for the completeness of their access mediation and their degree of
- tamper-resistance. More confidence can be placed in the results of this
- analysis and in the thoroughness of the structured testing than can be placed
- in the results for less methodically structured systems. For these reasons,
- it appears reasonable to conclude that these systems could be used in
- higher-risk environments. Successful implementations of such systems would be
- placed in the higher evaluation classes.
-
-
- 6.5 THE CLASSES
-
- It is highly desirable that there be only a small number of overall evaluation
- classes. Three major divisions have been identified in the evaluation
- criteria with a fourth division reserved for those systems that have been
- evaluated and found to offer unacceptable security protection. Within each
- major evaluation division, it was found that "intermediate" classes of trusted
- system design and development could meaningfully be defined. These
- intermediate classes have been designated in the criteria because they
- identify systems that:
-
- * are viewed to offer significantly better protection and assurance
- than would systems that satisfy the basic requirements for their
- evaluation class; and
-
- * there is reason to believe that systems in the intermediate
- evaluation classes could eventually be evolved such that they
- would satisfy the requirements for the next higher evaluation
- class.
-
- Except within division A it is not anticipated that additional "intermediate"
- evaluation classes satisfying the two characteristics described above will be
- identified.
-
- Distinctions in terms of system architecture, security policy enforcement, and
- evidence of credibility between evaluation classes have been defined such that
- the "jump" between evaluation classes would require a considerable investment
- of effort on the part of implementors. Correspondingly, there are expected to
- be significant differentials of risk to which systems from the higher
- evaluation classes will be exposed.
-
-
- 7.0 THE RELATIONSHIP BETWEEN POLICY AND THE CRITERIA
-
-
- Section 1 presents fundamental computer security requirements and Section 5
- presents the control objectives for Trusted Computer Systems. They are
- general requirements, useful and necessary, for the development of all secure
- systems. However, when designing systems that will be used to process
- classified or other sensitive information, functional requirements for meeting
- the Control Objectives become more specific. There is a large body of policy
- laid down in the form of Regulations, Directives, Presidential Executive
- Orders, and OMB Circulars that form the basis of the procedures for the
- handling and processing of Federal information in general and classified
- information specifically. This section presents pertinent excerpts from these
- policy statements and discusses their relationship to the Control Objectives.
- These excerpts are examples to illustrate the relationship of the policies to
- criteria and may not be complete.
-
-
- 7.1 ESTABLISHED FEDERAL POLICIES
-
- A significant number of computer security policies and associated requirements
- have been promulgated by Federal government elements. The interested reader
- is referred to reference [32] which analyzes the need for trusted systems in
- the civilian agencies of the Federal government, as well as in state and local
- governments and in the private sector. This reference also details a number
- of relevant Federal statutes, policies and requirements not treated further
- below.
-
- Security guidance for Federal automated information systems is provided by the
- Office of Management and Budget. Two specifically applicable Circulars have
- been issued. OMB Circular No. A-71, Transmittal Memorandum No. 1, "Security
- of Federal Automated Information Systems,"[26] directs each executive agency
- to establish and maintain a computer security program. It makes the head of
- each executive branch, department and agency responsible "for assuring an
- adequate level of security for all agency data whether processed in-house or
- commercially. This includes responsibility for the establishment of physical,
- administrative and technical safeguards required to adequately protect
- personal, proprietary or other sensitive data not subject to national security
- regulations, as well as national security data."[26, para. 4 p. 2]
-
- OMB Circular No. A-123, "Internal Control Systems,"[27] issued to help
- eliminate fraud, waste, and abuse in government programs requires: (a) agency
- heads to issue internal control directives and assign responsibility, (b)
- managers to review programs for vulnerability, and (c) managers to perform
- periodic reviews to evaluate strengths and update controls. Soon after
- promulgation of OMB Circular A-123, the relationship of its internal control
- requirements to building secure computer systems was recognized.[4] While not
- stipulating computer controls specifically, the definition of Internal
- Controls in A-123 makes it clear that computer systems are to be included:
-
- "Internal Controls - The plan of organization and all of the methods and
- measures adopted within an agency to safeguard its resources, assure the
- accuracy and reliability of its information, assure adherence to
- applicable laws, regulations and policies, and promote operational
- economy and efficiency."[27, sec. 4.C]
-
- The matter of classified national security information processed by ADP
- systems was one of the first areas given serious and extensive concern in
- computer security. The computer security policy documents promulgated as a
- result contain generally more specific and structured requirements than most,
- keyed in turn to an authoritative basis that itself provides a rather clearly
- articulated and structured information security policy. This basis, Executive
- Order 12356, "National Security Information," sets forth requirements for the
- classification, declassification and safeguarding of "national security
- information" per se.[14]
-
-
- 7.2 DOD POLICIES
-
- Within the Department of Defense, these broad requirements are implemented and
- further specified primarily through two vehicles: 1) DoD Regulation 5200.1-R
- [7], which applies to all components of the DoD as such, and 2) DoD 5220.22-M,
- "Industrial Security Manual for Safeguarding Classified Information" [11],
- which applies to contractors included within the Defense Industrial Security
- Program. Note that the latter transcends DoD as such, since it applies not
- only to any contractors handling classified information for any DoD component,
- but also to the contractors of eighteen other Federal organizations for whom
- the Secretary of Defense is authorized to act in rendering industrial security
- services.*
-
- ______________________________
- * i.e., NASA, Commerce Department, GSA, State Department, Small Business
- Administration, National Science Foundation, Treasury Department,
- Transportation Department, Interior Department, Agriculture Department, U.S.
- Information Agency, Labor Department, Environmental Protection Agency, Justice
- Department, U.S. Arms Control and Disarmament Agency, Federal Emergency
- Management Agency, Federal Reserve System, and U.S. General Accounting Office.
-
- For ADP systems, these information security requirements are further amplified
- and specified in: 1) DoD Directive 5200.28 [8] and DoD Manual 5200.28-M [9],
- for DoD components; and 2) Section XIII of DoD 5220.22-M [11] for contractors.
- DoD Directive 5200.28, "Security Requirements for Automatic Data Processing
- (ADP) Systems," stipulates: "Classified material contained in an ADP system
- shall be safeguarded by the continuous employment of protective features in
- the system's hardware and software design and configuration . . . ."[8,
- sec. IV] Furthermore, it is required that ADP systems that "process, store,
- or use classified data and produce classified information will, with
- reasonable dependability, prevent:
-
- a. Deliberate or inadvertent access to classified material by
- unauthorized persons, and
-
- b. Unauthorized manipulation of the computer and its associated
- peripheral devices."[8, sec. I B.3]
-
- Requirements equivalent to these appear within DoD 5200.28-M [9] and in DoD
- 5220.22-M [11].
-
- DoD Directove 5200.28 provides the security requirements for ADP systems. For
- some types of information, such as Sensitive Compartmented Information (SCI),
- DoD Directive 5200.28 states that other minimum security requirements also
- apply. These minima are found in DCID l/l6 (new reference number 5) which is
- implemented in DIAM 50-4 (new reference number 6) for DoD and DoD contractor
- ADP systems.
-
- From requirements imposed by these regulations, directives and circulars, the
- three components of the Security Policy Control Objective, i.e., Mandatory and
- Discretionary Security and Marking, as well as the Accountability and
- Assurance Control Objectives, can be functionally defined for DoD
- applications. The following discussion provides further specificity in Policy
- for these Control Objectives.
-
-
- 7.3 CRITERIA CONTROL OBJECTIVE FOR SECURITY POLICY
-
- 7.3.1 Marking
-
- The control objective for marking is: "Systems that are designed
- to enforce a mandatory security policy must store and preserve the
- integrity of classification or other sensitivity labels for all
- information. Labels exported from the system must be accurate
- representations of the corresonding internal sensitivity labels
- being exported."
-
- DoD 5220.22-M, "Industrial Security Manual for Safeguarding
- Classified Information," explains in paragraph 11 the reasons for
- marking information:
-
- "a. General. Classification designation by physical
- marking, notation or other means serves to warn and to
- inform the holder what degree of protection against
- unauthorized disclosure is reqired for that information
- or material." (14)
-
- Marking requirements are given in a number of policy statements.
-
- Executive Order 12356 (Sections 1.5.a and 1.5.a.1) requires that
- classification markings "shall be shown on the face of all
- classified documents, or clearly associated with other forms of
- classified information in a manner appropriate to the medium
- involved."[14]
-
- DoD Regulation 5200.1-R (Section 1-500) requires that: ". . .
- information or material that requires protection against
- unauthorized disclosure in the interest of national security shall
- be classified in one of three designations, namely: 'Top Secret,'
- 'Secret' or 'Confidential.'"[7] (By extension, for use in computer
- processing, the unofficial designation "Unclassified" is used to
- indicate information that does not fall under one of the other
- three designations of classified information.)
-
- DoD Regulation 5200.1-R (Section 4-304b) requires that: "ADP
- systems and word processing systems employing such media shall
- provide for internal classification marking to assure that
- classified information contained therein that is reproduced or
- generated, will bear applicable classification and associated
- markings." (This regulation provides for the exemption of certain
- existing systems where "internal classification and applicable
- associated markings cannot be implemented without extensive system
- modifications."[7] However, it is clear that future DoD ADP
- systems must be able to provide applicable and accurate labels for
- classified and other sensitive information.)
-
- DoD Manual 5200.28-M (Section IV, 4-305d) requires the following:
- "Security Labels - All classified material accessible by or within
- the ADP system shall be identified as to its security
- classification and access or dissemination limitations, and all
- output of the ADP system shall be appropriately marked."[9]
-
- 7.3.2 Mandatory Security
-
- The control objective for mandatory security is: "Security
- policies defined for systems that are used to process classified
- or other specifically categorized sensitive information must
- include provisions for the enforcement of mandatory access control
- rules. That is, they must include a set of rules for controlling
- access based directly on a comparison of the individual's
- clearance or authorization for the information and the
- classification or sensitivity designation of the information being
- sought, and indirectly on considerations of physical and other
- environmental factors of control. The mandatory access control
- rules must accurately reflect the laws, regulations, and general
- policies from which they are derived."
-
- There are a number of policy statements that are related to
- mandatory security.
-
- Executive Order 12356 (Section 4.1.a) states that "a person is
- eligible for access to classified information provided that a
- determination of trustworthiness has been made by agency heads or
- designated officials and provided that such access is essential
- to the accomplishment of lawful and authorized Government
- purposes."[14]
-
- DoD Regulation 5200.1-R (Chapter I, Section 3) defines a Special
- Access Program as "any program imposing 'need-to-know' or access
- controls beyond those normally provided for access to
- Confidential, Secret, or Top Secret information. Such a program
- includes, but is not limited to, special clearance, adjudication,
- or investigative requirements, special designation of officials
- authorized to determine 'need-to-know', or special lists of persons
- determined to have a 'need-to- know.'"[7, para. 1-328] This
- passage distinguishes between a 'discretionary' determination of
- need-to-know and formal need-to-know which is implemented through
- Special Access Programs. DoD Regulation 5200.1-R, paragraph 7-100
- describes general requirements for trustworthiness (clearance) and
- need-to-know, and states that the individual with possession,
- knowledge or control of classified information has final
- responsibility for determining if conditions for access have been
- met. This regulation further stipulates that "no one has a right
- to have access to classified information solely by virtue of rank
- or position." [7, para. 7-100])
-
- DoD Manual 5200.28-M (Section II 2-100) states that, "Personnel
- who develop, test (debug), maintain, or use programs which are
- classified or which will be used to access or develop classified
- material shall have a personnel security clearance and an access
- authorization (need-to-know), as appropriate for the highest
- classified and most restrictive category of classified material
- which they will access under system constraints."[9]
-
- DoD Manual 5220.22-M (Paragraph 3.a) defines access as "the
- ability and opportunity to obtain knowledge of classified
- information. An individual, in fact, may have access to
- classified information by being in a place where such information
- is kept, if the security measures which are in force do not
- prevent him from gaining knowledge of the classified
- information."[11]
-
- The above mentioned Executive Order, Manual, Directives and
- Regulations clearly imply that a trusted computer system must
- assure that the classification labels associated with sensitive
- data cannot be arbitrarily changed, since this could permit
- individuals who lack the appropriate clearance to access
- classified information. Also implied is the requirement that a
- trusted computer system must control the flow of information so
- that data from a higher classification cannot be placed in a
- storage object of lower classification unless its "downgrading"
- has been authorized.
-
- 7.3.3 Discretionary Security
-
- The term discretionary security refers to a computer system's
- ability to control information on an individual basis. It stems
- from the fact that even though an individual has all the formal
- clearances for access to specific classified information, each
- individual's access to information must be based on a demonstrated
- need-to-know. Because of this, it must be made clear that this
- requirement is not discretionary in a "take it or leave it" sense.
- The directives and regulations are explicit in stating that the
- need-to-know test must be satisfied before access can be granted
- to the classified information. The control objective for
- discretionary security is: "Security policies defined for systems
- that are used to process classified or other sensitive information
- must include provisions for the enforcement of discretionary
- access control rules. That is, they must include a consistent set
- of rules for controlling and limiting access based on identified
- individuals who have been determined to have a need-to-know for the
- information."
-
- DoD Regulation 5200.1-R (Paragraph 7-100) In addition to excerpts
- already provided that touch on need-to- know, this section of the
- regulation stresses the need- to-know principle when it states "no
- person may have access to classified information unless . . .
- access is necessary for the performance of official duties."[7]
-
- Also, DoD Manual 5220.22-M (Section III 20.a) states that "an
- individual shall be permitted to have access to classified
- information only . . . when the contractor determines that access
- is necessary in the performance of tasks or services essential to
- the fulfillment of a contract or program, i.e., the individual has
- a need-to-know."[11]
-
-
- 7.4 CRITERIA CONTROL OBJECTIVE FOR ACCOUNTABILITY
-
- The control objective for accountability is: "Systems that are used to process
- or handle classified or other sensitive information must assure individual
- accountability whenever either a mandatory or discretionary security policy is
- invoked. Furthermore, to assure accountability the capability must exist for
- an authorized and competent agent to access and evaluate accountability
- information by a secure means, within a reasonable amount of time, and without
- undue difficulty."
-
- This control objective is supported by the following citations:
-
- DoD Directive 5200.28 (VI.A.1) states: "Each user's identity shall be
- positively established, and his access to the system, and his activity in
- the system (including material accessed and actions taken) controlled and
- open to scrutiny."[8]
-
- DoD Manual 5200.28-M (Section V 5-100) states: "An audit log or file
- (manual, machine, or a combination of both) shall be maintained as a
- history of the use of the ADP System to permit a regular security review
- of system activity. (e.g., The log should record security related
- transactions, including each access to a classified file and the nature
- of the access, e.g., logins, production of accountable classified
- outputs, and creation of new classified files. Each classified file
- successfully accessed [regardless of the number of individual references]
- during each 'job' or 'interactive session' should also be recorded in the
- audit log. Much of the material in this log may also be required to
- assure that the system preserves information entrusted to it.)"[9]
-
- DoD Manual 5200.28-M (Section IV 4-305f) states: "Where needed to assure
- control of access and individual accountability, each user or specific
- group of users shall be identified to the ADP System by appropriate
- administrative or hardware/software measures. Such identification
- measures must be in sufficient detail to enable the ADP System to provide
- the user only that material which he is authorized."[9]
-
- DoD Manual 5200.28-M (Section I 1-102b) states:
-
- "Component's Designated Approving Authorities, or their designees
- for this purpose . . . will assure:
-
- . . . . . . . . . . . . . . . . .
-
- (4) Maintenance of documentation on operating systems (O/S)
- and all modifications thereto, and its retention for a
- sufficient period of time to enable tracing of security-
- related defects to their point of origin or inclusion in the
- system.
-
- . . . . . . . . . . . . . . . . .
-
- (6) Establishment of procedures to discover, recover,
- handle, and dispose of classified material improperly
- disclosed through system malfunction or personnel action.
-
- (7) Proper disposition and correction of security
- deficiencies in all approved ADP Systems, and the effective
- use and disposition of system housekeeping or audit records,
- records of security violations or security-related system
- malfunctions, and records of tests of the security features
- of an ADP System."[9]
-
- DoD Manual 5220.22-M (Section XIII 111) states: "Audit Trails
-
- a. The general security requirement for any ADP system audit
- trail is that it provide a documented history of the use of
- the system. An approved audit trail will permit review of
- classified system activity and will provide a detailed
- activity record to facilitate reconstruction of events to
- determine the magnitude of compromise (if any) should a
- security malfunction occur. To fulfill this basic
- requirement, audit trail systems, manual, automated or a
- combination of both must document significant events
- occurring in the following areas of concern: (i) preparation
- of input data and dissemination of output data (i.e.,
- reportable interactivity between users and system support
- personnel), (ii) activity involved within an ADP environment
- (e.g., ADP support personnel modification of security and
- related controls), and (iii) internal machine activity.
-
- b. The audit trail for an ADP system approved to process
- classified information must be based on the above three
- areas and may be stylized to the particular system. All
- systems approved for classified processing should contain
- most if not all of the audit trail records listed below. The
- contractor's SPP documentation must identify and describe
- those applicable:
-
- 1. Personnel access;
-
- 2. Unauthorized and surreptitious entry into the
- central computer facility or remote terminal areas;
-
- 3. Start/stop time of classified processing indicating
- pertinent systems security initiation and termination events
- (e.g., upgrading/downgrading actions pursuant to paragraph
- 107);
-
- 4. All functions initiated by ADP system console
- operators;
-
- 5. Disconnects of remote terminals and peripheral
- devices (paragraph 107c);
-
- 6. Log-on and log-off user activity;
-
- 7. Unauthorized attempts to access files or programs,
- as well as all open, close, create, and file destroy
- actions;
-
- 8. Program aborts and anomalies including
- identification information (i.e., user/program name, time
- and location of incident, etc.);
-
- 9. System hardware additions, deletions and maintenance
- actions;
-
- 10. Generations and modifications affecting the
- security features of the system software.
-
- c. The ADP system security supervisor or designee shall
- review the audit trail logs at least weekly to assure that
- all pertinent activity is properly recorded and that
- appropriate action has been taken to correct any anomaly.
- The majority of ADP systems in use today can develop audit
- trail systems in accord with the above; however, special
- systems such as weapons, communications, communications
- security, and tactical data exchange and display systems,
- may not be able to comply with all aspects of the above and
- may require individualized consideration by the cognizant
- security office.
-
- d. Audit trail records shall be retained for a period of one
- inspection cycle."[11]
-
-
- 7.5 CRITERIA CONTROL OBJECTIVE FOR ASSURANCE
-
- The control objective for assurance is: "Systems that are used to process or
- handle classified or other sensitive information must be designed to guarantee
- correct and accurate interpretation of the security policy and must not distort
- the intent of that policy. Assurance must be provided that correct
- implementation and operation of the policy exists throughout the system's
- life-cycle."
-
- A basis for this objective can be found in the following sections of DoD
- Directive 5200.28:
-
- DoD Directive 5200.28 (IV.B.1) stipulates: "Generally, security of an ADP
- system is most effective and economical if the system is designed
- originally to provide it. Each Department of Defense Component
- undertaking design of an ADP system which is expected to process, store,
- use, or produce classified material shall: From the beginning of the
- design process, consider the security policies, concepts, and measures
- prescribed in this Directive."[8]
-
- DoD Directive 5200.28 (IV.C.5.a) states: "Provision may be made to permit
- adjustment of ADP system area controls to the level of protection
- required for the classification category and type(s) of material actually
- being handled by the system, provided change procedures are developed and
- implemented which will prevent both the unauthorized access to classified
- material handled by the system and the unauthorized manipulation of the
- system and its components. Particular attention shall be given to the
- continuous protection of automated system security measures, techniques
- and procedures when the personnel security clearance level of users
- having access to the system changes."[8]
-
- DoD Directive 5200.28 (VI.A.2) states: "Environmental Control. The ADP
- System shall be externally protected to minimize the likelihood of
- unauthorized access to system entry points, access to classified
- information in the system, or damage to the system."[8]
-
- DoD Manual 5200.28-M (Section I 1-102b) states:
-
- "Component's Designated Approving Authorities, or their designees
- for this purpose . . . will assure:
-
- . . . . . . . . . . . . . . . . .
-
- (5) Supervision, monitoring, and testing, as appropriate, of
- changes in an approved ADP System which could affect the
- security features of the system, so that a secure system is
- maintained.
-
- . . . . . . . . . . . . . . . . .
-
- (7) Proper disposition and correction of security
- deficiencies in all approved ADP Systems, and the effective
- use and disposition of system housekeeping or audit records,
- records of security violations or security-related system
- malfunctions, and records of tests of the security features
- of an ADP System.
-
- (8) Conduct of competent system ST&E, timely review of
- system ST&E reports, and correction of deficiencies needed
- to support conditional or final approval or disapproval of
- an ADP System for the processing of classified information.
-
- (9) Establishment, where appropriate, of a central ST&E
- coordination point for the maintenance of records of
- selected techniques, procedures, standards, and tests used
- in the testing and evaluation of security features of ADP
- Systems which may be suitable for validation and use by
- other Department of Defense Components."[9]
-
- DoD Manual 5220.22-M (Section XIII 103a) requires: "the initial approval,
- in writing, of the cognizant security office prior to processing any
- classified information in an ADP system. This section requires
- reapproval by the cognizant security office for major system
- modifications made subsequent to initial approval. Reapprovals will be
- required because of (i) major changes in personnel access requirements,
- (ii) relocation or structural modification of the central computer
- facility, (iii) additions, deletions or changes to main frame, storage or
- input/output devices, (iv) system software changes impacting security
- protection features, (v) any change in clearance, declassification, audit
- trail or hardware/software maintenance procedures, and (vi) other system
- changes as determined by the cognizant security office."[11]
-
- A major component of assurance, life-cycle assurance, as described in DoD
- Directive 7920.l, is concerned with testing ADP systems both in the
- development phase as well as during operation (17). DoD Directive 5215.1
- (Section F.2.C.(2)) requires "evaluations of selected industry and
- government-developed trusted computer systems against these criteria."[10]
-
-
- 8.0 A GUIDELINE ON COVERT CHANNELS
-
-
- A covert channel is any communication channel that can be exploited by a
- process to transfer information in a manner that violates the system's
- security policy. There are two types of covert channels: storage channels and
- timing channels. Covert storage channels include all vehicles that would
- allow the direct or indirect writing of a storage location by one process and
- the direct or indirect reading of it by another. Covert timing channels
- include all vehicles that would allow one process to signal information to
- another process by modulating its own use of system resources in such a way
- that the change in response time observed by the second process would provide
- information.
-
- From a security perspective, covert channels with low bandwidths represent a
- lower threat than those with high bandwidths. However, for many types of
- covert channels, techniques used to reduce the bandwidth below a certain rate
- (which depends on the specific channel mechanism and the system architecture)
- also have the effect of degrading the performance provided to legitimate
- system users. Hence, a trade-off between system performance and covert
- channel bandwidth must be made. Because of the threat of compromise that
- would be present in any multilevel computer system containing classified or
- sensitive information, such systems should not contain covert channels with
- high bandwidths. This guideline is intended to provide system developers with
- an idea of just how high a "high" covert channel bandwidth is.
-
- A covert channel bandwidth that exceeds a rate of one hundred (100) bits per
- second is considered "high" because 100 bits per second is the approximate
- rate at which many computer terminals are run. It does not seem appropriate
- to call a computer system "secure" if information can be compromised at a rate
- equal to the normal output rate of some commonly used device.
-
- In any multilevel computer system there are a number of relatively
- low-bandwidth covert channels whose existence is deeply ingrained in the
- system design. Faced with the large potential cost of reducing the bandwidths
- of such covert channels, it is felt that those with maximum bandwidths of less
- than one (1) bit per second are acceptable in most application environments.
- Though maintaining acceptable performance in some systems may make it
- impractical to eliminate all covert channels with bandwidths of 1 or more bits
- per second, it is possible to audit their use without adversely affecting
- system performance. This audit capability provides the system administration
- with a means of detecting -- and procedurally correcting -- significant
- compromise. Therefore, a Trusted Computing Base should provide, wherever
- possible, the capability to audit the use of covert channel mechanisms with
- bandwidths that may exceed a rate of one (1) bit in ten (10) seconds.
-
- The covert channel problem has been addressed by a number of authors. The
- interested reader is referred to references [5], [6], [19], [21], [22], [23],
- and [29].
-
-
- 9.0 A GUIDELINE ON CONFIGURING MANDATORY ACCESS CONTROL FEATURES
-
-
- The Mandatory Access Control requirement includes a capability to support an
- unspecified number of hierarchical classifications and an unspecified number
- of non-hierarchical categories at each hierarchical level. To encourage
- consistency and portability in the design and development of the National
- Security Establishment trusted computer systems, it is desirable for all such
- systems to be able to support a minimum number of levels and categories. The
- following suggestions are provided for this purpose:
-
- * The number of hierarchical classifications should be greater than or
- equal to sixteen (16).
-
- * The number of non-hierarchical categories should be greater than or
- equal to sixty-four (64).
-
-
-
- 10.0 A GUIDELINE ON SECURITY TESTING
-
-
- These guidelines are provided to give an indication of the extent and
- sophistication of testing undertaken by the DoD Computer Security Center
- during the Formal Product Evaluation process. Organizations wishing to use
- "Department of Defense Trusted Computer System Evaluation Criteria" for
- performing their own evaluations may find this section useful for planning
- purposes.
-
- As in Part I, highlighting is used to indicate changes in the guidelines from
- the next lower division.
-
-
- 10.1 TESTING FOR DIVISION C
-
- 10.1.1 Personnel
-
- The security testing team shall consist of at least two
- individuals with bachelor degrees in Computer Science or the
- equivalent. Team members shall be able to follow test plans
- prepared by the system developer and suggest additions, shall
- be familiar with the "flaw hypothesis" or equivalent security
- testing methodology, and shall have assembly level programming
- experience. Before testing begins, the team members shall have
- functional knowledge of, and shall have completed the system
- developer's internals course for, the system being evaluated.
-
- 10.1.2 Testing
-
- The team shall have "hands-on" involvement in an independent run
- of the tests used by the system developer. The team shall
- independently design and implement at least five system-specific
- tests in an attempt to circumvent the security mechanisms of the
- system. The elapsed time devoted to testing shall be at least
- one month and need not exceed three months. There shall be no
- fewer than twenty hands-on hours spent carrying out system
- developer-defined tests and test team-defined tests.
-
-
- 10.2 TESTING FOR DIVISION B
-
- 10.2.1 Personnel
-
- The security testing team shall consist of at least two
- individuals with bachelor degrees in Computer Science or the
- equivalent and at least one individual with a master's degree in
- Computer Science or equivalent. Team members shall be able to
- follow test plans prepared by the system developer and suggest
- additions, shall be conversant with the "flaw hypothesis" or
- equivalent security testing methodology, shall be fluent in the
- TCB implementation language(s), and shall have assembly level
- programming experience. Before testing begins, the team members
- shall have functional knowledge of, and shall have completed the
- system developer's internals course for, the system being
- evaluated. At least one team member shall have previously
- completed a security test on another system.
-
- 10.2.2 Testing
-
- The team shall have "hands-on" involvement in an independent run
- of the test package used by the system developer to test
- security-relevant hardware and software. The team shall
- independently design and implement at least fifteen system-
- specific tests in an attempt to circumvent the security
- mechanisms of the system. The elapsed time devoted to testing
- shall be at least two months and need not exceed four months.
- There shall be no fewer than thirty hands-on hours per team
- member spent carrying out system developer-defined tests and
- test team-defined tests.
-
-
- 10.3 TESTING FOR DIVISION A
-
- 10.3.1 Personnel
-
- The security testing team shall consist of at least one
- individual with a bachelor's degree in Computer Science or the
- equivalent and at least two individuals with masters' degrees in
- Computer Science or equivalent. Team members shall be able to
- follow test plans prepared by the system developer and suggest
- additions, shall be conversant with the "flaw hypothesis" or
- equivalent security testing methodology, shall be fluent in the
- TCB implementation language(s), and shall have assembly level
- programming experience. Before testing begins, the team members
- shall have functional knowledge of, and shall have completed the
- system developer's internals course for, the system being
- evaluated. At least one team member shall be familiar enough
- with the system hardware to understand the maintenance diagnostic
- programs and supporting hardware documentation. At least two
- team members shall have previously completed a security test on
- another system. At least one team member shall have
- demonstrated system level programming competence on the system
- under test to a level of complexity equivalent to adding a device
- driver to the system.
-
- 10.3.2 Testing
-
- The team shall have "hands-on" involvement in an independent run
- of the test package used by the system developer to test
- security-relevant hardware and software. The team shall
- independently design and implement at least twenty-five system-
- specific tests in an attempt to circumvent the security
- mechanisms of the system. The elapsed time devoted to testing
- shall be at least three months and need not exceed six months.
- There shall be no fewer than fifty hands-on hours per team
- member spent carrying out system developer-defined tests and
- test team-defined tests.
-
-
- APPENDIX A
-
- COMMERCIAL PRODUCE EVALUATION PROCESS
-
-
- "Department of Defense Trusted Computer System Evaluation Criteria" forms the
- basis upon which the Computer Security Center will carry out the commercial
- computer security evaluation process. This process is focused on commercially
- produced and supported general-purpose operating system products that meet the
- needs of government departments and agencies. The formal evaluation is aimed
- at "off-the-shelf" commercially supported products and is completely divorced
- from any consideration of overall system performance, potential applications,
- or particular processing environments. The evaluation provides a key input to
- a computer system security approval/accreditation. However, it does not
- constitute a complete computer system security evaluation. A complete study
- (e.g., as in reference [18]) must consider additional factors dealing with the
- system in its unique environment, such as it's proposed security mode of
- operation, specific users, applications, data sensitivity, physical and
- personnel security, administrative and procedural security, TEMPEST, and
- communications security.
-
- The product evaluation process carried out by the Computer Security Center has
- three distinct elements:
-
- * Preliminary Product Evaluation - An informal dialogue between a vendor
- and the Center in which technical information is exchanged to create a
- common understanding of the vendor's product, the criteria, and the
- rating that may be expected to result from a formal product evaluation.
-
- * Formal Product Evaluation - A formal evaluation, by the Center, of a
- product that is available to the DoD, and that results in that product
- and its assigned rating being placed on the Evaluated Products List.
-
- * Evaluated Products List - A list of products that have been subjected
- to formal product evaluation and their assigned ratings.
-
-
- Preliminary Product Evaluation
-
- Since it is generally very difficult to add effective security measures late
- in a product's life cycle, the Center is interested in working with system
- vendors in the early stages of product design. A preliminary product
- evaluation allows the Center to consult with computer vendors on computer
- security issues found in products that have not yet been formally announced.
-
- A preliminary evaluation is typically initiated by computer system vendors who
- are planning new computer products that feature security or major
- security-related upgrades to existing products. After an initial meeting
- between the vendor and the Center, appropriate non-disclosure agreements are
- executed that require the Center to maintain the confidentiality of any
- proprietary information disclosed to it. Technical exchange meetings follow
- in which the vendor provides details about the proposed product (particularly
- its internal designs and goals) and the Center provides expert feedback to the
- vendor on potential computer security strengths and weaknesses of the vendor's
- design choices, as well as relevant interpretation of the criteria. The
- preliminary evaluation is typically terminated when the product is completed
- and ready for field release by the vendor. Upon termination, the Center
- prepares a wrap-up report for the vendor and for internal distribution within
- the Center. Those reports containing proprietary information are not
- available to the public.
-
- During preliminary evaluation, the vendor is under no obligation to actually
- complete or market the potential product. The Center is, likewise, not
- committed to conduct a formal product evaluation. A preliminary evaluation
- may be terminated by either the Center or the vendor when one notifies the
- other, in writing, that it is no longer advantageous to continue the
- evaluation.
-
-
- Formal Product Evaluation
-
- The formal product evaluation provides a key input to certification of a
- computer system for use in National Security Establishment applications and is
- the sole basis for a product being placed on the Evaluated Products List.
-
- A formal product evaluation begins with a request by a vendor for the Center
- to evaluate a product for which the product itself and accompanying
- documentation needed to meet the requirements defined by this publication are
- complete. Non-disclosure agreements are executed and a formal product
- evaluation team is formed by the Center. An initial meeting is then held with
- the vendor to work out the schedule for the formal evaluation. Since testing
- of the implemented product forms an important part of the evaluation process,
- access by the evaluation team to a working version of the system is negotiated
- with the vendor. Additional support required from the vendor includes
- complete design documentation, source code, and access to vendor personnel who
- can answer detailed questions about specific portions of the product. The
- evaluation team tests the product against each requirement, making any
- necessary interpretations of the criteria with respect to the product being
- evaluated.
-
- The evaluation team writes a final report on their findings about the system.
- The report is publicly available (containing no proprietary or sensitive
- information) and contains the overall class rating assigned to the system and
- the details of the evalution team's findings when comparing the product against
- the evaluation criteria. Detailed information concerning vulnerabilities found
- by the evaluation team is furnished to the system developers and designers as
- each is found so that the vendor has a chance to eliminate as many of them as
- possible prior to the completion of the Formal Product Evaluation.
- Vulnerability analyses and other proprietary or sensitive information are
- controlled within the Center through the Vulnerability Reporting Program and
- are distributed only within the U.S. Government on a strict need-to-know and
- non-disclosure basis, and to the vendor.
-
- APPENDIX B
-
- SUMMARY OF EVALUATION CRITERIA DIVISIONS
-
-
- The divisions of systems recognized under the trusted computer system
- evaluation criteria are as follows. Each division represents a major
- improvement in the overall confidence one can place in the system to protect
- classified and other sensitive information.
-
- Division (D): Minimal Protection
-
- This division contains only one class. It is reserved for those systems that
- have been evaluated but that fail to meet the requirements for a higher
- evaluation class.
-
- Division (C): Discretionary Protection
-
- Classes in this division provide for discretionary (need-to-know) protection
- and, through the inclusion of audit capabilities, for accountability of
- subjects and the actions they initiate.
-
- Division (B): Mandatory Protection
-
- The notion of a TCB that preserves the integrity of sensitivity labels and
- uses them to enforce a set of mandatory access control rules is a major
- requirement in this division. Systems in this division must carry the
- sensitivity labels with major data structures in the system. The system
- developer also provides the security policy model on which the TCB is based
- and furnishes a specification of the TCB. Evidence must be provided to
- demonstrate that the reference monitor concept has been implemented.
-
- Division (A): Verified Protection
-
- This division is characterized by the use of formal security verification
- methods to assure that the mandatory and discretionary security controls
- employed in the system can effectively protect classified or other sensitive
- information stored or processed by the system. Extensive documentation is
- required to demonstrate that the TCB meets the security requirements in all
- aspects of design, development and implementation.
-
-
-
- APPENDIX C
-
- SUMMARY OF EVALUATION CRITERIA CLASSES
-
-
- The classes of systems recognized under the trusted computer system evaluation
- criteria are as follows. They are presented in the order of increasing
- desirablity from a computer security point of view.
-
- Class (D): Minimal Protection
-
- This class is reserved for those systems that have been evaluated but that
- fail to meet the requirements for a higher evaluation class.
-
- Class (C1): Discretionary Security Protection
-
- The Trusted Computing Base (TCB) of a class (C1) system nominally satisfies
- the discretionary security requirements by providing separation of users and
- data. It incorporates some form of credible controls capable of enforcing
- access limitations on an individual basis, i.e., ostensibly suitable for
- allowing users to be able to protect project or private information and to
- keep other users from accidentally reading or destroying their data. The
- class (C1) environment is expected to be one of cooperating users processing
- data at the same level(s) of sensitivity.
-
- Class (C2): Controlled Access Protection
-
- Systems in this class enforce a more finely grained discretionary access
- control than (C1) systems, making users individually accountable for their
- actions through login procedures, auditing of security-relevant events, and
- resource isolation.
-
- Class (B1): Labeled Security Protection
-
- Class (B1) systems require all the features required for class (C2). In
- addition, an informal statement of the security policy model, data labeling,
- and mandatory access control over named subjects and objects must be present.
- The capability must exist for accurately labeling exported information. Any
- flaws identified by testing must be removed.
-
- Class (B2): Structured Protection
-
- In class (B2) systems, the TCB is based on a clearly defined and documented
- formal security policy model that requires the discretionary and mandatory
- access control enforcement found in class (B1) systems be extended to all
- subjects and objects in the ADP system. In addition, covert channels are
- addressed. The TCB must be carefully structured into protection-critical and
- non- protection-critical elements. The TCB interface is well-defined and the
- TCB design and implementation enable it to be subjected to more thorough
- testing and more complete review. Authentication mechanisms are strengthened,
- trusted facility management is provided in the form of support for system
- administrator and operator functions, and stringent configuration management
- controls are imposed. The system is relatively resistant to penetration.
-
- Class (B3): Security Domains
-
- The class (B3) TCB must satisfy the reference monitor requirements that it
- mediate all accesses of subjects to objects, be tamperproof, and be small
- enough to be subjected to analysis and tests. To this end, the TCB is
- structured to exclude code not essential to security policy enforcement, with
- significant system engineering during TCB design and implementation directed
- toward minimizing its complexity. A security administrator is supported,
- audit mechanisms are expanded to signal security- relevant events, and system
- recovery procedures are required. The system is highly resistant to
- penetration.
-
- Class (A1): Verified Design
-
- Systems in class (A1) are functionally equivalent to those in class (B3) 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 specification 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 top-level specification (FTLS) of the design. In
- keeping with the extensive design and development analysis of the TCB required
- of systems in class (A1), more stringent configuration management is required
- and procedures are established for securely distributing the system to sites.
- A system security administrator is supported.
-
-
-
- APPENDIX D
-
- REQUIREMENT DIRECTORY
-
-
- This appendix lists requirements defined in "Department of Defense Trusted
- Computer System Evaluation Criteria" alphabetically rather than by class. It
- is provided to assist in following the evolution of a requirement through the
- classes. For each requirement, three types of criteria may be present. Each
- will be preceded by the word: NEW, CHANGE, or ADD to indicate the following:
-
- NEW: Any criteria appearing in a lower class are superseded
- by the criteria that follow.
-
- CHANGE: The criteria that follow have appeared in a lower class
- but are changed for this class. Highlighting is used
- to indicate the specific changes to previously stated
- criteria.
-
- ADD: The criteria that follow have not been required for any
- lower class, and are added in this class to the
- previously stated criteria for this requirement.
-
- Abbreviations are used as follows:
-
- NR: (No Requirement) This requirement is not included in
- this class.
-
- NAR: (No Additional Requirements) This requirement does not
- change from the previous class.
-
- The reader is referred to Part I of this document when placing new criteria
- for a requirement into the complete context for that class.
-
- Figure 1 provides a pictorial summary of the evolution of requirements through
- the classes.
-
-
- Audit
-
- C1: NR.
-
- C2: NEW: 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 be able to record
- the following types of events: use of identification and
- authentication mechanisms, introduction of objects into a user's
- address space (e.g., file open, program initiation), deletion of
- objects, and actions taken by computer operators and system
- administrators and/or system security officers and other security
- relevant events. 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 of the object. The ADP system administrator shall be able to
- selectively audit the actions of any one or more users based on
- individual identity.
-
- B1: CHANGE: For events that introduce an object into a user's address
- space and for object deletion events the audit record shall include
- the name of the object and the object's security level. The ADP
- system administrator shall be able to selectively audit the actions
- of any one or more users based on individual identity and/or object
- security level.
-
- ADD: The TCB shall also be able to audit any override of
- human-readable output markings.
-
- B2: ADD: The TCB shall be able to audit the identified events that may be
- used in the exploitation of covert storage channels.
-
- B3: ADD: The TCB shall contain a mechanism that is able to monitor the
- occurrence or accumulation of security auditable events that may
- indicate an imminent violation of 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
- lease disruptive action to terminate the event.
-
- A1: NAR.
-
- Configuration Management
-
- C1: NR.
-
- C2: NR.
-
- B1: NR.
-
- B2: NEW: During development and maintenance of the TCB, a configuration
- management system shall be in place that maintains control of changes
- to the descriptive top-level specification, other design data,
- implementation documentation, source code, the running version of the
- object code, and test fixtures and documentation. The configuration
- management system shall assure a consistent mapping among all
- documentation and code associated with the current version of the TCB.
- Tools shall be provided for generation of a new version of the TCB
- from source code. Also available shall be tools for comparing a
- newly generated version with the previous TCB version in order 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.
-
- B3: NAR.
-
- A1: CHANGE: During the entire life-cycle, i.e., during the design,
- development, and maintenance of the TCB, a configuration management
- system shall be in place for all security-relevant hardware, firmware,
- and software that maintains control of changes to the formal model,
- the descriptive and formal top-level specifications, other design
- data, implementation documentation, source code, the running version
- of the object code, and test fixtures and documentation. Also
- available shall be tools, maintained under strict configuration
- control, for comparing a newly generated version with the previous
- TCB version in order 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.
-
- ADD: A combination of technical, physical, and procedural safeguards
- shall be used to protect from unauthorized modification or
- destruction the master copy or copies of all material used to
- generate the TCB.
-
- Covert Channel Analysis
-
- C1: NR.
-
- C2: NR.
-
- B1: NR.
-
- B2: NEW: The system developer shall conduct a thorough search for covert
- storage channels and make a determination (either by actual
- measurement or by engineering estimation) of the maximum bandwidth of
- each identified channel. (See the Covert Channels Guideline section.)
-
- B3: CHANGE: The system developer shall conduct a thorough search for
- covert channels and make a determination (either by actual
- measurement or by engineering estimation) of the maximum bandwidth
- of each identified channel.
-
- A1: ADD: Formal methods shall be used in the analysis.
-
- Design Documentation
-
- C1: NEW: Documentation shall be available that provides a description of
- the manufacturer's philosophy of protection and an explanation of how
- this philosophy is translated into the TCB. If the TCB is composed
- of distinct modules, the interfaces between these modules shall be
- described.
-
- C2: NAR.
-
- B1: ADD: An informal or formal description of the security policy model
- enforced by the TCB shall be available and an explanation provided to
- show that it is sufficient to enforce the security policy. The
- specific TCB protection mechanisms shall be identified and an
- explanation given to show that they satisfy the model.
-
- B2: CHANGE: The interfaces between the TCB modules shall be described. A
- formal description of the security policy model enforced by the TCB
- shall be available and proven that it is sufficient to enforce the
- security policy.
-
- ADD: The descriptive top-level specification (DTLS) shall be shown to
- be an accurate description of the TCB interface. Documentation shall
- describe how the TCB implements the reference monitor concept and
- give an explanation why it is tamper resistant, cannot be bypassed,
- and is correctly implemented. Documentation shall describe how the
- TCB is structured to facilitate testing and to enforce least
- privilege. This documentation shall also present the results of the
- covert channel analysis and the tradeoffs involved in restricting the
- channels. All auditable events that may be used in the exploitation
- of known covert storage channels shall be identified. The bandwidths
- of known covert storage channels, the use of which is not detectable
- by the auditing mechanisms, shall be provided. (See the Covert
- Channel Guideline section.)
-
- B3: ADD: The TCB implementation (i.e., in hardware, firmware, and
- software) shall be informally shown to be consistent with the DTLS.
- The elements of the DTLS shall be shown, using informal techniques,
- to correspond to the elements of the TCB.
-
- A1: CHANGE: The TCB implementation (i.e., in hardware, firmware, and
- software) shall be informally shown to be consistent with the formal
- top-level specification (FTLS). The elements of the FTLS shall be
- shown, using informal techniques, to correspond to the elements of
- the TCB.
-
- ADD: Hardware, firmware, and software mechanisms not dealt with in
- the FTLS but strictly internal to the TCB (e.g., mapping registers,
- direct memory access I/O) shall be clearly described.
-
- Design Specification and Verification
-
- C1: NR.
-
- C2: NR.
-
- B1: NEW: An informal or formal model of the security policy supported by
- the TCB shall be maintained over the life cycle of the ADP system that
- is shown to be consistent with its axioms.
-
- B2: CHANGE: A formal model of the security policy supported by the TCB
- shall be maintained over the life cycle of the ADP system that is
- proven consistent with its axioms.
-
- ADD: A descriptive top-level specification (DTLS) of the TCB shall be
- maintained that completely and accurately describes the TCB in terms
- of exceptions, error messages, and effects. It shall be shown to be
- an accurate description of the TCB interface.
-
- B3: ADD: A convincing argument shall be given that the DTLS is consistent
- with the model.
-
- A1: CHANGE: The FTLS shall be shown to be an accurate description of the
- TCB interface. A convincing argument shall be given that the DTLS is
- consistent with the model and a combination of formal and informal
- techniques shall be used to show that the FTLS is consistent with the
- model.
-
- ADD: A formal top-level specification (FTLS) of the TCB shall be
- maintained that accurately describes the TCB in terms of exceptions,
- error messages, and effects. The DTLS and FTLS shall include those
- components of the TCB that are implemented as hardware and/or
- firmware if their properties are visible at the TCB interface. This
- verification evidence shall be consistent with that provided within
- the state-of-the-art of the particular Computer Security Center-
- endorsed formal specification and verification system used. Manual
- or other mapping of the FTLS to the TCB source code shall be
- performed to provide evidence of correct implementation.
-
- Device Labels
-
- C1: NR.
-
- C2: NR.
-
- B1: NR.
-
- B2: NEW: 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.
-
- B3: NAR.
-
- A1: NAR.
-
- Discretionary Access Control
-
- C1: NEW: The TCB shall define and control access between named users and
- named objects (e.g., files and programs) in the ADP system. The
- enforcement mechanism (e.g., self/group/public controls, access
- control lists) shall allow users to specify and control sharing of
- those objects by named individuals or defined groups or both.
-
- C2: CHANGE: The enforcement mechanism (e.g., self/group/public controls,
- access control lists) shall allow users to specify and control
- sharing of those objects by named individuals, or defined groups of
- individuals, or by both, and shall provide controls to limit
- propagation of access rights.
-
- ADD: The discretionary access control mechanism shall, either by explicit
- user action or by default, provide that objects are protected from
- unauthorized access. These access controls shall be capable of
- including or excluding access to the granularity of a single user.
- Access permission to an object by users not already possessing access
- permission shall only be assigned by authorized users.
-
- B1: NAR.
-
- B2: NAR.
-
- B3: CHANGE: The enforcement mechanism (e.g., access control lists) shall
- allow users to specify and control sharing of those objects, and shall
- provide controls to limit propagation of access rights. These
- access controls shall be capable of specifying, for each named
- object, a list of named individuals and a list of groups of named
- individuals with their respective modes of access to that object.
-
- ADD: Furthermore, for each such 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 to be given.
-
- A1: NAR.
-
- Exportation of Labeled Information
-
- C1: NR.
-
- C2: NR.
-
- B1: NEW: 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.
-
- B2: NAR.
-
- B3: NAR.
-
- A1: NAR.
-
- Exportation to Multilevel Devices
-
- C1: NR.
-
- C2: NR.
-
- B1: NEW: 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.
-
- B2: NAR.
-
- B3: NAR.
-
- A1: NAR.
-
- Exportation to Single-Level Devices
-
- C1: NR.
-
- C2: NR.
-
- B1: NEW: 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.
-
- B2: NAR.
-
- B3: NAR.
-
- A1: NAR.
-
- Identification and Authentication
-
- C1: NEW: The TCB shall require users to identify themselves to it before
- beginning to perform any other actions that the TCB is expected to
- mediate. Furthermore, the TCB shall use a protected mechanism (e.g.,
- passwords) to authenticate the user's identity. The TCB shall
- protect authentication data so that it cannot be accessed by any
- unauthorized user.
-
- C2: ADD: The TCB shall be able to enforce individual accountability by
- providing the capability to uniquely identify each individual ADP
- system user. The TCB shall also provide the capability of
- associating this identity with all auditable actions taken by that
- individual.
-
- B1: CHANGE: Furthermore, 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 authorizations of individual users. This data shall be
- used by the TCB to authenticate the user's identity and to ensure
- that the 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.
-
-
- B2: NAR.
-
- B3: NAR.
-
- A1: NAR.
-
- Label Integrity
-
- C1: NR.
-
- C2: NR.
-
- B1: NEW: Sensitivity labels shall accurately represent security levels of
- the specific subjects or objects with which they are associated. When
- exported by the TCB, sensitivity labels shall accurately and
- unambiguously represent the internal labels and shall be associated
- with the information being exported.
-
- B2: NAR.
-
- B3: NAR.
-
- A1: NAR.
-
- Labeling Human-Readable Output
-
- C1: NR.
-
- C2: NR.
-
- B1: NEW: The ADP 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.
-
- B2: NAR.
-
- B3: NAR.
-
- A1: NAR.
-
- ______________________________
- * The hierarchical classification component in human-readable sensitivity
- labels shall be equal to the greatest hierarchical classification of any of the
- information in the output that the labels refer to; the non-hierarchical
- category component shall include all of the non-hierarchical categories of the
- information in the output the labels refer to, but no other non-hierarchical
- categories.
-
- Labels
-
- C1: NR.
-
- C2: NR.
-
- B1: NEW: Sensitivity labels associated with each subject and storage
- object under its control (e.g., process, file, segment, device) shall
- be maintained by the TCB. These labels shall be used as the basis
- for mandatory access control decisions. 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.
-
- B2: CHANGE: Sensitivity labels associated with each ADP system resource
- (e.g., subject, storage object, ROM) that is directly or indirectly
- accessible by subjects external to the TCB shall be maintained by
- the TCB.
-
- B3: NAR.
-
- A1: NAR.
-
- Mandatory Access Control
-
- C1: NR.
-
- C2: NR.
-
- B1: NEW: The TCB shall enforce a mandatory access control policy over all
- subjects and storage objects under its control (e.g., processes,
- files, segments, devices). These 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.
- (See the Mandatory Access Control guidelines.) The following
- requirements shall hold for all accesses between 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. Identification and
- authentication data shall be used by the TCB to authenticate the
- user's identity and to ensure that the security level and authori-
- zation 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.
-
- B2: CHANGE: 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:
-
- B3: NAR.
-
- A1: NAR.
-
- Object Reuse
-
- C1: NR.
-
- C2: NEW: 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. No information, including encrypted
- representations of information, produced by a prior subject's
- actions is to be available to any subject that obtains access to
- an object that has been released back to the system.
-
- B1: NAR.
-
- B2: NAR.
-
- B3: NAR.
-
- A1: NAR.
-
- Security Features User's Guide
-
- C1: NEW: A single summary, chapter, or manual in user documentation shall
- describe the protection mechanisms provided by the TCB, guidelines on
- their use, and how they interact with one another.
-
- C2: NAR.
-
- B1: NAR.
-
- B2: NAR.
-
- B3: NAR.
-
- A1: NAR.
-
- Security Testing
-
- C1: NEW: The security mechanisms of the ADP system shall be tested and
- found to work as claimed in the system documentation. Testing shall
- be done to assure that there are no obvious ways for an unauthorized
- user to bypass or otherwise defeat the security protection mechanisms
- of the TCB. (See the Security Testing guidelines.)
-
- C2: ADD: Testing shall also include a search for obvious flaws that would
- allow violation of resource isolation, or that would permit
- unauthorized access to the audit or authentication data.
-
- B1: NEW: The security mechanisms of the ADP system shall be tested and
- found to work as claimed in the system documentation. A team of
- individuals who thoroughly understand the specific implementation of
- the TCB shall subject its design documentation, source code, and
- object code to thorough analysis and testing. Their objectives shall
- be: to uncover all design and implementation flaws that would permit
- a subject external to the TCB to read, change, or delete data
- normally denied under the mandatory or discretionary security policy
- enforced by the TCB; as well as to assure that no subject (without
- authorization to do so) is able to cause the TCB to enter a state
- such that it is unable to respond to communications initiated by
- other users. All discovered flaws shall be removed or neutralized
- and the TCB retested to demonstrate that they have been eliminated
- and that new flaws have not been introduced. (See the Security
- Testing Guidelines.)
-
- B2: CHANGE: All discovered flaws shall be corrected and the TCB retested
- to demonstrate that they have been eliminated and that new flaws have
- not been introduced.
-
- ADD: The TCB shall be found relatively resistant to penetration.
- Testing shall demonstrate that the TCB implementation is consistent
- with the descriptive top-level specification.
-
- B3: CHANGE: The TCB shall be found resistant to penetration.
-
- ADD: 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.
-
- A1: CHANGE: Testing shall demonstrate that the TCB implementation is
- consistent with the formal top-level specification.
-
- ADD: Manual or other mapping of the FTLS to the source code may form
- a basis for penetration testing.
-
- Subject Sensitivity Labels
-
- C1: NR.
-
- C2: NR.
-
- B1: NR.
-
- B2: NEW: 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.
-
- B3: NAR.
-
- A1: NAR.
-
- System Architecture
-
- C1: NEW: The TCB shall maintain a domain for its own execution that
- protects it from external interference or tampering (e.g., by
- modification of its code or data structures). Resources controlled
- by the TCB may be a defined subset of the subjects and objects in
- the ADP system.
-
- C2: ADD: The TCB shall isolate the resources to be protected so that they
- are subject to the access control and auditing requirements.
-
- B1: ADD: The TCB shall maintain process isolation through the provision
- of distinct address spaces under its control.
-
- B2: NEW: The TCB shall maintain a domain for its own execution that
- protects it from external interference or tampering (e.g., by
- modification of its code or data structures). The TCB shall maintain
- process isolation through the provision of distinct address spaces
- under its control. The TCB shall be internally structured into well-
- defined largely independent modules. It shall make effective use of
- available hardware to separate those elements that are protection-
- critical from those that are not. The TCB modules shall be designed
- such that the principle of least privilege is enforced. Features in
- hardware, such as segmentation, shall be used to support logically
- distinct storage objects with separate attributes (namely: readable,
- writeable). The user interface to the TCB shall be completely
- defined and all elements of the TCB identified.
-
- B3: ADD: The TCB shall be designed and structured to use 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 system. The TCB shall
- incorporate significant use of layering, abstraction and data hiding.
- Significant system engineering shall be directed toward minimizing
- the complexity of the TCB and excluding from the TCB modules that are
- not protection-critical.
-
- A1: NAR.
-
- System Integrity
-
- C1: NEW: 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.
-
- C2: NAR.
-
- B1: NAR.
-
- B2: NAR.
-
- B3: NAR.
-
- A1: NAR.
-
- Test Documentation
-
- C1: NEW: The system developer shall provide to the evaluators a document
- that describes the test plan, test procedures that show how the
- security mechanisms were tested and results of the security
- mechanisms' functional testing.
-
- C2: NAR.
-
- B1: NAR.
-
- B2: ADD: It shall include results of testing the effectiveness of the
- methods used to reduce covert channel bandwidths.
-
- B3: NAR.
-
- A1: ADD: The results of the mapping between the formal top-level
- specification and the TCB source code shall be given.
-
- Trusted Distribution
-
- C1: NR.
-
- C2: NR.
-
- B1: NR.
-
- B2: NR.
-
- B3: NR.
-
- A1: NEW: A trusted ADP system control and distribution facility shall be
- provided for maintaining the integrity of the mapping between the
- master data describing the current version of the TCB and the on-site
- master copy of the code for the current version. Procedures (e.g.,
- site security acceptance testing) shall exist for assuring that the
- TCB software, firmware, and hardware updates distributed to a
- customer are exactly as specified by the master copies.
-
- Trusted Facility Management
-
- C1: NR.
-
- C2: NR.
-
- B1: NR.
-
- B2: NEW: The TCB shall support separate operator and administrator
- functions.
-
- B3: ADD: The functions performed in the role of a security administrator
- shall be identified. The ADP system administrative personnel shall
- only be able to perform security administrator functions after taking
- a distinct auditable action to assume the security administrator role
- on the ADP system. Non-security functions that can be performed in
- the security administration role shall be limited strictly to those
- essential to performing the security role effectively.
-
- A1: NAR.
-
- Trusted Facility Manual
-
- C1: NEW: A manual addressed to the ADP system administrator shall present
- cautions about functions and privileges that should be controlled
- when running a secure facility.
-
- C2: ADD: The procedures for examining and maintaining the audit files as
- well as the detailed audit record structure for each type of audit
- event shall be given.
-
- B1: ADD: The manual shall describe the operator and administrator
- functions related to security, to include changing the
- characteristics of a user. It shall provide guidelines on the
- consistent and effective use of the protection features of the
- system, how they interact, how to securely generate a new TCB, and
- facility procedures, warnings, and privileges that need to be
- controlled in order to operate the facility in a secure manner.
-
- B2: ADD: The TCB modules that contain the reference validation mechanism
- shall be identified. The procedures for secure generation of a new
- TCB from source after modification of any modules in the TCB shall
- be described.
-
- B3: ADD: It shall include the procedures to ensure that the system is
- initially started in a secure manner. Procedures shall also be
- included to resume secure system operation after any lapse in system
- operation.
-
- A1: NAR.
-
- Trusted Path
-
- C1: NR.
-
- C2: NR.
-
- B1: NR.
-
- B2: NEW: The TCB shall support a trusted communication path between
- itself and user for initial login and authentication. Communications
- via this path shall be initiated exclusively by a user.
-
- B3: CHANGE: The TCB shall support a trusted communication path between
- itself and users for use when a positive TCB-to-user connection is
- required (e.g., login, change subject security level).
- 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 paths.
-
- A1: NAR.
-
- Trusted Recovery
-
- C1: NR.
-
- C2: NR.
-
- B1: NR.
-
- B2: NR.
-
- B3: NEW: Procedures and/or mechanisms shall be provided to assure that,
- after an ADP system failure or other discontinuity, recovery without a
- protection compromise is obtained.
-
- A1: NAR.
-
-
-
-
-
- (this page is reserved for Figure 1)
-
-
-
- GLOSSARY
-
-
- Access - A specific type of interaction between a subject and an object
- that results in the flow of information from one to the other.
-
- Approval/Accreditation - The official authorization that is
- granted to an ADP system to process sensitive information in
- its operational environment, based upon comprehensive
- security evaluation of the system's hardware, firmware, and
- software security design, configuration, and implementation
- and of the other system procedural, administrative,
- physical, TEMPEST, personnel, and communications security
- controls.
-
- Audit Trail - A set of records that collectively provide
- documentary evidence of processing used to aid in tracing
- from original transactions forward to related records and
- reports, and/or backwards from records and reports to their
- component source transactions.
-
- Authenticate - To establish the validity of a claimed identity.
-
- Automatic Data Processing (ADP) System - An assembly of computer
- hardware, firmware, and software configured for the purpose
- of classifying, sorting, calculating, computing,
- summarizing, transmitting and receiving, storing, and
- retrieving data with a minimum of human intervention.
-
- Bandwidth - A characteristic of a communication channel that is
- the amount of information that can be passed through it in a
- given amount of time, usually expressed in bits per second.
-
- Bell-LaPadula Model - A formal state transition model of computer
- security policy that describes a set of access control
- rules. In this formal model, the entities in a computer
- system are divided into abstract sets of subjects and
- objects. The notion of a secure state is defined and it is
- proven that each state transition preserves security by
- moving from secure state to secure state; thus, inductively
- proving that the system is secure. A system state is
- defined to be "secure" if the only permitted access modes of
- subjects to objects are in accordance with a specific
- security policy. In order to determine whether or not a
- specific access mode is allowed, the clearance of a subject
- is compared to the classification of the object and a
- determination is made as to whether the subject is
- authorized for the specific access mode. The
- clearance/classification scheme is expressed in terms of a
- lattice. See also: Lattice, Simple Security Property, *-
- Property.
-
- Certification - The technical evaluation of a system's security
- features, made as part of and in support of the
- approval/accreditation process, that establishes the extent
- to which a particular computer system's design and
- implementation meet a set of specified security
- requirements.
-
- Channel - An information transfer path within a system. May also
- refer to the mechanism by which the path is effected.
-
- Covert Channel - A communication channel that allows a process to
- transfer information in a manner that violates the system's
- security policy. See also: Covert Storage Channel, Covert
- Timing Channel.
-
- Covert Storage Channel - A covert channel that involves the
- direct or indirect writing of a storage location by one
- process and the direct or indirect reading of the storage
- location by another process. Covert storage channels
- typically involve a finite resource (e.g., sectors on a
- disk) that is shared by two subjects at different security
- levels.
-
- Covert Timing Channel - A covert channel in which one process
- signals information to another by modulating its own use of
- system resources (e.g., CPU time) in such a way that this
- manipulation affects the real response time observed by the
- second process.
-
- Data - Information with a specific physical representation.
-
- Data Integrity - The state that exists when computerized data is
- the same as that in the source documents and has not been
- exposed to accidental or malicious alteration or
- destruction.
-
- Descriptive Top-Level Specification (DTLS) - A top-level
- specification that is written in a natural language (e.g.,
- English), an informal program design notation, or a
- combination of the two.
-
- Discretionary Access Control - 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 (unless restrained by mandatory access
- control).
-
- Domain - The set of objects that a subject has the ability to
- access.
-
- Dominate - Security level S1 is said to dominate security level
- S2 if the hierarchical classification of S1 is greater than
- or equal to that of S2 and the non-hierarchical categories
- of S1 include all those of S2 as a subset.
-
- Exploitable Channel - Any channel that is useable or detectable
- by subjects external to the Trusted Computing Base.
-
- Flaw Hypothesis Methodology - A system analysis and penetration
- technique where specifications and documentation for the
- system are analyzed and then flaws in the system are
- hypothesized. The list of hypothesized flaws is then
- prioritized on the basis of the estimated probability that a
- flaw actually exists and, assuming a flaw does exist, on the
- ease of exploiting it and on the extent of control or
- compromise it would provide. The prioritized list is used
- to direct the actual testing of the system.
-
- Flaw - An error of commission, omission, or oversight in a system
- that allows protection mechanisms to be bypassed.
-
- Formal Proof - A complete and convincing mathematical argument,
- presenting the full logical justification for each proof
- step, for the truth of a theorem or set of theorems. The
- formal verification process uses formal proofs to show the
- truth of certain properties of formal specification and for
- showing that computer programs satisfy their specifications.
-
- Formal Security Policy Model - A mathematically precise statement
- of a security policy. To be adequately precise, such a
- model must represent the initial state of a system, the way
- in which the system progresses from one state to another,
- and a definition of a "secure" state of the system. To be
- acceptable as a basis for a TCB, the model must be supported
- by a formal proof that if the initial state of the system
- satisfies the definition of a "secure" state and if all
- assumptions required by the model hold, then all future
- states of the system will be secure. Some formal modeling
- techniques include: state transition models, temporal logic
- models, denotational semantics models, algebraic
- specification models. An example is the model described by
- Bell and LaPadula in reference [2]. See also: Bell-
- LaPadula Model, Security Policy Model.
-
- Formal Top-Level Specification (FTLS) - A Top-Level Specification
- that is written in a formal mathematical language to allow
- theorems showing the correspondence of the system
- specification to its formal requirements to be hypothesized
- and formally proven.
-
- Formal Verification - The process of using formal proofs to
- demonstrate the consistency (design verification) between a
- formal specification of a system and a formal security
- policy model or (implementation verification) between the
- formal specification and its program implementation.
-
- Front-End Security Filter - A process that is invoked to process
- data accordint to a specified security policy prior to
- releasing the data outside the processing environment or
- upon receiving data from an external source.
-
- Functional Testing - The portion of security testing in which the
- advertised features of a system are tested for correct
- operation.
-
- General-Purpose System - A computer system that is designed to
- aid in solving a wide variety of problems.
-
- Granularity - The relative fineness or coarseness by which a
- mechanism can be adjusted. The phrase "the granularity of
- a single user" means the access control mechanism can be
- adjusted to include or exclude any single user.
-
- Lattice - A partially ordered set for which every pair of
- elements has a greatest lower bound and a least upper bound.
-
- Least Privilege - This principle requires that each subject in a
- system be granted the most restrictive set of privileges (or
- lowest clearance) needed for the performance of authorized
- tasks. The application of this principle limits the damage
- that can result from accident, error, or unauthorized use.
-
- Mandatory Access Control - A means of restricting access to
- objects based on the sensitivity (as represented by a label)
- of the information contained in the objects and the formal
- authorization (i.e., clearance) of subjects to access
- information of such sensitivity.
-
- Multilevel Device - A device that is used in a manner that
- permits it to simultaneously process data of two or more
- security levels without risk of compromise. To accomplish
- this, sensitivity labels are normally stored on the same
- physical medium and in the same form (i.e., machine-readable
- or human-readable) as the data being processed.
-
- Multilevel Secure - A class of system containing information with
- different sensitivities that simultaneously permits access
- by users with different security clearances and needs-to-
- know, but prevents users from obtaining access to
- information for which they lack authorization.
-
- Object - A passive entity that contains or receives information.
- Access to an object potentially implies access to the
- information it contains. Examples of objects are: records,
- blocks, pages, segments, files, directories, directory
- trees, and programs, as well as bits, bytes, words, fields,
- processors, video displays, keyboards, clocks, printers,
- network nodes, etc.
-
- Object Reuse - The reassignment to some subject of a medium
- (e.g., page frame, disk sector, magnetic tape) that
- contained one or more objects. To be securely reassigned,
- such media must contain no residual data from the previously
- contained object(s).
-
- Output - Information that has been exported by a TCB.
-
- Password - A private character string that is used to
- authenticate an identity.
-
- Penetration Testing - The portion of security testing in which
- the penetrators attempt to circumvent the security features
- of a system. The penetrators may be assumed to use all
- system design and implementation documentation, which may
- include listings of system source code, manuals, and circuit
- diagrams. The penetrators work under no constraints other
- than those that would be applied to ordinary users.
-
- Process - A program in execution. It is completely characterized
- by a single current execution point (represented by the
- machine state) and address space.
-
- Protection-Critical Portions of the TCB - Those portions of the
- TCB whose normal function is to deal with the control of
- access between subjects and objects.
-
- Protection Philosophy - An informal description of the overall
- design of a system that delineates each of the protection
- mechanisms employed. A combination (appropriate to the
- evaluation class) of formal and informal techniques is used
- to show that the mechanisms are adequate to enforce the
- security policy.
-
- Read - A fundamental operation that results only in the flow of
- information from an object to a subject.
-
- Read Access - Permission to read information.
-
- Read-Only Memory (ROM) - A storage area in which the contents can
- be read but not altered during normal computer processing.
-
- Reference Monitor Concept - An access control concept that refers
- to an abstract machine that mediates all accesses to objects
- by subjects.
-
- Resource - Anything used or consumed while performing a function.
- The categories of resources are: time, information, objects
- (information containers), or processors (the ability to use
- information). Specific examples are: CPU time; terminal
- connect time; amount of directly-addressable memory; disk
- space; number of I/O requests per minute, etc.
-
- Security Kernel - The hardware, firmware, and software elements
- of a Trusted Computing Base that implement the reference
- monitor concept. It must mediate all accesses, be protected
- from modification, and be verifiable as correct.
-
- Security Level - The combination of a hierarchical classification
- and a set of non-hierarchical categories that represents the
- sensitivity of information.
-
- Security Policy - The set of laws, rules, and practices that
- regulate how an organization manages, protects, and
- distributes sensitive information.
-
- Security Policy Model - An informal presentation of a formal
- security policy model.
-
- Security Relevant Event - Any event that attempts to change the
- security state of the system, (e.g., change discretionary
- access controls, change the security level of the subject,
- change user password, etc.). Also, any event that attempts
- to violate the security policy of the system, (e.g., too
- many attempts to login, attempts to violate the mandatory
- access control limits of a defice, attempts to downgrade a
- file, etc.).
-
- Security Testing - A process used to determine that the security
- features of a system are implemented as designed and that
- they are adequate for a proposed application environment.
- This process includes hands-on functional testing,
- penetration testing, and verification. See also: Functional
- Testing, Penetration Testing, Verification.
-
- Sensitive Information - Information that, as determined by a
- competent authority, must be protected because its
- unauthorized disclosure, alteration, loss, or destruction
- will at least cause perceivable damage to someone or
- something.
-
- Sensitivity Label - A piece of information that represents the
- security level of an object and that describes the
- sensitivity (e.g., classification) of the data in the
- object. Sensitivity labels are used by the TCB as the basis
- for mandatory access control decisions.
-
- Simple Security Condition - A Bell-LaPadula security model rule
- allowing a subject read access to an object only if the
- security level of the subject dominates the security level
- of the object.
-
- Single-Level Device - A device that is used to process data of a
- single security level at any one time. Since the device
- need not be trusted to separate data of different security
- levels, sensitivity labels do not have to be stored with the
- data being processed.
-
- *-Property (Star Property) - A Bell-LaPadula security model rule
- allowing a subject write access to an object only if the
- security level of the subject is dominated by the security
- level of the object. Also known as the Confinement
- Property.
-
- Storage Object - An object that supports both read and write
- accesses.
-
- Subject - An active entity, generally in the form of a person,
- process, or device that causes information to flow among
- objects or changes the system state. Technically, a
- process/domain pair.
-
- Subject Security Level - A subject's security level is equal to
- the security level of the objects to which it has both read
- and write access. A subject's security level must always be
- dominated by the clearance of the user the subject is
- associated with.
-
- TEMPEST - The study and control of spurious electronic signals
- emitted from ADP equipment.
-
- Top-Level Specification (TLS) - A non-procedural description of
- system behavior at the most abstract level. Typically a
- functional specification that omits all implementation
- details.
-
- Trap Door - A hidden software or hardware mechanism that permits
- system protection mechanisms to be circumvented. It is
- activated in some non-apparent manner (e.g., special
- "random" key sequence at a terminal).
-
- Trojan Horse - A computer program with an apparently or actually
- useful function that contains additional (hidden) functions
- that surreptitiously exploit the legitimate authorizations
- of the invoking process to the detriment of security. For
- example, making a "blind copy" of a sensitive file for the
- creator of the Trojan Horse.
-
- Trusted Computer System - A system that employs sufficient
- hardware and software integrity measures to allow its use
- for processing simultaneously a range of sensitive or
- classified information.
-
- Trusted Computing Base (TCB) - The totality of protection
- mechanisms within a computer system -- including hardware,
- firmware, and software -- the combination of which is
- responsible for enforcing a security policy. A TCB consists
- of one or more components that together enforce a unified
- security policy over a product or system. The ability of
- a trusted computing base to correctly enforce a
- security policy depends solely on the mechanisms within the
- TCB and on the correct input by system administrative
- personnel of parameters (e.g., a user's clearance) related
- to the security policy.
-
- Trusted Path - A mechanism by which a person at a terminal can
- communicate directly with the Trusted Computing Base. This
- mechanism can only be activated by the person or the Trusted
- Computing Base and cannot be imitated by untrusted software.
-
- Trusted Software - The software portion of a Trusted Computing
- Base.
-
- User - Any person who interacts directly with a computer system.
-
- Verification - The process of comparing two levels of system
- specification for proper correspondence (e.g., security
- policy model with top-level specification, TLS with source
- code, or source code with object code). This process may or
- may not be automated.
-
- Write - A fundamental operation that results only in the flow of
- information from a subject to an object.
-
- Write Access - Permission to write an object.
-
-
- REFERENCES
-
-
- 1. Anderson, J. P. Computer Security Technology Planning
- Study, ESD-TR-73-51, vol. I, ESD/AFSC, Hanscom AFB,
- Bedford, Mass., October 1972 (NTIS AD-758 206).
-
- 2. Bell, D. E. and LaPadula, L. J. Secure Computer Systems:
- Unified Exposition and Multics Interpretation, MTR-2997
- Rev. 1, MITRE Corp., Bedford, Mass., March 1976.
-
- 3. Brand, S. L. "An Approach to Identification and Audit of
- Vulnerabilities and Control in Application Systems," in
- Audit and Evaluation of Computer Security II: System
- Vulnerabilities and Controls, Z. Ruthberg, ed., NBS
- Special Publication #500-57, MD78733, April 1980.
-
- 4. Brand, S. L. "Data Processing and A-123," in Proceedings of
- the Computer Performance Evaluation User's Group 18th
- Meeting, C. B. Wilson, ed., NBS Special Publication
- #500-95, October 1982.
-
- 5. DCID l/l6, Security of Foreign Intelligence in Automated Data
- Processing Systems and Networks (U), 4 January l983.
-
- 6. DIAM 50-4, Security of Compartmented Computer Operations (U),
- 24 June l980.
-
- 7. Denning, D. E. "A Lattice Model of Secure Information
- Flow," in Communications of the ACM, vol. 19, no. 5
- (May 1976), pp. 236-243.
-
- 8. Denning, D. E. Secure Information Flow in Computer Systems,
- Ph.D. dissertation, Purdue Univ., West Lafayette, Ind.,
- May 1975.
-
- 9. DoD Directive 5000.29, Management of Computer Resources in Major
- Defense Systems, 26 April l976.
-
- 10. DoD 5200.1-R, Information Security Program Regulation,
- August 1982.
-
- 11. DoD Directive 5200.28, Security Requirements for Automatic
- Data Processing (ADP) Systems, revised April 1978.
-
- 12. DoD 5200.28-M, ADP Security Manual -- Techniques and
- Procedures for Implementing, Deactivating, Testing, and
- Evaluating Secure Resource-Sharing ADP Systems, revised
- June 1979.
-
- 13. DoD Directive 5215.1, Computer Security Evaluation Center,
- 25 October 1982.
-
- 14. DoD 5220.22-M, Industrial Security Manual for Safeguarding
- Classified Information, March 1984.
-
- 15. DoD 5220.22-R, Industrial Security Regulation, February 1984.
-
- 16. DoD Directive 5400.11, Department of Defense Privacy
- Program, 9 June 1982.
-
- 17. DoD Directive 7920.1, Life Cycle Management of Automated
- Information Systems (AIS), 17 October 1978
-
- 18. Executive Order 12356, National Security Information,
- 6 April 1982.
-
- 19. Faurer, L. D. "Keeping the Secrets Secret," in Government
- Data Systems, November - December 1981, pp. 14-17.
-
- 20. Federal Information Processing Standards Publication (FIPS
- PUB) 39, Glossary for Computer Systems Security,
- 15 February 1976.
-
- 21. Federal Information Processing Standards Publication (FIPS
- PUB) 73, Guidelines for Security of Computer
- Applications, 30 June 1980.
-
- 22. Federal Information Processing Standards Publication (FIPS
- PUB) 102, Guideline for Computer Security Certification
- and Accreditation.
-
- 23. Lampson, B. W. "A Note on the Confinement Problem," in
- Communications of the ACM, vol. 16, no. 10 (October
- 1973), pp. 613-615.
-
- 24. Lee, T. M. P., et al. "Processors, Operating Systems and
- Nearby Peripherals: A Consensus Report," in Audit and
- Evaluation of Computer Security II: System
- Vulnerabilities and Controls, Z. Ruthberg, ed., NBS
- Special Publication #500-57, MD78733, April 1980.
-
- 25. Lipner, S. B. A Comment on the Confinement Problem, MITRE
- Corp., Bedford, Mass.
-
- 26. Millen, J. K. "An Example of a Formal Flow Violation," in
- Proceedings of the IEEE Computer Society 2nd
- International Computer Software and Applications
- Conference, November 1978, pp. 204-208.
-
- 27. Millen, J. K. "Security Kernel Validation in Practice," in
- Communications of the ACM, vol. 19, no. 5 (May 1976),
- pp. 243-250.
-
- 28. Nibaldi, G. H. Proposed Technical Evaluation Criteria for
- Trusted Computer Systems, MITRE Corp., Bedford, Mass.,
- M79-225, AD-A108-832, 25 October 1979.
-
- 29. Nibaldi, G. H. Specification of A Trusted Computing Base,
- (TCB), MITRE Corp., Bedford, Mass., M79-228, AD-A108-
- 831, 30 November 1979.
-
- 30. OMB Circular A-71, Transmittal Memorandum No. 1, Security of
- Federal Automated Information Systems, 27 July 1978.
-
- 31. OMB Circular A-123, Internal Control Systems, 5 November
- 1981.
-
- 32. Ruthberg, Z. and McKenzie, R., eds. Audit and Evaluation of
- Computer Security, in NBS Special Publication #500-19,
- October 1977.
-
- 33. Schaefer, M., Linde, R. R., et al. "Program Confinement in
- KVM/370," in Proceedings of the ACM National
- Conference, October 1977, Seattle.
-
- 34. Schell, R. R. "Security Kernels: A Methodical Design of
- System Security," in Technical Papers, USE Inc. Spring
- Conference, 5-9 March 1979, pp. 245-250.
-
- 35. Trotter, E. T. and Tasker, P. S. Industry Trusted Computer
- Systems Evaluation Process, MITRE Corp., Bedford,
- Mass., MTR-3931, 1 May 1980.
-
- 36. Turn, R. Trusted Computer Systems: Needs and Incentives for
- Use in government and Private Sector, (AD # A103399),
- Rand Corporation (R-28811-DR&E), June 1981.
-
- 37. Walker, S. T. "The Advent of Trusted Computer Operating
- Systems," in National Computer Conference Proceedings,
- May 1980, pp. 655-665.
-
- 38. Ware, W. H., ed., Security Controls for Computer Systems:
- Report of Defense Science Board Task Force on Computer
- Security, AD # A076617/0, Rand Corporation, Santa
- Monica, Calif., February 1970, reissued October 1979.
-
-
-