home *** CD-ROM | disk | FTP | other *** search
/ Forum of Incident Response & Security Teams / Forum_of_Incident_Response_and_Security_Teams_FIRST_October_1994.iso / papers / criteria / tcsec.txt < prev   
Text File  |  1994-06-26  |  277KB  |  5,250 lines

  1.       
  2.                                                                DoD 5200.28-STD
  3.                                                                     Supersedes
  4.                                                  CSC-STD-00l-83, dtd l5 Aug 83
  5.                                                           Library No. S225,7ll
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.                         DEPARTMENT OF DEFENSE STANDARD
  16.  
  17.  
  18.  
  19.  
  20.                                  DEPARTMENT OF
  21.  
  22.                                     DEFENSE
  23.  
  24.                                TRUSTED COMPUTER
  25.  
  26.                                SYSTEM EVALUATION
  27.  
  28.                                    CRITERIA
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.                                  DECEMBER l985
  50.  
  51.  
  52.                                                              December 26, l985 
  53.  
  54.                                    FOREWORD
  55.  
  56.  
  57. This publication, DoD 5200.28-STD, "Department of Defense Trusted Computer
  58. System Evaluation Criteria," is issued under the authority of an in accordance
  59. with DoD Directive 5200.28, "Security Requirements for Automatic Data
  60. Processing (ADP) Systems," and in furtherance of responsibilities assigned by
  61. DoD Directive 52l5.l, "Computer Security Evaluation Center."  Its purpose is to
  62. provide technical hardware/firmware/software security criteria and associated
  63. technical evaluation methodologies in support of the overall ADP system
  64. security policy, evaluation and approval/accreditation responsibilities
  65. promulgated by DoD Directive 5200.28.
  66.  
  67. The provisions of this document apply to the Office of the Secretary of Defense
  68. (ASD), the Military Departments, the Organization of the Joint Chiefs of Staff,
  69. the Unified and Specified Commands, the Defense Agencies and activities
  70. administratively supported by OSD (hereafter called "DoD Components").
  71.  
  72. This publication is effective immediately and is mandatory for use by all DoD
  73. Components in carrying out ADP system technical security evaluation activities
  74. applicable to the processing and storage of classified and other sensitive DoD
  75. information and applications as set forth herein.
  76.  
  77. Recommendations for revisions to this publication are encouraged and will be
  78. reviewed biannually by the National Computer Security Center through a formal
  79. review process.  Address all proposals for revision through appropriate
  80. channels to:  National Computer Security Center, Attention:  Chief, Computer
  81. Security Standards.
  82.  
  83. DoD Components may obtain copies of this publication through their own
  84. publications channels.  Other federal agencies and the public may obtain copies
  85. from:  Office of Standards and Products, National Computer Security Center,
  86. Fort Meade, MD  20755-6000, Attention:  Chief, Computer Security Standards.
  87.  
  88.  
  89.  
  90.  
  91. _________________________________
  92.  
  93. Donald C. Latham
  94. Assistant Secretary of Defense
  95. (Command, Control, Communications, and Intelligence)
  96.  
  97.  
  98.                                ACKNOWLEDGEMENTS
  99.  
  100.  
  101. Special recognition is extended to Sheila L. Brand, National Computer Security
  102. Center (NCSC), who integrated theory, policy, and practice into and directed
  103. the production of this document.
  104.  
  105. Acknowledgment is also given for the contributions of: Grace Hammonds and
  106. Peter S. Tasker, the MITRE Corp., Daniel J. Edwards, NCSC, Roger R. Schell,
  107. former Deputy Director of NCSC, Marvin Schaefer, NCSC, and Theodore M. P. Lee,
  108. Sperry Corp., who as original architects formulated and articulated the
  109. technical issues and solutions presented in this document; Jeff Makey, formerly
  110. NCSC, Warren F. Shadle, NCSC, and Carole S. Jordan, NCSC, who assisted in the
  111. preparation of this document; James P. Anderson, James P. Anderson & Co.,
  112. Steven B. Lipner, Digital Equipment Corp., Clark Weissman, System Development
  113. Corp., LTC Lawrence A. Noble, formerly U.S. Air Force, Stephen T. Walker,
  114. formerly DoD, Eugene V. Epperly, DoD, and James E. Studer, formerly Dept. of
  115. the Army, who gave generously of their time and expertise in the review and
  116. critique of this document; and finally, thanks are given to the computer
  117. industry and others interested in trusted computing for their enthusiastic
  118. advice and assistance throughout this effort.
  119.  
  120.  
  121.  
  122.                                    CONTENTS
  123.  
  124.  
  125.           FOREWORD. . . . . . . . . . . . . . . . . . . . . . . . . . . .i
  126.  
  127.           ACKNOWLEDGMENTS . . . . . . . . . . . . . . . . . . . . . . . ii
  128.  
  129.           PREFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . .v
  130.  
  131.           INTRODUCTION. . . . . . . . . . . . . . . . . . . . . . . . . .1
  132.  
  133.  
  134.                              PART I:  THE CRITERIA
  135.  
  136.           1.0  DIVISION D:  MINIMAL PROTECTION. . . . . . . . . . . . . .9
  137.  
  138.           2.0  DIVISION C:  DISCRETIONARY PROTECTION. . . . . . . . . . 11
  139.                2.1   Class (C1):  Discretionary Security Protection . . 12
  140.                2.2   Class (C2):  Controlled Access Protection. . . . . 15
  141.  
  142.           3.0  DIVISION B:  MANDATORY PROTECTION. . . . . . . . . . . . 19
  143.                3.1   Class (B1):  Labeled Security Protection . . . . . 20
  144.                3.2   Class (B2):  Structured Protection . . . . . . . . 26
  145.                3.3   Class (B3):  Security Domains. . . . . . . . . . . 33
  146.  
  147.           4.0  DIVISION A:  VERIFIED PROTECTION . . . . . . . . . . . . 41
  148.                4.1   Class (A1):  Verified Design . . . . . . . . . . . 42
  149.                4.2   Beyond Class (A1). . . . . . . . . . . . . . . . . 51
  150.  
  151.  
  152.                       PART II:  RATIONALE AND GUIDELINES
  153.  
  154.           5.0  CONTROL OBJECTIVES FOR TRUSTED COMPUTER SYSTEMS. . . . . 55
  155.                5.1   A Need for Consensus . . . . . . . . . . . . . . . 56
  156.                5.2   Definition and Usefulness. . . . . . . . . . . . . 56
  157.                5.3   Criteria Control Objective . . . . . . . . . . . . 56
  158.  
  159.           6.0  RATIONALE BEHIND THE EVALUATION CLASSES. . . . . . . . . 63
  160.                6.1   The Reference Monitor Concept. . . . . . . . . . . 64
  161.                6.2   A Formal Security Policy Model . . . . . . . . . . 64
  162.                6.3   The Trusted Computing Base . . . . . . . . . . . . 65
  163.                6.4   Assurance. . . . . . . . . . . . . . . . . . . . . 65
  164.                6.5   The Classes. . . . . . . . . . . . . . . . . . . . 66
  165.  
  166.           7.0  THE RELATIONSHIP BETWEEN POLICY AND THE CRITERIA . . . . 69
  167.                7.1   Established Federal Policies . . . . . . . . . . . 70
  168.                7.2   DoD Policies . . . . . . . . . . . . . . . . . . . 70
  169.                7.3   Criteria Control Objective For Security Policy . . 71
  170.                7.4   Criteria Control Objective for Accountability. . . 74
  171.                7.5   Criteria Control Objective for Assurance . . . . . 76
  172.  
  173.           8.0  A GUIDELINE ON COVERT CHANNELS . . . . . . . . . . . . . 79
  174.  
  175.  
  176.           9.0  A GUIDELINE ON CONFIGURING MANDATORY ACCESS CONTROL
  177.                FEATURES . . . . . . . . . . . . . . . . . . . . . . . . 81
  178.  
  179.           10.0  A GUIDELINE ON SECURITY TESTING . . . . . . . . . . . . 83
  180.                 10.1 Testing for Division C . . . . . . . . . . . . . . 84
  181.                 10.2 Testing for Division B . . . . . . . . . . . . . . 84
  182.                 10.3 Testing for Division A . . . . . . . . . . . . . . 85
  183.  
  184.  
  185.           APPENDIX A:  Commercial Product Evaluation Process. . . . . . 87
  186.  
  187.           APPENDIX B:  Summary of Evaluation Criteria Divisions . . . . 89
  188.           
  189.           APPENDIX C:  Sumary of Evaluation Criteria Classes. . . . . . 91
  190.  
  191.           APPENDIX D:  Requirement Directory. . . . . . . . . . . . . . 93
  192.  
  193.           GLOSSARY. . . . . . . . . . . . . . . . . . . . . . . . . . .109
  194.  
  195.           REFERENCES. . . . . . . . . . . . . . . . . . . . . . . . . .115
  196.  
  197.  
  198.  
  199.                                     PREFACE
  200.  
  201.  
  202. The trusted computer system evaluation criteria defined in this document
  203. classify systems into four broad hierarchical divisions of enhanced security
  204. protection.  They provide a basis for the evaluation of effectiveness of
  205. security controls built into automatic data processing system products.  The
  206. criteria were developed with three objectives in mind: (a) to provide users
  207. with a yardstick with which to assess the degree of trust that can be placed
  208. in computer systems for the secure processing of classified or other sensitive
  209. information; (b) to provide guidance to manufacturers as to what to build into
  210. their new, widely-available trusted commercial products in order to satisfy
  211. trust requirements for sensitive applications; and (c) to provide a basis for
  212. specifying security requirements in acquisition specifications.  Two types of
  213. requirements are delineated for secure processing: (a) specific security
  214. feature requirements and (b) assurance requirements.  Some of the latter
  215. requirements enable evaluation personnel to determine if the required features
  216. are present and functioning as intended.  The scope of these criteria is to be
  217. applied to the set of components comprising a trusted system, and is not
  218. necessarily to be applied to each system component individually.  Hence, some
  219. components of a system may be completely untrusted, while others may be
  220. individually evaluated to a lower or higher evaluation class than the trusted
  221. product considered as a whole system.  In trusted products at the high end of
  222. the range, the strength of the reference monitor is such that most of the
  223. components can be completely untrusted.  Though the criteria are intended to be
  224. application-independent, the specific security feature requirements may have to
  225. be interpreted when applying the criteria to specific systems with their own
  226. functional requirements, applications or special environments (e.g.,
  227. communications processors, process control computers, and embedded systems in
  228. general).  The underlying assurance requirements can be applied across the
  229. entire spectrum of ADP system or application processing environments without
  230. special interpretation.
  231.  
  232.  
  233.                                  INTRODUCTION
  234.  
  235. Historical Perspective
  236.  
  237. In October 1967, a task force was assembled under the auspices of the Defense
  238. Science Board to address computer security safeguards that would protect
  239. classified information in remote-access, resource-sharing computer systems.
  240. The Task Force report, "Security Controls for Computer Systems," published in
  241. February 1970, made a number of policy and technical recommendations on
  242. actions to be taken to reduce the threat of compromise of classified
  243. information processed on remote-access computer systems.[34]  Department of
  244. Defense Directive 5200.28 and its accompanying manual DoD 5200.28-M, published
  245. in 1972 and 1973 respectively, responded to one of these recommendations by
  246. establishing uniform DoD policy, security requirements, administrative
  247. controls, and technical measures to protect classified information processed
  248. by DoD computer systems.[8;9]  Research and development work undertaken by the
  249. Air Force, Advanced Research Projects Agency, and other defense agencies in
  250. the early and mid 70's developed and demonstrated solution approaches for the
  251. technical problems associated with controlling the flow of information in
  252. resource and information sharing computer systems.[1]  The DoD Computer
  253. Security Initiative was started in 1977 under the auspices of the Under
  254. Secretary of Defense for Research and Engineering to focus DoD efforts
  255. addressing computer security issues.[33]
  256.  
  257. Concurrent with DoD efforts to address computer security issues, work was
  258. begun under the leadership of the National Bureau of Standards (NBS) to define
  259. problems and solutions for building, evaluating, and auditing secure computer
  260. systems.[17]  As part of this work NBS held two invitational workshops on the
  261. subject of audit and evaluation of computer security.[20;28]  The first was
  262. held in March 1977, and the second in November of 1978.  One of the products
  263. of the second workshop was a definitive paper on the problems related to
  264. providing criteria for the evaluation of technical computer security
  265. effectiveness.[20]  As an outgrowth of recommendations from this report, and in
  266. support of the DoD Computer Security Initiative, the MITRE Corporation began
  267. work on a set of computer security evaluation criteria that could be used to
  268. assess the degree of trust one could place in a computer system to protect
  269. classified data.[24;25;31]  The preliminary concepts for computer security
  270. evaluation were defined and expanded upon at invitational workshops and
  271. symposia whose participants represented computer security expertise drawn from
  272. industry and academia in addition to the government.  Their work has since
  273. been subjected to much peer review and constructive technical criticism from
  274. the DoD, industrial research and development organizations, universities, and
  275. computer manufacturers.
  276.  
  277. The DoD Computer Security Center (the Center) was formed in January 1981 to
  278. staff and expand on the work started by the DoD Computer Security
  279. Initiative.[15]  A major goal of the Center as given in its DoD Charter is to
  280. encourage the widespread availability of trusted computer systems for use by
  281. those who process classified or other sensitive information.[10]  The criteria
  282. presented in this document have evolved from the earlier NBS and MITRE
  283. evaluation material.
  284.  
  285. Scope
  286.  
  287. The trusted computer system evaluation criteria defined in this document apply
  288. primarily to trusted commercially available automatic data processing (ADP)
  289. systems.  They are also applicable, as amplified below, the the evaluation of
  290. existing systems and to the specification of security requirements for ADP
  291. systems acquisition.  Included are two distinct sets of requirements: 1)
  292. specific security feature requirements; and 2) assurance requirements.  The
  293. specific feature requirements encompass the capabilities typically found in
  294. information processing systems employing general-purpose operating systems that
  295. are distinct from the applications programs being supported.  However, specific
  296. security feature requirements may also apply to specific systems with their own
  297. functional requirements, applications or special environments (e.g.,
  298. communications processors, process control computers, and embedded systems in
  299. general).  The assurance requirements, on the other hand, apply to systems that
  300. cover the full range of computing environments from dedicated controllers to
  301. full range multilevel secure resource sharing systems.
  302.  
  303.  
  304. Purpose
  305.  
  306. As outlined in the Preface, the criteria have been developedto serve a number
  307. of intended purposes:
  308.  
  309.            * To provide a standard to manufacturers as to what security
  310.            features to build into their new and planned, commercial 
  311.            products in order to provide widely available systems that
  312.            satisfy trust requirements (with particular emphasis on preventing
  313.            the disclosure of data) for sensitive applications.
  314.  
  315.            * To provide DoD components with a metric with which to evaluate
  316.            the degree of trust that can be placed in computer systems for
  317.            the secure processing of classified and other sensitive
  318.            information.
  319.  
  320.            * To provide a basis for specifying security requirements in
  321.            acquisition specifications.
  322.  
  323. With respect to the second purpose for development of the criteria, i.e.,
  324. providing DoD components with a security evaluation metric, evaluations can be
  325. delineated into two types: (a) an evaluation can be performed on a computer
  326. product from a perspective that excludes the application environment; or, (b)
  327. it can be done to assess whether appropriate security measures have been taken
  328. to permit the system to be used operationally in a specific environment.  The
  329. former type of evaluation is done by the Computer Security Center through the
  330. Commercial Product Evaluation Process.  That process is described in Appendix
  331. A.
  332.  
  333. The latter type of evaluation, i.e., those done for the purpose of assessing a
  334. system's security attributes with respect to a specific operational mission,
  335. is known as a certification evaluation.  It must be understood that the
  336. completion of a formal product evaluation does not constitute certification or
  337. accreditation for the system to be used in any specific application
  338. environment.  On the contrary, the evaluation report only provides a trusted
  339. computer system's evaluation rating along with supporting data describing the
  340. product system's strengths and weaknesses from a computer security point of
  341. view.  The system security certification and the formal approval/accreditation
  342. procedure, done in accordance with the applicable policies of the issuing
  343. agencies, must still be followed-before a system can be approved for use in
  344. processing or handling classified information.[8;9]  Designated Approving
  345. Authorities (DAAs) remain ultimately responsible for specifying security of
  346. systems they accredit.
  347.  
  348. The trusted computer system evaluation criteria will be used directly and
  349. indirectly in the certification process.  Along with applicable policy, it
  350. will be used directly as technical guidance for evaluation of the total system
  351. and for specifying system security and certification requirements for new
  352. acquisitions.  Where a system being evaluated for certification employs a
  353. product that has undergone a Commercial Product Evaluation, reports from that
  354. process will be used as input to the certification evaluation.  Technical data
  355. will be furnished to designers, evaluators and the Designated Approving
  356. Authorities to support their needs for making decisions.
  357.  
  358.  
  359. Fundamental Computer Security Requirements
  360.  
  361. Any discussion of computer security necessarily starts from a statement of
  362. requirements, i.e., what it really means to call a computer system "secure."
  363. In general, secure systems will control, through use of specific security
  364. features, access to information such that only properly authorized
  365. individuals, or processes operating on their behalf, will have access to read,
  366. write, create, or delete information.  Six fundamental requirements are
  367. derived from this basic statement of objective: four deal with what needs to
  368. be provided to control access to information; and two deal with how one can
  369. obtain credible assurances that this is accomplished in a trusted computer
  370. system.
  371.  
  372.                                     Policy
  373.  
  374.           Requirement 1 - SECURITY POLICY - There must be an explicit and
  375. well-defined security policy enforced by the system.  Given identified subjects
  376. and objects, there must be a set of rules that are used by the system to
  377. determine whether a given subject can be permitted to gain access to a specific
  378. object.  Computer systems of interest must enforce a mandatory security policy
  379. that can effectively implement access rules for handling sensitive (e.g.,
  380. classified) information.[7]  These rules include requirements such as: No
  381. person lacking proper personnel security clearance shall obtain access to
  382. classified
  383. information.  In addition, discretionary security controls are required to
  384. ensure that only selected users or groups of users may obtain access to data
  385. (e.g., based on a need-to-know). 
  386.  
  387.           Requirement 2 - MARKING - Access control labels must be associated
  388. with objects.  In order to control access to information stored in a computer,
  389. according to the rules of a mandatory security policy, it must be possible to
  390. mark every object with a label that reliably identifies the object's
  391. sensitivity level (e.g., classification), and/or the modes of access accorded
  392. those subjects who may potentially access the object.
  393.  
  394.                                 Accountability
  395.  
  396.           Requirement 3 - IDENTIFICATION - Individual subjects must be
  397. identified.  Each access to information must be mediated based on who is
  398. accessing the information and what classes of information they are authorized
  399. to deal with.  This identification and authorization information must be
  400. securely maintained by the computer system and be associated with every active
  401. element that performs some security-relevant action in the system.
  402.  
  403.           Requirement 4 - ACCOUNTABILITY - Audit information must be
  404. selectively kept and protected so that actions affecting security can be traced
  405. to the responsible party.  A trusted system must be able to record the
  406. occurrences of security-relevant events in an audit log.  The capability to
  407. select the audit events to be recorded is necessary to minimize the expense of
  408. auditing and to allow efficient analysis.  Audit data must be protected from
  409. modification and unauthorized destruction to permit detection and
  410. after-the-fact investigations of security violations.
  411.  
  412.                                    Assurance
  413.  
  414.           Requirement 5 - ASSURANCE - The computer system must contain
  415. hardware/software mechanisms that can be independently evaluated to provide
  416. sufficient assurance that the system enforces requirements 1 through 4 above. 
  417. In order to assure that the four requirements of Security Policy, Marking,
  418. Identification, and Accountability are enforced by a computer system, there
  419. must be some identified and unified collection of hardware and software
  420. controls that perform those functions.  These mechanisms are typically embedded
  421. in the operating system and are designed to carry out the assigned tasks in a
  422. secure manner.  The basis for trusting such system mechanisms in their
  423. operational setting must be clearly documented such that it is possible to
  424. independently examine the evidence to evaluate their sufficiency.
  425.  
  426.           Requirement 6 - CONTINUOUS PROTECTION - The trusted mechanisms that
  427. enforce these basic requirements must be continuously protected against
  428. tampering and/or unauthorized changes.  No computer system can be considered
  429. truly secure if the basic hardware and software mechanisms that enforce the
  430. security policy are themselves subject to unauthorized modification or
  431. subversion.  The continuous protection requirement has direct implications
  432. throughout the computer system's life-cycle.
  433.  
  434. These fundamental requirements form the basis for the individual evaluation
  435. criteria applicable for each evaluation division and class.  The interested
  436. reader is referred to Section 5 of this document, "Control Objectives for
  437. Trusted Computer Systems," for a more complete discussion and further
  438. amplification of these fundamental requirements as they apply to
  439. general-purpose information processing systems and to Section 7 for
  440. amplification of the relationship between Policy and these requirements.
  441.  
  442.  
  443. Structure of the Document
  444.  
  445. The remainder of this document is divided into two parts, four appendices, and
  446. a glossary.  Part I (Sections 1 through 4) presents the detailed criteria
  447. derived from the fundamental requirements described above and relevant to the
  448. rationale and policy excerpts contained in Part II.
  449.  
  450. Part II (Sections 5 through 10) provides a discussion of basic objectives,
  451. rationale, and national policy behind the development of the criteria, and
  452. guidelines for developers pertaining to: mandatory access control rules
  453. implementation, the covert channel problem, and security testing.  It is
  454. divided into six sections.  Section 5 discusses the use of control objectives
  455. in general and presents the three basic control objectives of the criteria.
  456. Section 6 provides the theoretical basis behind the criteria.  Section 7 gives
  457. excerpts from pertinent regulations, directives, OMB Circulars, and Executive
  458. Orders which provide the basis for many trust requirements for processing
  459. nationally sensitive and classified information with computer systems.
  460. Section 8 provides guidance to system developers on expectations in dealing
  461. with the covert channel problem.  Section 9 provides guidelines dealing with
  462. mandatory security.  Section 10 provides guidelines for security testing.
  463. There are four appendices, including a description of the Trusted Computer
  464. System Commercial Products Evaluation Process (Appendix A), summaries of the
  465. evaluation divisions (Appendix B) and classes (Appendix C), and finally a
  466. directory of requirements ordered alphabetically.  In addition, there is a
  467. glossary.
  468.  
  469.  
  470. Structure of the Criteria
  471.  
  472. The criteria are divided into four divisions: D, C, B, and A ordered in a
  473. hierarchical manner with the highest division (A) being reserved for systems
  474. providing the most comprehensive security.  Each division represents a major
  475. improvement in the overall confidence one can place in the system for the
  476. protection of sensitive information.  Within divisions C and B there are a
  477. number of subdivisions known as classes.  The classes are also ordered in a
  478. hierarchical manner with systems representative of division C and lower
  479. classes of division B being characterized by the set of computer security
  480. mechanisms that they possess.  Assurance of correct and complete design and
  481. implementation for these systems is gained mostly through testing of the
  482. security- relevant portions of the system.  The security-relevant portions of
  483. a system are referred to throughout this document as the Trusted Computing
  484. Base (TCB).  Systems representative of higher classes in division B and
  485. division A derive their security attributes more from their design and
  486. implementation structure.  Increased assurance that the required features are
  487. operative, correct, and tamperproof under all circumstances is gained through
  488. progressively more rigorous analysis during the design process.
  489.  
  490. Within each class, four major sets of criteria are addressed.  The first three
  491. represent features necessary to satisfy the broad control objectives of
  492. Security Policy, Accountability, and Assurance that are discussed in Part II,
  493. Section 5.  The fourth set, Documentation, describes the type of written
  494. evidence in the form of user guides, manuals, and the test and design
  495. documentation required for each class.
  496.  
  497. A reader using this publication for the first time may find it helpful to
  498. first read Part II, before continuing on with Part I.
  499.  
  500.  
  501.  
  502.                              PART I:  THE CRITERIA
  503.  
  504.  
  505. Highlighting (UPPERCASE) is used in Part I to indicate criteria not contained
  506. in a lower class or changes and additions to already defined criteria.  Where
  507. there is no highlighting, requirements have been carried over from lower
  508. classes without addition or modification.
  509.      
  510.  
  511.  
  512.                      1.0  DIVISION D:  MINIMAL PROTECTION
  513.  
  514.  
  515. This division contains only one class.  It is reserved for those systems that
  516. have been evaluated but that fail to meet the requirements for a higher
  517. evaluation class.
  518.  
  519.  
  520.  
  521.                    2.0 DIVISION C:  DISCRETIONARY PROTECTION
  522.  
  523.  
  524. Classes in this division provide for discretionary (need-to-know) protection
  525. and, through the inclusion of audit capabilities, for accountability of
  526. subjects and the actions they initiate.
  527.  
  528.     
  529.  
  530. 2.1  CLASS (C1):  DISCRETIONARY SECURITY PROTECTION
  531.  
  532. The Trusted Computing Base (TCB) of a class (C1) system nominally satisfies
  533. the discretionary security requirements by providing separation of users and
  534. data.  It incorporates some form of credible controls capable of enforcing
  535. access limitations on an individual basis, i.e., ostensibly suitable for
  536. allowing users to be able to protect project or private information and to
  537. keep other users from accidentally reading or destroying their data.  The
  538. class (C1) environment is expected to be one of cooperating users processing
  539. data at the same level(s) of sensitivity.  The following are minimal
  540. requirements for systems assigned a class (C1) rating:
  541.  
  542. 2.1.1  Security Policy
  543.  
  544.      2.1.1.1   Discretionary Access Control
  545.  
  546.                The TCB shall define and control access between named users and
  547.                named objects (e.g., files and programs) in the ADP system.  The
  548.                enforcement mechanism (e.g., self/group/public controls, access
  549.                control lists) shall allow users to specify and control sharing
  550.                of those objects by named individuals or defined groups or both.
  551.  
  552. 2.1.2  Accountability
  553.  
  554.      2.1.2.1   Identification and Authentication
  555.  
  556.                The TCB shall require users to identify themselves to it before
  557.                beginning to perform any other actions that the TCB is expected
  558.                to mediate.  Furthermore, the TCB shall use a protected 
  559.                mechanism (e.g., passwords) to authenticate the user's identity.
  560.                The TCB shall protect authentication data so that it cannot be
  561.                accessed by any unauthorized user.
  562.  
  563. 2.1.3  Assurance
  564.  
  565.      2.1.3.1   Operational Assurance
  566.  
  567.           2.1.3.1.1  System Architecture
  568.  
  569.                      The TCB shall maintain a domain for its own execution
  570.                      protects it from external interference or tampering
  571.                      (e.g., by modification of its code or data strucutres).
  572.                      Resources controlled by the TCB may be a defined subset
  573.                      of the subjects and objects in the ADP system.
  574.  
  575.           2.1.3.1.2  System Integrity
  576.  
  577.                      Hardware and/or software features shall be provided that
  578.                      can be used to periodically validate the correct operation
  579.                      of the on-site hardware and firmware elements of the TCB.
  580.  
  581.      2.1.3.2   Life-Cycle Assurance
  582.  
  583.           2.1.3.2.1  Security Testing
  584.  
  585.                      The security mechanisms of the ADP system shall be tested
  586.                      and found to work as claimed in the system documentation.
  587.                      Testing shall be done to assure that there are no obvious
  588.                      ways for an unauthorized user to bypass or otherwise
  589.                      defeat the security protection mechanisms of the TCB.
  590.                      (See the Security Testing Guidelines.)
  591.  
  592. 2.1.4  Documentation
  593.  
  594.      2.1.4.1   Security Features User's Guide
  595.  
  596.                A single summary, chapter, or manual in user documentation
  597.                shall describe the protection mechanisms provided by the TCB,
  598.                guidelines on their use, and how they interact with one another.
  599.  
  600.      2.1.4.2   Trusted Facility Manual
  601.  
  602.                A manual addressed to the ADP System Administrator shall
  603.                present cautions about functions and privileges that should be
  604.                controlled when running a secure facility.
  605.  
  606.      2.1.4.3   Test Documentation
  607.  
  608.                The system developer shall provide to the evaluators a document
  609.                that describes the test plan, test procedures that show how the
  610.                the security mechanisms were tested, and results of the
  611.                security mechanisms' functional testing.
  612.  
  613.      2.1.4.4   Design Documentation
  614.  
  615.                Documentation shall be available that provides a description of
  616.                the manufacturer's philosophy of protection and an explanation
  617.                of how this philosophy is translated into the TCB.  If the TCB
  618.                is composed of distinct modules, the interfaces between these
  619.                modules shall be described.
  620.  
  621.  
  622.  
  623.  
  624. 2.2  CLASS (C2):  CONTROLLED ACCESS PROTECTION
  625.  
  626. Systems in this class enforce a more finely grained discretionary access
  627. control than (C1) systems, making users individually accountable for their
  628. actions through login procedures, auditing of security-relevant events, and
  629. resource isolation.  The following are minimal requirements for systems
  630. assigned a class (C2) rating:
  631.  
  632. 2.2.1  Security Policy
  633.  
  634.      2.2.1.1   Discretionary Access Control
  635.  
  636.                The TCB shall define and control access between named users and
  637.                named objects (e.g., files and programs) in the ADP system.  The
  638.                enforcement mechanism (e.g., self/group/public controls, access
  639.                control lists) shall allow users to specify and control sharing
  640.                of those objects by named individuals, or defined groups of 
  641.                individuals, or by both, and shall provide controls to limit
  642.                propagation of access rights.  The discretionary access control
  643.                mechanism shall, either by explicit user action or by default,
  644.                provide that objects are protected from unauthorized access.
  645.                These access controls shall be capable of including or excluding
  646.                access to the granularity of a single user.  Access permission
  647.                to an object by users not already possessing access permission
  648.                shall only be assigned by authorized users.
  649.  
  650.      2.2.1.2   Object Reuse
  651.  
  652.                All authorizations to the information contained within a
  653.                storage object shall be revoked prior to initial assignment,
  654.                allocation or reallocation to a subject from the TCB's pool
  655.                of unused storage objects.  No information, including encrypted
  656.                representations of information, produced by a prior subject's
  657.                actions is to be available to any subject that obtains access
  658.                to an object that has been released back to the system.
  659.  
  660. 2.2.2  Accountability
  661.  
  662.      2.2.2.1   Identification and Authentication
  663.  
  664.                The TCB shall require users to identify themselves to it before
  665.                beginning to perform any other actions that the TCB is expected
  666.                to mediate.  Furthermore, the TCB shall use a protected 
  667.                mechanism (e.g., passwords) to authenticate the user's identity.
  668.                The TCB shall protect authentication data so that it cannot be
  669.                accessed by any unauthorized user.  The TCB shall be able to
  670.                enforce individual accountability by providing the capability to
  671.                uniquely identify each individual ADP system user.  The TCB
  672.                shall also provide the capability of associating this identity
  673.                with all auditable actions taken by that individual.
  674.  
  675.      2.2.2.2   Audit
  676.  
  677.                The TCB shall be able to create, maintain, and protect from
  678.                modification or unauthorized access or destruction an audit
  679.                trail of accesses to the objects it protects.  The audit data
  680.                shall be protected by the TCB so that read access to it is
  681.                limited to those who are authorized for audit data.  The TCB
  682.                shall be able to record the following types of events:  use of
  683.                identification and authentication mechanisms, introduction or
  684.                objects into a user's address space (e.g., file open, program
  685.                initiation), deletion of objects, and actions taken by 
  686.                computer operators and system administrators and/or system
  687.                security officers, and other security relevant events.  For
  688.                each recorded event, the audit record shall identify:  date and
  689.                time of the event, user, type of event, and success or failure
  690.                of the event.  For identification/authentication events the
  691.                origin of request (e.g., terminal ID) shall be included in the
  692.                audit record.  For events that introduce an object into a user's
  693.                address space and  for object deletion events the audit record
  694.                shall include the name of the object.  The ADP system
  695.                administrator shall be able to selectively audit the actions of
  696.                any one or more users based on individual identity.
  697.  
  698. 2.2.3  Assurance
  699.  
  700.      2.2.3.1   Operational Assurance
  701.  
  702.           2.2.3.1.1  System Architecture
  703.  
  704.                      The TCB shall maintain a domain for its own execution
  705.                      that protects it from external interference or tampering
  706.                      (e.g., by modification of its code or data structures). 
  707.                      Resources controlled by the TCB may be a defined subset
  708.                      of the subjects and objects in the ADP system.  The TCB
  709.                      shall isolate the resources to be protected so that they
  710.                      are subject to the access control and auditing
  711.                      requirements.
  712.  
  713.           2.2.3.1.2  System Integrity
  714.  
  715.                      Hardware and/or software features shall be provided that
  716.                      can be used to periodically validate the correct operation
  717.                      of the on-site hardware and firmware elements of the TCB.
  718.  
  719.      2.2.3.2   Life-Cycle Assurance
  720.  
  721.           2.2.3.2.1  Security Testing
  722.  
  723.                      The security mechanisms of the ADP system shall be tested
  724.                      and found to work as claimed in the system documentation.
  725.                      Testing shall be done to assure that there are no obvious
  726.                      ways for an unauthorized user to bypass or otherwise
  727.                      defeat the security protection mechanisms of the TCB.
  728.                      Testing shall also include a search for obvious flaws that
  729.                      would allow violation of resource isolation, or that would
  730.                      permit unauthorized access to the audit or authentication
  731.                      data.  (See the Security Testing guidelines.)
  732.  
  733. 2.2.4  Documentation
  734.  
  735.      2.2.4.1   Security Features User's Guide
  736.  
  737.                A single summary, chapter, or manual in user documentation
  738.                shall describe the protection mechanisms provided by the TCB, 
  739.                guidelines on their use, and how they interact with one another.
  740.  
  741.      2.2.4.2   Trusted Facility Manual
  742.  
  743.                A manual addressed to the ADP system administrator shall
  744.                present cautions about functions and privileges that should be
  745.                controlled when running a secure facility.  The procedures for
  746.                examining and maintaining the audit files as well as the 
  747.                detailed audit record structure for each type of audit event
  748.                shall be given.
  749.  
  750.  
  751.      2.2.4.3   Test Documentation
  752.  
  753.                The system developer shall provide to the evaluators a document
  754.                that describes the test plan, test procedures that show how the
  755.                security mechanisms were tested, and results of the security 
  756.                mechanisms' functional testing.
  757.  
  758.      2.2.4.4   Design Documentation
  759.  
  760.                Documentation shall be available that provides a description of
  761.                the manufacturer's philosophy of protection and an explanation
  762.                of how this philosophy is translated into the TCB.  If the TCB
  763.                is composed of distinct modules, the interfaces between these
  764.                modules shall be described.
  765.  
  766.     
  767.  
  768.                     3.0  DIVISION B:  MANDATORY PROTECTION
  769.  
  770.  
  771. The notion of a TCB that preserves the integrity of sensitivity labels and
  772. uses them to enforce a set of mandatory access control rules is a major
  773. requirement in this division.  Systems in this division must carry the
  774. sensitivity labels with major data structures in the system.  The system
  775. developer also provides the security policy model on which the TCB is based
  776. and furnishes a specification of the TCB.  Evidence must be provided to
  777. demonstrate that the reference monitor concept has been implemented.
  778.  
  779.  
  780.  
  781. 3.1  CLASS (B1):  LABELED SECURITY PROTECTION
  782.  
  783. Class (B1) systems require all the features required for class (C2).  In
  784. addition, an informal statement of the security policy model, data labeling,
  785. and mandatory access control over named subjects and objects must be present.
  786. The capability must exist for accurately labeling exported information.  Any
  787. flaws identified by testing must be removed.  The following are minimal
  788. requirements for systems assigned a class (B1) rating:
  789.  
  790. 3.1.1  Security Policy
  791.  
  792.      3.1.1.1   Discretionary Access Control
  793.  
  794.                The TCB shall define and control access between named users and
  795.                named objects (e.g., files and programs) in the ADP system.  
  796.                The enforcement mechanism (e.g., self/group/public controls, 
  797.                access control lists) shall allow users to specify and control
  798.                sharing of those objects by named individuals, or defined groups
  799.                of individuals, or by both, and shall provide controls to limit
  800.                propagation of access rights.  The discretionary access control
  801.                mechanism shall, either by explicit user action or by default,
  802.                provide that objects are protected from unauthorized access. 
  803.                These access controls shall be capable of including or excluding
  804.                access to the granularity of a single user.  Access permission
  805.                to an object by users not already possessing access permission
  806.                shall only be assigned by authorized users.
  807.  
  808.      3.1.1.2   Object Reuse
  809.  
  810.                All authorizations to the information contained within a
  811.                storage object shall be revoked prior to initial assignment,
  812.                allocation or reallocation to a subject from the TCB's pool
  813.                of unused storage objects.  No information, including encrypted
  814.                representations of information, produced by a prior subject's
  815.                actions is to be available to any subject that obtains access
  816.                to an object that has been released back to the system.
  817.  
  818.      3.1.1.3   Labels
  819.  
  820.                Sensitivity labels associated with each subject and storage
  821.                object under its control (e.g., process, file, segment, device)
  822.                shall be maintained by the TCB.  These labels shall be used as
  823.                the basis for mandatory access control decisions.  In order to
  824.                import non-labeled data, the TCB shall request and receive from
  825.                an authorized user the security level of the data, and all such
  826.                actions shall be auditable by the TCB.
  827.  
  828.           3.1.1.3.1  Label Integrity
  829.  
  830.                      Sensitivity labels shall accurately represent security
  831.                      levels of the specific subjects or objects with which they
  832.                      are associated.  When exported by the TCB, sensitivity
  833.                      labels shall accurately and unambiguously represent the
  834.                      internal labels and shall be associated with the
  835.                      information being exported.
  836.  
  837.           3.1.1.3.2  Exportation of Labeled Information
  838.  
  839.                      The TCB shall designate each communication channel and
  840.                      I/O device as either single-level or miltilevel.  Any
  841.                      change in this designation shall be done manually and
  842.                      shall be auditable by the TCB.  The TCB shall maintain
  843.                      and be able to audit any change in the security level
  844.                      or levels associated with a communication channel or 
  845.                      I/O device.
  846.  
  847.                3.1.1.3.2.1  Exportation to Multilevel Devices
  848.  
  849.                           When the TCB exports an object to a multilevel I/O
  850.                           device, the sensitivity label associated with that
  851.                           object shall also be exported and shall reside on
  852.                           the same physical medium as the exported
  853.                           information and shall be in the same form
  854.                           (i.e., machine-readable or human-readable form).
  855.                           When the TCB exports or imports an object over a 
  856.                           multilevel communication channel, the protocol
  857.                           used on that channel shall provide for the
  858.                           unambiguous pairing between the sensitivity labels
  859.                           and the associated information that is sent or
  860.                           received.
  861.  
  862.                3.1.1.3.2.2  Exportation to Single-Level Devices
  863.  
  864.                           Single-level I/O devices and single-level
  865.                           communication channels are not required to
  866.                           maintain the sensitivity labels of the information
  867.                           they process.  However, the TCB shall include a
  868.                           mechanism by which the TCb and an authorized user 
  869.                           reliably communicate to designate the single
  870.                           security level of information imported or exported
  871.                           via single-level communication channels or I/O
  872.                           devices.
  873.  
  874.                3.1.1.3.2.3  Labeling Human-Readable Output
  875.  
  876.                           The ADP system administrator shall be able to
  877.                           specify the printable label names associated with
  878.                           exported sensitivity labels.  The TCB shall mark
  879.                           the beginning and end of all human-readable, paged,
  880.                           hardcopy output (e.g., line printer output) with
  881.                           human-readable sensitivity labels that properly*
  882.                           represent the sensitivity of the output.  The TCB
  883.                           shall, be default, mark the top and bottom of each
  884.                           page of human-readable, paged, hardcopy output
  885.                           (e.g., line printer output) with human-readable
  886.                           sensitivity labels that properly* represent the
  887.                           overall sensitivity of the output or that properly*
  888.                           represent the sensitivity of the information on the
  889.                           page.  The TCB shall, by default and in an
  890.                           appropriate manner, mark other forms of human-
  891.                           readable output (e.g., maps, graphics) with human-
  892.                           readable sensitivity labels that properly*
  893.                           represent the sensitivity of the touput.  Any
  894.                           override of these marking defaults shall be
  895.                           auditable by the TCB.
  896.  
  897.      3.1.1.4  Mandatory Access Control
  898.  
  899.                The TCB shall enforce a mandatory access control policy over
  900.                all subjects and storage objects under its control (e.g.,
  901.                processes, files, segments, devices).  These subjects and
  902.                objects shall be assigned sensitivity labels that are a
  903.                combination of hierarchical classification levels and
  904.                non-hierarchical categories, and the labels shall be used as
  905.                the basis for mandatory access control decisions.  The TCB
  906.                shall be able to support two or more such security levels.
  907.                (See the Mandatory Access Control Guidelines.)  The following
  908.                requirements shall hold for all accesses between subjects and
  909.                objects controlled by the TCB:  a subject can read an object
  910.                only if the hierarchical classification in the subject's
  911.                security level is greater than or equal to the hierarchical
  912.                classification in the object's security level and the non-
  913.                hierarchical categories in the subject's security level include
  914.                all the non-hierarchical categories in the object's security
  915.                level.  A subject can write an object only if the hierarchical
  916.                classification in the subject's security level is less than or
  917.                equal to the hierarchical classification in the object's 
  918.                security level and all the non-hierarchical categories in the
  919.                subject's security level are included in the non-hierarchical
  920.                categories in the object's security level.  Identification 
  921.                and authentication data shall be used by the TCB to authenti-
  922.                cate the user's identity and to ensure that the security level
  923.                and authorization of subjects external to the TCB that may be
  924.                created to act on behalf of the individual user are dominated
  925.                by the clearance and authorization of that user.
  926.  
  927. 3.1.2  Accountability
  928.  
  929.      3.1.2.1  Identification and Authentication
  930.  
  931.                The TCB shall require users to identify themselves to it before
  932.                beginning to perform any other actions that the TCB is expected
  933.                to mediate.  Furthermore, the TCB shall maintain authentication
  934.                data that includes information for verifying the identity of
  935.                individual users (e.g., passwords) as well as information for
  936.                determining the clearance and authorizations or individual
  937. _____________________________
  938. * The hierarchical classification component in human-readable sensitivity
  939. labels shall be equal to the greatest hierarchical classification or any of the
  940. information in the output that the labels refer to; the non-hierarchical
  941. category component shall include all of the non-hierarchical categories of the
  942. information in the output the labels refer to, but no other non-hierarchical
  943. categories.
  944.  
  945.                users.  This data shall be used by the TCB to authenticate the
  946.                user's identity and to ensure that the security level and
  947.                authorizations of subjects external to the TCB that may be
  948.                created to act on behalf of the individual user are dominated
  949.                by the clearance and authorization of that user.  The TCB shall
  950.                protect authentication data so that it cannot be accessed by any
  951.                unauthorized user.  The TCB shall be able to enforce individual
  952.                accountability by providing the capability to uniquely identify
  953.                each individual ADP system user.  The TCB shall also provide the
  954.                capability of associating this identity with all auditable
  955.                actions taken by that individual.
  956.  
  957.      3.1.2.2   Audit
  958.  
  959.                The TCB shall be able to create, maintain, and protect from
  960.                modification or unauthorized access or destruction an audit
  961.                trail of accesses to the objects it protects.  The audit data
  962.                shall be protected by the TCB so that read access to it is
  963.                limited to those who are authorized for audit data.  The TCB
  964.                shall be able to record the following types of events: use of
  965.                identification and authentication mechanisms, introduction of
  966.                objects into a user's address space (e.g., file open, program
  967.                initiation), deletion of objects, and actions taken by computer
  968.                operators and system administrators and/or system security
  969.                officers and other security relevant events.  The TCB shall also
  970.                be able to audit any override of human-readable output markings.
  971.                For each recorded event, the audit record shall identify: date
  972.                and time of the event, user, type of event, and success or
  973.                failure of the event.  For identification/authentication events
  974.                the origin of request (e.g., terminal ID) shall be included in
  975.                the audit record.  For events that introduce an object into a
  976.                user's address space and for object deletion events the audit
  977.                record shall include the name of the object and the object's
  978.                security level.  The ADP system administrator shall be able to
  979.                selectively audit the actions of any one or more users based on
  980.                individual identity and/or object security level.
  981.  
  982. 3.1.3  Assurance
  983.  
  984.      3.1.3.1   Operational Assurance
  985.  
  986.           3.1.3.1.1  System Architecture
  987.  
  988.                      The TCB shall maintain a domain for its own execution
  989.                      that protects it from external interference or tampering
  990.                      (e.g., by modification of its code or data structures). 
  991.                      Resources controlled by the TCB may be a defined subset
  992.                      of the subjects and objects in the ADP system.  The TCB
  993.                      shall maintain process isolation through the provision of
  994.                      distinct address spaces under its control.  The TCB shall
  995.                      isolate the resources to be protected so that they are
  996.                      subject to the access control and auditing requirements.
  997.  
  998.           3.1.3.1.2  System Integrity
  999.  
  1000.                      Hardware and/or software features shall be provided that
  1001.                      can be used to periodically validate the correct operation
  1002.                      of the on-site hardware and firmware elements of the TCB.
  1003.  
  1004.      3.1.3.2   Life-Cycle Assurance
  1005.  
  1006.           3.1.3.2.1  Security Testing
  1007.  
  1008.                      The security mechanisms of the ADP system shall be tested
  1009.                      and found to work as claimed in the system documentation.
  1010.                      A team of individuals who thoroughly understand the
  1011.                      specific implementation of the TCB shall subject its
  1012.                      design documentation, source code, and object code to
  1013.                      thorough analysis and testing.  Their objectives shall be:
  1014.                      to uncover all design and implementation flaws that would
  1015.                      permit a subject external to the TCB to read, change, or
  1016.                      delete data normally denied under the mandatory or
  1017.                      discretionary security policy enforced by the TCB; as well
  1018.                      as to assure that no subject (without authorization to do
  1019.                      so) is able to cause the TCB to enter a state such that
  1020.                      it is unable to respond to communications initiated by
  1021.                      other users.  All discovered flaws shall be removed or
  1022.                      neutralized and the TCB retested to demonstrate that they
  1023.                      have been eliminated and that new flaws have not been
  1024.                      introduced.  (See the Security Testing Guidelines.)
  1025.  
  1026.           3.1.3.2.2  Design Specification and Verification
  1027.  
  1028.                      An informal or formal model of the security policy
  1029.                      supported by the TCB shall be maintained over the life
  1030.                      cycle of the ADP system and demonstrated to be consistent
  1031.                      with its axioms.
  1032.  
  1033. 3.1.4  Documentation
  1034.  
  1035.      3.1.4.1   Security Features User's Guide
  1036.  
  1037.                A single summary, chapter, or manual in user documentation
  1038.                shall describe the protection mechanisms provided by the TCB,
  1039.                guidelines on their use, and how they interact with one another.
  1040.  
  1041.      3.1.4.2   Trusted Facility Manual
  1042.  
  1043.                A manual addressed to the ADP system administrator shall
  1044.                present cautions about functions and privileges that should be
  1045.                controlled when running a secure facility.  The procedures for
  1046.                examining and maintaining the audit files as well as the
  1047.                detailed audit record structure for each type of audit event
  1048.                shall be given.  The manual shall describe the operator and
  1049.                administrator functions related to security, to include changing
  1050.                the security characteristics of a user.  It shall provide
  1051.                guidelines on the consistent and effective use of the protection
  1052.                features of the system, how they interact, how to securely
  1053.                generate a new TCB, and facility procedures, warnings, and
  1054.                privileges that need to be controlled in order to operate the
  1055.                facility in a secure manner.
  1056.  
  1057.      3.1.4.3   Test Documentation
  1058.  
  1059.                The system developer shall provide to the evaluators a document
  1060.                that describes the test plan, test procedures that show how the
  1061.                security mechanisms were tested, and results of the security 
  1062.                mechanisms' functional testing.
  1063.  
  1064.      3.1.4.4   Design Documentation
  1065.  
  1066.                Documentation shall be available that provides a description of
  1067.                the manufacturer's philosophy of protection and an explanation
  1068.                of how this philosophy is translated into the TCB.  If the TCB
  1069.                is composed of distinct modules, the interfaces between these
  1070.                modules shall be described.  An informal or formal description
  1071.                of the security policy model enforced by the TCB shall be
  1072.                available and an explanation provided to show that it is
  1073.                sufficient to enforce the security policy.  The specific TCB
  1074.                protection mechanisms shall be identified and an explanation
  1075.                given to show that they satisfy the model.
  1076.  
  1077.  
  1078. 3.2  CLASS (B2):  STRUCTURED PROTECTION
  1079.  
  1080. In class (B2) systems, the TCB is based on a clearly defined and documented
  1081. formal security policy model that requires the discretionary and mandatory
  1082. access control enforcement found in class (B1) systems be extended to all
  1083. subjects and objects in the ADP system.  In addition, covert channels are
  1084. addressed.  The TCB must be carefully structured into protection-critical and
  1085. non- protection-critical elements.  The TCB interface is well-defined and the
  1086. TCB design and implementation enable it to be subjected to more thorough
  1087. testing and more complete review.  Authentication mechanisms are strengthened,
  1088. trusted facility management is provided in the form of support for system
  1089. administrator and operator functions, and stringent configuration management
  1090. controls are imposed.  The system is relatively resistant to penetration.  The
  1091. following are minimal requirements for systems assigned a class (B2) rating:
  1092.  
  1093. 3.2.1  Security Policy
  1094.  
  1095.      3.2.1.1   Discretionary Access Control
  1096.  
  1097.                The TCB shall define and control access between named users and
  1098.                named objects (e.g., files and programs) in the ADP system.
  1099.                The enforcement mechanism (e.g., self/group/public controls,
  1100.                access control lists) shall allow users to specify and control
  1101.                sharing of those objects by named individuals, or defined
  1102.                groups of individuals, or by both, and shall provide controls 
  1103.                to limit propagation of access rights.  The discretionary access
  1104.                control mechanism shall, either by explicit user action or by
  1105.                default, provide that objects are protected from unauthorized
  1106.                access.  These access controls shall be capable of including
  1107.                or excluding access to the granularity of a single user.
  1108.                Access permission to an object by users not already possessing
  1109.                access permission shall only be assigned by authorized users.
  1110.  
  1111.      3.2.1.2   Object Reuse
  1112.  
  1113.                All authorizations to the information contained within a
  1114.                storage object shall be revoked prior to initial assignment,
  1115.                allocation or reallocation to a subject from the TCB's pool of 
  1116.                unused storage objects.  No information, including encrypted
  1117.                representations of information, produced by a prior subject's
  1118.                actions is to be available to any subject that obtains access
  1119.                to an object that has been released back to the system.
  1120.  
  1121.      3.2.1.3   Labels
  1122.  
  1123.                Sensitivity labels associated with each ADP system resource
  1124.                (e.g., subject, storage object, ROM) that is directly or
  1125.                indirectly accessible by subjects external to the TCB shall be
  1126.                maintained by the TCB.  These labels shall be used as the basis
  1127.                for mandatory access control decisions.  In order to import 
  1128.                non-labeled data, the TCB shall request and receive from an
  1129.                authorized user the security level of the data, and all such
  1130.                actions shall be auditable by the TCB.
  1131.  
  1132.           3.2.1.3.1  Label Integrity
  1133.  
  1134.                      Sensitivity labels shall accurately represent security
  1135.                      levels of the specific subjects or objects with which
  1136.                      they are associated.  When exported by the TCB,
  1137.                      sensitivity labels shall accurately and unambiguously
  1138.                      represent the internal labels and shall be associated
  1139.                      with the information being exported.
  1140.  
  1141.           3.2.1.3.2  Exportation of Labeled Information
  1142.  
  1143.                      The TCB shall designate each communication channel and
  1144.                      I/O device as either single-level or multilevel.  Any
  1145.                      change in this designation shall be done manually and
  1146.                      shall be auditable by the TCB.  The TCB shall maintain
  1147.                      and be able to audit any change in the security level
  1148.                      or levels associated with a communication channel or 
  1149.                      I/O device.
  1150.  
  1151.                3.2.1.3.2.1  Exportation to Multilevel Devices
  1152.  
  1153.                           When the TCB exports an object to a multilevel I/O
  1154.                           device, the sensitivity label associated with that
  1155.                           object shall also be exported and shall reside on
  1156.                           the same physical medium as the exported 
  1157.                           information and shall be in the same form (i.e., 
  1158.                           machine-readable or human-readable form).  When
  1159.                           the TCB exports or imports an object over a
  1160.                           multilevel communication channel, the protocol
  1161.                           used on that channel shall provide for the
  1162.                           unambiguous pairing between the sensitivity labels
  1163.                           and the associated information that is sent or
  1164.                           received.
  1165.  
  1166.                3.2.1.3.2.2  Exportation to Single-Level Devices
  1167.  
  1168.                           Single-level I/O devices and single-level
  1169.                           communication channels are not required to 
  1170.                           maintain the sensitivity labels of the
  1171.                           information they process.  However, the TCB shall
  1172.                           include a mechanism by which the TCB and an
  1173.                           authorized user reliably communicate to designate
  1174.                           the single security level of information imported
  1175.                           or exported via single-level communication 
  1176.                           channels or I/O devices.
  1177.  
  1178.                3.2.1.3.2.3  Labeling Human-Readable Output
  1179.  
  1180.                           The ADP system administrator shall be able to
  1181.                           specify the printable label names associated with
  1182.                           exported sensitivity labels.  The TCB shall mark
  1183.                           the beginning and end of all human-readable, paged,
  1184.                           hardcopy output (e.g., line printer output) with
  1185.                           human-readable sensitivity labels that properly*
  1186.                           represent the sensitivity of the output.  The TCB
  1187.                           shall, by default, mark the top and bottom of each
  1188.                           page of human-readable, paged, hardcopy output
  1189.                           (e.g., line printer output) with human-readable
  1190.                           sensitivity labels that properly* represent the
  1191.                           overall sensitivity of the output or that 
  1192.                           properly* represent the sensitivity of the
  1193.                           information on the page.  The TCB shall, by
  1194.                           default and in an appropriate manner, mark other
  1195.                           forms of human-readable output (e.g., maps,
  1196.                           graphics) with human-readable sensitivity labels
  1197.                           that properly* represent the sensitivity of the
  1198.                           output.  Any override of these marking defaults
  1199.                           shall be auditable by the TCB.
  1200.  
  1201.           3.2.1.3.3  Subject Sensitivity Labels
  1202.  
  1203.                      The TCB shall immediately notify a terminal user of each
  1204.                      change in the security level associated with that user
  1205.                      during an interactive session.  A terminal user shall be
  1206.                      able to query the TCB as desired for a display of the
  1207.                      subject's complete sensitivity label.
  1208.  
  1209.           3.2.1.3.4  Device Labels
  1210.  
  1211.                      The TCB shall support the assignment of minimum and
  1212.                      maximum security levels to all attached physical devices.
  1213.                      These security levels shall be used by the TCB to enforce
  1214.                      constraints imposed by the physical environments in which
  1215.                      the devices are located.
  1216.  
  1217.      3.2.1.4   Mandatory Access Control
  1218.  
  1219.                The TCB shall enforce a mandatory access control policy over
  1220.                all resources (i.e., subjects, storage objects, and I/O devices
  1221.                that are directly or indirectly accessible by subjects external
  1222.                to the TCB.  These subjects and objects shall be assigned
  1223.                sensitivity labels that are a combination of hierarchical
  1224.                classification levels and non-hierarchical categories, and the
  1225.                labels shall be used as the basis for mandatory access control
  1226.                decisions.  The TCB shall be able to support two or more such
  1227.                security levels.  (See the Mandatory Access Control guidelines.)
  1228.                The following requirements shall hold for all accesses between
  1229.                All subjects external to the TCB and all objects directly or
  1230.                indirectly accessible by these subjects:  A subject can read an
  1231.                object only if the hierarchical classification in the subject's
  1232.                security level is greater than or equal to the hierarchical
  1233.                classification in the object's security level and the non-
  1234.                hierarchical categories in the subject's security level include
  1235.                all the non-hierarchical categories in the object's security
  1236.                level.  A subject can write an object only if the hierarchical
  1237.                classification in the subject's security level is less than or
  1238.                equal to the hierarchical classification in the object's
  1239.                security level and all the non-hierarchical categories in the
  1240.                subject's security level are included in the non-hierarchical
  1241.                categories in the object's security level.  Identification and
  1242.                authentication data shall be used by the TCB to authenticate
  1243.                the user's identity and to ensure that the security level and
  1244.                authorization of subjects external to the TCB that may be
  1245.                created to act on behalf of the individual user are dominated
  1246.                by the clearance and authorization of that user.
  1247.  
  1248. 3.2.2  Accountability
  1249.  
  1250.      3.2.2.1   Identification and Authentication
  1251.  
  1252.                The TCB shall require users to identify themselves to it before
  1253.                beginning to perform any other actions that the TCB is expected
  1254.                to mediate.  Furthermore, the TCB shall maintain authentication
  1255.                data that includes information for verifying the identity of
  1256.                individual users (e.g., passwords) as well as information for
  1257.                determining the clearance and authorizations of individual
  1258.                users.  This data shall be used by the TCB to authenticate the
  1259.                user's identity and to ensure that the security level and
  1260.                authorizations of subjects external to the TCB that may be
  1261.                created to act on behalf of the individual user are dominated by
  1262.                the clearance and authorization of that user.  The TCB shall
  1263.                protect authentication data so that it cannot be accessed by any
  1264.                unauthorized user.  The TCB shall be able to enforce individual
  1265.                accountability by providing the capability to uniquely identify
  1266.                each individual ADP system user.  The TCB shall also provide the
  1267.                capability of associating this identity with all auditable
  1268.                actions taken by that individual.
  1269.  
  1270.           3.2.2.1.1  Trusted Path
  1271.  
  1272.                      The TCB shall support a trusted communication path
  1273.                      between itself and user for initial login and
  1274.                      authentication.  Communications via this path shall be
  1275.                      initiated exclusively by a user.
  1276.  
  1277.      3.2.2.2   Audit
  1278.  
  1279.                The TCB shall be able to create, maintain, and protect from
  1280.                modification or unauthorized access or destruction an audit
  1281.                trail of accesses to the objects it protects.  The audit data
  1282.                shall be protected by the TCB so that read access to it is
  1283.                limited to those who are authorized for audit data.  The TCB
  1284.                shall be able to record the following types of events: use of
  1285.                identification and authentication mechanisms, introduction of
  1286.                objects into a user's address space (e.g., file open, program
  1287.                initiation), deletion of objects, and actions taken by computer
  1288.                operators and system administrators and/or system security
  1289.                officers, and other security relevant events.  The TCB shall
  1290.                also be able to audit any override of human-readable output
  1291.                markings.  For each recorded event, the audit record shall
  1292.                identify:  date and time of the event, user, type of event, and
  1293.                success or failure of the event.  For identification/
  1294.                authentication events the origin of request (e.g., terminal ID)
  1295.                shall be included in the audit record.  For events that
  1296.                introduce an object into a user's address space and for object
  1297.                deletion events the audit record shall include the name of the
  1298.                object and the object's security level.  The ADP system
  1299.                administrator shall be able to selectively audit the actions of
  1300.                any one or more users based on individual identity and/or object
  1301.                security level.  The TCB shall be able to audit the identified
  1302.                events that may be used in the exploitation of covert storage
  1303.                channels.
  1304.  
  1305. 3.2.3  Assurance
  1306.  
  1307.      3.2.3.1   Operational Assurance
  1308.  
  1309.           3.2.3.1.1  System Architecture
  1310.  
  1311.                      The TCB shall maintain a domain for its own execution
  1312.                      that protects it from external interference or tampering
  1313.                      (e.g., by modification of its code or data structures).
  1314.                      The TCB shall maintain process isolation through the
  1315.                      provision of distinct address spaces under its control.
  1316.                      The TCB shall be internally structured into well-defined
  1317.                      largely independent modules.  It shall make effective use
  1318.                      of available hardware to separate those elements that are
  1319.                      protection-critical from those that are not.  The TCB
  1320.                      modules shall be designed such that the principle of least
  1321.                      privilege is enforced.  Features in hardware, such as
  1322.                      segmentation, shall be used to support logically distinct
  1323.                      storage objects with separate attributes (namely:
  1324.                      readable, writeable).  The user interface to the TCB
  1325.                      shall be completely defined and all elements of the TCB
  1326.                      identified.
  1327.  
  1328.           3.2.3.1.2  System Integrity
  1329.  
  1330.                      Hardware and/or software features shall be provided that
  1331.                      can be used to periodically validate the correct 
  1332.                      operation of the on-site hardware and firmware elements 
  1333.                      of the TCB.
  1334.  
  1335.           3.2.3.1.3  Covert Channel Analysis
  1336.  
  1337.                      The system developer shall conduct a thorough search for
  1338.                      covert storage channels and make a determination (either
  1339.                      by actual measurement or by engineering estimation) of
  1340.                      the maximum bandwidth of each identified channel.  (See
  1341.                      the covert channels guideline section.)
  1342.  
  1343.           3.2.3.1.4  Trusted Facility Management
  1344.  
  1345.                      The TCB shall support separate operator and administrator
  1346.                      functions.
  1347.  
  1348.      3.2.3.2   Life-Cycle Assurance
  1349.  
  1350.           3.2.3.2.1  Security Testing
  1351.  
  1352.                      The security mechanisms of the ADP system shall be tested
  1353.                      and found to work as claimed in the system documentation. 
  1354.                      A team of individuals who thoroughly understand the
  1355.                      specific implementation of the TCB shall subject its
  1356.                      design documentation, source code, and object code to
  1357.                      thorough analysis and testing.  Their objectives shall be:
  1358.                      to uncover all design and implementation flaws that would
  1359.                      permit a subject external to the TCB to read, change, or
  1360.                      delete data normally denied under the mandatory or
  1361.                      discretionary security policy enforced by the TCB; as well
  1362.                      as to assure that no subject (without authorization to do
  1363.                      so) is able to cause the TCB to enter a state such that it
  1364.                      is unable to respond to communications initiated by other
  1365.                      users.  The TCB shall be found relatively resistant to
  1366.                      penetration.  All discovered flaws shall be corrected and
  1367.                      the TCB retested to demonstrate that they have been
  1368.                      eliminated and that new flaws have not been introduced.
  1369.                      Testing shall demonstrate that the TCB implementation is
  1370.                      consistent with the descriptive top-level specification.
  1371.                      (See the Security Testing Guidelines.)
  1372.  
  1373.           3.2.3.2.2  Design Specification and Verification
  1374.  
  1375.                      A formal model of the security policy supported by the
  1376.                      TCB shall be maintained over the life cycle of the ADP
  1377.                      system that is proven consistent with its axioms.  A
  1378.                      descriptive top-level specification (DTLS) of the TCB
  1379.                      shall be maintained that completely and accurately
  1380.                      describes the TCB in terms of exceptions, error messages,
  1381.                      and effects.  It shall be shown to be an accurate
  1382.                      description of the TCB interface.
  1383.  
  1384.           3.2.3.2.3  Configuration Management
  1385.  
  1386.                      During development and maintenance of the TCB, a
  1387.                      configuration management system shall be in place that
  1388.                      maintains control of changes to the descriptive top-level
  1389.                      specification, other design data, implementation
  1390.                      documentation, source code, the running versionof the
  1391.                      object code, and test fixtures and documentation.  The
  1392.                      configuration management system shall assure a consistent
  1393.                      mapping among all documentation and code associated with 
  1394.                      the current version of the TCB.  Tools shall be provided
  1395.                      for generation of a new version of the TCB from source
  1396.                      code.  Also available shall be tools for comparing a
  1397.                      newly generated version with the previous TCB version in
  1398.                      order to ascertain that only the intended changes have
  1399.                      been made in the code that will actually be used as the
  1400.                      new version of the TCB.
  1401.  
  1402. 3.2.4  Documentation
  1403.  
  1404.      3.2.4.1   Security Features User's Guide
  1405.  
  1406.                A single summary, chapter, or manual in user documentation
  1407.                shall describe the protection mechanisms provided by the TCB,
  1408.                guidelines on their use, and how they interact with one another.
  1409.  
  1410.      3.2.4.2   Trusted Facility Manual
  1411.  
  1412.                A manual addressed to the ADP system administrator shall
  1413.                present cautions about functions and privileges that should be
  1414.                controlled when running a secure facility.  The procedures for
  1415.                examining and maintaining the audit files as well as the
  1416.                detailed audit record structure for each type of audit event
  1417.                shall be given.  The manual shall describe the operator and
  1418.                administrator functions related to security, to include 
  1419.                changing the security characteristics of a user.  It shall
  1420.                provide guidelines on the consistent and effective use of the
  1421.                protection features of the system, how they interact, how to
  1422.                securely generate a new TCB, and facility procedures, warnings,
  1423.                and privileges that need to be controlled in order to operate
  1424.                the facility in a secure manner.  The TCB modules that contain
  1425.                the reference validation mechanism shall be identified.  The
  1426.                procedures for secure generation of a new TCB from source after
  1427.                modification of any modules in the TCB shall be described.
  1428.  
  1429.      3.2.4.3   Test Documentation
  1430.  
  1431.                The system developer shall provide to the evaluators a document
  1432.                that describes the test plan, test procedures that show how the
  1433.                security mechanisms were tested, and results of the security
  1434.                mechanisms' functional testing.  It shall include results of
  1435.                testing the effectiveness of the methods used to reduce covert
  1436.                channel bandwidths.
  1437.  
  1438.      3.2.4.4   Design Documentation
  1439.  
  1440.                Documentation shall be available that provides a description of
  1441.                the manufacturer's philosophy of protection and an explanation
  1442.                of how this philosophy is translated into the TCB.  The
  1443.                interfaces between the TCB modules shall be described.  A
  1444.                formal description of the security policy model enforced by the
  1445.                TCB shall be available and proven that it is sufficient to
  1446.                enforce the security policy.  The specific TCB protection 
  1447.                mechanisms shall be identified and an explanation given to show
  1448.                that they satisfy the model.  The descriptive top-level
  1449.                specification (DTLS) shall be shown to be an accurate
  1450.                description of the TCB interface.  Documentation shall describe
  1451.                how the TCB implements the reference monitor concept and give
  1452.                an explanation why it is tamper resistant, cannot be bypassed,
  1453.                and is correctly implemented.  Documentation shall describe how
  1454.                the TCB is structured to facilitate testing and to enforce least
  1455.                privilege.  This documentation shall also present the results
  1456.                of the covert channel analysis and the tradeoffs involved in
  1457.                restricting the channels.  All auditable events that may be
  1458.                used in the exploitation of known covert storage channels shall
  1459.                be identified.  The bandwidths of known covert storage channels
  1460.                the use of which is not detectable by the auditing mechanisms,
  1461.                shall be provided.  (See the Covert Channel Guideline section.)
  1462.  
  1463.  
  1464. 3.3  CLASS (B3):  SECURITY DOMAINS
  1465.  
  1466. The class (B3) TCB must satisfy the reference monitor requirements that it
  1467. mediate all accesses of subjects to objects, be tamperproof, and be small
  1468. enough to be subjected to analysis and tests.  To this end, the TCB is
  1469. structured to exclude code not essential to security policy enforcement, with
  1470. significant system engineering during TCB design and implementation directed
  1471. toward minimizing its complexity.  A security administrator is supported,
  1472. audit mechanisms are expanded to signal security- relevant events, and system
  1473. recovery procedures are required.  The system is highly resistant to
  1474. penetration.  The following are minimal requirements for systems assigned a
  1475. class (B3) rating:
  1476.  
  1477. 3.1.1  Security Policy
  1478.  
  1479.      3.3.1.1   Discretionary Access Control
  1480.  
  1481.                The TCB shall define and control access between named users and
  1482.                named objects (e.g., files and programs) in the ADP system.
  1483.                The enforcement mechanism (e.g., access control lists) shall
  1484.                allow users to specify and control sharing of those objects,
  1485.                and shall provide controls to limit propagation of access
  1486.                rights.  The discretionary access control mechanism shall,
  1487.                either by explicit user action or by default, provide that
  1488.                objects are protected from unauthorized access.  These access
  1489.                controls shall be capable of specifying, for each named object,
  1490.                a list of named individuals and a list of groups of named
  1491.                individuals with their respective modes of access to that
  1492.                object.  Furthermore, for each such named object, it shall be
  1493.                possible to specify a list of named individuals and a list of
  1494.                groups of named individuals for which no access to the object is
  1495.                to be given.  Access permission to an object by users not
  1496.                already possessing access permission shall only be assigned by
  1497.                authorized users.
  1498.  
  1499.      3.3.1.2   Object Reuse
  1500.  
  1501.                All authorizations to the information contained within a
  1502.                storage object shall be revoked prior to initial assignment,
  1503.                allocation or reallocation to a subject from the TCB's pool
  1504.                of unused storage objects.  No information, including 
  1505.                encrypted representations of information, produced by a prior
  1506.                subjects actions is to be available to any subject that obtains
  1507.                access to an object that has been released back to the system.
  1508.  
  1509.      3.3.1.3   Labels
  1510.  
  1511.                Sensitivity labels associated with each ADP system resource
  1512.                (e.g., subject, storage object, ROM) that is directly or
  1513.                indirectly accessible by subjects external to the TCB shall be
  1514.                maintained by the TCB.  These labels shall be used as the basis
  1515.                for mandatory access control decisions.  In order to import 
  1516.                non-labeled data, the TCB shall request and receive from an
  1517.                authorized user the security level of the data, and all such
  1518.                actions shall be auditable by the TCB.
  1519.  
  1520.           3.3.1.3.1  Label Integrity
  1521.  
  1522.                      Sensitivity labels shall accurately represent security
  1523.                      levels of the specific subjects or objects with which
  1524.                      they are associated.  When exported by the TCB,
  1525.                      sensitivity labels shall accurately and unambiguously
  1526.                      represent the internal labels and shall be associated
  1527.                      with the information being exported.
  1528.  
  1529.           3.3.1.3.2  Exportation of Labeled Information
  1530.  
  1531.                      The TCB shall designate each communication channel and
  1532.                      I/O device as either single-level or multilevel.  Any
  1533.                      change in this designation shall be done manually and
  1534.                      shall be auditable by the TCB.  The TCB shall maintain
  1535.                      and be able to audit any change in the security level
  1536.                      or levels associated with a communication channel or
  1537.                      I/O device.
  1538.  
  1539.                3.3.1.3.2.1  Exportation to Multilevel Devices
  1540.  
  1541.                             When the TCB exports an object to a multilevel I/O
  1542.                             device, the sensitivity label associated with that
  1543.                             object shall also be exported and shall reside on
  1544.                             the same physical medium as the exported 
  1545.                             information and shall be in the same form (i.e., 
  1546.                             machine-readable or human-readable form).  When
  1547.                             the TCB exports or imports an object over a
  1548.                             multilevel communication channel, the protocol 
  1549.                             used on that channel shall provide for the
  1550.                             unambiguous pairing between the sensitivity labels
  1551.                             and the associated information that is sent or
  1552.                             received.
  1553.  
  1554.                3.3.1.3.2.2  Exportation to Single-Level Devices
  1555.  
  1556.                             Single-level I/O devices and single-level
  1557.                             communication channels are not required to 
  1558.                             maintain the sensitivity labels of the information
  1559.                             they process.  However, the TCB shall include a 
  1560.                             mechanism by which the TCB and an authorized user
  1561.                             reliably communicate to designate the single
  1562.                             security level of information imported or exported
  1563.                             via single-level communication channels or I/O
  1564.                             devices.
  1565.  
  1566.                3.3.1.3.2.3  Labeling Human-Readable Output
  1567.  
  1568.                             The ADP system administrator shall be able to
  1569.                             specify the printable label names associated with
  1570.                             exported sensitivity labels.  The TCB shall mark
  1571.                             the beginning and end of all human-readable, paged,
  1572.                             hardcopy output (e.g., line printer output) with
  1573.                             human-readable sensitivity labels that properly*
  1574.                             represent the sensitivity of the output.  The TCB
  1575.                             shall, by default, mark the top and bottom of each
  1576.                             page of human-readable, paged, hardcopy output
  1577.                             (e.g., line printer output) with human-readable
  1578.                             sensitivity labels that properly* represent the
  1579.                             overall sensitivity of the output or that
  1580.                             properly* represent the sensitivity of the 
  1581.                             information on the page.  The TCB shall, by
  1582.                             default and in an appropriate manner, mark other
  1583.                             forms of human-readable output (e.g., maps,
  1584.                             graphics) with human-readable sensitivity labels
  1585.                             that properly* represent the sensitivity of the 
  1586.                             output.  Any override of these marking defaults
  1587.                             shall be auditable by the TCB.
  1588.  
  1589.           3.3.1.3.3  Subject Sensitivity Labels
  1590.  
  1591.                      The TCB shall immediately notify a terminal user of each
  1592.                      change in the security level associated with that user
  1593.                      during an interactive session.  A terminal user shall be
  1594.                      able to query the TCB as desired for a display of the
  1595.                      subject's complete sensitivity label.
  1596.  
  1597.           3.3.1.3.4  Device Labels
  1598.  
  1599.                      The TCB shall support the assignment of minimum and
  1600.                      maximum security levels to all attached physical devices.
  1601.                      These security levels shall be used by the TCB to enforce
  1602.                      constraints imposed by the physical environments in which
  1603.                      the devices are located.
  1604.  
  1605.      3.3.1.4   Mandatory Access Control
  1606.  
  1607.                The TCB shall enforce a mandatory access control policy over
  1608.                all resources (i.e., subjects, storage objects, and I/O 
  1609.                devices) that are directly or indirectly accessible by subjects
  1610.                external to the TCB.  These subjects and objects shall be
  1611.                assigned sensitivity labels that are a combination of
  1612.                hierarchical classification levels and non-hierarchical
  1613.                categories, and the labels shall be used as the basis for 
  1614.                mandatory access control decisions.  The TCB shall be able to
  1615.                support two or more such security levels.  (See the Mandatory
  1616. ______________________________
  1617. * The hierarchical classification component in human-readable sensitivity
  1618. labels shall be equal to the greatest hierarchical classification of any of the
  1619. information in the output that the labels refer to; the non-hierarchical
  1620. category component shall include all of the non-hierarchical categories of the
  1621. information in the output the labels refer to, but no other non-hierarchical
  1622. categories.
  1623.  
  1624.                Access Control guidelines.)  The following requirements shall
  1625.                hold for all accesses between all subjects external to the TCB
  1626.                and all objects directly or indirectly accessible by these 
  1627.                subjects: A subject can read an object only if the hierarchical
  1628.                classification in the subject's security level is greater than
  1629.                or equal to the hierarchical classification in the object's
  1630.                security level and the non-hierarchical categories in the
  1631.                subject's security level include all the non-hierarchical
  1632.                categories in the object's security level.  A subject can write
  1633.                an object only if the hierarchical classification in the 
  1634.                subject's security level is less than or equal to the
  1635.                hierarchical classification in the object's security level and
  1636.                all the non-hierarchical categories in the subject's security 
  1637.                level are included in the non- hierarchical categories in the 
  1638.                object's security level.  Identification and authentication 
  1639.                data shall be used by the TCB to authenticate the user's
  1640.                identity and to ensure that the security level and authori-
  1641.                zation of subjects external to the TCB that may be created 
  1642.                to act on behalf of the individual user are dominated by the
  1643.                clearance and authorization of that user.
  1644.  
  1645. 3.3.2  Accountability
  1646.  
  1647.      3.3.2.1   Identification and Authentication
  1648.  
  1649.                The TCB shall require users to identify themselves to it before
  1650.                beginning to perform any other actions that the TCB is expected
  1651.                to mediate.  Furthermore, the TCB shall maintain authentication
  1652.                data that includes information for verifying the identity of
  1653.                individual users (e.g., passwords) as well as information for
  1654.                determining the clearance and authorizations of individual
  1655.                users.  This data shall be used by the TCB to authenticate the
  1656.                user's identity and to ensure that the security level and 
  1657.                authorizations of subjectsexternal to the TCB that may be
  1658.                created to act on behalf of the individual user are dominated
  1659.                by the clearance and authorization of that user.  The TCB shall
  1660.                protect authentication data so that it cannot be accessed by any
  1661.                unauthorized user.  The TCB shall be able to enforce individual
  1662.                accountability by providing the capability to uniquely identify
  1663.                each individual ADP system user.  The TCB shall also provide the
  1664.                capability of associating this identity with all auditable
  1665.                actions taken by that individual.
  1666.  
  1667.           3.3.2.1.1  Trusted Path
  1668.  
  1669.                      The TCB shall support a trusted communication path
  1670.                      between itself and users for use when a positive TCB-to-
  1671.                      user connection is required (e.g., login, change subject
  1672.                      security level).  Communications via this trusted path
  1673.                      shall be activated exclusively by a user of the TCB and
  1674.                      shall be logically isolated and unmistakably
  1675.                      distinguishable from other paths.
  1676.  
  1677.      3.3.2.2   Audit
  1678.  
  1679.                The TCB shall be able to create, maintain, and protect from
  1680.                modification or unauthorized access or destruction an audit 
  1681.                trail of accesses to the objects it protects.  The audit data
  1682.                shall be protected by the TCB so that read access to it is
  1683.                limited to those who are authorized for audit data.  The TCB
  1684.                shall be able to record the following types of events: use of
  1685.                identification and authentication mechanisms, introduction of
  1686.                objects into a user's address space (e.g., file open, program
  1687.                initiation), deletion of objects, and actions taken by computer
  1688.                operators and system administrators and/or system security
  1689.                officers and other security relevant events.  The TCB shall also
  1690.                be able to audit any override of human-readable output markings.
  1691.                For each recorded event, the audit record shall identify:  date
  1692.                and time of the event, user, type of event, and success or
  1693.                failure of the event.  For identification/authentication events
  1694.                the origin of request (e.g., terminal ID) shall be included in
  1695.                the audit record.  For events that introduce an object into a
  1696.                user's address space and for object deletion events the audit
  1697.                record shall include the name of the object and the object's
  1698.                security level.  The ADP system administrator shall be able to
  1699.                selectively audit the actions of any one or more users based on
  1700.                individual identity and/or object security level.  The TCB shall
  1701.                be able to audit the identified events that may be used in the
  1702.                exploitation of covert storage channels.  The TCB shall contain
  1703.                a mechanism that is able to monitor the occurrence or
  1704.                accumulation of security auditable events that may indicate an
  1705.                imminent violation of security policy.  This mechanism shall be
  1706.                able to immediately notify the security administrator when
  1707.                thresholds are exceeded, and if the occurrence or accumulation
  1708.                of these security relevant events continues, the system shall
  1709.                take the least disruptive action to terminate the event.
  1710.  
  1711. 3.3.3  Assurance
  1712.  
  1713.      3.3.3.1   Operational Assurance
  1714.  
  1715.           3.3.3.1.1  System Architecture
  1716.  
  1717.                      The TCB shall maintain a domain for its own execution
  1718.                      that protects it from external interference or tampering
  1719.                      (e.g., by modification of its code or data structures).
  1720.                      The TCB shall maintain process isolation through the
  1721.                      provision of distinct address spaces under its control.
  1722.                      The TCB shall be internally structured into well-defined
  1723.                      largely independent modules.  It shall make effective use
  1724.                      of available hardware to separate those elements that are
  1725.                      protection-critical from those that are not.  The TCB
  1726.                      modules shall be designed such that the principle of 
  1727.                      least privilege is enforced.  Features in hardware, such
  1728.                      as segmentation, shall be used to support logically
  1729.                      distinct storage objects with separate attributes (namely:
  1730.                      readable, writeable).  The user interface to the TCB shall
  1731.                      be completely defined and all elements of the TCB
  1732.                      identified.  The TCB shall be designed and structured to
  1733.                      use a complete, conceptually simple protection mechanism
  1734.                      with precisely defined semantics.  This mechanism shall
  1735.                      play a central role in enforcing the internal structuring
  1736.                      of the TCB and the system.  The TCB shall incorporate
  1737.                      significant use of layering, abstraction and data hiding.
  1738.                      Significant system engineering shall be directed toward
  1739.                      minimizing the complexity of the TCB and excluding from 
  1740.                      the TCB modules that are not protection-critical.
  1741.  
  1742.           3.3.3.1.2  System Integrity
  1743.  
  1744.                      Hardware and/or software features shall be provided that
  1745.                      can be used to periodically validate the correct 
  1746.                      operation of the on-site hardware and firmware elements 
  1747.                      of the TCB.
  1748.  
  1749.           3.3.3.1.3  Covert Channel Analysis
  1750.  
  1751.                      The system developer shall conduct a thorough search for
  1752.                      covert channels and make a determination (either by 
  1753.                      actual measurement or by engineering estimation) of the
  1754.                      maximum bandwidth of each identified channel.  (See the
  1755.                      Covert Channels Guideline section.)
  1756.  
  1757.           3.3.3.1.4  Trusted Facility Management
  1758.  
  1759.                      The TCB shall support separate operator and administrator
  1760.                      functions.  The functions performed in the role of a
  1761.                      security administrator shall be identified.  The ADP
  1762.                      system administrative personnel shall only be able to
  1763.                      perform security administrator functions after taking a
  1764.                      distinct auditable action to assume the security
  1765.                      administrator role on the ADP system.  Non-security
  1766.                      functions that can be performed in the security
  1767.                      administration role shall be limited strictly to those
  1768.                      essential to performing the security role effectively.
  1769.  
  1770.           3.3.3.1.5  Trusted Recovery
  1771.  
  1772.                      Procedures and/or mechanisms shall be provided to assure
  1773.                      that, after an ADP system failure or other discontinuity,
  1774.                      recovery without a protection compromise is obtained.
  1775.  
  1776.      3.3.3.2   Life-Cycle Assurance
  1777.  
  1778.           3.3.3.2.1  Security Testing
  1779.  
  1780.                      The security mechanisms of the ADP system shall be tested
  1781.                      and found to work as claimed in the system documentation.
  1782.                      A team of individuals who thoroughly understand the
  1783.                      specific implementation of the TCB shall subject its
  1784.                      design documentation, source code, and object code to
  1785.                      thorough analysis and testing.  Their objectives shall 
  1786.                      be: to uncover all design and implementation flaws that
  1787.                      would permit a subject external to the TCB to read,
  1788.                      change, or delete data normally denied under the 
  1789.                      mandatory or discretionary security policy enforced by
  1790.                      the TCB; as well as to assure that no subject (without
  1791.                      authorization to do so) is able to cause the TCB to enter
  1792.                      a state such that it is unable to respond to 
  1793.                      communications initiated by other users.  The TCB shall
  1794.                      be found resistant to penetration.  All discovered flaws
  1795.                      shall be corrected and the TCB retested to demonstrate 
  1796.                      that they have been eliminated and that new flaws have
  1797.                      not been introduced.  Testing shall demonstrate that the
  1798.                      TCB implementation is consistent with the descriptive
  1799.                      top-level specification.  (See the Security Testing 
  1800.                      Guidelines.)  No design flaws and no more than a few
  1801.                      correctable implementation flaws may be found during 
  1802.                      testing and there shall be reasonable confidence that
  1803.                      few remain.
  1804.  
  1805.           3.3.3.2.2  Design Specification and Verification
  1806.  
  1807.                      A formal model of the security policy supported by the
  1808.                      TCB shall be maintained over the life cycle of the ADP
  1809.                      system that is proven consistent with its axioms.  A
  1810.                      descriptive top-level specification (DTLS) of the TCB
  1811.                      shall be maintained that completely and accurately
  1812.                      describes the TCB in terms of exceptions, error messages,
  1813.                      and effects.  It shall be shown to be an accurate
  1814.                      description of the TCB interface.  A convincing argument
  1815.                      shall be given that the DTLS is consistent with the model.
  1816.  
  1817.           3.3.3.2.3  Configuration Management
  1818.  
  1819.                      During development and maintenance of the TCB, a
  1820.                      configuration management system shall be in place that 
  1821.                      maintains control of changes to the descriptive top-level
  1822.                      specification, other design data, implementation
  1823.                      documentation, source code, the running version of the
  1824.                      object code, and test fixtures and documentation.  The
  1825.                      configuration management system shall assure a consistent
  1826.                      mapping among all documentation and code associated with
  1827.                      the current version of the TCB.  Tools shall be provided
  1828.                      for generation of a new version of the TCB from source 
  1829.                      code.  Also available shall be tools for comparing a
  1830.                      newly generated version with the previous TCB version in
  1831.                      order to ascertain that only the intended changes have 
  1832.                      been made in the code that will actually be used as the
  1833.                      new version of the TCB.
  1834.  
  1835. 3.3.4  Documentation
  1836.  
  1837.      3.3.4.1   Security Features User's Guide
  1838.  
  1839.                A single summary, chapter, or manual in user documentation
  1840.                shall describe the protection mechanisms provided by the TCB,
  1841.                guidelines on their use, and how they interact with one another.
  1842.  
  1843.      3.3.4.2   Trusted Facility Manual
  1844.  
  1845.                A manual addressed to the ADP system administrator shall
  1846.                present cautions about functions and privileges that should be
  1847.                controlled when running a secure facility.  The procedures for
  1848.                examining and maintaining the audit files as well as the
  1849.                detailed audit record structure for each type of audit event
  1850.                shall be given.  The manual shall describe the operator and
  1851.                administrator functions related to security, to include 
  1852.                changing the security characteristics of a user.  It shall
  1853.                provide guidelines on the consistent and effective use of the
  1854.                protection features of the system, how they interact, how to
  1855.                securely generate a new TCB, and facility procedures, warnings,
  1856.                and privileges that need to be controlled in order to operate
  1857.                the facility in a secure manner.  The TCB modules that contain
  1858.                the reference validation mechanism shall be identified.  The
  1859.                procedures for secure generation of a new TCB from source after
  1860.                modification of any modules in the TCB shall be described.  It
  1861.                shall include the procedures to ensure that the system is
  1862.                initially started in a secure manner.  Procedures shall also be
  1863.                included to resume secure system operation after any lapse in
  1864.                system operation.
  1865.  
  1866.      3.3.4.3   Test Documentation
  1867.  
  1868.                The system developer shall provide to the evaluators a document
  1869.                that describes the test plan, test procedures that show how the
  1870.                security mechanisms were tested, and results of the security 
  1871.                mechanisms' functional testing.  It shall include results of
  1872.                testing the effectiveness of the methods used to reduce covert
  1873.                channel bandwidths.
  1874.  
  1875.      3.3.4.4   Design Documentation
  1876.  
  1877.                Documentation shall be available that provides a description of
  1878.                the manufacturer's philosophy of protection and an explanation
  1879.                of how this philosophy is translated into the TCB.  The
  1880.                interfaces between the TCB modules shall be described.  A
  1881.                formal description of the security policy model enforced by the
  1882.                TCB shall be available and proven that it is sufficient to
  1883.                enforce the security policy.  The specific TCB protection 
  1884.                mechanisms shall be identified and an explanation given to show
  1885.                that they satisfy the model.  The descriptive top-level
  1886.                specification (DTLS) shall be shown to be an accurate 
  1887.                description of the TCB interface.  Documentation shall describe
  1888.                how the TCB implements the reference monitor concept and give 
  1889.                an explanation why it is tamper resistant, cannot be bypassed,
  1890.                and is correctly implemented.  The TCB implementation (i.e., in
  1891.                hardware, firmware, and software) shall be informally shown to
  1892.                be consistent with the DTLS.  The elements of the DTLS shall be
  1893.                shown, using informal techniques, to correspond to the elements
  1894.                of the TCB.  Documentation shall describe how the TCB is
  1895.                structured to facilitate testing and to enforce least privilege.
  1896.                This documentation shall also present the results of the covert
  1897.                channel analysis and the tradeoffs involved in restricting the
  1898.                channels.  All auditable events that may be used in the 
  1899.                exploitation of known covert storage channels shall be 
  1900.                identified.  The bandwidths of known covert storage channels,
  1901.                the use of which is not detectable by the auditing mechanisms,
  1902.                shall be provided.  (See the Covert Channel Guideline section.)
  1903.  
  1904.  
  1905.                      4.0  DIVISION A:  VERIFIED PROTECTION
  1906.  
  1907. This division is characterized by the use of formal security verification
  1908. methods to assure that the mandatory and discretionary security controls
  1909. employed in the system can effectively protect classified or other sensitive
  1910. information stored or processed by the system.  Extensive documentation is
  1911. required to demonstrate that the TCB meets the security requirements in all
  1912. aspects of design, development and implementation.
  1913.  
  1914.  
  1915.  
  1916. 4.1  CLASS (A1):  VERIFIED DESIGN
  1917.  
  1918. Systems in class (A1) are functionally equivalent to those in class (B3) in
  1919. that no additional architectural features or policy requirements are added.
  1920. The distinguishing feature of systems in this class is the analysis derived
  1921. from formal design specification and verification techniques and the resulting
  1922. high degree of assurance that the TCB is correctly implemented.  This
  1923. assurance is developmental in nature, starting with a formal model of the
  1924. security policy and a formal top-level specification (FTLS) of the design.
  1925. Independent of the particular specification language or verification system
  1926. used, there are five important criteria for class (A1) design verification:
  1927.  
  1928.           * A formal model of the security policy must be clearly
  1929.           identified and documented, including a mathematical proof
  1930.           that the model is consistent with its axioms and is
  1931.           sufficient to support the security policy.
  1932.  
  1933.           * An FTLS must be produced that includes abstract definitions
  1934.           of the functions the TCB performs and of the hardware and/or
  1935.           firmware mechanisms that are used to support separate
  1936.           execution domains.
  1937.  
  1938.           * The FTLS of the TCB must be shown to be consistent with the
  1939.           model by formal techniques where possible (i.e., where
  1940.           verification tools exist) and informal ones otherwise.
  1941.  
  1942.           * The TCB implementation (i.e., in hardware, firmware, and
  1943.           software) must be informally shown to be consistent with the
  1944.           FTLS.  The elements of the FTLS must be shown, using
  1945.           informal techniques, to correspond to the elements of the
  1946.           TCB.  The FTLS must express the unified protection mechanism
  1947.           required to satisfy the security policy, and it is the
  1948.           elements of this protection mechanism that are mapped to the
  1949.           elements of the TCB.
  1950.  
  1951.           * Formal analysis techniques must be used to identify and
  1952.           analyze covert channels.  Informal techniques may be used to
  1953.           identify covert timing channels.  The continued existence of
  1954.           identified covert channels in the system must be justified.
  1955.  
  1956. In keeping with the extensive design and development analysis of the TCB
  1957. required of systems in class (A1), more stringent configuration management is
  1958. required and procedures are established for securely distributing the system
  1959. to sites.  A system security administrator is supported.
  1960.  
  1961. The following are minimal requirements for systems assigned a class (A1)
  1962. rating:
  1963.  
  1964. 4.1.1  Security Policy
  1965.  
  1966.      4.1.1.1   Discretionary Access Control
  1967.  
  1968.                The TCB shall define and control access between named users and
  1969.                named objects (e.g., files and programs) in the ADP system.  
  1970.                The enforcement mechanism (e.g., access control lists) shall 
  1971.                allow users to specify and control sharing of those objects,
  1972.                and shall provide controls to limit propagation of access
  1973.                rights.  The discretionary access control mechanism shall,
  1974.                either by explicit user action or by default, provide that
  1975.                objects are protected from unauthorized access.  These access
  1976.                controls shall be capable of specifying, for each named object,
  1977.                a list of named individuals and a list of groups of named
  1978.                individuals with their respective modes of access to that
  1979.                object.  Furthermore, for each such named object, it shall be
  1980.                possible to specify a list of named individuals and a list of
  1981.                groups of named individuals for which no access to the object is
  1982.                to be given.  Access permission to an object by users not
  1983.                already possessing access permission shall only be assigned by
  1984.                authorized users.
  1985.  
  1986.      4.1.1.2   Object Reuse
  1987.  
  1988.                All authorizations to the information contained within a
  1989.                storage object shall be revoked prior to initial assignment,
  1990.                allocation or reallocation to a subject from the TCB's pool
  1991.                of unused storage objects.  No information, including encrypted
  1992.                representations of information, produced by a prior subject's
  1993.                actions is to be available to any subject that obtains access
  1994.                to an object that has been released back to the system.
  1995.  
  1996.      4.1.1.3   Labels
  1997.  
  1998.                Sensitivity labels associated with each ADP system resource
  1999.                (e.g., subject, storage object, ROM) that is directly or
  2000.                indirectly accessible by subjects external to the TCB shall be
  2001.                maintained by the TCB.  These labels shall be used as the basis
  2002.                for mandatory access control decisions.  In order to import 
  2003.                non-labeled data, the TCB shall request and receive from an 
  2004.                authorized user the security level of the data, and all such
  2005.                actions shall be auditable by the TCB.
  2006.  
  2007.           4.1.1.3.1  Label Integrity
  2008.  
  2009.                      Sensitivity labels shall accurately represent security
  2010.                      levels of the specific subjects or objects with which 
  2011.                      they are associated.  When exported by the TCB,
  2012.                      sensitivity labels shall accurately and unambiguously
  2013.                      represent the internal labels and shall be associated 
  2014.                      with the information being exported.
  2015.  
  2016.           4.1.1.3.2  Exportation of Labeled Information
  2017.  
  2018.                      The TCB shall designate each communication channel and
  2019.                      I/O device as either single-level or multilevel.  Any 
  2020.                      change in this designation shall be done manually and
  2021.                      shall be auditable by the TCB.  The TCB shall maintain
  2022.                      and be able to audit any change in the security level
  2023.                      or levels associated with a communication channel or 
  2024.                      I/O device.
  2025.  
  2026.                4.1.1.3.2.1  Exportation to Multilevel Devices
  2027.  
  2028.                             When the TCB exports an object to a multilevel I/O
  2029.                             device, the sensitivity label associated with that
  2030.                             object shall also be exported and shall reside on
  2031.                             the same physical medium as the exported 
  2032.                             information and shall be in the same form (i.e., 
  2033.                             machine-readable or human-readable form).  When
  2034.                             the TCB exports or imports an object over a
  2035.                             multilevel communication channel, the protocol 
  2036.                             used on that channel shall provide for the
  2037.                             unambiguous pairing between the sensitivity labels
  2038.                             and the associated information that is sent or 
  2039.                             received.
  2040.  
  2041.                4.1.1.3.2.2  Exportation to Single-Level Devices
  2042.  
  2043.                             Single-level I/O devices and single-level
  2044.                             communication channels are not required to 
  2045.                             maintain the sensitivity labels of the information
  2046.                             they process.  However, the TCB shall include a 
  2047.                             mechanism by which the TCB and an authorized user
  2048.                             reliably communicate to designate the single
  2049.                             security level of information imported or exported
  2050.                             via single-level communication channels or I/O 
  2051.                             devices.
  2052.  
  2053.                4.1.1.3.2.3  Labeling Human-Readable Output
  2054.  
  2055.                             The ADP system administrator shall be able to
  2056.                             specify the printable label names associated with
  2057.                             exported sensitivity labels.  The TCB shall mark
  2058.                             the beginning and end of all human-readable, paged,
  2059.                             hardcopy output (e.g., line printer output) with 
  2060.                             human-readable sensitivity labels that properly*
  2061.                             represent the sensitivity of the output.  The TCB
  2062.                             shall, by default, mark the top and bottom of each
  2063.                             page of human-readable, paged, hardcopy output
  2064.                             (e.g., line printer output) with human-readable 
  2065.                             sensitivity labels that properly* represent the
  2066.                             overall sensitivity of the output or that 
  2067.                             properly* represent the sensitivity of the 
  2068.                             information on the page.  The TCB shall, by
  2069.                             default and in an appropriate manner, mark other
  2070.                             forms of human-readable output (e.g., maps,
  2071.                             graphics) with human-readable sensitivity labels
  2072.                             that properly* represent the sensitivity of the 
  2073.                             output.  Any override of these marking defaults
  2074.                             shall be auditable by the TCB.
  2075.  
  2076.           4.1.1.3.3  Subject Sensitivity Labels
  2077.  
  2078.                      The TCB shall immediately notify a terminal user of each
  2079.                      change in the security level associated with that user 
  2080.                      during an interactive session.  A terminal user shall be
  2081.                      able to query the TCB as desired for a display of the
  2082.                      subject's complete sensitivity label.
  2083.  
  2084.           4.1.1.3.4  Device Labels
  2085.  
  2086.                      T(e TBsaDl sp`ortt eaPsAgBmnT nf m n mEmad               dapiui "eAuiylvlp $o a latc e@ hsHcAldAvAcAs
  2087.  
  2088.                 THe2e scrIt0 le`essallbd sdbY @h  C do e,f@re                o$srAidtr Hm0oed yt`ep y`icaD @nViRo.mntsi #h`c
  2089.              tHed v    csae lecAted(
  2090.     ..!.4  Mad@tr` @c`eQsC"nTrl
  2091.              The TCB shall enforce a mandatory access control policy over
  2092.                all resources (i.e., subjects, storage obeCt!,aNdI O
  2093.         d@vHcs h`t aRedrctl ridirectly accessible by subjects
  2094.         xenltB `he C.  hEs$ ru"j%ctsa`d ojc4s sHalb 
  2095.           a s`g.e Pesht@vit  Da e,s tha @r  "ombntHo   f            ir rhc`lcDaqs)fctoH leehsa dndn-heBa c`i@aL
  2096.           ct!graep,a`dthe l!b$lc shAl@ Beu0e s t`e b s s fbr
  2097.             mAn$aopy acEs !o
  2098. tpo   e`iqiDnq.  @h  C `halL  ea@l$ to              rup.rd w
  2099.  or m&r u@h scr ti  ees (ee he ald`tkr8
  2100.            Abc$s Co toh uIdDl`n s) Te fl@oQi@gr@qiRehet Sh l@
  2101.           hnl@ @o` l Acess bDte`n aHlsbet xpernalt. h TC
  2102.           a.dalojcsdrdctly r idr@cl cesble b 0hs           puj cs" @ ujc ad re`da" b"e@tol fte h`e a2ci"aL
  2103.          c a2sf c@to nte stbhe t#ss cUrt ee @s get$rt aL
  2104.          o  q@a  Totehea"chi`a l@s"iDiaini thd jbe"ts         recu i0yl v`ladtenFn he a cHi"a` aeois i( @h 
  2105.           sb"e t s sc@r t` ee nltdd `l  4h@ "od-irrhc`l             aeois i`  h  b"eatsscrtq (ete .   "ubjc a rat 
  2106. \_____J_________@__
  2107. *T e heacia cl`si"ication component in human-readable sensitivity
  2108. labels shall be equal to the greatest hierarchical classification of any of the
  2109. ifr apini h `u0put ta 0hd aesrfdr tj; t en"nhe archical
  2110. category component shallicu e a,l o h o-irr hcl ctg/re fteif*rmaini 0h! -u4pttelbl e e o  u .oohrnnh    e2arcia
  2111. a0e#o0i%s
  2112.           nobjdc` onyi h@ @irarchclca1s)f)c!to nte
  2113.        sbetsscurt lee sl!s3 4h!no qa o te            irrhicl clasfct)o* )n teojc'  eu iyl%v%l a.d         al h o-irrhclc@tg(r)e     ntesb`eBtsscrt            `eRe r     nlddi h$ ,o*-h(eacia ateaoi@s iF h             cbets sacrt  eeD.  dn4ifiatiin and authentication 
  2114.                data shall be used by the TCB to authenticate the user's
  2115.                identity and to ensure that the security level and authoriza-
  2116.                tion of subjects external to the TCB that may be created to
  2117.                act on behalf of the individual user are dominated by the
  2118.                clearance and authorization of that user.
  2119.  
  2120. 4.1.2  Accountability
  2121.  
  2122.      4.1.2.1   Identification and Authentication
  2123.  
  2124.                The TCB shall require users to identify themselves to it before
  2125.                beginning to perform any other actions that the TCB is expected
  2126.                to mediate.  Furthermore, the TCB shall maintain authentication
  2127.                data that includes information for verifying the identity of
  2128.                individual users (e.g.,p`sbwor s)  s wel si@f/r aiGnfGr        `ete@m    nn Dh l`aa
  2129. c `n` @uThgrz`t`o
  2130. so@ ni@i`u`l         esr`. @hAs dta `hAlL eueD y teTBt     uDh$nDiaete         srs iett n @oeDsrE hAttes@cErt  LeFe @n              !u`hbrz@toFso Au jEcs e@trfa tote TABt@a aA be           rEaPe oat of beaDf o DhA An@iiu@l u2e !rA @oei"ate @y         h  l!ara"ce nD auhr`zato ftaP Qs r
  2131.   T`e TCBs@aDl
  2132.             rtct @u hDn iaiendt@  ot aD  tc!njot eacc se@ yaBy            tn@uDhdrzduse2.  h @CB ch!l  eal` oe(frAeidhvhd`aH
  2133.           acountability by providing the capability to uniquely identify
  2134.                each individual ADP system user.  The TCB shall also provide the
  2135.                capability of associating this identity with all auditable
  2136.                actions taken by that individual.
  2137.  
  2138.           4.1.2.1.1  Trusted Path
  2139.  
  2140.                      The TCB shall support a trusted communication path
  2141.                      between itself and users for use when a positive TCB-to-
  2142.                      user connection is required (e.g., login, change subject
  2143.                      security level).  Communications via this trusted path
  2144.                      shall be activated exclusively by a user or the TCB and
  2145.                      shall be logically isolated and unmistakably 
  2146.                      distinguishable from other paths.
  2147.  
  2148.      4.1.2.2   Audit
  2149.  
  2150.                The TCB shall be able to create, maintain, and protect from
  2151.                modification or unauthorized access or destruction an audit 
  2152.                trail of accesses to the objects it protects.  The audit data
  2153.                shall be protected by the TCB so that read access to it is
  2154.                limited to those who are authorized for audit data.  The TCB
  2155.                shall be able to record the following types of events: use of
  2156.                identification and authentication mechanisms, introduction of
  2157.                objects into a user's address space (e.g., file open, program
  2158.                initiation), deletion of objects, and actions taken by computer
  2159.                operators and system administrators and/or system security
  2160.                officers, and other security relevant events.  The TCB shall
  2161.                also be able to audit any override of human-readable output
  2162.                markings.  For each recorded event, the audit record shall
  2163.                identify: date and time of the event, user, type of event, and
  2164.                success or failure of the event.  For identification/
  2165.                authentication events the origin of request (e.g., terminal ID)
  2166.                shall be included in the audit record.  For events that
  2167.                introduce an object into a user's address space and for object
  2168.                deletion events the audit record shall include the name of the
  2169.                object and the object's security level.  The ADP system
  2170.                administrator shall be able to selectively audit the actions of
  2171.                any one or more users based on individual identity and/or object
  2172.                security level.  The TCB shall be able to audit the identified
  2173.                events that may be used in the exploitation of covert storage
  2174.                channels.  The TCB shall contain a mechanism that is able to
  2175.                monitor the occurrence or accumulation of security auditable
  2176.                events that may indicate an imminent violation of security
  2177.                policy.  This mechanism shall be able to immediately notify the
  2178.                security administrator when thresholds are exceeded, and, if
  2179.                the occurrence or accumulation of these security relevant
  2180.                events continues, the system shall take the least disruptive
  2181.                action to terminate the event.
  2182.      
  2183. 4.1.3  Assurance
  2184.  
  2185.      4.1.3.1   Operational Assurance
  2186.  
  2187.           4.1.3.1.1  System Architecture
  2188.      
  2189.                      The TCB shall maintain a domain for its own execution
  2190.                      that protects it from external interference or tampering
  2191.                      (e.g., by modification of its code or data structures).
  2192.                      The TCB shall maintain process isolation through the
  2193.                      provision of distinct address spaces under its control.
  2194.                      The TCB shall be internally structured into well-defined
  2195.                      largely independent modules.  It shall make effective use
  2196.                      of available hardware to separate those elements that are
  2197.                      protection-critical from those that are not.  The TCB
  2198.                      modules shall be designed such that the principle of 
  2199.                      least privilege is enforced.  Features in hardware, such
  2200.                      as segmentation, shall be used to support logically 
  2201.                      distinct storage objects with separate attributes (namely:
  2202.                      readable, writeable).  The user interface to the TCB 
  2203.                      shall be completely defined and all elements of the TCB 
  2204.                      identified.  The TCB shall be designed and structured to
  2205.                      use a complete, conceptually simple protection mechanism
  2206.                      with precisely defined semantics.  This mechanism shall 
  2207.                      play a central role in enforcing the internal structuring
  2208.                      of the TCB and the system.  The TCB shall incorporate
  2209.                      significant use of layering, abstraction and data hiding.
  2210.                      Significant system engineering shall be directed toward 
  2211.                      minimizing the complexity of the TCB and excluding from
  2212.                      the TCB modules that are not protection-critical.
  2213.  
  2214.           4.1.3.1.2  System Integrity
  2215.  
  2216.                      Hardware and/or software features shall be provided that
  2217.                      can be used to periodically validate the correct 
  2218.                      operation of the on-site hardware and firmware elements
  2219.                      of the TCB.
  2220.  
  2221.           4.1.3.1.3  Covert Channel Analysis
  2222.  
  2223.                      The system developer shall conduct a thorough search for
  2224.                      covert channels and make a determination (either by 
  2225.                      actual measurement or by engineering estimation) of the
  2226.                      maximum bandwidth of each identified channel.  (See the
  2227.                      Covert Channels Guideline section.)  Formal methods shall
  2228.                      be used in the analysis.
  2229.  
  2230.           4.1.3.1.4  Trusted Facility Management
  2231.  
  2232.                      The TCB shall support separate operator and administrator
  2233.                      functions.  The functions performed in the role of a 
  2234.                      security administrator shall be identified.  The ADP
  2235.                      system administrative personnel shall only be able to
  2236.                      perform security administrator functions after taking a 
  2237.                      distinct auditable action to assume the security
  2238.                      administrator role on the ADP system.  Non-security
  2239.                      functions that can be performed in the security 
  2240.                      administration role shall be limited strictly to those
  2241.                      essential to performing the security role effectively.
  2242.  
  2243.           4.1.3.1.5  Trusted Recovery
  2244.  
  2245.                      Procedures and/or mechanisms shall be provided to assure
  2246.                      that, after an ADP system failure or other discontinuity,
  2247.                      recovery without a protection compromise is obtained.
  2248.  
  2249.      4.1.3.2   Life-Cycle Assurance
  2250.  
  2251.           4.1.3.2.1  Security Testing
  2252.  
  2253.                      The security mechanisms of the ADP system shall be tested
  2254.                      and found to work as claimed in the system documentation.
  2255.                      A team of individuals who thoroughly understand the
  2256.                      specific implementation of the TCB shall subject its
  2257.                      design documentation, source code, and object code to
  2258.                      thorough analysis and testing.  Their objectives shall 
  2259.                      be: to uncover all design and implementation flaws that
  2260.                      would permit a subject external to the TCB to read,
  2261.                      change, or delete data normally denied under the 
  2262.                      mandatory or discretionary security policy enforced by 
  2263.                      the TCB; as well as to assure that no subject (without
  2264.                      authorization to do so) is able to cause the TCB to enter
  2265.                      a state such that it is unable to respond to 
  2266.                      communications initiated by other users.  The TCB shall 
  2267.                      be found resistant to penetration.  All discovered flaws
  2268.                      shall be corrected and the TCB retested to demonstrate 
  2269.                      that they have been eliminated and that new flaws have
  2270.                      not been introduced.  Testing shall demonstrate that the
  2271.                      TCB implementation is consistent with the formal top-
  2272.                      level specification.  (See the Security Testing 
  2273.                      Guidelines.)  No design flaws and no more than a few
  2274.                      correctable implementation flaws may be found during
  2275.                      testing and there shall be reasonable confidence that few
  2276.                      remain.  Manual or other mapping of the FTLS to the
  2277.                      source code may form a basis for penetration testing.
  2278.  
  2279.           4.1.3.2.2  Design Specification and Verification
  2280.  
  2281.                      A formal model of the security policy supported by the
  2282.                      TCB shall be maintained over the life-cycle of the ADP
  2283.                      system that is proven consistent with its axioms.  A
  2284.                      descriptive top-level specification (DTLS) of the TCB
  2285.                      shall be maintained that completely and accurately
  2286.                      describes the TCB in terms of exceptions, error messages,
  2287.                      and effects. A formal top-level specification (FTLS) of
  2288.                      the TCB shall be maintained that accurately describes the
  2289.                      TCB in terms of exceptions, error messages, and effects. 
  2290.                      The DTLS and FTLS shall include those components of the
  2291.                      TCB that are implemented as hardware and/or firmware if
  2292.                      their properties are visible at the TCB interface.  The
  2293.                      FTLS shall be shown to be an accurate description of the
  2294.                      TCB interface.  A convincing argument shall be given that
  2295.                      the DTLS is consistent with the model and a combination of
  2296.                      formal and informal techniques shall be used to show that
  2297.                      the FTLS is consistent with the model.  This verification
  2298.                      evidence shall be consistent with that provided within the
  2299.                      state-of-the-art of the particular computer security
  2300.                      center-endorsed formal specification and verification
  2301.                      system used.  Manual or other mapping of the FTLS to the
  2302.                      TCB source code shall be performed to provide evidence of
  2303.                      correct implementation.
  2304.  
  2305.           4.1.3.2.3  Configuration Management
  2306.  
  2307.                      During the entire life-cycle, i.e., during the design,
  2308.                      development, and maintenance of the TCB, a configuration
  2309.                      management system shall be in place for all security-
  2310.                      relevant hardware, firmware, and software that maintains
  2311.                      control of changes to the formal model, the descriptive 
  2312.                      and formal top-level specifications, other design data, 
  2313.                      implementation documentation, source code, the running
  2314.                      version of the object code, and test fixtures and
  2315.                      documentation.  The configuration management system shall
  2316.                      assure a consistent mapping among all documentation and 
  2317.                      code associated with the current version of the TCB.
  2318.                      Tools shall be provided for generation of a new version
  2319.                      of the TCB from source code.  Also available shall be 
  2320.                      tools, maintained under strict configuration control, for
  2321.                      comparing a newly generated version with the previous TCB
  2322.                      version in order to ascertain that only the intended
  2323.                      changes have been made in the code that will actually be
  2324.                      used as the new version of the TCB.  A combination of
  2325.                      technical, physical, and procedural safeguards shall be
  2326.                      used to protect from unauthorized modification or
  2327.                      destruction the master copy or copies of all material
  2328.                      used to generate the TCB.
  2329.  
  2330.           4.1.3.2.4  Trusted Distribution
  2331.  
  2332.                      A trusted ADP system control and distribution facility
  2333.                      shall be provided for maintaining the integrity of the
  2334.                      mapping between the master data describing the current
  2335.                      version of the TCB and the on-site master copy of the
  2336.                      code for the current version.  Procedures (e.g., site
  2337.                      security acceptance testing) shall exist for assuring 
  2338.                      that the TCb software, firmware, and hardware updates
  2339.                      distributed to a customer are exactly as specified by
  2340.                      the master copies.
  2341.  
  2342. 4.1.4  Documentation
  2343.  
  2344.      4.1.4.1   Security Features User's Guide
  2345.  
  2346.                A single summary, chapter, or manual in user documentation
  2347.                shall describe the protection mechanisms provided by the TCB,
  2348.                guidelines on their use, and how they interact with one another.
  2349.  
  2350.      4.1.4.2   Trusted Facility Manual
  2351.  
  2352.                A manual addressed to the ADP system administrator shall
  2353.                present cautions about functions and privileges that should be
  2354.                controlled when running a secure facility.  The procedures for
  2355.                examining and maintaining the audit files as well as the
  2356.                detailed audit record structure for each type of audit event
  2357.                shall be given.  The manual shall describe the operator and
  2358.                administrator functions related to security, to include 
  2359.                changing the security characteristics of a user.  It shall
  2360.                provide guidelines on the consistent and effective use of the
  2361.                protection features of the system, how they interact, how to
  2362.                securely generate a new TCB, and facility procedures, warnings,
  2363.                and privileges that need to be controlled in order to operate
  2364.                the facility in a secure manner.  The TCB modules that contain
  2365.                the reference validation mechanism shall be identified.  The 
  2366.                procedures for secure generation of a new TCB from source after
  2367.                modification of any modules in the TCB shall be described.  It
  2368.                shall include the procedures to ensure that the system is 
  2369.                initially started in a secure manner.  Procedures shall also be
  2370.                included to resume secure system operation after any lapse in 
  2371.                system operation.  
  2372.  
  2373.      4.1.4.3   Test Documentation
  2374.  
  2375.                The system developer shall provide to the evaluators a document
  2376.                that describes the test plan, test procedures that show how the
  2377.                security mechanisms were tested, and results of the security
  2378.                mechanisms' functional testing.  It shall include results of 
  2379.                testing the effectiveness of the methods used to reduce covert
  2380.                channel bandwidths.  The results of the mapping between the
  2381.                formal top-level specification and the TCB source code shall be
  2382.                given.
  2383.  
  2384.      4.1.4.4   Design Documentation
  2385.  
  2386.                Documentation shall be available that provides a description of
  2387.                the manufacturer's philosophy of protection and an explanation
  2388.                of how this philosophy is translated into the TCB.  The 
  2389.                interfaces between the TCB modules shall be described.  A
  2390.                formal description of the security policy model enforced by the
  2391.                TCB shall be available and proven that it is sufficient to 
  2392.                enforce the security policy.  The specific TCB protection 
  2393.                mechanisms shall be identified and an explanation given to show
  2394.                that they satisfy the model.  The descriptive top-level speci-
  2395.                fication (DTLS) shall be shown to be an accurate description of
  2396.                the TCB interface.  Documentation shall describe how the TCB
  2397.                implements the reference monitor concept and give an explana-
  2398.                tion why it is tamper resistant, cannot be bypassed, and
  2399.                is correctly implemented.  The TCB implementation (i.e., in
  2400.                hardware, firmware, and software) shall be informally shown to
  2401.                be consistent with the formal top-level specification (FTLS).
  2402.                The elements of the FTLS shall be shown, using informal 
  2403.                techniques, to correspond to the elements of the TCB.  
  2404.                Documentation shall describe how the TCB is structured to
  2405.                facilitate testing and to enforce least privilege.  This
  2406.                documentation shall also present the results of the covert 
  2407.                channel analysis and the tradeoffs involved in restricting the
  2408.                channels.  All auditable events that may be used in the
  2409.                exploitation of known covert storage channels shall be 
  2410.                identified.  The bandwidths of known covert storage channels,
  2411.                the use of which is not detectable by the auditing mechanisms,
  2412.                shall be provided.  (See the Covert Channel Guideline section.)
  2413.                Hardware, firmware, and software mechanisms not dealt with in
  2414.                the FTLS but strictly internal to the TCB (e.g., mapping
  2415.                registers, direct memory access I/O) shall be clearly described.
  2416.  
  2417.  
  2418. 4.2  BEYOND CLASS (A1)
  2419.  
  2420. Most of the security enhancements envisioned for systems that will provide
  2421. features and assurance in addition to that already provided by class (Al)
  2422. systems are beyond current technology.  The discussion below is intended to
  2423. guide future work and is derived from research and development activities
  2424. already underway in both the public and private sectors.  As more and better
  2425. analysis techniques are developed, the requirements for these systems will
  2426. become more explicit.  In the future, use of formal verification will be
  2427. extended to the source level and covert timing channels will be more fully
  2428. addressed.  At this level the design environment will become important and
  2429. testing will be aided by analysis of the formal top-level specification.
  2430. Consideration will be given to the correctness of the tools used in TCB
  2431. development (e.g., compilers, assemblers, loaders) and to the correct
  2432. functioning of the hardware/firmware on which the TCB will run.  Areas to be
  2433. addressed by systems beyond class (A1) include:
  2434.  
  2435.            * System Architecture
  2436.  
  2437.            A demonstration (formal or otherwise) must be given showing
  2438.            that requirements of self-protection and completeness for
  2439.            reference monitors have been implemented in the TCB.
  2440.  
  2441.            * Security Testing
  2442.  
  2443.            Although beyond the current state-of-the-art, it is
  2444.            envisioned that some test-case generation will be done
  2445.            automatically from the formal top-level specification or
  2446.            formal lower-level specifications.
  2447.  
  2448.            * Formal Specification and Verification
  2449.  
  2450.            The TCB must be verified down to the source code level,
  2451.            using formal verification methods where feasible.  Formal
  2452.            verification of the source code of the security-relevant
  2453.            portions of an operating system has proven to be a difficult
  2454.            task.  Two important considerations are the choice of a
  2455.            high-level language whose semantics can be fully and
  2456.            formally expressed, and a careful mapping, through
  2457.            successive stages, of the abstract formal design to a
  2458.            formalization of the implementation in low-level
  2459.            specifications.    Experience has shown that only when the
  2460.            lowest level specifications closely correspond to the actual
  2461.            code can code proofs be successfully accomplished.
  2462.  
  2463.            * Trusted Design Environment
  2464.  
  2465.            The TCB must be designed in a trusted facility with only
  2466.            trusted (cleared) personnel.
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.                                    PART II:
  2473.  
  2474.                            RATIONALE AND GUIDELINES
  2475.  
  2476.  
  2477.  
  2478.              5.0  CONTROL OBJECTIVES FOR TRUSTED COMPUTER SYSTEMS
  2479.  
  2480. The criteria are divided within each class into groups of requirements.  These
  2481. groupings were developed to assure that three basic control objectives for
  2482. computer security are satisfied and not overlooked.  These control objectives
  2483. deal with:
  2484.  
  2485.                       * Security Policy
  2486.                       * Accountability
  2487.                       * Assurance
  2488.  
  2489. This section provides a discussion of these general control objectives and
  2490. their implication in terms of designing trusted systems.
  2491.  
  2492.  
  2493. 5.1  A NEED FOR CONSENSUS
  2494.  
  2495. A major goal of the DoD Computer Security Center is to encourage the Computer
  2496. Industry to develop trusted computer systems and products, making them widely
  2497. available in the commercial market place.  Achievement of this goal will
  2498. require recognition and articulation by both the public and private sectors of
  2499. a need and demand for such products.
  2500.  
  2501. As described in the introduction to this document, efforts to define the
  2502. problems and develop solutions associated with processing nationally sensitive
  2503. information, as well as other sensitive data such as financial, medical, and
  2504. personnel information used by the National Security Establishment, have been
  2505. underway for a number of years.  The criteria, as described in Part I,
  2506. represent the culmination of these efforts and describe basic requirements for
  2507. building trusted computer systems.  To date, however, these systems have been
  2508. viewed by many as only satisfying National Security needs.  As long as this
  2509. perception continues the consensus needed to motivate manufacture of trusted
  2510. systems will be lacking.
  2511.  
  2512. The purpose of this section is to describe in detail the fundamental control
  2513. objectives.  These objectives lay the foundation for the requirements outlined
  2514. in the criteria.  The goal is to explain the foundations so that those outside
  2515. the National Security Establishment can assess their universality and, by
  2516. extension, the universal applicability of the criteria requirements to
  2517. processing all types of sensitive applications whether they be for National
  2518. Security or the private sector.
  2519.  
  2520.  
  2521. 5.2  DEFINITION AND USEFULNESS
  2522.  
  2523. The term "control objective" refers to a statement of intent with respect to
  2524. control over some aspect of an organization's resources, or processes, or
  2525. both.  In terms of a computer system, control objectives provide a framework
  2526. for developing a strategy for fulfilling a set of security requirements for
  2527. any given system.  Developed in response to generic vulnerabilities, such as
  2528. the need to manage and handle sensitive data in order to prevent compromise,
  2529. or the need to provide accountability in order to detect fraud, control
  2530. objectives have been identified as a useful method of expressing security
  2531. goals.[3]
  2532.  
  2533. Examples of control objectives include the three basic design requirements for
  2534. implementing the reference monitor concept discussed in Section 6.  They are:
  2535.  
  2536.      * The reference validation mechanism must be tamperproof.
  2537.  
  2538.      * The reference validation mechanism must always be invoked.
  2539.  
  2540.      * The reference validation mechanism must be small enough to be
  2541.        subjected to analysis and tests, the completeness of which can 
  2542.        be assured.[1]
  2543.  
  2544.  
  2545. 5.3  CRITERIA CONTROL OBJECTIVES
  2546.  
  2547. The three basic control objectives of the criteria are concerned with security
  2548. policy, accountability, and assurance.  The remainder of this section provides
  2549. a discussion of these basic requirements.
  2550.  
  2551. 5.3.1  Security Policy
  2552.  
  2553.        In the most general sense, computer security is concerned with
  2554.        controlling the way in which a computer can be used, i.e., 
  2555.        controlling how information processed by it can be accessed and 
  2556.        manipulated.  However, at closer examination, computer security 
  2557.        can refer to a number of areas.  Symptomatic of this, FIPS PUB 39,
  2558.        Glossary For Computer Systems Security, does not have a unique
  2559.        definition for computer security.[16]  Instead there are eleven
  2560.        separate definitions for security which include: ADP systems 
  2561.        security, administrative security, data security, etc.  A common 
  2562.        thread running through these definitions is the word "protection."
  2563.        Further declarations of protection requirements can be found in
  2564.        DoD Directive 5200.28 which describes an acceptable level of
  2565.        protection for classified data to be one that will "assure that
  2566.        systems which process, store, or use classified data and produce
  2567.        classified information will, with reasonable dependability, 
  2568.        prevent: a. Deliberate or inadvertent access to classified 
  2569.        material by unauthorized persons, and b.  Unauthorized 
  2570.        manipulation of the computer and its associated peripheral 
  2571.        devices."[8]
  2572.  
  2573.        In summary, protection requirements must be defined in terms of
  2574.        the perceived threats, risks, and goals of an organization.  This
  2575.        is often stated in terms of a security policy.  It has been 
  2576.        pointed out in the literature that it is external laws, rules, 
  2577.        regulations, etc.  that establish what access to information is to
  2578.        be permitted, independent of the use of a computer.  In particular,
  2579.        a given system can only be said to be secure with respect to its
  2580.        enforcement of some specific policy.[30]  Thus, the control 
  2581.        objective for security policy is:
  2582.  
  2583.        SECURITY POLICY CONTROL OBJECTIVE
  2584.  
  2585.        A statement of intent with regard to control over access to and
  2586.        dissemination of information, to be known as the security policy
  2587.        must be precisely defined and implemented for each system that is
  2588.        used to process sensitive information.  The security policy must
  2589.        accurately reflect the laws, regulations, and general policies
  2590.        from which it is derived.
  2591.  
  2592.      5.3.1.1   Mandatory Security Policy
  2593.                
  2594.                Where a security policy is developed that is to be applied
  2595.                to control of classified or other specifically designated 
  2596.                sensitive information, the policy must include detailed 
  2597.                rules on how to handle that information throughout its
  2598.                life-cycle.  These rules are a function of the various
  2599.                sensitivity designations that the information can assume 
  2600.                and the various forms of access supported by the system.
  2601.                Mandatory security refers to the enforcement of a set of
  2602.                access control rules that constrains a subject's access to
  2603.                information on the basis of a comparison of that 
  2604.                individual's clearance/authorization to the information,
  2605.                the classification/sensitivity designation of the
  2606.                information, and the form of access being mediated.
  2607.                Mandatory policies either require or can be satisfied by 
  2608.                systems that can enforce a partial ordering of 
  2609.                designations, namely, the designations must form what is
  2610.                mathematically known as a "lattice."[5]
  2611.  
  2612.                A clear implication of the above is that the system must
  2613.                assure that the designations associated with sensitive data
  2614.                cannot be arbitrarily changed, since this could permit 
  2615.                individuals who lack the appropriate authorization to 
  2616.                access sensitive information.  Also implied is the
  2617.                requirement that the system control the flow of information
  2618.                so that data cannot be stored with lower sensitivity 
  2619.                designations unless its "downgrading" has been authorized.
  2620.                The control objective is:
  2621.  
  2622.                MANDATORY SECURITY CONTROL OBJECTIVE
  2623.  
  2624.                Security policies defined for systems that are used to
  2625.                process classified or other specifically categorized
  2626.                sensitive information must include provisions for the 
  2627.                enforcement of mandatory access control rules.  That is,
  2628.                they must include a set of rules for controlling access
  2629.                based directly on a comparison of the individual's
  2630.                clearance or authorization for the information and the
  2631.                classification or sensitivity designation of the
  2632.                information being sought, and indirectly on considerations
  2633.                of physical and other environmental factors of control.
  2634.                The mandatory access control rules must accurately reflect
  2635.                the laws, regulations, and general policies from which
  2636.                they are derived.
  2637.  
  2638.      5.3.1.2   Discretionary Security Policy
  2639.  
  2640.                Discretionary security is the principal type of access
  2641.                control available in computer systems today.  The basis of
  2642.                this kind of security is that an individual user, or
  2643.                program operating on his behalf, is allowed to specify
  2644.                explicitly the types of access other users may have to
  2645.                information under his control.  Discretionary security
  2646.                differs from mandatory security in that it implements an
  2647.                access control policy on the basis of an individual's
  2648.                need-to-know as opposed to mandatory controls which are
  2649.                driven by the classification or sensitivity designation of
  2650.                the information.
  2651.  
  2652.                Discretionary controls are not a replacement for mandatory
  2653.                controls.  In an environment in which information is 
  2654.                classified (as in the DoD) discretionary security provides
  2655.                for a finer granularity of control within the overall
  2656.                constraints of the mandatory policy.  Access to classified
  2657.                information requires effective implementation of both types
  2658.                of controls as precondition to granting that access.  In 
  2659.                general, no person may have access to classified
  2660.                information unless: (a) that person has been determined to
  2661.                be trustworthy, i.e., granted a personnel security 
  2662.                clearance -- MANDATORY, and (b) access is necessary for the
  2663.                performance of official duties, i.e., determined to have a
  2664.                need-to-know -- DISCRETIONARY.  In other words, 
  2665.                discretionary controls give individuals discretion to 
  2666.                decide on which of the permissible accesses will actually
  2667.                be allowed to which users, consistent with overriding
  2668.                mandatory policy restrictions.  The control objective is:
  2669.  
  2670.                DISCRETIONARY SECURITY CONTROL OBJECTIVE
  2671.  
  2672.                Security policies defined for systems that are used to
  2673.                process classified or other sensitive information must
  2674.                include provisions for the enforcement of discretionary
  2675.                access control rules.  That is, they must include a
  2676.                consistent set of rules for controlling and limiting access
  2677.                based on identified individuals who have been determined to
  2678.                have a need-to-know for the information.
  2679.  
  2680.      5.3.1.3   Marking
  2681.  
  2682.                To implement a set of mechanisms that will put into effect
  2683.                a mandatory security policy, it is necessary that the 
  2684.                system mark information with appropriate classification or
  2685.                sensitivity labels and maintain these markings as the
  2686.                information moves through the system.  Once information is
  2687.                unalterably and accurately marked, comparisons required by
  2688.                the mandatory access control rules can be accurately and
  2689.                consistently made.  An additional benefit of having the
  2690.                system maintain the classification or sensitivity label
  2691.                internally is the ability to automatically generate 
  2692.                properly "labeled" output.  The labels, if accurately and
  2693.                integrally maintained by the system, remain accurate when
  2694.                output from the system.  The control objective is:
  2695.  
  2696.                MARKING CONTROL OBJECTIVE
  2697.  
  2698.                Systems that are designed to enforce a mandatory security
  2699.                policy must store and preserve the integrity of
  2700.                classification or other sensitivity labels for all
  2701.                information.  Labels exported from the system must be 
  2702.                accurate representations of the corresponding internal
  2703.                sensitivity labels being exported.
  2704.  
  2705. 5.3.2  Accountability
  2706.  
  2707.        The second basic control objective addresses one of the
  2708.        fundamental principles of security, i.e., individual 
  2709.        accountability.  Individual accountability is the key to securing
  2710.        and controlling any system that processes information on behalf
  2711.        of individuals or groups of individuals.  A number of requirements
  2712.        must be met in order to satisfy this objective.
  2713.  
  2714.        The first requirement is for individual user identification.
  2715.        Second, there is a need for authentication of the identification.
  2716.        Identification is functionally dependent on authentication.  
  2717.        Without authentication, user identification has no credibility.  
  2718.        Without a credible identity, neither mandatory nor discretionary
  2719.        security policies can be properly invoked because there is no
  2720.        assurance that proper authorizations can be made.
  2721.  
  2722.        The third requirement is for dependable audit capabilities.  That
  2723.        is, a trusted computer system must provide authorized personnel 
  2724.        with the ability to audit any action that can potentially cause
  2725.        access to, generation of, or effect the release of classified or
  2726.        sensitive information.  The audit data will be selectively 
  2727.        acquired based on the auditing needs of a particular installation
  2728.        and/or application.  However, there must be sufficient granularity
  2729.        in the audit data to support tracing the auditable events to a
  2730.        specific individual who has taken the actions or on whose behalf
  2731.        the actions were taken.  The control objective is:
  2732.  
  2733.        ACCOUNTABILITY CONTROL OBJECTIVE
  2734.  
  2735.        Systems that are used to process or handle classified or other 
  2736.        sensitive information must assure individual accountability
  2737.        whenever either a mandatory or discretionary security policy is
  2738.        invoked.  Furthermore, to assure accountability, the capability
  2739.        must exist for an authorized and competent agent to access and
  2740.        evaluate accountability information by a secure means, within a
  2741.        reasonable amount of time, and without undue difficulty.
  2742.  
  2743. 5.3.3  Assurance
  2744.  
  2745.        The third basic control objective is concerned with guaranteeing
  2746.        or providing confidence that the security policy has been 
  2747.        implemented correctly and that the protection-relevant elements of
  2748.        the system do, indeed, accurately mediate and enforce the intent
  2749.        of that policy.  By extension, assurance must include a guarantee
  2750.        that the trusted portion of the system works only as intended.  To
  2751.        accomplish these objectives, two types of assurance are needed.
  2752.        They are life-cycle assurance and operational assurance.
  2753.  
  2754.        Life-cycle assurance refers to steps taken by an organization to
  2755.        ensure that the system is designed, developed, and maintained 
  2756.        using formalized and rigorous controls and standards.[17]  
  2757.        Computer systems that process and store sensitive or classified
  2758.        information depend on the hardware and software to protect that
  2759.        information.  It follows that the hardware and software themselves
  2760.        must be protected against unauthorized changes that could cause
  2761.        protection mechanisms to malfunction or be bypassed completely.  
  2762.        For this reason trusted computer systems must be carefully 
  2763.        evaluated and tested during the design and development phases and
  2764.        reevaluated whenever changes are made that could affect the
  2765.        integrity of the protection mechanisms.  Only in this way can
  2766.        confidence be provided that the hardware and software 
  2767.        interpretation of the security policy is maintained accurately 
  2768.        and without distortion.
  2769.  
  2770.        While life-cycle assurance is concerned with procedures for
  2771.        managing system design, development, and maintenance; operational
  2772.        assurance focuses on features and system architecture used to
  2773.        ensure that the security policy is uncircumventably enforced
  2774.        during system operation.  That is, the security policy must be
  2775.        integrated into the hardware and software protection features of
  2776.        the system.  Examples of steps taken to provide this kind of
  2777.        confidence include: methods for testing the operational hardware 
  2778.        and software for correct operation, isolation of protection-
  2779.        critical code, and the use of hardware and software to provide
  2780.        distinct domains.  The control objective is:
  2781.  
  2782.        ASSURANCE CONTROL OBJECTIVE
  2783.  
  2784.        Systems that are used to process or handle classified or other
  2785.        sensitive information must be designed to guarantee correct and
  2786.        accurate interpretation of the security policy and must not
  2787.        distort the intent of that policy.  Assurance must be provided
  2788.        that correct implementation and operation of the policy exists
  2789.        throughout the system's life-cycle.
  2790.  
  2791.  
  2792.  
  2793.                  6.0  RATIONALE BEHIND THE EVALUATION CLASSES
  2794.  
  2795.  
  2796.  
  2797. 6.1  THE REFERENCE MONITOR CONCEPT
  2798.  
  2799. In October of 1972, the Computer Security Technology Planning Study, conducted
  2800. by James P.  Anderson & Co., produced a report for the Electronic Systems
  2801. Division (ESD) of the United States Air Force.[1]  In that report, the concept
  2802. of "a reference monitor which enforces the authorized access relationships
  2803. between subjects and objects of a system" was introduced.  The reference
  2804. monitor concept was found to be an essential element of any system that would
  2805. provide multilevel secure computing facilities and controls.
  2806.  
  2807. The Anderson report went on to define the reference validation mechanism as
  2808. "an implementation of the reference monitor concept .  .  .  that validates
  2809. each reference to data or programs by any user (program) against a list of
  2810. authorized types of reference for that user." It then listed the three design
  2811. requirements that must be met by a reference validation mechanism:
  2812.  
  2813.      a. The reference validation mechanism must be tamper proof.
  2814.  
  2815.      b. The reference validation mechanism must always be invoked.
  2816.  
  2817.      c. The reference validation mechanism must be small enough to be
  2818.         subject to analysis and tests, the completeness of which can 
  2819.         be assured."[1]
  2820.  
  2821. Extensive peer review and continuing research and development activities have
  2822. sustained the validity of the Anderson Committee's findings.  Early examples
  2823. of the reference validation mechanism were known as security kernels.  The
  2824. Anderson Report described the security kernel as "that combination of hardware
  2825. and software which implements the reference monitor concept."[1]  In this vein,
  2826. it will be noted that the security kernel must support the three reference
  2827. monitor requirements listed above.
  2828.  
  2829.  
  2830. 6.2  A FORMAL SECURITY POLICY MODEL
  2831.  
  2832. Following the publication of the Anderson report, considerable research was
  2833. initiated into formal models of security policy requirements and of the
  2834. mechanisms that would implement and enforce those policy models as a security
  2835. kernel.  Prominent among these efforts was the ESD-sponsored development of
  2836. the Bell and LaPadula model, an abstract formal treatment of DoD security
  2837. policy.[2]  Using mathematics and set theory, the model precisely defines the
  2838. notion of secure state, fundamental modes of access, and the rules for
  2839. granting subjects specific modes of access to objects.  Finally, a theorem is
  2840. proven to demonstrate that the rules are security-preserving operations, so
  2841. that the application of any sequence of the rules to a system that is in a
  2842. secure state will result in the system entering a new state that is also
  2843. secure.  This theorem is known as the Basic Security Theorem.
  2844.  
  2845. A subject can act on behalf of a user or another subject.  The subject is
  2846. created as a surrogate for the cleared user and is assigned a formal security
  2847. level based on their classification.  The state transitions and invariants of
  2848. the formal policy model define the invariant relationships that must hold
  2849. between the clearance of the user, the formal security level of any process
  2850. that can act on the user's behalf, and the formal security level of the devices
  2851. and other objects to which any process can obtain specific modes of access. 
  2852. The Bell and LaPadula model, for example, defines a relationship between formal 
  2853. security levels of subjects and objects, now referenced as the "dominance
  2854. relation." From this definition, accesses permitted between subjects and
  2855. objects are explicitly defined for the fundamental modes of access, including
  2856. read-only access, read/write access, and write-only access.  The model defines
  2857. the Simple Security Condition to control granting a subject read access to a
  2858. specific object, and the *-Property (read "Star Property") to control granting
  2859. a subject write access to a specific object.  Both the Simple Security
  2860. Condition and the *-Property include mandatory security provisions based on the
  2861. dominance relation between formal security levels of subjects and objects the
  2862. clearance of the subject and the classification of the object.  The
  2863. Discretionary Security Property is also defined, and requires that a specific
  2864. subject be authorized for the particular mode of access required for the state
  2865. transition.  In its treatment of subjects (processes acting on behalf of a
  2866. user), the model distinguishes between trusted subjects (i.e., not constrained
  2867. within the model by the *-Property) and untrusted subjects (those that are
  2868. constrained by the *-Property).
  2869.  
  2870. From the Bell and LaPadula model there evolved a model of the method of proof
  2871. required to formally demonstrate that all arbitrary sequences of state
  2872. transitions are security-preserving.  It was also shown that the *- Property
  2873. is sufficient to prevent the compromise of information by Trojan Horse
  2874. attacks.
  2875.  
  2876.  
  2877. 6.3  THE TRUSTED COMPUTING BASE
  2878.  
  2879. In order to encourage the widespread commercial availability of trusted
  2880. computer systems, these evaluation criteria have been designed to address
  2881. those systems in which a security kernel is specifically implemented as well
  2882. as those in which a security kernel has not been implemented.  The latter case
  2883. includes those systems in which objective (c) is not fully supported because
  2884. of the size or complexity of the reference validation mechanism.  For
  2885. convenience, these evaluation criteria use the term Trusted Computing Base to
  2886. refer to the reference validation mechanism, be it a security kernel,
  2887. front-end security filter, or the entire trusted computer system.
  2888.  
  2889. The heart of a trusted computer system is the Trusted Computing Base (TCB)
  2890. which contains all of the elements of the system responsible for supporting
  2891. the security policy and supporting the isolation of objects (code and data) on
  2892. which the protection is based.  The bounds of the TCB equate to the "security
  2893. perimeter" referenced in some computer security literature.  In the interest
  2894. of understandable and maintainable protection, a TCB should be as simple as
  2895. possible consistent with the functions it has to perform.  Thus, the TCB
  2896. includes hardware, firmware, and software critical to protection and must be
  2897. designed and implemented such that system elements excluded from it need not
  2898. be trusted to maintain protection.  Identification of the interface and
  2899. elements of the TCB along with their correct functionality therefore forms the
  2900. basis for evaluation.
  2901.  
  2902. For general-purpose systems, the TCB will include key elements of the
  2903. operating system and may include all of the operating system.  For embedded
  2904. systems, the security policy may deal with objects in a way that is meaningful
  2905. at the application level rather than at the operating system level.  Thus, the
  2906. protection policy may be enforced in the application software rather than in
  2907. the underlying operating system.  The TCB will necessarily include all those
  2908. portions of the operating system and application software essential to the
  2909. support of the policy.  Note that, as the amount of code in the TCB increases,
  2910. it becomes harder to be confident that the TCB enforces the reference monitor
  2911. requirements under all circumstances.
  2912.  
  2913.  
  2914. 6.4  ASSURANCE
  2915.  
  2916. The third reference monitor design objective is currently interpreted as
  2917. meaning that the TCB "must be of sufficiently simple organization and
  2918. complexity to be subjected to analysis and tests, the completeness of which
  2919. can be assured."
  2920.  
  2921. Clearly, as the perceived degree of risk increases (e.g., the range of
  2922. sensitivity of the system's protected data, along with the range of clearances
  2923. held by the system's user population) for a particular system's operational
  2924. application and environment, so also must the assurances be increased to
  2925. substantiate the degree of trust that will be placed in the system.  The
  2926. hierarchy of requirements that are presented for the evaluation classes in the
  2927. trusted computer system evaluation criteria reflect the need for these
  2928. assurances.
  2929.  
  2930. As discussed in Section 5.3, the evaluation criteria uniformly require a
  2931. statement of the security policy that is enforced by each trusted computer
  2932. system.  In addition, it is required that a convincing argument be presented
  2933. that explains why the TCB satisfies the first two design requirements for a
  2934. reference monitor.  It is not expected that this argument will be entirely
  2935. formal.  This argument is required for each candidate system in order to
  2936. satisfy the assurance control objective.
  2937.  
  2938. The systems to which security enforcement mechanisms have been added, rather
  2939. than built-in as fundamental design objectives, are not readily amenable to
  2940. extensive analysis since they lack the requisite conceptual simplicity of a
  2941. security kernel.  This is because their TCB extends to cover much of the
  2942. entire system.  Hence, their degree of trustworthiness can best be ascertained
  2943. only by obtaining test results.  Since no test procedure for something as
  2944. complex as a computer system can be truly exhaustive, there is always the
  2945. possibility that a subsequent penetration attempt could succeed.  It is for
  2946. this reason that such systems must fall into the lower evaluation classes.
  2947.  
  2948. On the other hand, those systems that are designed and engineered to support
  2949. the TCB concepts are more amenable to analysis and structured testing.  Formal
  2950. methods can be used to analyze the correctness of their reference validation
  2951. mechanisms in enforcing the system's security policy.  Other methods,
  2952. including less-formal arguments, can be used in order to substantiate claims
  2953. for the completeness of their access mediation and their degree of
  2954. tamper-resistance.  More confidence can be placed in the results of this
  2955. analysis and in the thoroughness of the structured testing than can be placed
  2956. in the results for less methodically structured systems.  For these reasons,
  2957. it appears reasonable to conclude that these systems could be used in
  2958. higher-risk environments.  Successful implementations of such systems would be
  2959. placed in the higher evaluation classes.
  2960.  
  2961.  
  2962. 6.5  THE CLASSES
  2963.  
  2964. It is highly desirable that there be only a small number of overall evaluation
  2965. classes.  Three major divisions have been identified in the evaluation
  2966. criteria with a fourth division reserved for those systems that have been
  2967. evaluated and found to offer unacceptable security protection.  Within each
  2968. major evaluation division, it was found that "intermediate" classes of trusted
  2969. system design and development could meaningfully be defined.  These
  2970. intermediate classes have been designated in the criteria because they
  2971. identify systems that:
  2972.  
  2973.      * are viewed to offer significantly better protection and assurance
  2974.        than would systems that satisfy the basic requirements for their
  2975.        evaluation class; and
  2976.  
  2977.      * there is reason to believe that systems in the intermediate
  2978.        evaluation classes could eventually be evolved such that they 
  2979.        would satisfy the requirements for the next higher evaluation 
  2980.        class.
  2981.  
  2982. Except within division A it is not anticipated that additional "intermediate"
  2983. evaluation classes satisfying the two characteristics described above will be
  2984. identified.
  2985.  
  2986. Distinctions in terms of system architecture, security policy enforcement, and
  2987. evidence of credibility between evaluation classes have been defined such that
  2988. the "jump" between evaluation classes would require a considerable investment
  2989. of effort on the part of implementors.  Correspondingly, there are expected to
  2990. be significant differentials of risk to which systems from the higher
  2991. evaluation classes will be exposed.
  2992.  
  2993.  
  2994.              7.0  THE RELATIONSHIP BETWEEN POLICY AND THE CRITERIA
  2995.  
  2996.  
  2997. Section 1 presents fundamental computer security requirements and Section 5
  2998. presents the control objectives for Trusted Computer Systems.  They are
  2999. general requirements, useful and necessary, for the development of all secure
  3000. systems.  However, when designing systems that will be used to process
  3001. classified or other sensitive information, functional requirements for meeting
  3002. the Control Objectives become more specific.  There is a large body of policy
  3003. laid down in the form of Regulations, Directives, Presidential Executive
  3004. Orders, and OMB Circulars that form the basis of the procedures for the
  3005. handling and processing of Federal information in general and classified
  3006. information specifically.  This section presents pertinent excerpts from these
  3007. policy statements and discusses their relationship to the Control Objectives.
  3008. These excerpts are examples to illustrate the relationship of the policies to
  3009. criteria and may not be complete.
  3010.  
  3011.  
  3012. 7.1  ESTABLISHED FEDERAL POLICIES
  3013.  
  3014. A significant number of computer security policies and associated requirements
  3015. have been promulgated by Federal government elements.  The interested reader
  3016. is referred to reference [32] which analyzes the need for trusted systems in
  3017. the civilian agencies of the Federal government, as well as in state and local
  3018. governments and in the private sector.  This reference also details a number
  3019. of relevant Federal statutes, policies and requirements not treated further
  3020. below.
  3021.  
  3022. Security guidance for Federal automated information systems is provided by the
  3023. Office of Management and Budget.  Two specifically applicable Circulars have
  3024. been issued.  OMB Circular No.  A-71, Transmittal Memorandum No.  1, "Security
  3025. of Federal Automated Information Systems,"[26] directs each executive agency
  3026. to establish and maintain a computer security program.  It makes the head of
  3027. each executive branch, department and agency responsible "for assuring an
  3028. adequate level of security for all agency data whether processed in-house or
  3029. commercially.  This includes responsibility for the establishment of physical,
  3030. administrative and technical safeguards required to adequately protect
  3031. personal, proprietary or other sensitive data not subject to national security
  3032. regulations, as well as national security data."[26, para. 4 p. 2]
  3033.  
  3034. OMB Circular No.  A-123, "Internal Control Systems,"[27] issued to help
  3035. eliminate fraud, waste, and abuse in government programs requires: (a) agency
  3036. heads to issue internal control directives and assign responsibility, (b)
  3037. managers to review programs for vulnerability, and (c) managers to perform
  3038. periodic reviews to evaluate strengths and update controls.  Soon after
  3039. promulgation of OMB Circular A-123, the relationship of its internal control
  3040. requirements to building secure computer systems was recognized.[4] While not
  3041. stipulating computer controls specifically, the definition of Internal
  3042. Controls in A-123 makes it clear that computer systems are to be included:
  3043.  
  3044.      "Internal Controls - The plan of organization and all of the methods and
  3045.       measures adopted within an agency to safeguard its resources, assure the
  3046.       accuracy and reliability of its information, assure adherence to 
  3047.       applicable laws, regulations and policies, and promote operational 
  3048.       economy and efficiency."[27, sec. 4.C]
  3049.  
  3050. The matter of classified national security information processed by ADP
  3051. systems was one of the first areas given serious and extensive concern in
  3052. computer security.  The computer security policy documents promulgated as a
  3053. result contain generally more specific and structured requirements than most,
  3054. keyed in turn to an authoritative basis that itself provides a rather clearly
  3055. articulated and structured information security policy.  This basis, Executive
  3056. Order 12356, "National Security Information," sets forth requirements for the
  3057. classification, declassification and safeguarding of "national security
  3058. information" per se.[14]
  3059.  
  3060.  
  3061. 7.2  DOD POLICIES
  3062.  
  3063. Within the Department of Defense, these broad requirements are implemented and
  3064. further specified primarily through two vehicles: 1) DoD Regulation 5200.1-R
  3065. [7], which applies to all components of the DoD as such, and 2) DoD 5220.22-M,
  3066. "Industrial Security Manual for Safeguarding Classified Information" [11],
  3067. which applies to contractors included within the Defense Industrial Security
  3068. Program.  Note that the latter transcends DoD as such, since it applies not
  3069. only to any contractors handling classified information for any DoD component,
  3070. but also to the contractors of eighteen other Federal organizations for whom
  3071. the Secretary of Defense is authorized to act in rendering industrial security
  3072. services.*
  3073.  
  3074. ______________________________
  3075. * i.e., NASA, Commerce Department, GSA, State Department, Small Business
  3076. Administration, National Science Foundation, Treasury Department,
  3077. Transportation Department, Interior Department, Agriculture Department, U.S.
  3078. Information Agency, Labor Department, Environmental Protection Agency, Justice
  3079. Department, U.S. Arms Control and Disarmament Agency, Federal Emergency
  3080. Management Agency, Federal Reserve System, and U.S. General Accounting Office.
  3081.  
  3082. For ADP systems, these information security requirements are further amplified
  3083. and specified in: 1) DoD Directive 5200.28 [8] and DoD Manual 5200.28-M [9],
  3084. for DoD components; and 2) Section XIII of DoD 5220.22-M [11] for contractors.
  3085. DoD Directive 5200.28, "Security Requirements for Automatic Data Processing
  3086. (ADP) Systems," stipulates: "Classified material contained in an ADP system
  3087. shall be safeguarded by the continuous employment of protective features in
  3088. the system's hardware and software design and configuration .  .  .  ."[8,
  3089. sec.  IV] Furthermore, it is required that ADP systems that "process, store,
  3090. or use classified data and produce classified information will, with
  3091. reasonable dependability, prevent:
  3092.  
  3093.      a.  Deliberate or inadvertent access to classified material by
  3094.          unauthorized persons, and
  3095.  
  3096.      b.  Unauthorized manipulation of the computer and its associated
  3097.          peripheral devices."[8, sec. I B.3]
  3098.  
  3099. Requirements equivalent to these appear within DoD 5200.28-M [9] and in DoD
  3100. 5220.22-M [11].
  3101.  
  3102. DoD Directove 5200.28 provides the security requirements for ADP systems.  For
  3103. some types of information, such as Sensitive Compartmented Information (SCI),
  3104. DoD Directive 5200.28 states that other minimum security requirements also
  3105. apply.  These minima are found in DCID l/l6 (new reference number 5) which is
  3106. implemented in DIAM 50-4 (new reference number 6) for DoD and DoD contractor
  3107. ADP systems.
  3108.  
  3109. From requirements imposed by these regulations, directives and circulars, the
  3110. three components of the Security Policy Control Objective, i.e., Mandatory and
  3111. Discretionary Security and Marking, as well as the Accountability and
  3112. Assurance Control Objectives, can be functionally defined for DoD
  3113. applications.  The following discussion provides further specificity in Policy
  3114. for these Control Objectives.
  3115.  
  3116.  
  3117. 7.3  CRITERIA CONTROL OBJECTIVE FOR SECURITY POLICY
  3118.  
  3119. 7.3.1  Marking
  3120.  
  3121.        The control objective for marking is: "Systems that are designed
  3122.        to enforce a mandatory security policy must store and preserve the
  3123.        integrity of classification or other sensitivity labels for all 
  3124.        information.  Labels exported from the system must be accurate 
  3125.        representations of the corresonding internal sensitivity labels
  3126.        being exported."
  3127.  
  3128.        DoD 5220.22-M, "Industrial Security Manual for Safeguarding
  3129.        Classified Information," explains in paragraph 11 the reasons for 
  3130.        marking information:
  3131.  
  3132.             "a.  General.  Classification designation by physical 
  3133.             marking, notation or other means serves to warn and to
  3134.             inform the holder what degree of protection against 
  3135.             unauthorized disclosure is reqired for that information
  3136.             or material."  (14)
  3137.  
  3138.        Marking requirements are given in a number of policy statements.
  3139.  
  3140.        Executive Order 12356 (Sections 1.5.a and 1.5.a.1) requires that
  3141.        classification markings "shall be shown on the face of all 
  3142.        classified documents, or clearly associated with other forms of 
  3143.        classified information in a manner appropriate to the medium 
  3144.        involved."[14]
  3145.  
  3146.        DoD Regulation 5200.1-R (Section 1-500) requires that: ".  .  .
  3147.        information or material that requires protection against 
  3148.        unauthorized disclosure in the interest of national security shall
  3149.        be classified in one of three designations, namely: 'Top Secret,'
  3150.        'Secret' or 'Confidential.'"[7] (By extension, for use in computer
  3151.        processing, the unofficial designation "Unclassified" is used to
  3152.        indicate information that does not fall under one of the other
  3153.        three designations of classified information.)
  3154.  
  3155.        DoD Regulation 5200.1-R (Section 4-304b) requires that: "ADP
  3156.        systems and word processing systems employing such media shall 
  3157.        provide for internal classification marking to assure that 
  3158.        classified information contained therein that is reproduced or 
  3159.        generated, will bear applicable classification and associated
  3160.        markings." (This regulation provides for the exemption of certain
  3161.        existing systems where "internal classification and applicable
  3162.        associated markings cannot be implemented without extensive system
  3163.        modifications."[7]  However, it is clear that future DoD ADP 
  3164.        systems must be able to provide applicable and accurate labels for
  3165.        classified and other sensitive information.)
  3166.  
  3167.        DoD Manual 5200.28-M (Section IV, 4-305d) requires the following:
  3168.        "Security Labels - All classified material accessible by or within
  3169.        the ADP system shall be identified as to its security 
  3170.        classification and access or dissemination limitations, and all
  3171.        output of the ADP system shall be appropriately marked."[9]
  3172.  
  3173. 7.3.2  Mandatory Security
  3174.  
  3175.        The control objective for mandatory security is: "Security
  3176.        policies defined for systems that are used to process classified
  3177.        or other specifically categorized sensitive information must 
  3178.        include provisions for the enforcement of mandatory access control
  3179.        rules.  That is, they must include a set of rules for controlling
  3180.        access based directly on a comparison of the individual's
  3181.        clearance or authorization for the information and the 
  3182.        classification or sensitivity designation of the information being
  3183.        sought, and indirectly on considerations of physical and other 
  3184.        environmental factors of control.  The mandatory access control
  3185.        rules must accurately reflect the laws, regulations, and general
  3186.        policies from which they are derived."
  3187.  
  3188.        There are a number of policy statements that are related to
  3189.        mandatory security.
  3190.  
  3191.        Executive Order 12356 (Section 4.1.a) states that "a person is
  3192.        eligible for access to classified information provided that a 
  3193.        determination of trustworthiness has been made by agency heads or
  3194.        designated officials and provided that such access is essential
  3195.        to the accomplishment of lawful and authorized Government
  3196.        purposes."[14]
  3197.  
  3198.        DoD Regulation 5200.1-R (Chapter I, Section 3) defines a Special
  3199.        Access Program as "any program imposing 'need-to-know' or access
  3200.        controls beyond those normally provided for access to 
  3201.        Confidential, Secret, or Top Secret information.  Such a program
  3202.        includes, but is not limited to, special clearance, adjudication,
  3203.        or investigative requirements, special designation of officials
  3204.        authorized to determine 'need-to-know', or special lists of persons
  3205.        determined to have a 'need-to- know.'"[7, para.  1-328] This
  3206.        passage distinguishes between a 'discretionary' determination of
  3207.        need-to-know and formal need-to-know which is implemented through
  3208.        Special Access Programs.  DoD Regulation 5200.1-R, paragraph 7-100
  3209.        describes general requirements for trustworthiness (clearance) and
  3210.        need-to-know, and states that the individual with possession,
  3211.        knowledge or control of classified information has final
  3212.        responsibility for determining if conditions for access have been
  3213.        met.  This regulation further stipulates that "no one has a right
  3214.        to have access to classified information solely by virtue of rank
  3215.        or position." [7, para. 7-100])
  3216.  
  3217.        DoD Manual 5200.28-M (Section II 2-100) states that, "Personnel
  3218.        who develop, test (debug), maintain, or use programs which are 
  3219.        classified or which will be used to access or develop classified
  3220.        material shall have a personnel security clearance and an access
  3221.        authorization (need-to-know), as appropriate for the highest
  3222.        classified and most restrictive category of classified material
  3223.        which they will access under system constraints."[9]
  3224.  
  3225.        DoD Manual 5220.22-M (Paragraph 3.a) defines access as "the
  3226.        ability and opportunity to obtain knowledge of classified 
  3227.        information.  An individual, in fact, may have access to 
  3228.        classified information by being in a place where such information
  3229.        is kept, if the security measures which are in force do not
  3230.        prevent him from gaining knowledge of the classified 
  3231.        information."[11]
  3232.  
  3233.        The above mentioned Executive Order, Manual, Directives and
  3234.        Regulations clearly imply that a trusted computer system must 
  3235.        assure that the classification labels associated with sensitive
  3236.        data cannot be arbitrarily changed, since this could permit
  3237.        individuals who lack the appropriate clearance to access
  3238.        classified information.  Also implied is the requirement that a
  3239.        trusted computer system must control the flow of information so 
  3240.        that data from a higher classification cannot be placed in a 
  3241.        storage object of lower classification unless its "downgrading" 
  3242.        has been authorized.
  3243.  
  3244. 7.3.3  Discretionary Security
  3245.  
  3246.        The term discretionary security refers to a computer system's
  3247.        ability to control information on an individual basis.  It stems
  3248.        from the fact that even though an individual has all the formal 
  3249.        clearances for access to specific classified information, each
  3250.        individual's access to information must be based on a demonstrated
  3251.        need-to-know.  Because of this, it must be made clear that this
  3252.        requirement is not discretionary in a "take it or leave it" sense.
  3253.        The directives and regulations are explicit in stating that the
  3254.        need-to-know test must be satisfied before access can be granted 
  3255.        to the classified information.  The control objective for 
  3256.        discretionary security is: "Security policies defined for systems
  3257.        that are used to process classified or other sensitive information
  3258.        must include provisions for the enforcement of discretionary
  3259.        access control rules.  That is, they must include a consistent set
  3260.        of rules for controlling and limiting access based on identified
  3261.        individuals who have been determined to have a need-to-know for the
  3262.        information."
  3263.  
  3264.        DoD Regulation 5200.1-R (Paragraph 7-100) In addition to excerpts
  3265.        already provided that touch on need-to- know, this section of the
  3266.        regulation stresses the need- to-know principle when it states "no
  3267.        person may have access to classified information unless .  .  .  
  3268.        access is necessary for the performance of official duties."[7]
  3269.  
  3270.        Also, DoD Manual 5220.22-M (Section III 20.a) states that "an
  3271.        individual shall be permitted to have access to classified
  3272.        information only . . . when the contractor determines that access
  3273.        is necessary in the performance of tasks or services essential to
  3274.        the fulfillment of a contract or program, i.e., the individual has
  3275.        a need-to-know."[11]
  3276.  
  3277.  
  3278. 7.4  CRITERIA CONTROL OBJECTIVE FOR ACCOUNTABILITY
  3279.  
  3280. The control objective for accountability is: "Systems that are used to process
  3281. or handle classified or other sensitive information must assure individual
  3282. accountability whenever either a mandatory or discretionary security policy is
  3283. invoked.  Furthermore, to assure accountability the capability must exist for
  3284. an authorized and competent agent to access and evaluate accountability
  3285. information by a secure means, within a reasonable amount of time, and without
  3286. undue difficulty."
  3287.  
  3288. This control objective is supported by the following citations:
  3289.  
  3290.      DoD Directive 5200.28 (VI.A.1) states: "Each user's identity shall be
  3291.      positively established, and his access to the system, and his activity in
  3292.      the system (including material accessed and actions taken) controlled and
  3293.      open to scrutiny."[8]
  3294.  
  3295.      DoD Manual 5200.28-M (Section V 5-100) states: "An audit log or file
  3296.      (manual, machine, or a combination of both) shall be maintained as a 
  3297.      history of the use of the ADP System to permit a regular security review
  3298.      of system activity.  (e.g., The log should record security related 
  3299.      transactions, including each access to a classified file and the nature 
  3300.      of the access, e.g., logins, production of accountable classified 
  3301.      outputs, and creation of new classified files.  Each classified file
  3302.      successfully accessed [regardless of the number of individual references]
  3303.      during each 'job' or 'interactive session' should also be recorded in the
  3304.      audit log.  Much of the material in this log may also be required to 
  3305.      assure that the system preserves information entrusted to it.)"[9]
  3306.  
  3307.      DoD Manual 5200.28-M (Section IV 4-305f) states: "Where needed to assure
  3308.      control of access and individual accountability, each user or specific 
  3309.      group of users shall be identified to the ADP System by appropriate 
  3310.      administrative or hardware/software measures.  Such identification 
  3311.      measures must be in sufficient detail to enable the ADP System to provide
  3312.      the user only that material which he is authorized."[9]
  3313.  
  3314.      DoD Manual 5200.28-M (Section I 1-102b) states: 
  3315.  
  3316.      "Component's Designated Approving Authorities, or their designees
  3317.       for this purpose .  .  .  will assure:
  3318.  
  3319.                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
  3320.  
  3321.            (4) Maintenance of documentation on operating systems (O/S)
  3322.            and all modifications thereto, and its retention for a
  3323.            sufficient period of time to enable tracing of security-
  3324.            related defects to their point of origin or inclusion in the
  3325.            system.
  3326.  
  3327.                  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
  3328.  
  3329.            (6) Establishment of procedures to discover, recover,
  3330.            handle, and dispose of classified material improperly
  3331.            disclosed through system malfunction or personnel action.
  3332.  
  3333.            (7) Proper disposition and correction of security
  3334.            deficiencies in all approved ADP Systems, and the effective
  3335.            use and disposition of system housekeeping or audit records,
  3336.            records of security violations or security-related system
  3337.            malfunctions, and records of tests of the security features
  3338.            of an ADP System."[9]
  3339.  
  3340.      DoD Manual 5220.22-M (Section XIII 111) states: "Audit Trails
  3341.  
  3342.            a. The general security requirement for any ADP system audit
  3343.            trail is that it provide a documented history of the use of
  3344.            the system.  An approved audit trail will permit review of
  3345.            classified system activity and will provide a detailed
  3346.            activity record to facilitate reconstruction of events to
  3347.            determine the magnitude of compromise (if any) should a
  3348.            security malfunction occur.  To fulfill this basic
  3349.            requirement, audit trail systems, manual, automated or a
  3350.            combination of both must document significant events
  3351.            occurring in the following areas of concern: (i) preparation
  3352.            of input data and dissemination of output data (i.e.,
  3353.            reportable interactivity between users and system support
  3354.            personnel), (ii) activity involved within an ADP environment
  3355.            (e.g., ADP support personnel modification of security and
  3356.            related controls), and (iii) internal machine activity.
  3357.  
  3358.            b. The audit trail for an ADP system approved to process
  3359.            classified information must be based on the above three
  3360.            areas and may be stylized to the particular system.  All
  3361.            systems approved for classified processing should contain
  3362.            most if not all of the audit trail records listed below. The
  3363.            contractor's SPP documentation must identify and describe
  3364.            those applicable:
  3365.  
  3366.                       1. Personnel access;
  3367.  
  3368.                       2. Unauthorized and surreptitious entry into the
  3369.            central computer facility or remote terminal areas;
  3370.  
  3371.                       3. Start/stop time of classified processing indicating
  3372.            pertinent systems security initiation and termination events
  3373.            (e.g., upgrading/downgrading actions pursuant to paragraph
  3374.            107);
  3375.  
  3376.                       4. All functions initiated by ADP system console
  3377.            operators;
  3378.  
  3379.                       5. Disconnects of remote terminals and peripheral
  3380.            devices (paragraph 107c);
  3381.  
  3382.                       6. Log-on and log-off user activity;
  3383.  
  3384.                       7. Unauthorized attempts to access files or programs,
  3385.            as well as all open, close, create, and file destroy
  3386.            actions;
  3387.  
  3388.                       8. Program aborts and anomalies including
  3389.            identification information (i.e., user/program name, time
  3390.            and location of incident, etc.);
  3391.  
  3392.                       9. System hardware additions, deletions and maintenance
  3393.            actions;
  3394.  
  3395.                       10. Generations and modifications affecting the
  3396.            security features of the system software.
  3397.  
  3398.            c. The ADP system security supervisor or designee shall
  3399.            review the audit trail logs at least weekly to assure that
  3400.            all pertinent activity is properly recorded and that
  3401.            appropriate action has been taken to correct any anomaly.
  3402.            The majority of ADP systems in use today can develop audit
  3403.            trail systems in accord with the above; however, special
  3404.            systems such as weapons, communications, communications
  3405.            security, and tactical data exchange and display systems,
  3406.            may not be able to comply with all aspects of the above and
  3407.            may require individualized consideration by the cognizant
  3408.            security office.
  3409.  
  3410.            d. Audit trail records shall be retained for a period of one
  3411.            inspection cycle."[11]
  3412.  
  3413.  
  3414. 7.5  CRITERIA CONTROL OBJECTIVE FOR ASSURANCE
  3415.  
  3416. The control objective for assurance is: "Systems that are used to process or
  3417. handle classified or other sensitive information must be designed to guarantee
  3418. correct and accurate interpretation of the security policy and must not distort
  3419. the intent of that policy.  Assurance must be provided that correct
  3420. implementation and operation of the policy exists throughout the system's
  3421. life-cycle."
  3422.  
  3423. A basis for this objective can be found in the following sections of DoD     
  3424. Directive 5200.28:
  3425.  
  3426.      DoD Directive 5200.28 (IV.B.1) stipulates: "Generally, security of an ADP
  3427.      system is most effective and economical if the system is designed 
  3428.      originally to provide it.  Each Department of Defense Component 
  3429.      undertaking design of an ADP system which is expected to process, store,
  3430.      use, or produce classified material shall:  From the beginning of the 
  3431.      design process, consider the security policies, concepts, and measures
  3432.      prescribed in this Directive."[8]
  3433.  
  3434.      DoD Directive 5200.28 (IV.C.5.a) states: "Provision may be made to permit
  3435.      adjustment of ADP system area controls to the level of protection 
  3436.      required for the classification category and type(s) of material actually
  3437.      being handled by the system, provided change procedures are developed and
  3438.      implemented which will prevent both the unauthorized access to classified
  3439.      material handled by the system and the unauthorized manipulation of the
  3440.      system and its components.  Particular attention shall be given to the
  3441.      continuous protection of automated system security measures, techniques
  3442.      and procedures when the personnel security clearance level of users
  3443.      having access to the system changes."[8]
  3444.  
  3445.      DoD Directive 5200.28 (VI.A.2) states: "Environmental Control.  The ADP
  3446.      System shall be externally protected to minimize the likelihood of
  3447.      unauthorized access to system entry points, access to classified 
  3448.      information in the system, or damage to the system."[8]
  3449.  
  3450.      DoD Manual 5200.28-M (Section I 1-102b) states: 
  3451.  
  3452.      "Component's Designated Approving Authorities, or their designees
  3453.      for this purpose .  .  .  will assure:
  3454.  
  3455.                   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
  3456.  
  3457.               (5) Supervision, monitoring, and testing, as appropriate, of
  3458.           changes in an approved ADP System which could affect the
  3459.           security features of the system, so that a secure system is
  3460.           maintained.
  3461.  
  3462.                   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
  3463.  
  3464.               (7) Proper disposition and correction of security
  3465.           deficiencies in all approved ADP Systems, and the effective
  3466.           use and disposition of system housekeeping or audit records,
  3467.           records of security violations or security-related system
  3468.           malfunctions, and records of tests of the security features
  3469.           of an ADP System.
  3470.  
  3471.               (8) Conduct of competent system ST&E, timely review of
  3472.           system ST&E reports, and correction of deficiencies needed
  3473.           to support conditional or final approval or disapproval of
  3474.           an ADP System for the processing of classified information.
  3475.  
  3476.               (9) Establishment, where appropriate, of a central ST&E
  3477.           coordination point for the maintenance of records of
  3478.           selected techniques, procedures, standards, and tests used
  3479.           in the testing and evaluation of security features of ADP
  3480.           Systems which may be suitable for validation and use by
  3481.           other Department of Defense Components."[9]
  3482.  
  3483.      DoD Manual 5220.22-M (Section XIII 103a) requires: "the initial approval,
  3484.      in writing, of the cognizant security office prior to processing any
  3485.      classified information in an ADP system.  This section requires 
  3486.      reapproval by the cognizant security office for major system 
  3487.      modifications made subsequent to initial approval.  Reapprovals will be 
  3488.      required because of (i) major changes in personnel access requirements,
  3489.      (ii) relocation or structural modification of the central computer
  3490.      facility, (iii) additions, deletions or changes to main frame, storage or
  3491.      input/output devices, (iv) system software changes impacting security
  3492.      protection features, (v) any change in clearance, declassification, audit
  3493.      trail or hardware/software maintenance procedures, and (vi) other system
  3494.      changes as determined by the cognizant security office."[11]
  3495.  
  3496.      A major component of assurance, life-cycle assurance, as described in DoD
  3497.      Directive 7920.l, is concerned with testing ADP systems both in the
  3498.      development phase as well as during operation (17).  DoD Directive 5215.1
  3499.      (Section F.2.C.(2)) requires "evaluations of selected industry and
  3500.      government-developed trusted computer systems against these criteria."[10]
  3501.  
  3502.  
  3503.                       8.0  A GUIDELINE ON COVERT CHANNELS
  3504.  
  3505.  
  3506. A covert channel is any communication channel that can be exploited by a
  3507. process to transfer information in a manner that violates the system's
  3508. security policy.  There are two types of covert channels: storage channels and
  3509. timing channels.  Covert storage channels include all vehicles that would
  3510. allow the direct or indirect writing of a storage location by one process and
  3511. the direct or indirect reading of it by another.  Covert timing channels
  3512. include all vehicles that would allow one process to signal information to
  3513. another process by modulating its own use of system resources in such a way
  3514. that the change in response time observed by the second process would provide
  3515. information.
  3516.  
  3517. From a security perspective, covert channels with low bandwidths represent a
  3518. lower threat than those with high bandwidths.  However, for many types of
  3519. covert channels, techniques used to reduce the bandwidth below a certain rate
  3520. (which depends on the specific channel mechanism and the system architecture)
  3521. also have the effect of degrading the performance provided to legitimate
  3522. system users.  Hence, a trade-off between system performance and covert
  3523. channel bandwidth must be made.  Because of the threat of compromise that
  3524. would be present in any multilevel computer system containing classified or
  3525. sensitive information, such systems should not contain covert channels with
  3526. high bandwidths.  This guideline is intended to provide system developers with
  3527. an idea of just how high a "high" covert channel bandwidth is.
  3528.  
  3529. A covert channel bandwidth that exceeds a rate of one hundred (100) bits per
  3530. second is considered "high" because 100 bits per second is the approximate
  3531. rate at which many computer terminals are run.  It does not seem appropriate
  3532. to call a computer system "secure" if information can be compromised at a rate
  3533. equal to the normal output rate of some commonly used device.
  3534.  
  3535. In any multilevel computer system there are a number of relatively
  3536. low-bandwidth covert channels whose existence is deeply ingrained in the
  3537. system design.  Faced with the large potential cost of reducing the bandwidths
  3538. of such covert channels, it is felt that those with maximum bandwidths of less
  3539. than one (1) bit per second are acceptable in most application environments.
  3540. Though maintaining acceptable performance in some systems may make it
  3541. impractical to eliminate all covert channels with bandwidths of 1 or more bits
  3542. per second, it is possible to audit their use without adversely affecting
  3543. system performance.  This audit capability provides the system administration
  3544. with a means of detecting -- and procedurally correcting -- significant
  3545. compromise.  Therefore, a Trusted Computing Base should provide, wherever
  3546. possible, the capability to audit the use of covert channel mechanisms with
  3547. bandwidths that may exceed a rate of one (1) bit in ten (10) seconds.
  3548.  
  3549. The covert channel problem has been addressed by a number of authors.  The
  3550. interested reader is referred to references [5], [6], [19], [21], [22], [23],
  3551. and [29].
  3552.  
  3553.  
  3554.        9.0  A GUIDELINE ON CONFIGURING MANDATORY ACCESS CONTROL FEATURES
  3555.  
  3556.  
  3557. The Mandatory Access Control requirement includes a capability to support an
  3558. unspecified number of hierarchical classifications and an unspecified number
  3559. of non-hierarchical categories at each hierarchical level.  To encourage
  3560. consistency and portability in the design and development of the National
  3561. Security Establishment trusted computer systems, it is desirable for all such
  3562. systems to be able to support a minimum number of levels and categories.  The
  3563. following suggestions are provided for this purpose:
  3564.  
  3565.      * The number of hierarchical classifications should be greater than or
  3566.        equal to sixteen (16).
  3567.  
  3568.      * The number of non-hierarchical categories should be greater than or
  3569.        equal to sixty-four (64).
  3570.  
  3571.  
  3572.  
  3573.                      10.0  A GUIDELINE ON SECURITY TESTING
  3574.  
  3575.  
  3576. These guidelines are provided to give an indication of the extent and
  3577. sophistication of testing undertaken by the DoD Computer Security Center
  3578. during the Formal Product Evaluation process.  Organizations wishing to use
  3579. "Department of Defense Trusted Computer System Evaluation Criteria" for
  3580. performing their own evaluations may find this section useful for planning
  3581. purposes.
  3582.  
  3583. As in Part I, highlighting is used to indicate changes in the guidelines from
  3584. the next lower division.
  3585.  
  3586.  
  3587. 10.1  TESTING FOR DIVISION C
  3588.  
  3589. 10.1.1  Personnel
  3590.  
  3591.         The security testing team shall consist of at least two
  3592.         individuals with bachelor degrees in Computer Science or the
  3593.         equivalent.  Team members shall be able to follow test plans
  3594.         prepared by the system developer and suggest additions, shall
  3595.         be familiar with the "flaw hypothesis" or equivalent security
  3596.         testing methodology, and shall have assembly level programming
  3597.         experience.  Before testing begins, the team members shall have
  3598.         functional knowledge of, and shall have completed the system 
  3599.         developer's internals course for, the system being evaluated.
  3600.  
  3601. 10.1.2  Testing
  3602.  
  3603.         The team shall have "hands-on" involvement in an independent run
  3604.         of the tests used by the system developer.  The team shall 
  3605.         independently design and implement at least five system-specific
  3606.         tests in an attempt to circumvent the security mechanisms of the
  3607.         system.  The elapsed time devoted to testing shall be at least
  3608.         one month and need not exceed three months.  There shall be no
  3609.         fewer than twenty hands-on hours spent carrying out system
  3610.         developer-defined tests and test team-defined tests.
  3611.  
  3612.  
  3613. 10.2  TESTING FOR DIVISION B
  3614.  
  3615. 10.2.1  Personnel
  3616.  
  3617.         The security testing team shall consist of at least two
  3618.         individuals with bachelor degrees in Computer Science or the 
  3619.         equivalent and at least one individual with a master's degree in
  3620.         Computer Science or equivalent.  Team members shall be able to
  3621.         follow test plans prepared by the system developer and suggest
  3622.         additions, shall be conversant with the "flaw hypothesis" or
  3623.         equivalent security testing methodology, shall be fluent in the
  3624.         TCB implementation language(s), and shall have assembly level 
  3625.         programming experience.  Before testing begins, the team members
  3626.         shall have functional knowledge of, and shall have completed the
  3627.         system developer's internals course for, the system being
  3628.         evaluated.  At least one team member shall have previously
  3629.         completed a security test on another system.
  3630.  
  3631. 10.2.2  Testing
  3632.  
  3633.         The team shall have "hands-on" involvement in an independent run
  3634.         of the test package used by the system developer to test 
  3635.         security-relevant hardware and software.  The team shall
  3636.         independently design and implement at least fifteen system-
  3637.         specific tests in an attempt to circumvent the security
  3638.         mechanisms of the system.  The elapsed time devoted to testing 
  3639.         shall be at least two months and need not exceed four months.  
  3640.         There shall be no fewer than thirty hands-on hours per team
  3641.         member spent carrying out system developer-defined tests and
  3642.         test team-defined tests.
  3643.  
  3644.  
  3645. 10.3  TESTING FOR DIVISION A
  3646.  
  3647. 10.3.1  Personnel
  3648.  
  3649.         The security testing team shall consist of at least one
  3650.         individual with a bachelor's degree in Computer Science or the 
  3651.         equivalent and at least two individuals with masters' degrees in
  3652.         Computer Science or equivalent.  Team members shall be able to 
  3653.         follow test plans prepared by the system developer and suggest
  3654.         additions, shall be conversant with the "flaw hypothesis" or
  3655.         equivalent security testing methodology, shall be fluent in the
  3656.         TCB implementation language(s), and shall have assembly level 
  3657.         programming experience.  Before testing begins, the team members
  3658.         shall have functional knowledge of, and shall have completed the
  3659.         system developer's internals course for, the system being
  3660.         evaluated.  At least one team member shall be familiar enough
  3661.         with the system hardware to understand the maintenance diagnostic
  3662.         programs and supporting hardware documentation.  At least two 
  3663.         team members shall have previously completed a security test on
  3664.         another system.  At least one team member shall have 
  3665.         demonstrated system level programming competence on the system
  3666.         under test to a level of complexity equivalent to adding a device
  3667.         driver to the system.
  3668.  
  3669. 10.3.2  Testing
  3670.  
  3671.         The team shall have "hands-on" involvement in an independent run
  3672.         of the test package used by the system developer to test 
  3673.         security-relevant hardware and software.  The team shall 
  3674.         independently design and implement at least twenty-five system-
  3675.         specific tests in an attempt to circumvent the security
  3676.         mechanisms of the system.  The elapsed time devoted to testing 
  3677.         shall be at least three months and need not exceed six months.  
  3678.         There shall be no fewer than fifty hands-on hours per team 
  3679.         member spent carrying out system developer-defined tests and
  3680.         test team-defined tests.
  3681.  
  3682.  
  3683.                                   APPENDIX A
  3684.  
  3685.                      COMMERCIAL PRODUCE EVALUATION PROCESS
  3686.  
  3687.  
  3688. "Department of Defense Trusted Computer System Evaluation Criteria" forms the
  3689. basis upon which the Computer Security Center will carry out the commercial
  3690. computer security evaluation process.  This process is focused on commercially
  3691. produced and supported general-purpose operating system products that meet the
  3692. needs of government departments and agencies.  The formal evaluation is aimed
  3693. at "off-the-shelf" commercially supported products and is completely divorced
  3694. from any consideration of overall system performance, potential applications,
  3695. or particular processing environments.  The evaluation provides a key input to
  3696. a computer system security approval/accreditation.  However, it does not
  3697. constitute a complete computer system security evaluation.  A complete study
  3698. (e.g., as in reference [18]) must consider additional factors dealing with the
  3699. system in its unique environment, such as it's proposed security mode of
  3700. operation, specific users, applications, data sensitivity, physical and
  3701. personnel security, administrative and procedural security, TEMPEST, and
  3702. communications security.
  3703.  
  3704. The product evaluation process carried out by the Computer Security Center has
  3705. three distinct elements:
  3706.  
  3707.      * Preliminary Product Evaluation - An informal dialogue between a vendor
  3708.        and the Center in which technical information is exchanged to create a
  3709.        common understanding of the vendor's product, the criteria, and the 
  3710.        rating that may be expected to result from a formal product evaluation.
  3711.  
  3712.      * Formal Product Evaluation - A formal evaluation, by the Center, of a
  3713.        product that is available to the DoD, and that results in that product
  3714.        and its assigned rating being placed on the Evaluated Products List.
  3715.  
  3716.      * Evaluated Products List - A list of products that have been subjected
  3717.        to formal product evaluation and their assigned ratings.
  3718.  
  3719.  
  3720. Preliminary Product Evaluation
  3721.  
  3722. Since it is generally very difficult to add effective security measures late
  3723. in a product's life cycle, the Center is interested in working with system
  3724. vendors in the early stages of product design.  A preliminary product
  3725. evaluation allows the Center to consult with computer vendors on computer
  3726. security issues found in products that have not yet been formally announced.
  3727.  
  3728. A preliminary evaluation is typically initiated by computer system vendors who
  3729. are planning new computer products that feature security or major
  3730. security-related upgrades to existing products.  After an initial meeting
  3731. between the vendor and the Center, appropriate non-disclosure agreements are
  3732. executed that require the Center to maintain the confidentiality of any
  3733. proprietary information disclosed to it.  Technical exchange meetings follow
  3734. in which the vendor provides details about the proposed product (particularly
  3735. its internal designs and goals) and the Center provides expert feedback to the
  3736. vendor on potential computer security strengths and weaknesses of the vendor's
  3737. design choices, as well as relevant interpretation of the criteria.  The
  3738. preliminary evaluation is typically terminated when the product is completed
  3739. and ready for field release by the vendor.  Upon termination, the Center
  3740. prepares a wrap-up report for the vendor and for internal distribution within
  3741. the Center.  Those reports containing proprietary information are not
  3742. available to the public.
  3743.  
  3744. During preliminary evaluation, the vendor is under no obligation to actually
  3745. complete or market the potential product.  The Center is, likewise, not
  3746. committed to conduct a formal product evaluation.  A preliminary evaluation
  3747. may be terminated by either the Center or the vendor when one notifies the
  3748. other, in writing, that it is no longer advantageous to continue the
  3749. evaluation.
  3750.  
  3751.  
  3752. Formal Product Evaluation
  3753.  
  3754. The formal product evaluation provides a key input to certification of a
  3755. computer system for use in National Security Establishment applications and is
  3756. the sole basis for a product being placed on the Evaluated Products List.
  3757.  
  3758. A formal product evaluation begins with a request by a vendor for the Center
  3759. to evaluate a product for which the product itself and accompanying
  3760. documentation needed to meet the requirements defined by this publication are
  3761. complete.  Non-disclosure agreements are executed and a formal product
  3762. evaluation team is formed by the Center.  An initial meeting is then held with
  3763. the vendor to work out the schedule for the formal evaluation.  Since testing
  3764. of the implemented product forms an important part of the evaluation process,
  3765. access by the evaluation team to a working version of the system is negotiated
  3766. with the vendor.  Additional support required from the vendor includes
  3767. complete design documentation, source code, and access to vendor personnel who
  3768. can answer detailed questions about specific portions of the product.  The
  3769. evaluation team tests the product against each requirement, making any
  3770. necessary interpretations of the criteria with respect to the product being
  3771. evaluated.
  3772.  
  3773. The evaluation team writes a final report on their findings about the system. 
  3774. The report is publicly available (containing no proprietary or sensitive
  3775. information) and contains the overall class rating assigned to the system and
  3776. the details of the evalution team's findings when comparing the product against
  3777. the evaluation criteria.  Detailed information concerning vulnerabilities found
  3778. by the evaluation team is furnished to the system developers and designers as
  3779. each is found so that the vendor has a chance to eliminate as many of them as
  3780. possible prior to the completion of the Formal Product Evaluation. 
  3781. Vulnerability analyses and other proprietary or sensitive information are
  3782. controlled within the Center through the Vulnerability Reporting Program and
  3783. are distributed only within the U.S. Government on a strict need-to-know and
  3784. non-disclosure basis, and to the vendor.
  3785.  
  3786.                                   APPENDIX B
  3787.  
  3788.                    SUMMARY OF EVALUATION CRITERIA DIVISIONS
  3789.  
  3790.  
  3791. The divisions of systems recognized under the trusted computer system
  3792. evaluation criteria are as follows.  Each division represents a major
  3793. improvement in the overall confidence one can place in the system to protect
  3794. classified and other sensitive information.
  3795.  
  3796. Division (D):  Minimal Protection
  3797.  
  3798. This division contains only one class.  It is reserved for those systems that
  3799. have been evaluated but that fail to meet the requirements for a higher
  3800. evaluation class.
  3801.  
  3802. Division (C):  Discretionary Protection
  3803.  
  3804. Classes in this division provide for discretionary (need-to-know) protection
  3805. and, through the inclusion of audit capabilities, for accountability of
  3806. subjects and the actions they initiate.
  3807.  
  3808. Division (B):  Mandatory Protection
  3809.  
  3810. The notion of a TCB that preserves the integrity of sensitivity labels and
  3811. uses them to enforce a set of mandatory access control rules is a major
  3812. requirement in this division.  Systems in this division must carry the
  3813. sensitivity labels with major data structures in the system.  The system
  3814. developer also provides the security policy model on which the TCB is based
  3815. and furnishes a specification of the TCB.  Evidence must be provided to
  3816. demonstrate that the reference monitor concept has been implemented.
  3817.  
  3818. Division (A):  Verified Protection
  3819.  
  3820. This division is characterized by the use of formal security verification
  3821. methods to assure that the mandatory and discretionary security controls
  3822. employed in the system can effectively protect classified or other sensitive
  3823. information stored or processed by the system.  Extensive documentation is
  3824. required to demonstrate that the TCB meets the security requirements in all
  3825. aspects of design, development and implementation.
  3826.  
  3827.  
  3828.  
  3829.                                   APPENDIX C
  3830.  
  3831.                     SUMMARY OF EVALUATION CRITERIA CLASSES
  3832.  
  3833.  
  3834. The classes of systems recognized under the trusted computer system evaluation
  3835. criteria are as follows.  They are presented in the order of increasing
  3836. desirablity from a computer security point of view.
  3837.  
  3838. Class (D):  Minimal Protection
  3839.  
  3840. This class is reserved for those systems that have been evaluated but that
  3841. fail to meet the requirements for a higher evaluation class.
  3842.  
  3843. Class (C1):  Discretionary Security Protection
  3844.  
  3845. The Trusted Computing Base (TCB) of a class (C1) system nominally satisfies
  3846. the discretionary security requirements by providing separation of users and
  3847. data.  It incorporates some form of credible controls capable of enforcing
  3848. access limitations on an individual basis, i.e., ostensibly suitable for
  3849. allowing users to be able to protect project or private information and to
  3850. keep other users from accidentally reading or destroying their data.  The
  3851. class (C1) environment is expected to be one of cooperating users processing
  3852. data at the same level(s) of sensitivity.
  3853.  
  3854. Class (C2):  Controlled Access Protection
  3855.  
  3856. Systems in this class enforce a more finely grained discretionary access
  3857. control than (C1) systems, making users individually accountable for their
  3858. actions through login procedures, auditing of security-relevant events, and
  3859. resource isolation.
  3860.  
  3861. Class (B1):  Labeled Security Protection
  3862.  
  3863. Class (B1) systems require all the features required for class (C2).  In
  3864. addition, an informal statement of the security policy model, data labeling,
  3865. and mandatory access control over named subjects and objects must be present.
  3866. The capability must exist for accurately labeling exported information.  Any
  3867. flaws identified by testing must be removed.
  3868.  
  3869. Class (B2):  Structured Protection
  3870.  
  3871. In class (B2) systems, the TCB is based on a clearly defined and documented
  3872. formal security policy model that requires the discretionary and mandatory
  3873. access control enforcement found in class (B1) systems be extended to all
  3874. subjects and objects in the ADP system.  In addition, covert channels are
  3875. addressed.  The TCB must be carefully structured into protection-critical and
  3876. non- protection-critical elements.  The TCB interface is well-defined and the
  3877. TCB design and implementation enable it to be subjected to more thorough
  3878. testing and more complete review.  Authentication mechanisms are strengthened,
  3879. trusted facility management is provided in the form of support for system
  3880. administrator and operator functions, and stringent configuration management
  3881. controls are imposed.  The system is relatively resistant to penetration.
  3882.  
  3883. Class (B3):  Security Domains
  3884.  
  3885. The class (B3) TCB must satisfy the reference monitor requirements that it
  3886. mediate all accesses of subjects to objects, be tamperproof, and be small
  3887. enough to be subjected to analysis and tests.  To this end, the TCB is
  3888. structured to exclude code not essential to security policy enforcement, with
  3889. significant system engineering during TCB design and implementation directed
  3890. toward minimizing its complexity.  A security administrator is supported,
  3891. audit mechanisms are expanded to signal security- relevant events, and system
  3892. recovery procedures are required.  The system is highly resistant to
  3893. penetration.
  3894.  
  3895. Class (A1):  Verified Design
  3896.  
  3897. Systems in class (A1) are functionally equivalent to those in class (B3) in
  3898. that no additional architectural features or policy requirements are added.
  3899. The distinguishing feature of systems in this class is the analysis derived
  3900. from formal design specification and verification techniques and the resulting
  3901. high degree of assurance that the TCB is correctly implemented.  This
  3902. assurance is developmental in nature, starting with a formal model of the
  3903. security policy and a formal top-level specification (FTLS) of the design.  In
  3904. keeping with the extensive design and development analysis of the TCB required
  3905. of systems in class (A1), more stringent configuration management is required
  3906. and procedures are established for securely distributing the system to sites.
  3907. A system security administrator is supported.
  3908.  
  3909.  
  3910.  
  3911.                                   APPENDIX D
  3912.  
  3913.                              REQUIREMENT DIRECTORY
  3914.  
  3915.  
  3916. This appendix lists requirements defined in "Department of Defense Trusted
  3917. Computer System Evaluation Criteria" alphabetically rather than by class.  It
  3918. is provided to assist in following the evolution of a requirement through the
  3919. classes.  For each requirement, three types of criteria may be present.  Each
  3920. will be preceded by the word: NEW, CHANGE, or ADD to indicate the following:
  3921.  
  3922.               NEW: Any criteria appearing in a lower class are superseded
  3923.                    by the criteria that follow.
  3924.  
  3925.            CHANGE: The criteria that follow have appeared in a lower class
  3926.                    but are changed for this class.  Highlighting is used
  3927.                    to indicate the specific changes to previously stated
  3928.                    criteria.
  3929.  
  3930.               ADD: The criteria that follow have not been required for any
  3931.                    lower class, and are added in this class to the
  3932.                    previously stated criteria for this requirement.
  3933.  
  3934. Abbreviations are used as follows:
  3935.  
  3936.                NR: (No Requirement) This requirement is not included in
  3937.                    this class.
  3938.  
  3939.               NAR: (No Additional Requirements) This requirement does not
  3940.                    change from the previous class.
  3941.  
  3942. The reader is referred to Part I of this document when placing new criteria
  3943. for a requirement into the complete context for that class.
  3944.  
  3945. Figure 1 provides a pictorial summary of the evolution of requirements through
  3946. the classes.
  3947.  
  3948.  
  3949. Audit
  3950.  
  3951.      C1: NR.
  3952.  
  3953.      C2: NEW: The TCB shall be able to create, maintain, and protect from
  3954.          modification or unauthorized access or destruction an audit trail of
  3955.          accesses to the objects it protects.  The audit data shall be 
  3956.          protected by the TCB so that read access to it is limited to those 
  3957.          who are authorized for audit data.  The TCB shall be able to record
  3958.          the following types of events:  use of identification and
  3959.          authentication mechanisms, introduction of objects into a user's
  3960.          address space (e.g., file open, program initiation), deletion of
  3961.          objects, and actions taken by computer operators and system 
  3962.          administrators and/or system security officers and other security
  3963.          relevant events.  For each recorded event, the audit record shall
  3964.          identify: date and time of the event, user, type of event, and success
  3965.          or failure of the event.  For identification/authentication events the
  3966.          origin of request (e.g., terminal ID) shall be included in the audit
  3967.          record.  For events that introduce an object into a user's address
  3968.          space and for object deletion events the audit record shall include
  3969.          the name of the object.  The ADP system administrator shall be able to
  3970.          selectively audit the actions of any one or more users based on
  3971.          individual identity.
  3972.  
  3973.      B1: CHANGE: For events that introduce an object into a user's address
  3974.          space and for object deletion events the audit record shall include
  3975.          the name of the object and the object's security level.  The ADP 
  3976.          system administrator shall be able to selectively audit the actions 
  3977.          of any one or more users based on individual identity and/or object
  3978.          security level.
  3979.  
  3980.          ADD: The TCB shall also be able to audit any override of
  3981.          human-readable output markings.
  3982.  
  3983.      B2: ADD: The TCB shall be able to audit the identified events that may be
  3984.          used in the exploitation of covert storage channels.
  3985.  
  3986.      B3: ADD: The TCB shall contain a mechanism that is able to monitor the
  3987.          occurrence or accumulation of security auditable events that may 
  3988.          indicate an imminent violation of security policy.  This mechanism 
  3989.          shall be able to immediately notify the security administrator when
  3990.          thresholds are exceeded, and, if the occurrence or accumulation of
  3991.          these security relevant events continues, the system shall take the
  3992.          lease disruptive action to terminate the event.
  3993.  
  3994.      A1: NAR.
  3995.  
  3996. Configuration Management
  3997.  
  3998.      C1: NR.
  3999.  
  4000.      C2: NR.
  4001.  
  4002.      B1: NR.
  4003.  
  4004.      B2: NEW: During development and maintenance of the TCB, a configuration
  4005.          management system shall be in place that maintains control of changes
  4006.          to the descriptive top-level specification, other design data, 
  4007.          implementation documentation, source code, the running version of the
  4008.          object code, and test fixtures and documentation.  The configuration
  4009.          management system shall assure a consistent mapping among all
  4010.          documentation and code associated with the current version of the TCB.
  4011.          Tools shall be provided for generation of a new version of the TCB
  4012.          from source code.  Also available shall be tools for comparing a 
  4013.          newly generated version with the previous TCB version in order to
  4014.          ascertain that only the intended changes have been made in the code 
  4015.          that will actually be used as the new version of the TCB.
  4016.  
  4017.      B3: NAR.
  4018.  
  4019.      A1: CHANGE: During the entire life-cycle, i.e., during the design,
  4020.          development, and maintenance of the TCB, a configuration management
  4021.          system shall be in place for all security-relevant hardware, firmware,
  4022.          and software that maintains control of changes to the formal model, 
  4023.          the descriptive and formal top-level specifications, other design
  4024.          data, implementation documentation, source code, the running version
  4025.          of the object code, and test fixtures and documentation.  Also
  4026.          available shall be tools, maintained under strict configuration
  4027.          control, for comparing a newly generated version with the previous
  4028.          TCB version in order to ascertain that only the intended changes have
  4029.          been made in the code that will actually be used as the new version 
  4030.          of the TCB.
  4031.  
  4032.     ADD: A combination of technical, physical, and procedural safeguards
  4033.          shall be used to protect from unauthorized modification or 
  4034.          destruction the master copy or copies of all material used to 
  4035.          generate the TCB.
  4036.  
  4037. Covert Channel Analysis
  4038.  
  4039.      C1: NR.
  4040.  
  4041.      C2: NR.
  4042.  
  4043.      B1: NR.
  4044.  
  4045.      B2: NEW: The system developer shall conduct a thorough search for covert
  4046.          storage channels and make a determination (either by actual 
  4047.          measurement or by engineering estimation) of the maximum bandwidth of
  4048.          each identified channel.  (See the Covert Channels Guideline section.)
  4049.  
  4050.      B3: CHANGE: The system developer shall conduct a thorough search for
  4051.          covert channels and make a determination (either by actual 
  4052.          measurement or by engineering estimation) of the maximum bandwidth 
  4053.          of each identified channel.
  4054.  
  4055.      A1: ADD: Formal methods shall be used in the analysis.
  4056.  
  4057. Design Documentation
  4058.  
  4059.      C1: NEW: Documentation shall be available that provides a description of
  4060.          the manufacturer's philosophy of protection and an explanation of how
  4061.          this philosophy is translated into the TCB.  If the TCB is composed 
  4062.          of distinct modules, the interfaces between these modules shall be 
  4063.          described.
  4064.  
  4065.      C2: NAR.
  4066.  
  4067.      B1: ADD: An informal or formal description of the security policy model
  4068.          enforced by the TCB shall be available and an explanation provided to
  4069.          show that it is sufficient to enforce the security policy.  The 
  4070.          specific TCB protection mechanisms shall be identified and an 
  4071.          explanation given to show that they satisfy the model.
  4072.  
  4073.      B2: CHANGE: The interfaces between the TCB modules shall be described.  A
  4074.          formal description of the security policy model enforced by the TCB 
  4075.          shall be available and proven that it is sufficient to enforce the 
  4076.          security policy.
  4077.  
  4078.          ADD: The descriptive top-level specification (DTLS) shall be shown to
  4079.          be an accurate description of the TCB interface.  Documentation shall
  4080.          describe how the TCB implements the reference monitor concept and 
  4081.          give an explanation why it is tamper resistant, cannot be bypassed,
  4082.          and is correctly implemented.  Documentation shall describe how the
  4083.          TCB is structured to facilitate testing and to enforce least
  4084.          privilege.  This documentation shall also present the results of the
  4085.          covert channel analysis and the tradeoffs involved in restricting the
  4086.          channels.  All auditable events that may be used in the exploitation
  4087.          of known covert storage channels shall be identified.  The bandwidths
  4088.          of known covert storage channels, the use of which is not detectable
  4089.          by the auditing mechanisms, shall be provided.  (See the Covert 
  4090.          Channel Guideline section.)
  4091.  
  4092.      B3: ADD: The TCB implementation (i.e., in hardware, firmware, and
  4093.          software) shall be informally shown to be consistent with the DTLS.
  4094.          The elements of the DTLS shall be shown, using informal techniques, 
  4095.          to correspond to the elements of the TCB.
  4096.  
  4097.      A1: CHANGE: The TCB implementation (i.e., in hardware, firmware, and
  4098.          software) shall be informally shown to be consistent with the formal
  4099.          top-level specification (FTLS).  The elements of the FTLS shall be 
  4100.          shown, using informal techniques, to correspond to the elements of 
  4101.          the TCB.
  4102.  
  4103.          ADD: Hardware, firmware, and software mechanisms not dealt with in
  4104.          the FTLS but strictly internal to the TCB (e.g., mapping registers,
  4105.          direct memory access I/O) shall be clearly described.
  4106.  
  4107. Design Specification and Verification
  4108.  
  4109.      C1: NR.
  4110.  
  4111.      C2: NR.
  4112.  
  4113.      B1: NEW: An informal or formal model of the security policy supported by
  4114.          the TCB shall be maintained over the life cycle of the ADP system that
  4115.          is shown to be consistent with its axioms.
  4116.  
  4117.      B2: CHANGE: A formal model of the security policy supported by the TCB
  4118.          shall be maintained over the life cycle of the ADP system that is
  4119.          proven consistent with its axioms.
  4120.  
  4121.          ADD: A descriptive top-level specification (DTLS) of the TCB shall be
  4122.          maintained that completely and accurately describes the TCB in terms
  4123.          of exceptions, error messages, and effects.  It shall be shown to be
  4124.          an accurate description of the TCB interface.
  4125.  
  4126.      B3: ADD: A convincing argument shall be given that the DTLS is consistent
  4127.          with the model.
  4128.  
  4129.      A1: CHANGE: The FTLS shall be shown to be an accurate description of the
  4130.          TCB interface.  A convincing argument shall be given that the DTLS is
  4131.          consistent with the model and a combination of formal and informal 
  4132.          techniques shall be used to show that the FTLS is consistent with the
  4133.          model.
  4134.  
  4135.          ADD: A formal top-level specification (FTLS) of the TCB shall be
  4136.          maintained that accurately describes the TCB in terms of exceptions,
  4137.          error messages, and effects.  The DTLS and FTLS shall include those
  4138.          components of the TCB that are implemented as hardware and/or 
  4139.          firmware if their properties are visible at the TCB interface.  This
  4140.          verification evidence shall be consistent with that provided within
  4141.          the state-of-the-art of the particular Computer Security Center-
  4142.          endorsed formal specification and verification system used.  Manual
  4143.          or other mapping of the FTLS to the TCB source code shall be
  4144.          performed to provide evidence of correct implementation.
  4145.  
  4146. Device Labels
  4147.  
  4148.      C1: NR.
  4149.  
  4150.      C2: NR.
  4151.  
  4152.      B1: NR.
  4153.  
  4154.      B2: NEW: The TCB shall support the assignment of minimum and maximum
  4155.          security levels to all attached physical devices.  These security
  4156.          levels shall be used by the TCB to enforce constraints imposed by 
  4157.          the physical environments in which the devices are located.
  4158.  
  4159.      B3: NAR.
  4160.  
  4161.      A1: NAR.
  4162.  
  4163. Discretionary Access Control
  4164.  
  4165.      C1: NEW: The TCB shall define and control access between named users and
  4166.          named objects (e.g., files and programs) in the ADP system.  The 
  4167.          enforcement mechanism (e.g., self/group/public controls, access 
  4168.          control lists) shall allow users to specify and control sharing of
  4169.          those objects by named individuals or defined groups or both.
  4170.  
  4171.      C2: CHANGE: The enforcement mechanism (e.g., self/group/public controls,
  4172.          access control lists) shall allow users to specify and control 
  4173.          sharing of those objects by named individuals, or defined groups of
  4174.          individuals, or by both, and shall provide controls to limit
  4175.          propagation of access rights.
  4176.  
  4177.     ADD: The discretionary access control mechanism shall, either by explicit
  4178.          user action or by default, provide that objects are protected from
  4179.          unauthorized access.  These access controls shall be capable of 
  4180.          including or excluding access to the granularity of a single user.  
  4181.          Access permission to an object by users not already possessing access
  4182.          permission shall only be assigned by authorized users.
  4183.  
  4184.      B1: NAR.
  4185.  
  4186.      B2: NAR.
  4187.  
  4188.      B3: CHANGE: The enforcement mechanism (e.g., access control lists) shall
  4189.          allow users to specify and control sharing of those objects, and shall
  4190.          provide controls to limit propagation of access rights.  These 
  4191.          access controls shall be capable of specifying, for each named 
  4192.          object, a list of named individuals and a list of groups of named 
  4193.          individuals with their respective modes of access to that object.
  4194.  
  4195.     ADD: Furthermore, for each such named object, it shall be possible to
  4196.          specify a list of named individuals and a list of groups of named 
  4197.          individuals for which no access to the object is to be given.
  4198.  
  4199.      A1: NAR.
  4200.  
  4201. Exportation of Labeled Information
  4202.  
  4203.      C1: NR.
  4204.  
  4205.      C2: NR.
  4206.  
  4207.      B1: NEW: The TCB shall designate each communication channel and I/O
  4208.          device as either single-level or multilevel.  Any change in this 
  4209.          designation shall be done manually and shall be auditable by the 
  4210.          TCB.  The TCB shall maintain and be able to audit any change in the
  4211.          security level or levels associated with a communication channel or
  4212.          I/O device.
  4213.  
  4214.      B2: NAR.
  4215.  
  4216.      B3: NAR.
  4217.  
  4218.      A1: NAR.
  4219.  
  4220. Exportation to Multilevel Devices
  4221.  
  4222.      C1: NR.
  4223.  
  4224.      C2: NR.
  4225.  
  4226.      B1: NEW: When the TCB exports an object to a multilevel I/O device, the
  4227.          sensitivity label associated with that object shall also be exported
  4228.          and shall reside on the same physical medium as the exported 
  4229.          information and shall be in the same form (i.e., machine-readable or
  4230.          human-readable form).  When the TCB exports or imports an object over
  4231.          a multilevel communication channel, the protocol used on that channel
  4232.          shall provide for the unambiguous pairing between the sensitivity
  4233.          labels and the associated information that is sent or received.
  4234.  
  4235.      B2: NAR.
  4236.  
  4237.      B3: NAR.
  4238.  
  4239.      A1: NAR.
  4240.  
  4241. Exportation to Single-Level Devices
  4242.  
  4243.      C1: NR.
  4244.  
  4245.      C2: NR.
  4246.  
  4247.      B1: NEW: Single-level I/O devices and single-level communication channels
  4248.          are not required to maintain the sensitivity labels of the 
  4249.          information they process.  However, the TCB shall include a mechanism
  4250.          by which the TCB and an authorized user reliably communicate to
  4251.          designate the single security level of information imported or 
  4252.          exported via single-level communication channels or I/O devices.
  4253.  
  4254.      B2: NAR.
  4255.  
  4256.      B3: NAR.
  4257.  
  4258.      A1: NAR.
  4259.  
  4260. Identification and Authentication
  4261.  
  4262.      C1: NEW: The TCB shall require users to identify themselves to it before
  4263.          beginning to perform any other actions that the TCB is expected to 
  4264.          mediate.  Furthermore, the TCB shall use a protected mechanism (e.g.,
  4265.          passwords) to authenticate the user's identity.  The TCB shall 
  4266.          protect authentication data so that it cannot be accessed by any 
  4267.          unauthorized user.
  4268.  
  4269.      C2: ADD: The TCB shall be able to enforce individual accountability by
  4270.          providing the capability to uniquely identify each individual ADP 
  4271.          system user.  The TCB shall also provide the capability of 
  4272.          associating this identity with all auditable actions taken by that 
  4273.          individual.
  4274.  
  4275.      B1: CHANGE: Furthermore, the TCB shall maintain authentication data that
  4276.          includes information for verifying the identity of individual users
  4277.          (e.g., passwords) as well as information for determining the 
  4278.          clearance and authorizations of individual users.  This data shall be
  4279.          used by the TCB to authenticate the user's identity and to ensure
  4280.          that the security level and authorizations of subjects external to
  4281.          the TCB that may be created to act on behalf of the individual user
  4282.          are dominated by the clearance and authorization of that user.
  4283.  
  4284.  
  4285.      B2: NAR.
  4286.  
  4287.      B3: NAR.
  4288.  
  4289.      A1: NAR.
  4290.  
  4291. Label Integrity
  4292.  
  4293.      C1: NR.
  4294.  
  4295.      C2: NR.
  4296.  
  4297.      B1: NEW: Sensitivity labels shall accurately represent security levels of
  4298.          the specific subjects or objects with which they are associated.  When
  4299.          exported by the TCB, sensitivity labels shall accurately and 
  4300.          unambiguously represent the internal labels and shall be associated 
  4301.          with the information being exported.
  4302.  
  4303.      B2: NAR.
  4304.  
  4305.      B3: NAR.
  4306.  
  4307.      A1: NAR.
  4308.  
  4309. Labeling Human-Readable Output
  4310.  
  4311.      C1: NR.
  4312.  
  4313.      C2: NR.
  4314.  
  4315.      B1: NEW: The ADP system administrator shall be able to specify the
  4316.          printable label names associated with exported sensitivity labels.
  4317.          The TCB shall mark the beginning and end of all human-readable, 
  4318.          paged, hardcopy output (e.g., line printer output) with human-
  4319.          readable sensitivity labels that properly* represent the sensitivity
  4320.          of the output.  The TCB shall, by default, mark the top and bottom of
  4321.          each page of human-readable, paged, hardcopy output (e.g., line
  4322.          printer output) with human-readable sensitivity labels that
  4323.          properly* represent the overall sensitivity of the output or that 
  4324.          properly* represent the sensitivity of the information on the page.
  4325.          The TCB shall, by default and in an appropriate manner, mark other 
  4326.          forms of human-readable output (e.g., maps, graphics) with human-
  4327.          readable sensitivity labels that properly* represent the sensitivity
  4328.          of the output.  Any override of these marking defaults shall be
  4329.          auditable by the TCB.
  4330.  
  4331.      B2: NAR.
  4332.  
  4333.      B3: NAR.
  4334.  
  4335.      A1: NAR.
  4336.  
  4337. ______________________________
  4338. * The hierarchical classification component in human-readable sensitivity
  4339. labels shall be equal to the greatest hierarchical classification of any of the
  4340. information in the output that the labels refer to;  the non-hierarchical
  4341. category component shall include all of the non-hierarchical categories of the
  4342. information in the output the labels refer to, but no other non-hierarchical
  4343. categories.
  4344.  
  4345. Labels
  4346.  
  4347.      C1: NR.
  4348.  
  4349.      C2: NR.
  4350.  
  4351.      B1: NEW: Sensitivity labels associated with each subject and storage
  4352.          object under its control (e.g., process, file, segment, device) shall
  4353.          be maintained by the TCB.  These labels shall be used as the basis 
  4354.          for mandatory access control decisions.  In order to import non-
  4355.          labeled data, the TCB shall request and receive from an authorized 
  4356.          user the security level of the data, and all such actions shall be
  4357.          auditable by the TCB.
  4358.  
  4359.      B2: CHANGE: Sensitivity labels associated with each ADP system resource
  4360.          (e.g., subject, storage object, ROM) that is directly or indirectly 
  4361.          accessible by subjects external to the TCB shall be maintained by 
  4362.          the TCB.
  4363.  
  4364.      B3: NAR.
  4365.  
  4366.      A1: NAR.
  4367.  
  4368. Mandatory Access Control
  4369.  
  4370.      C1: NR.
  4371.  
  4372.      C2: NR.
  4373.  
  4374.      B1: NEW: The TCB shall enforce a mandatory access control policy over all
  4375.          subjects and storage objects under its control (e.g., processes, 
  4376.          files, segments, devices).  These subjects and objects shall be 
  4377.          assigned sensitivity labels that are a combination of hierarchical 
  4378.          classification levels and non-hierarchical categories, and the labels
  4379.          shall be used as the basis for mandatory access control decisions.
  4380.          The TCB shall be able to support two or more such security levels.
  4381.          (See the Mandatory Access Control guidelines.)  The following
  4382.          requirements shall hold for all accesses between subjects and objects
  4383.          controlled by the TCB: A subject can read an object only if the
  4384.          hierarchical classification in the subject's security level is 
  4385.          greater than or equal to the hierarchical classification in the 
  4386.          object's security level and the non-hierarchical categories in the
  4387.          subject's security level include all the non-hierarchical categories
  4388.          in the object's security level.  A subject can write an object only
  4389.          if the hierarchical classification in the subject's security level is
  4390.          less than or equal to the hierarchical classification in the object's
  4391.          security level and all the non-hierarchical categories in the 
  4392.          subject's security level are included in the non-hierarchical 
  4393.          categories in the object's security level.  Identification and
  4394.          authentication data shall be used by the TCB to authenticate the 
  4395.          user's identity and to ensure that the security level and authori-
  4396.          zation of subjects external to the TCB that may be created to act
  4397.          on behalf of the individual user are dominated by the clearance and
  4398.          authorization of that user.
  4399.  
  4400.      B2: CHANGE: The TCB shall enforce a mandatory access control policy over
  4401.          all resources (i.e., subjects, storage objects, and I/O devices) that
  4402.          are directly or indirectly accessible by subjects external to the TCB.
  4403.          The following requirements shall hold for all accesses between all
  4404.          subjects external to the TCB and all objects directly or indirectly 
  4405.          accessible by these subjects:
  4406.  
  4407.      B3: NAR.
  4408.  
  4409.      A1: NAR.
  4410.  
  4411. Object Reuse
  4412.  
  4413.      C1: NR.
  4414.  
  4415.      C2: NEW: All authorizations to the information contained within a 
  4416.          storage object shall be revoked prior to initial assignment,
  4417.          allocation or reallocation to a subject from the TCB's pool of
  4418.          unused storage objects.  No information, including encrypted
  4419.          representations of information, produced by a prior subject's
  4420.          actions is to be available to any subject that obtains access to
  4421.          an object that has been released back to the system.
  4422.  
  4423.      B1: NAR.
  4424.  
  4425.      B2: NAR.
  4426.  
  4427.      B3: NAR.
  4428.  
  4429.      A1: NAR.
  4430.  
  4431. Security Features User's Guide
  4432.  
  4433.      C1: NEW: A single summary, chapter, or manual in user documentation shall
  4434.          describe the protection mechanisms provided by the TCB, guidelines on
  4435.          their use, and how they interact with one another.
  4436.  
  4437.      C2: NAR.
  4438.  
  4439.      B1: NAR.
  4440.  
  4441.      B2: NAR.
  4442.  
  4443.      B3: NAR.
  4444.  
  4445.      A1: NAR.
  4446.  
  4447. Security Testing
  4448.  
  4449.      C1: NEW: The security mechanisms of the ADP system shall be tested and
  4450.          found to work as claimed in the system documentation.  Testing shall 
  4451.          be done to assure that there are no obvious ways for an unauthorized
  4452.          user to bypass or otherwise defeat the security protection mechanisms
  4453.          of the TCB.  (See the Security Testing guidelines.)
  4454.  
  4455.      C2: ADD: Testing shall also include a search for obvious flaws that would
  4456.          allow violation of resource isolation, or that would permit 
  4457.          unauthorized access to the audit or authentication data.
  4458.  
  4459.      B1: NEW: The security mechanisms of the ADP system shall be tested and
  4460.          found to work as claimed in the system documentation.  A team of 
  4461.          individuals who thoroughly understand the specific implementation of
  4462.          the TCB shall subject its design documentation, source code, and 
  4463.          object code to thorough analysis and testing.  Their objectives shall
  4464.          be: to uncover all design and implementation flaws that would permit
  4465.          a subject external to the TCB to read, change, or delete data
  4466.          normally denied under the mandatory or discretionary security policy 
  4467.          enforced by the TCB; as well as to assure that no subject (without
  4468.          authorization to do so) is able to cause the TCB to enter a state
  4469.          such that it is unable to respond to communications initiated by 
  4470.          other users.  All discovered flaws shall be removed or neutralized 
  4471.          and the TCB retested to demonstrate that they have been eliminated 
  4472.          and that new flaws have not been introduced.  (See the Security 
  4473.          Testing Guidelines.)
  4474.  
  4475.      B2: CHANGE: All discovered flaws shall be corrected and the TCB retested
  4476.          to demonstrate that they have been eliminated and that new flaws have
  4477.          not been introduced.
  4478.  
  4479.          ADD: The TCB shall be found relatively resistant to penetration.
  4480.          Testing shall demonstrate that the TCB implementation is consistent 
  4481.          with the descriptive top-level specification.
  4482.  
  4483.      B3: CHANGE: The TCB shall be found resistant to penetration.
  4484.  
  4485.          ADD: No design flaws and no more than a few correctable
  4486.          implementation flaws may be found during testing and there shall be 
  4487.          reasonable confidence that few remain.
  4488.  
  4489.      A1: CHANGE: Testing shall demonstrate that the TCB implementation is
  4490.          consistent with the formal top-level specification.
  4491.  
  4492.          ADD: Manual or other mapping of the FTLS to the source code may form
  4493.          a basis for penetration testing.
  4494.  
  4495. Subject Sensitivity Labels
  4496.  
  4497.      C1: NR.
  4498.  
  4499.      C2: NR.
  4500.  
  4501.      B1: NR.
  4502.  
  4503.      B2: NEW: The TCB shall immediately notify a terminal user of each change
  4504.          in the security level associated with that user during an interactive
  4505.          session.  A terminal user shall be able to query the TCB as desired 
  4506.          for a display of the subject's complete sensitivity label.
  4507.  
  4508.      B3: NAR.
  4509.  
  4510.      A1: NAR.
  4511.  
  4512. System Architecture
  4513.  
  4514.      C1: NEW: The TCB shall maintain a domain for its own execution that
  4515.          protects it from external interference or tampering (e.g., by 
  4516.          modification of its code or data structures).  Resources controlled 
  4517.          by the TCB may be a defined subset of the subjects and objects in 
  4518.          the ADP system.
  4519.  
  4520.      C2: ADD: The TCB shall isolate the resources to be protected so that they
  4521.          are subject to the access control and auditing requirements.
  4522.  
  4523.      B1: ADD: The TCB shall maintain process isolation through the provision
  4524.          of distinct address spaces under its control.
  4525.  
  4526.      B2: NEW: The TCB shall maintain a domain for its own execution that
  4527.          protects it from external interference or tampering (e.g., by 
  4528.          modification of its code or data structures).  The TCB shall maintain
  4529.          process isolation through the provision of distinct address spaces 
  4530.          under its control.  The TCB shall be internally structured into well-
  4531.          defined largely independent modules.  It shall make effective use of
  4532.          available hardware to separate those elements that are protection-
  4533.          critical from those that are not.  The TCB modules shall be designed
  4534.          such that the principle of least privilege is enforced.  Features in
  4535.          hardware, such as segmentation, shall be used to support logically 
  4536.          distinct storage objects with separate attributes (namely: readable, 
  4537.          writeable).  The user interface to the TCB shall be completely 
  4538.          defined and all elements of the TCB identified.
  4539.  
  4540.      B3: ADD: The TCB shall be designed and structured to use a complete,
  4541.          conceptually simple protection mechanism with precisely defined 
  4542.          semantics.  This mechanism shall play a central role in enforcing the
  4543.          internal structuring of the TCB and the system.  The TCB shall
  4544.          incorporate significant use of layering, abstraction and data hiding.
  4545.          Significant system engineering shall be directed toward minimizing
  4546.          the complexity of the TCB and excluding from the TCB modules that are
  4547.          not protection-critical.
  4548.  
  4549.      A1: NAR.
  4550.  
  4551. System Integrity
  4552.  
  4553.      C1: NEW: Hardware and/or software features shall be provided that can be
  4554.          used to periodically validate the correct operation of the on-site 
  4555.          hardware and firmware elements of the TCB.
  4556.  
  4557.      C2: NAR.
  4558.  
  4559.      B1: NAR.
  4560.  
  4561.      B2: NAR.
  4562.  
  4563.      B3: NAR.
  4564.  
  4565.      A1: NAR.
  4566.  
  4567. Test Documentation
  4568.  
  4569.      C1: NEW: The system developer shall provide to the evaluators a document
  4570.          that describes the test plan, test procedures that show how the
  4571.          security mechanisms were tested and results of the security
  4572.          mechanisms' functional testing.
  4573.  
  4574.      C2: NAR.
  4575.  
  4576.      B1: NAR.
  4577.  
  4578.      B2: ADD: It shall include results of testing the effectiveness of the
  4579.          methods used to reduce covert channel bandwidths.
  4580.  
  4581.      B3: NAR.
  4582.  
  4583.      A1: ADD: The results of the mapping between the formal top-level
  4584.          specification and the TCB source code shall be given.
  4585.  
  4586. Trusted Distribution
  4587.  
  4588.      C1: NR.
  4589.  
  4590.      C2: NR.
  4591.  
  4592.      B1: NR.
  4593.  
  4594.      B2: NR.
  4595.  
  4596.      B3: NR.
  4597.  
  4598.      A1: NEW: A trusted ADP system control and distribution facility shall be
  4599.          provided for maintaining the integrity of the mapping between the 
  4600.          master data describing the current version of the TCB and the on-site
  4601.          master copy of the code for the current version.  Procedures (e.g.,
  4602.          site security acceptance testing) shall exist for assuring that the
  4603.          TCB software, firmware, and hardware updates distributed to a
  4604.          customer are exactly as specified by the master copies.
  4605.  
  4606. Trusted Facility Management
  4607.  
  4608.      C1: NR.
  4609.  
  4610.      C2: NR.
  4611.  
  4612.      B1: NR.
  4613.  
  4614.      B2: NEW: The TCB shall support separate operator and administrator
  4615.          functions.
  4616.  
  4617.      B3: ADD: The functions performed in the role of a security administrator
  4618.          shall be identified.  The ADP system administrative personnel shall 
  4619.          only be able to perform security administrator functions after taking
  4620.          a distinct auditable action to assume the security administrator role
  4621.          on the ADP system.  Non-security functions that can be performed in
  4622.          the security administration role shall be limited strictly to those
  4623.          essential to performing the security role effectively.
  4624.  
  4625.      A1: NAR.
  4626.  
  4627. Trusted Facility Manual
  4628.  
  4629.      C1: NEW: A manual addressed to the ADP system administrator shall present
  4630.          cautions about functions and privileges that should be controlled 
  4631.          when running a secure facility.
  4632.  
  4633.      C2: ADD: The procedures for examining and maintaining the audit files as
  4634.          well as the detailed audit record structure for each type of audit 
  4635.          event shall be given.
  4636.  
  4637.      B1: ADD: The manual shall describe the operator and administrator
  4638.          functions related to security, to include changing the 
  4639.          characteristics of a user.  It shall provide guidelines on the 
  4640.          consistent and effective use of the protection features of the
  4641.          system, how they interact, how to securely generate a new TCB, and
  4642.          facility procedures, warnings, and privileges that need to be
  4643.          controlled in order to operate the facility in a secure manner.
  4644.  
  4645.      B2: ADD: The TCB modules that contain the reference validation mechanism
  4646.          shall be identified.  The procedures for secure generation of a new 
  4647.          TCB from source after modification of any modules in the TCB shall 
  4648.          be described.
  4649.  
  4650.      B3: ADD: It shall include the procedures to ensure that the system is
  4651.          initially started in a secure manner.  Procedures shall also be 
  4652.          included to resume secure system operation after any lapse in system
  4653.          operation.
  4654.  
  4655.      A1: NAR.
  4656.  
  4657. Trusted Path
  4658.  
  4659.      C1: NR.
  4660.  
  4661.      C2: NR.
  4662.  
  4663.      B1: NR.
  4664.  
  4665.      B2: NEW: The TCB shall support a trusted communication path between
  4666.          itself and user for initial login and authentication.  Communications
  4667.          via this path shall be initiated exclusively by a user.
  4668.  
  4669.      B3: CHANGE: The TCB shall support a trusted communication path between
  4670.          itself and users for use when a positive TCB-to-user connection is 
  4671.          required (e.g., login, change subject security level).  
  4672.          Communications via this trusted path shall be activated exclusively
  4673.          by a user or the TCB and shall be logically isolated and unmistakably
  4674.          distinguishable from other paths.
  4675.  
  4676.      A1: NAR.
  4677.  
  4678. Trusted Recovery
  4679.  
  4680.      C1: NR.
  4681.  
  4682.      C2: NR.
  4683.  
  4684.      B1: NR.
  4685.  
  4686.      B2: NR.
  4687.  
  4688.      B3: NEW: Procedures and/or mechanisms shall be provided to assure that,
  4689.          after an ADP system failure or other discontinuity, recovery without a
  4690.          protection compromise is obtained.
  4691.  
  4692.      A1: NAR.
  4693.  
  4694.  
  4695.  
  4696.  
  4697.  
  4698.     (this page is reserved for Figure 1)
  4699.  
  4700.  
  4701.  
  4702.                                    GLOSSARY
  4703.  
  4704.  
  4705. Access - A specific type of interaction between a subject and an object 
  4706.      that results in the flow of information from one to the other.
  4707.  
  4708. Approval/Accreditation - The official authorization that is
  4709.      granted to an ADP system to process sensitive information in
  4710.      its operational environment, based upon comprehensive
  4711.      security evaluation of the system's hardware, firmware, and
  4712.      software security design, configuration, and implementation
  4713.      and of the other system procedural, administrative,
  4714.      physical, TEMPEST, personnel, and communications security
  4715.      controls.
  4716.  
  4717. Audit Trail - A set of records that collectively provide
  4718.      documentary evidence of processing used to aid in tracing
  4719.      from original transactions forward to related records and
  4720.      reports, and/or backwards from records and reports to their
  4721.      component source transactions.
  4722.  
  4723. Authenticate - To establish the validity of a claimed identity.
  4724.  
  4725. Automatic Data Processing (ADP) System - An assembly of computer
  4726.      hardware, firmware, and software configured for the purpose
  4727.      of classifying, sorting, calculating, computing,
  4728.      summarizing, transmitting and receiving, storing, and
  4729.      retrieving data with a minimum of human intervention.
  4730.  
  4731. Bandwidth - A characteristic of a communication channel that is
  4732.      the amount of information that can be passed through it in a
  4733.      given amount of time, usually expressed in bits per second.
  4734.  
  4735. Bell-LaPadula Model - A formal state transition model of computer
  4736.      security policy that describes a set of access control
  4737.      rules.  In this formal model, the entities in a computer
  4738.      system are divided into abstract sets of subjects and
  4739.      objects.  The notion of a secure state is defined and it is
  4740.      proven that each state transition preserves security by
  4741.      moving from secure state to secure state; thus, inductively
  4742.      proving that the system is secure.  A system state is
  4743.      defined to be "secure" if the only permitted access modes of
  4744.      subjects to objects are in accordance with a specific
  4745.      security policy.  In order to determine whether or not a
  4746.      specific access mode is allowed, the clearance of a subject
  4747.      is compared to the classification of the object and a
  4748.      determination is made as to whether the subject is
  4749.      authorized for the specific access mode.  The
  4750.      clearance/classification scheme is expressed in terms of a
  4751.      lattice.  See also: Lattice, Simple Security Property, *-
  4752.      Property.
  4753.  
  4754. Certification - The technical evaluation of a system's security
  4755.      features, made as part of and in support of the
  4756.      approval/accreditation process, that establishes the extent
  4757.      to which a particular computer system's design and
  4758.      implementation meet a set of specified security
  4759.      requirements.
  4760.  
  4761. Channel - An information transfer path within a system.  May also
  4762.      refer to the mechanism by which the path is effected.
  4763.  
  4764. Covert Channel - A communication channel that allows a process to
  4765.      transfer information in a manner that violates the system's
  4766.      security policy.  See also:  Covert Storage Channel, Covert
  4767.      Timing Channel.
  4768.  
  4769. Covert Storage Channel - A covert channel that involves the
  4770.      direct or indirect writing of a storage location by one
  4771.      process and the direct or indirect reading of the storage
  4772.      location by another process.  Covert storage channels
  4773.      typically involve a finite resource (e.g., sectors on a
  4774.      disk) that is shared by two subjects at different security
  4775.      levels.
  4776.  
  4777. Covert Timing Channel - A covert channel in which one process
  4778.      signals information to another by modulating its own use of
  4779.      system resources (e.g., CPU time) in such a way that this
  4780.      manipulation affects the real response time observed by the
  4781.      second process.
  4782.  
  4783. Data - Information with a specific physical representation.
  4784.  
  4785. Data Integrity - The state that exists when computerized data is
  4786.      the same as that in the source documents and has not been
  4787.      exposed to accidental or malicious alteration or
  4788.      destruction.
  4789.  
  4790. Descriptive Top-Level Specification (DTLS) - A top-level
  4791.      specification that is written in a natural language (e.g.,
  4792.      English), an informal program design notation, or a
  4793.      combination of the two.
  4794.  
  4795. Discretionary Access Control - A means of restricting access to
  4796.      objects based on the identity of subjects and/or groups to
  4797.      which they belong.  The controls are discretionary in the
  4798.      sense that a subject with a certain access permission is
  4799.      capable of passing that permission (perhaps indirectly) on
  4800.      to any other subject (unless restrained by mandatory access
  4801.      control).
  4802.  
  4803. Domain - The set of objects that a subject has the ability to
  4804.      access.
  4805.  
  4806. Dominate - Security level S1 is said to dominate security level
  4807.      S2 if the hierarchical classification of S1 is greater than
  4808.      or equal to that of S2 and the non-hierarchical categories
  4809.      of S1 include all those of S2 as a subset.
  4810.  
  4811. Exploitable Channel - Any channel that is useable or detectable
  4812.      by subjects external to the Trusted Computing Base.
  4813.  
  4814. Flaw Hypothesis Methodology - A system analysis and penetration
  4815.      technique where specifications and documentation for the
  4816.      system are analyzed and then flaws in the system are
  4817.      hypothesized.  The list of hypothesized flaws is then
  4818.      prioritized on the basis of the estimated probability that a
  4819.      flaw actually exists and, assuming a flaw does exist, on the
  4820.      ease of exploiting it and on the extent of control or
  4821.      compromise it would provide.  The prioritized list is used
  4822.      to direct the actual testing of the system.
  4823.  
  4824. Flaw - An error of commission, omission, or oversight in a system
  4825.      that allows protection mechanisms to be bypassed.
  4826.  
  4827. Formal Proof - A complete and convincing mathematical argument,
  4828.      presenting the full logical justification for each proof
  4829.      step, for the truth of a theorem or set of theorems.  The
  4830.      formal verification process uses formal proofs to show the
  4831.      truth of certain properties of formal specification and for
  4832.      showing that computer programs satisfy their specifications.
  4833.  
  4834. Formal Security Policy Model - A mathematically precise statement
  4835.      of a security policy.  To be adequately precise, such a
  4836.      model must represent the initial state of a system, the way
  4837.      in which the system progresses from one state to another,
  4838.      and a definition of a "secure" state of the system.  To be
  4839.      acceptable as a basis for a TCB, the model must be supported
  4840.      by a formal proof that if the initial state of the system
  4841.      satisfies the definition of a "secure" state and if all
  4842.      assumptions required by the model hold, then all future
  4843.      states of the system will be secure.  Some formal modeling
  4844.      techniques include:  state transition models, temporal logic
  4845.      models, denotational semantics models, algebraic
  4846.      specification models.  An example is the model described by
  4847.      Bell and LaPadula in reference [2].  See also:  Bell-
  4848.      LaPadula Model, Security Policy Model.
  4849.  
  4850. Formal Top-Level Specification (FTLS) - A Top-Level Specification
  4851.      that is written in a formal mathematical language to allow
  4852.      theorems showing the correspondence of the system
  4853.      specification to its formal requirements to be hypothesized
  4854.      and formally proven.
  4855.  
  4856. Formal Verification - The process of using formal proofs to
  4857.      demonstrate the consistency (design verification) between a
  4858.      formal specification of a system and a formal security
  4859.      policy model or (implementation verification) between the
  4860.      formal specification and its program implementation.
  4861.  
  4862. Front-End Security Filter - A process that is invoked to process
  4863.      data accordint to a specified security policy prior to
  4864.      releasing the data outside the processing environment or
  4865.      upon receiving data from an external source.
  4866.  
  4867. Functional Testing - The portion of security testing in which the
  4868.      advertised features of a system are tested for correct
  4869.      operation.
  4870.  
  4871. General-Purpose System - A computer system that is designed to
  4872.      aid in solving a wide variety of problems.
  4873.  
  4874. Granularity - The relative fineness or coarseness by which a
  4875.      mechanism can be adjusted.  The phrase "the granularity of
  4876.      a single user" means the access control mechanism can be
  4877.      adjusted to include or exclude any single user.
  4878.  
  4879. Lattice - A partially ordered set for which every pair of
  4880.      elements has a greatest lower bound and a least upper bound.
  4881.  
  4882. Least Privilege - This principle requires that each subject in a
  4883.      system be granted the most restrictive set of privileges (or
  4884.      lowest clearance) needed for the performance of authorized
  4885.      tasks.  The application of this principle limits the damage
  4886.      that can result from accident, error, or unauthorized use.
  4887.  
  4888. Mandatory Access Control - A means of restricting access to
  4889.      objects based on the sensitivity (as represented by a label)
  4890.      of the information contained in the objects and the formal
  4891.      authorization (i.e., clearance) of subjects to access
  4892.      information of such sensitivity.
  4893.  
  4894. Multilevel Device - A device that is used in a manner that
  4895.      permits it to simultaneously process data of two or more
  4896.      security levels without risk of compromise.  To accomplish
  4897.      this, sensitivity labels are normally stored on the same
  4898.      physical medium and in the same form (i.e., machine-readable
  4899.      or human-readable) as the data being processed.
  4900.  
  4901. Multilevel Secure - A class of system containing information with
  4902.      different sensitivities that simultaneously permits access
  4903.      by users with different security clearances and needs-to-
  4904.      know, but prevents users from obtaining access to
  4905.      information for which they lack authorization.
  4906.  
  4907. Object - A passive entity that contains or receives information.
  4908.      Access to an object potentially implies access to the
  4909.      information it contains.  Examples of objects are:  records,
  4910.      blocks, pages, segments, files, directories, directory
  4911.      trees, and programs, as well as bits, bytes, words, fields,
  4912.      processors, video displays, keyboards, clocks, printers,
  4913.      network nodes, etc.
  4914.  
  4915. Object Reuse - The reassignment to some subject of a medium
  4916.      (e.g., page frame, disk sector, magnetic tape) that
  4917.      contained one or more objects.  To be securely reassigned,
  4918.      such media must contain no residual data from the previously
  4919.      contained object(s).
  4920.  
  4921. Output - Information that has been exported by a TCB.
  4922.  
  4923. Password - A private character string that is used to
  4924.      authenticate an identity.
  4925.  
  4926. Penetration Testing - The portion of security testing in which
  4927.      the penetrators attempt to circumvent the security features
  4928.      of a system.  The penetrators may be assumed to use all
  4929.      system design and implementation documentation, which may
  4930.      include listings of system source code, manuals, and circuit
  4931.      diagrams.  The penetrators work under no constraints other
  4932.      than those that would be applied to ordinary users.
  4933.  
  4934. Process - A program in execution.  It is completely characterized
  4935.      by a single current execution point (represented by the
  4936.      machine state) and address space.
  4937.  
  4938. Protection-Critical Portions of the TCB - Those portions of the
  4939.      TCB whose normal function is to deal with the control of
  4940.      access between subjects and objects.
  4941.  
  4942. Protection Philosophy - An informal description of the overall
  4943.      design of a system that delineates each of the protection
  4944.      mechanisms employed.  A combination (appropriate to the
  4945.      evaluation class) of formal and informal techniques is used
  4946.      to show that the mechanisms are adequate to enforce the
  4947.      security policy.
  4948.  
  4949. Read - A fundamental operation that results only in the flow of
  4950.      information from an object to a subject.
  4951.  
  4952. Read Access - Permission to read information.
  4953.  
  4954. Read-Only Memory (ROM) - A storage area in which the contents can
  4955.      be read but not altered during normal computer processing.
  4956.  
  4957. Reference Monitor Concept - An access control concept that refers
  4958.      to an abstract machine that mediates all accesses to objects
  4959.      by subjects.
  4960.  
  4961. Resource - Anything used or consumed while performing a function.
  4962.      The categories of resources are: time, information, objects
  4963.      (information containers), or processors (the ability to use
  4964.      information).  Specific examples are: CPU time; terminal
  4965.      connect time; amount of directly-addressable memory; disk
  4966.      space; number of I/O requests per minute, etc.
  4967.  
  4968. Security Kernel - The hardware, firmware, and software elements
  4969.      of a Trusted Computing Base that implement the reference
  4970.      monitor concept.  It must mediate all accesses, be protected
  4971.      from modification, and be verifiable as correct.
  4972.  
  4973. Security Level - The combination of a hierarchical classification
  4974.      and a set of non-hierarchical categories that represents the
  4975.      sensitivity of information.
  4976.  
  4977. Security Policy - The set of laws, rules, and practices that
  4978.      regulate how an organization manages, protects, and
  4979.      distributes sensitive information.
  4980.  
  4981. Security Policy Model - An informal presentation of a formal
  4982.      security policy model.
  4983.  
  4984. Security Relevant Event - Any event that attempts to change the
  4985.      security state of the system, (e.g., change discretionary
  4986.      access controls, change the security level of the subject,
  4987.      change user password, etc.).  Also, any event that attempts
  4988.      to violate the security policy of the system, (e.g., too
  4989.      many attempts to login, attempts to violate the mandatory
  4990.      access control limits of a defice, attempts to downgrade a 
  4991.      file, etc.).
  4992.  
  4993. Security Testing - A process used to determine that the security
  4994.      features of a system are implemented as designed and that
  4995.      they are adequate for a proposed application environment.
  4996.      This process includes hands-on functional testing,
  4997.      penetration testing, and verification.  See also: Functional
  4998.      Testing, Penetration Testing, Verification.
  4999.  
  5000. Sensitive Information - Information that, as determined by a
  5001.      competent authority, must be protected because its
  5002.      unauthorized disclosure, alteration, loss, or destruction
  5003.      will at least cause perceivable damage to someone or
  5004.      something.
  5005.  
  5006. Sensitivity Label - A piece of information that represents the
  5007.      security level of an object and that describes the
  5008.      sensitivity (e.g., classification) of the data in the
  5009.      object.   Sensitivity labels are used by the TCB as the basis
  5010.      for mandatory access control decisions.
  5011.  
  5012. Simple Security Condition - A Bell-LaPadula security model rule
  5013.      allowing a subject read access to an object only if the
  5014.      security level of the subject dominates the security level
  5015.      of the object.
  5016.  
  5017. Single-Level Device - A device that is used to process data of a
  5018.      single security level at any one time.  Since the device
  5019.      need not be trusted to separate data of different security
  5020.      levels, sensitivity labels do not have to be stored with the
  5021.      data being processed.
  5022.  
  5023. *-Property (Star Property) - A Bell-LaPadula security model rule
  5024.      allowing a subject write access to an object only if the
  5025.      security level of the subject is dominated by the security
  5026.      level of the object.  Also known as the Confinement
  5027.      Property.
  5028.  
  5029. Storage Object - An object that supports both read and write
  5030.      accesses.
  5031.  
  5032. Subject - An active entity, generally in the form of a person,
  5033.      process, or device that causes information to flow among
  5034.      objects or changes the system state.  Technically, a
  5035.      process/domain pair.
  5036.  
  5037. Subject Security Level - A subject's security level is equal to
  5038.      the security level of the objects to which it has both read
  5039.      and write access.  A subject's security level must always be
  5040.      dominated by the clearance of the user the subject is
  5041.      associated with.
  5042.  
  5043. TEMPEST - The study and control of spurious electronic signals
  5044.      emitted from ADP equipment.
  5045.  
  5046. Top-Level Specification (TLS) - A non-procedural description of
  5047.      system behavior at the most abstract level.  Typically a
  5048.      functional specification that omits all implementation
  5049.      details.
  5050.  
  5051. Trap Door - A hidden software or hardware mechanism that permits
  5052.      system protection mechanisms to be circumvented.  It is
  5053.      activated in some non-apparent manner (e.g., special
  5054.      "random" key sequence at a terminal).
  5055.  
  5056. Trojan Horse - A computer program with an apparently or actually
  5057.      useful function that contains additional (hidden) functions
  5058.      that surreptitiously exploit the legitimate authorizations
  5059.      of the invoking process to the detriment of security.  For
  5060.      example, making a "blind copy" of a sensitive file for the
  5061.      creator of the Trojan Horse.
  5062.  
  5063. Trusted Computer System - A system that employs sufficient
  5064.      hardware and software integrity measures to allow its use
  5065.      for processing simultaneously a range of sensitive or
  5066.      classified information.
  5067.  
  5068. Trusted Computing Base (TCB) - The totality of protection
  5069.      mechanisms within a computer system -- including hardware,
  5070.      firmware, and software -- the combination of which is
  5071.      responsible for enforcing a security policy.  A TCB consists
  5072.      of one or more components that together enforce a unified
  5073.      security policy over a product or system.  The ability of
  5074.      a trusted computing base to correctly enforce a
  5075.      security policy depends solely on the mechanisms within the
  5076.      TCB and on the correct input by system administrative
  5077.      personnel of parameters (e.g., a user's clearance) related
  5078.      to the security policy.
  5079.  
  5080. Trusted Path - A mechanism by which a person at a terminal can
  5081.      communicate directly with the Trusted Computing Base.  This
  5082.      mechanism can only be activated by the person or the Trusted
  5083.      Computing Base and cannot be imitated by untrusted software.
  5084.  
  5085. Trusted Software - The software portion of a Trusted Computing
  5086.      Base.
  5087.  
  5088. User - Any person who interacts directly with a computer system.
  5089.  
  5090. Verification - The process of comparing two levels of system
  5091.      specification for proper correspondence (e.g., security
  5092.      policy model with top-level specification, TLS with source
  5093.      code, or source code with object code).  This process may or
  5094.      may not be automated.
  5095.  
  5096. Write - A fundamental operation that results only in the flow of
  5097.      information from a subject to an object.
  5098.  
  5099. Write Access - Permission to write an object.
  5100.  
  5101.  
  5102.                                   REFERENCES
  5103.  
  5104.  
  5105. 1.  Anderson, J. P.  Computer Security Technology Planning
  5106.          Study, ESD-TR-73-51, vol. I, ESD/AFSC, Hanscom AFB,
  5107.          Bedford, Mass., October 1972 (NTIS AD-758 206).
  5108.  
  5109. 2.  Bell, D. E. and LaPadula, L. J.  Secure Computer Systems:
  5110.          Unified Exposition and Multics Interpretation, MTR-2997
  5111.          Rev. 1, MITRE Corp., Bedford, Mass., March 1976.
  5112.  
  5113. 3.  Brand, S. L.  "An Approach to Identification and Audit of
  5114.          Vulnerabilities and Control in Application Systems," in
  5115.          Audit and Evaluation of Computer Security II: System
  5116.          Vulnerabilities and Controls, Z. Ruthberg, ed., NBS
  5117.          Special Publication #500-57, MD78733, April 1980.
  5118.  
  5119. 4.  Brand, S. L.  "Data Processing and A-123," in Proceedings of
  5120.          the Computer Performance Evaluation User's Group 18th
  5121.          Meeting, C. B. Wilson, ed., NBS Special Publication
  5122.          #500-95, October 1982.
  5123.  
  5124. 5.  DCID l/l6, Security of Foreign Intelligence in Automated Data
  5125.          Processing Systems and Networks (U), 4 January l983.
  5126.  
  5127. 6.  DIAM 50-4, Security of Compartmented Computer Operations (U), 
  5128.          24 June l980.
  5129.  
  5130. 7.  Denning, D. E.  "A Lattice Model of Secure Information
  5131.          Flow," in Communications of the ACM, vol. 19, no. 5
  5132.          (May 1976), pp. 236-243.
  5133.  
  5134. 8.  Denning, D. E.  Secure Information Flow in Computer Systems,
  5135.          Ph.D. dissertation, Purdue Univ., West Lafayette, Ind.,
  5136.          May 1975.
  5137.  
  5138. 9.  DoD Directive 5000.29, Management of Computer Resources in Major
  5139.          Defense Systems, 26 April l976.
  5140.  
  5141. 10.  DoD 5200.1-R, Information Security Program Regulation,
  5142.          August 1982.
  5143.  
  5144. 11.  DoD Directive 5200.28, Security Requirements for Automatic
  5145.          Data Processing (ADP) Systems, revised April 1978.
  5146.  
  5147. 12.  DoD 5200.28-M, ADP Security Manual -- Techniques and
  5148.          Procedures for Implementing, Deactivating, Testing, and
  5149.          Evaluating Secure Resource-Sharing ADP Systems, revised
  5150.          June 1979.
  5151.  
  5152. 13. DoD Directive 5215.1, Computer Security Evaluation Center,
  5153.          25 October 1982.
  5154.  
  5155. 14. DoD 5220.22-M, Industrial Security Manual for Safeguarding
  5156.          Classified Information, March 1984.
  5157.  
  5158. 15. DoD 5220.22-R, Industrial Security Regulation, February 1984.
  5159.  
  5160. 16. DoD Directive 5400.11, Department of Defense Privacy
  5161.          Program, 9 June 1982.
  5162.  
  5163. 17. DoD Directive 7920.1, Life Cycle Management of Automated
  5164.          Information Systems (AIS), 17 October 1978
  5165.  
  5166. 18. Executive Order 12356, National Security Information,
  5167.          6 April 1982.
  5168.  
  5169. 19. Faurer, L. D.  "Keeping the Secrets Secret," in Government
  5170.          Data Systems, November - December 1981, pp. 14-17.
  5171.  
  5172. 20. Federal Information Processing Standards Publication (FIPS
  5173.          PUB) 39, Glossary for Computer Systems Security,
  5174.          15 February 1976.
  5175.  
  5176. 21. Federal Information Processing Standards Publication (FIPS
  5177.          PUB) 73, Guidelines for Security of Computer
  5178.          Applications, 30 June 1980.
  5179.  
  5180. 22. Federal Information Processing Standards Publication (FIPS
  5181.          PUB) 102, Guideline for Computer Security Certification
  5182.          and Accreditation.
  5183.  
  5184. 23. Lampson, B. W.  "A Note on the Confinement Problem," in
  5185.          Communications of the ACM, vol. 16, no. 10 (October
  5186.          1973), pp. 613-615.
  5187.  
  5188. 24. Lee, T. M. P., et al.  "Processors, Operating Systems and
  5189.          Nearby Peripherals: A Consensus Report," in Audit and
  5190.          Evaluation of Computer Security II: System
  5191.          Vulnerabilities and Controls, Z. Ruthberg, ed., NBS
  5192.          Special Publication #500-57, MD78733, April 1980.
  5193.  
  5194. 25. Lipner, S. B.  A Comment on the Confinement Problem, MITRE
  5195.          Corp., Bedford, Mass.
  5196.  
  5197. 26. Millen, J. K.  "An Example of a Formal Flow Violation," in
  5198.          Proceedings of the IEEE Computer Society 2nd
  5199.          International Computer Software and Applications
  5200.          Conference, November 1978, pp. 204-208.
  5201.  
  5202. 27. Millen, J. K.  "Security Kernel Validation in Practice," in
  5203.          Communications of the ACM, vol. 19, no. 5 (May 1976),
  5204.          pp. 243-250.
  5205.  
  5206. 28. Nibaldi, G. H.  Proposed Technical Evaluation Criteria for
  5207.          Trusted Computer Systems, MITRE Corp., Bedford, Mass.,
  5208.          M79-225, AD-A108-832, 25 October 1979.
  5209.  
  5210. 29. Nibaldi, G. H.  Specification of A Trusted Computing Base,
  5211.          (TCB), MITRE Corp., Bedford, Mass., M79-228, AD-A108-
  5212.          831, 30 November 1979.
  5213.  
  5214. 30. OMB Circular A-71, Transmittal Memorandum No. 1, Security of
  5215.          Federal Automated Information Systems, 27 July 1978.
  5216.  
  5217. 31. OMB Circular A-123, Internal Control Systems, 5 November
  5218.          1981.
  5219.  
  5220. 32. Ruthberg, Z. and McKenzie, R., eds.  Audit and Evaluation of
  5221.          Computer Security, in NBS Special Publication #500-19,
  5222.          October 1977.
  5223.  
  5224. 33. Schaefer, M., Linde, R. R., et al.  "Program Confinement in
  5225.          KVM/370," in Proceedings of the ACM National
  5226.          Conference, October 1977, Seattle.
  5227.  
  5228. 34. Schell, R. R.  "Security Kernels: A Methodical Design of
  5229.          System Security," in Technical Papers, USE Inc. Spring
  5230.          Conference, 5-9 March 1979, pp. 245-250.
  5231.  
  5232. 35. Trotter, E. T. and Tasker, P. S.  Industry Trusted Computer
  5233.          Systems Evaluation Process, MITRE Corp., Bedford,
  5234.          Mass., MTR-3931, 1 May 1980.
  5235.  
  5236. 36. Turn, R.  Trusted Computer Systems: Needs and Incentives for
  5237.          Use in government and Private Sector, (AD # A103399),
  5238.          Rand Corporation (R-28811-DR&E), June 1981.
  5239.  
  5240. 37. Walker, S. T.  "The Advent of Trusted Computer Operating
  5241.          Systems," in National Computer Conference Proceedings,
  5242.          May 1980, pp. 655-665.
  5243.  
  5244. 38. Ware, W. H., ed., Security Controls for Computer Systems:
  5245.          Report of Defense Science Board Task Force on Computer
  5246.          Security, AD # A076617/0, Rand Corporation, Santa
  5247.          Monica, Calif., February 1970, reissued October 1979.
  5248.  
  5249.  
  5250.