home *** CD-ROM | disk | FTP | other *** search
/ Hackers Toolkit v2.0 / Hackers_Toolkit_v2.0.iso / HTML / archive / Rainbow / ncsc / brownncsc.txt < prev    next >
Text File  |  1999-11-04  |  95KB  |  2,023 lines

  1. GUIDE TO UNDERSTANDING TRUSTED FACILITY
  2. MANAGEMENT
  3.  
  4. June 1989 
  5.  
  6. NATIONAL COMPUTER SECURITY CENTER 
  7.  
  8. NCSC-TG-O15 
  9.  
  10. Library No. S-231, 429 
  11.  
  12. FOREWORD 
  13.  
  14. The National Computer Security Center (NCSC) has established an aggresive
  15. program to study and implement computer security technology and to
  16. encourage the widespread availability to trusted computer operations. To
  17. provide insight into the Trusted Computer Systems Evaluation Criteria
  18. (TCSEC) and to assure that each feature of the TCSEC will be discussed in
  19. detail and provide the proper interpretation with specific guidance, the
  20. NCSC has established a Technical Guideline Program This Technical
  21. Guideline Program, and the cooperative business relationship being forged
  22. with the computer and telecommunication industries, will result in the
  23. fulfillment of our country's computer security requirement. We are
  24. determined to meet the challenge of identifying trusted computer
  25. guidelines suitable for use in processing all types and classifications of
  26. information. 
  27.  
  28. "A Guide to Understanding Trusted Facility Management" is the latest in
  29. the series of technical guidelines that are being published by the
  30. National Computer Security Center. This technical guideline has been
  31. written to help the computer security manufacturers, system evaluators,
  32. accreditors, as well as end users understand what procedures, methods, and
  33. processes are required for trusted facility management at B2 through A1
  34. classes ofthe TCSEC. 
  35.  
  36. As the Director, National Computer Security Center, I invite your
  37. recommendations for revision to this technical guideline. We plan to
  38. review this document periodically or when the need arises. 
  39.  
  40. _______________ 
  41.  
  42.      Patrick R. Gallagher Jr. 15 August 1989 
  43.      Director 
  44.      National Computer Security Center 
  45.  
  46. ACKNOWLEDGMENTS 
  47.  
  48. Special recognition for their contributions to this document are extended
  49. to Info Systems Technology, Inc., and to Dr. Virgil D. Gligor of the
  50. University of Maryland as primary author of this document, and to Ms.
  51. Valerie A. Maurer and MAJ James P. Gordon (U S Army) as Project Managers
  52. for the production and preparation of this guideline. 
  53.  
  54. Acknowledgment is given to the many computer vendor representatives, and
  55. members of the National Computer Security Center (NCSC) community, who
  56. enthusiastically gave of their time and technical expertise in reviewing
  57. the guideline and providing valuable comments and suggestions. Special
  58. thanks is given to Ms. Carol Lane, Mr. Leon Howell and Mr. Douglas Hardie
  59. for their invaluable assistance and guidance in this effort. 
  60.  
  61. PREFACE 
  62.  
  63. This guideline contains information derived from the requirements of the
  64. TCSEC prefaced by the word "shall", and recommendations derived from good
  65. practices prefaced by the word "should" when conducting trusted facility
  66. management. The recommendations in this document are also not to be
  67. construed as supplementary requirements to the TCSEC. The TCSEC is the
  68. only metric against which systems are to be evaluated. 
  69.  
  70. Throughout this guideline there will be examples, illustrations, or
  71. citations of administrative roles and operations that have been used in
  72. trusted facility management. The use of these examples, illustrations, and
  73. citations does not mean that they contain the only acceptable procedures,
  74. methods, or processes. The selection of these examples is based solely on
  75. their availability in the computer security literature. Examples in this
  76. document are not to be construed as the only implementations that will
  77. satisfy the TCSEC requirements or intended to single out any particular
  78. operating system to highlight weaknesses and shortfalls, but merely to
  79. provide clarification. The examples are suggestions of appropriate
  80. implementations. 
  81.  
  82. 1. INTRODUCTION 
  83.  
  84. The principal goal of the National Computer Security Center is to
  85. encourage the widespread availability of trusted computer systems. In
  86. support of that goal a metric was created, the DoD Trusted Computer System
  87. Evaluation Criteria (TCSEC), against which computer systems could be
  88. evaluated for security. The TCSEC was originally published on 15 August
  89. 1983 as CSC-STD-001-83. In December 1985 the DoD adopted it, with a few
  90. changes, as a DoD Standard, [ DoD Directive [AIS; automated information
  91. system (AIS); automated information system security; AUTOMATED INFORMATION
  92. SYSTEMS; COMPUSEC; Computer Security; computer security (COMPUSEC);
  93. Department of Defense; DOD], "Security Requirements for Automated
  94. Information Systems (AISs)", has been written, among other reasons, to
  95. require the Department of Defense Trusted Computer System Evaluation
  96. Criteria be used throughout the DoD. The TCSEC is the standard used for
  97. evaluating the effectiveness of security controls built into AISs. The
  98. TCSEC is divided into four divisions: D, C, B, and A, ordered in a
  99. hierarchical manner with the highest division (A) being reserved for
  100. systems providing the best available level of assurance. Within divisions
  101. C , B, and A, there are subdivisions known as classes, which are also
  102. ordered in a hierarchical manner to represent different levels of
  103. security. 
  104.  
  105. 1.1. PURPOSE
  106.  
  107. An important assurance requirement of the TCSEC, which appears in all
  108. classes from B2 to A1, is trusted facility management. This refers to the
  109. administrative procedures, roles, functions (e.g., commands, programs,
  110. interfaces), privileges and databases that are used for secure system
  111. configuration, administration and operation. 
  112.  
  113. The objective of trusted facility management is to support security and
  114. accountability policies throughout a system's operation. To accomplish
  115. this goal, two key requirements are the separation between Administrator
  116. and Operator functions, in class B2, and between security-relevant and
  117. nonsecurity-relevant functions of System Administrators, in class B3. This
  118. separation of administrative and operator functions, and security-relevant
  119. and nonsecurity-relevant functions of System Administrators, also applies
  120. to class A1. These separations help ensure that security-adverse effects
  121. of human error, misdeed, and system failure do not affect administrative
  122. functions and data. 
  123.  
  124. The purpose of "A Guide to Understanding Trusted Facility Management" is
  125. to provide guidance to manufacturers on how to incorporate functions of
  126. trusted facility management into their systems; to system evaluators and
  127. accreditors on how to evaluate the design and implementation of trusted
  128. facility management functions; and to end users on how to use these
  129. functions effectively, e.g., on how to avoid common pitfalls of system
  130. management. 
  131.  
  132. 1.2. SCOPE
  133.  
  134. The guidelines for trusted facility management presented herein refer to
  135. the separation of administrative functions, interfaces, and procedures of
  136. an important assurance requirement of classes B2 through A1 of the TCSEC.
  137. This guideline is intended to present the issues involved in the design of
  138. trusted facility management. 
  139.  
  140. This guideline contains five.additional sections. Section 2 contains a
  141. brief overview of the inherent vulnerabilities of administrative roles.
  142. Section 3 presents TCSEC requirements that affect the design and
  143. implementation of trusted facility management functions, and includes
  144. recommendations corresponding to each evaluation class. Section 4 reviews
  145. the major requirements of trusted facility management as stated in the
  146. TCSEC. Section 5 presents the separation between Administrator's and
  147. Operator's functions and the possible partitioning of the
  148. security-relevant functions of the Administrator and Operator into
  149. separate roles, functions and databases. Section 6 discusses the impact of
  150. the other TCSEC requirements on trusted facility management, including
  151. design and modeling alternatives for trusted facility management. 
  152.  
  153. Not addressed herein are personnel security measures, physical security of
  154. the automated information system equipment, and other administrative
  155. measures external to the AIS. The evaluation of these measures is beyond
  156. the scope of TCSEC-based evaluations [12, p.87]. These guidelines apply to
  157. computer systems, processing environments, and products built or modified
  158. with the intention of satisfying the TCSEC requirements. Note that this
  159. document contains suggestions and recommendations derived from TCSEC
  160. objectives but which are not required by the TCSEC. Additional
  161. recommendations are made, which are derived from the stated objectives of
  162. the TCSEC. 
  163.  
  164. 1.3. CONTROL OBJECTIVES
  165.  
  166. Trusted facility management is one of the areas of operational assurance.
  167. As such, the trusted facility management is an aspect of the objective,
  168. "assurance." The assurance objective provided in the TCSEC is: 
  169.  
  170. "Systems that are used to process classified or other sensitive
  171. information must be designed to guarantee correct and accurate
  172. interpretation of the security policy and must not distort the intent of
  173. that policy. Assurance must be provided that correct implementation and
  174. operation of the policy exists throughout the system's life cycle." 
  175.  
  176. This objective affects trusted facility management in two important ways.
  177. First, administrative roles of the system are the key components that help
  178. to ensure the enforcement of the system security policy, and thus, their
  179. function must support the intent of that policy. Second, the
  180. administrative roles must satisfy the life-cycle assurance requirements of
  181. correct implementation and operation. 
  182.  
  183. 2. SECURITY ADMINISTRATION - THE PROBLEM
  184.  
  185. Weaknesses of trusted facility management are role specific and common to
  186. all administrative roles. Careful examination of both common
  187. administrative roles and role-specific weaknesses is important for both
  188. system designers and administrators because exposure to some of these
  189. weaknesses can be reduced or eliminated by specific designs or by
  190. administrative procedure external to the system in use. The distinction
  191. between the two types of weaknesses is also useful for the strengthening
  192. of mechanisms and procedures supporting different roles selectively. 
  193.  
  194. The weaknesses discussed below are generic in the sense that they are not
  195. specific to any particular system or design. Careful analysis should be
  196. performed in designing and implementing specific systems to identify
  197. specific additional weaknesses and their required countermeasures. Design,
  198. implementation, and use of automated tools for analyzing specific system
  199. weaknesses are useful, but still a research subject [1]. 
  200.  
  201. Three types of weaknesses affect all administrative roles to various
  202. degrees: 
  203.  
  204.      unauthorized modification of hardware and software configuration.
  205.      Unauthorized changes of system configuration, including both hardware
  206.      and software changes, can take place during all phases of a system
  207.      life-cycle. 
  208.  
  209.      penetration of a specific administrative role. Penetration of
  210.      administrative roles by non-administrative users, or by unauthorized
  211.      administrative users, is usually made possible by flawed, or weak,
  212.      mechanisms for identification and authentication, TCB protection, or
  213.      role separation. 
  214.  
  215.      misuse of administrative authority. This can arise from careless or
  216.      deliberate misuse of administrative authority. Misuse of authority
  217.      can cause both TCB and user security violations, and therefore can
  218.      lead to extensive damage. 
  219.  
  220. 3. TCSEC REQUIREMENTS FOR TRUSTED FACILITY
  221. MANAGEMENT
  222.  
  223. In the TCSEC, requirements for Trusted Facility Management are for
  224. security classes B2 through A1. Classes C1 through B1 have no Trusted
  225. Facility Management requirements. 
  226.  
  227. 3.1. REQUIREMENTS FOR SECURITY CLASS B2 
  228.  
  229. 3.1.1. Security Policy 
  230.  
  231. No Additional Requirements. 
  232.  
  233. 3.1.2. Accountability 
  234.  
  235. All identification and authentication requirements of class B2, including
  236. trusted path, shall apply to the administrative users individually. 
  237.  
  238. All actions of administrative users shall be auditable in accordance with
  239. the B2 audit requirements. 
  240.  
  241. 3.1.3. Operational Assurance 
  242.  
  243. 3.1.3.1. System Architecture
  244.  
  245. The TCB programs and data structures implementing administrative
  246. functions: 
  247.  
  248.      ₧ must satisfy the modularity requirements of class B2; 
  249.      ₧ must satisfy the least privilege principle; 
  250.      ₧ must use logically distinct storage objects with separate
  251.      attributes (e.g., files, segments). 
  252.  
  253. The interfaces of the administrative roles implemented by the TCB must be
  254. completely defined, and all the elements of the TCB implementing the
  255. administrative roles must be identified. 
  256.  
  257. 3.1.3.2. Trusted Facility Management
  258.  
  259. The TCB shall support separate Operator and Administrator functions. The
  260. Administrator's functions include those of: 
  261.  
  262.      ₧ the Security Administrator 
  263.      ₧ System Programmer 
  264.      ₧ the Auditor 
  265.      ₧ the Account Administrator (whenever this role is defined to be
  266.      security-relevant). 
  267.  
  268. These functions must be separated from those of the Secure Operator. While
  269. the Administrator's functions may be combined into one function, we
  270. recommend they be separated as described in section 5. The remaining
  271. functions include only the nonsecurity-relevant functions. 
  272.  
  273. 3.1.4. Life-Cycle Assurance 
  274.  
  275. 3.1.4.1. Security Testing 
  276.  
  277. All security testing requirements of class B2 apply to the TCB functions
  278. and interfaces implementing administrative roles as stated. 
  279.  
  280. 3.1.4.2. Design Specification and Verification Recommendation: 
  281.  
  282.      ₧ Descriptive Top-Level Specifications (DTLSs) of the TCB functions
  283.      and interfaces implementing administrative roles must be maintained
  284.      that completely and accurately describe these functions and
  285.      interfaces in terms of exceptions, error messages, and effects. 
  286.      ₧ A formal security and integrity model of trusted facility
  287.      management should be used to define the separation of administrative
  288.      roles, functions, privileges and databases. 
  289.  
  290. 3.1.4.3. Configuration Management 
  291.  
  292. All configuration management requirements of class B2 apply to the TCB
  293. functions and interfaces implementing administrative roles as stated. 
  294.  
  295. 3.1.5. Documentation 
  296.  
  297. 3.1.5.1. Trusted Facility Manual 
  298.  
  299. A manual shall be available that provides the following: 
  300.  
  301.      ₧ be addressed to the ADP system administrator shall present cautions
  302.      about functions and privileges that should be controlled when running
  303.      a secure facility. 
  304.      ₧ give procedures examining and maintaining the audit files. 
  305.      ₧ give the detailed audit record structure for each type of audit
  306.      event. 
  307.      ₧ describe the operator and administrator functions related to
  308.      security, to include changing the security characteristics of a user.
  309.      ₧ provide guidelines on the consistent and effective use of the
  310.      protection features of the system. 
  311.      ₧ explain how the protection features of the system interact. 
  312.      ₧ show how to securely generate a new TCB. 
  313.      ₧ provide guidelines on facility procedures, warinings, and
  314.      privileges that need to be controlled in order to operate the
  315.      facility in a secure manner. 
  316.      ₧ identify the TCB modules that contain the reference validation
  317.      mechanism. 
  318.      ₧ describe the procedures for secure generation of a new TCB from
  319.      source after modification of any modules in the TCB. 
  320.  
  321. 3.1.5.2. Test Documentation 
  322.  
  323. All test documentation requirements of class B2, except those for covert
  324. channel testing, apply to the TCB functions and interfaces implementing
  325. administrative roles as stated. 
  326.  
  327. 3.1.5.3. Design Documentation 
  328.  
  329. Documentation shall be available that provides a description of: 
  330.  
  331.      ₧ Interfaces between the TCB modules implementing functions of the
  332.      administrative roles; 
  333.      ₧ Specific TCB protection mechanisms used for the separation of
  334.      administrative roles; 
  335.      ₧ Descriptions of the TCB modules implementing functions and
  336.      interfaces of the administrative roles; 
  337.      ₧ How the least privilege principle is supported by the functions and
  338.      interfaces of the TCB implementing administrative roles; 
  339.      ₧ How the actions of the administrative roles are audited. 
  340.  
  341.      Recommendation: 
  342.  
  343.      ₧ A formal description of the security and integrity policy model
  344.      used to define the separation of administrative roles should be
  345.      available and proven to be sufficient to enforce the claimed
  346.      separation. 
  347.  
  348. 3.2. REQUIREMENTS FOR SECURITY CLASS B3 
  349.  
  350. All the requirements of Class B2 are included at this level. The
  351. additional class B3 requirements are listed below. 
  352.  
  353. 3.2.1. Security Policy 
  354.  
  355. No Additional Requirements. 
  356.  
  357. 3.2.2. Accountability 
  358.  
  359. The trusted-path requirements of class B3 apply to administrative users. 
  360.  
  361. The additional audit requirements of class B3 apply to the administrative
  362. users. 
  363.  
  364. 3.2.3. Operational Assurance 
  365.  
  366. 3.2.3.1. System Architecture 
  367.  
  368. The additional TCB structuring requirements of class B3 (i.e., significant
  369. use of abstraction, information hiding, and layering) apply to the
  370. functions and interfaces of the TCB implementing administrative roles. 
  371.  
  372. 3.2.3.2. Trusted Facility Management 
  373.  
  374. The security-relevant administrative functions (i.e., those of the
  375. Security Administrator, System Programmer, Auditor and the Secure
  376. Operator's roles defined above) must be separated from the
  377. nonsecurity-relevant administrative functions. 
  378.  
  379. The security-relevant administrative functions must be limited to those
  380. that are essential to performing the security roles effectively. 
  381.  
  382. All actions of security personnel (Secure Administrator and Secure
  383. Operator) must be audited. 
  384.  
  385. Recommendations: 
  386.  
  387.      ₧ The functions of security administration and personnel should
  388.      distinguish among System Programmer, Security Administrator, Auditor,
  389.      and Secure Operator 
  390.      ₧ their privileges 
  391.      ₧ their databases. 
  392.      ₧ Different levels of trust should be established for the following
  393.      roles in accordance with the power and vulnerability of each role: 
  394.      ₧ System Programmer (maintenance and diagnostics mode); 
  395.      ₧ Security Administrator; 
  396.      ₧ Auditor; 
  397.      ₧ Secure Operator; 
  398.      ₧ Account Administrator; 
  399.      ₧ Operator. 
  400.  
  401. (Note: The distinction between the System Administrators, Operators, and
  402. System Security Officers is explicitly made in the audit requirements of
  403. the TCSEC [11, p. 16]. These roles correspond to the Account
  404. Administrator, Secure/Normal Operator, and Security Administrator/Auditor
  405. roles above. Also note that these distinctions do not require the
  406. separation of security-relevant and nonsecurity-relevant functions as they
  407. are made in the audit-not trusted facility management-requirement area). 
  408.  
  409. 3.2.3.3. Trusted Recovery 
  410.  
  411. The trusted recovery requirement of class B3 applies to the functions and
  412. interfaces of the TCB implementing administrative roles. 
  413.  
  414. 3.2.4. Life-Cycle Assurance 
  415.  
  416. 3.2.4.1. Security Testing 
  417.  
  418. All additional security testing requirements of class B3 apply to the
  419. functions and interfaces of the TCB implementing administrative roles. 
  420.  
  421. 3.2.4.2. Design Specification and Verification
  422.  
  423. Recommendation: 
  424.  
  425.      ₧ The additional design specification and verification requirements
  426.      of class B3 should be applied to the functions and interfaces of the
  427.      TCB implementing administrative roles. 
  428.  
  429. 3.2.4.3. Configuration Management 
  430.  
  431. No Additional Requirements. 
  432.  
  433. 3.2.5. Documentation 
  434.  
  435. 3.2.5.1. Trusted Facility Manual 
  436.  
  437. The additional requirements shall include procedures to ensure that the
  438. system is initially started in a secure state and procedures to resume
  439. secure system operation after any lapse in system operation. 
  440.  
  441. 3.2.5.2. Test Documentation 
  442.  
  443. No Additional Requirements. 
  444.  
  445. 3.2.5.3. Design Documentation 
  446.  
  447. No Additional Requirements. 
  448.  
  449. 3.3. REQUIREMENTS OF SECURITY CLASS A1 
  450.  
  451. All requirements of the security class B3 are included here. The only
  452. additional requirements are in the following "Life-Cycle Assurance" areas:
  453.  
  454. 3.3.1. Additional Life-Cycle Assurance Requirements 
  455.  
  456. 3.3.1.1. Configuration Management 
  457.  
  458. All additional configuration management requirements of class A1 apply to
  459. the TCB functions and interfaces implementing administrative roles. 
  460.  
  461. 3.3.1.2. Trusted Distribution 
  462.  
  463. All trusted distribution requirements of class A1 apply to the TCB
  464. functions and interfaces implementing administrative roles. 
  465.  
  466. 4. SATISFYING THE TCSEC REQUIREMENTS 
  467.  
  468. The principal requirements of trusted facility management are: 
  469.  
  470.      ₧ the separation of Operator and Administrator functions; 
  471.      ₧ the logical (or physical) separation of the database information
  472.      corresponding to those functions; and 
  473.      ₧ the implementation of least privilege such that functions have only
  474.      the minimum necessary privileges to the databases. 
  475.  
  476. 4.1. SEPARATION OF ADMINISTRATOR AND OPERATOR FUNCTIONS
  477.  
  478. The separation of Administrator and Operator functions is a requirement of
  479. TCSEC class B2, which states: 
  480.  
  481. "The TCB shall support separate Operator and Administrator functions." 
  482.  
  483. The primary purpose behind the separation of the Operator and
  484. Administrator functions is to limit the potential damage that untrusted,
  485. or errant, code can inflict on the information the TCB uses to enforce the
  486. security policy. Any code executed with Operator or Administrator
  487. privileges has the ability to change the TCB data structures, thus
  488. affecting the enforcement of policy. Through the application of the
  489. principal of least privilege and the separation of Operator and
  490. Administrator functions so that they are prevented from executing
  491. untrusted code, the TCB data structures can be protected. The principle of
  492. least privilege requires that each subject be granted the most restrictive
  493. set of privileges needed for the specific task. In the case of the
  494. operator and administrator functions, the privileges need to be
  495. established at a low level of granularity so that the proceses that
  496. implement those functions do not have unnecessary privileges. This low
  497. level of granularity provides several important protections: 
  498.  
  499.      ₧ limits the effects of errors on the part of the administrator; 
  500.      ₧ limits the effects of incorrect code which implements the
  501.      administrator functions; 
  502.      ₧ provides some protection against malicious administrators, in that
  503.      damage that can be done is strictly contained to the provileges
  504.      defined for that role. Some additional protection is afforded by the
  505.      auditing of administrator actions. (This argument can be extended to
  506.      malicious code which is inserted in the administrator functions.) 
  507.  
  508. The TCSEC recognizes the need to separate the operator and adminstrator
  509. functions from the normal user abilities to execute code. There are
  510. several ways to implement such separation. One way is to enforce those
  511. restrictions on the Administrator and Operator functions. They can only
  512. execute trusted code that has been shown to preserve the TCB data
  513. structures properly. This requires that the people who perform those
  514. functions also have a separate account that allows them to be a normal
  515. user. That separate account would not have any Operator or Administrator
  516. capabilities. Whatever approach to separation is selected, it must be
  517. shown to restrict the Operator or Administrators from executing untrusted
  518. code. 
  519.  
  520. The separation of Operator and Administrator functions, namely between the
  521. commands, programs, and interfaces implementing those functions, is
  522. important because these functions are used with different privileges, on
  523. different system data. Should these functions not be separated, Operators
  524. could use commands that include Administrators' privileges and databases.
  525. This would mean that all Operators would need to be trusted to the same
  526. degree as that needed for Administrators. It would also mean that the
  527. principles of least privilege and separation of privilege, which are two
  528. of the most important security principles (see reference [18] for a
  529. further explanation of these principles), are violated, overexposing the
  530. system to error, failure, and misdeed. Furthermore, lack of functional
  531. separation would fail to confine the effects of any function penetration,
  532. leaving the entire system in a vulnerable state. 
  533.  
  534. In addition to the separation of Administrator and Operator functions,
  535. trusted facility management should also separate internal system databases
  536. which the Operator and Administrator manipulate. Checks and balances are
  537. necessary to avoid trusting too many all-powerful Administrators. The
  538. identification of the security-relevant, internal system databases and the
  539. correlation between each function and the corresponding database shall be
  540. carefully performed and documented. The separation of Operator's and
  541. Administrator's functions shall also lead to the separation of accessible
  542. objects and of access privileges to shared databases. This is an essential
  543. design requirement for the enforcement of the least privilege principle
  544. within the TCB because it helps identify and eliminate unnecessary
  545. Operator access to administrator data. For example, the Administrator has
  546. full access to system databases that need not be fully accessible to the
  547. Operator; i.e., the Administrator has Read/Write privileges to some
  548. (shared) databases, such as the system security profile, for which the
  549. Operator only needs Read privileges. Thus, the Write privilege of the
  550. Operator to these databases would be eliminated. Also, because these
  551. databases are separate, consistency checks may be derived from the
  552. security-relevant databases of the Administrator and applied to the
  553. security-relevant functions of the Operator. This would increase the
  554. robustness of the administrative functions of the system and, implicitly,
  555. its usefulness. 
  556.  
  557. Figure 1 illustrates both the separation of function and of
  558. privileges/databases for class B2. Note, although the functions of the
  559. Operator and Administrator are completely separated, the Administrator's
  560. privileges include those of the Operator in the sense that the
  561. Administrator can always get access to all Operator functions, databases,
  562. and privileges. For example, an Administrator can always log in as an
  563. Operator and perform Operator functions. In contrast, the Operator cannot
  564. get access to functions, databases, and privileges that are exclusively
  565. the Administrator's. Note, this hierarchical relationship of roles is a
  566. functional hierarchy. The system could provide a "flat" set of roles,
  567. functions and privileges, and the hierarchy could be managed
  568. administratively. 
  569.  
  570. 4.1.1. -Security Relevant Functions of the System Administrator 
  571.  
  572. The security-relevant functions of the System Administrator include those
  573. that: 
  574.  
  575.      ₧ Define and change the user security characteristics and those of
  576.      the system security data (e.g., user identifier, user's group
  577.      identifiers, user/group maximum security level; and the
  578.      maximum/minimum security level of the system data, the
  579.      maximum/minimum security level of each file system). 
  580.      ₧ Define and change the system's security characteristics (e.g.,
  581.      security level limits of multilevel channels, I/O processors,
  582.      communication lines, and devices; all possible level changes of
  583.      single level devices). 
  584.      ₧ Perform system programming functions; (e.g., trusted system
  585.      configuration in accordance with the configuration management policy,
  586.      system distribution, system installation, TCB code maintenance that
  587.      may affect system configuration, distribution and installation). 
  588.      ₧ Perform audit functions (e.g., determine what events should be
  589.      audited, manage the audit trail, analyze the audit trail, produce
  590.      audit reports). 
  591.  
  592. 4.1.2. Security-Relevant Functions of the Operator 
  593.  
  594. The security-relevant functions of the Operator nclude those that: 
  595.  
  596.      ₧ Enable and disable peripheral devices, make changes to the device
  597.      security characteristics within the limits defined by the
  598.      Administrator (e.g., the Operator sets the level of a single-level
  599.      device within the range defined by the Administrator). 
  600.      ₧ Control the mounting of file systems and load labeled disk packs
  601.      and tape reels on appropriate drives. 
  602.      ₧ Recover user files following system crashes. 
  603.      ₧ Handle printed output. 
  604.      ₧ Perform maintenance operations on user databases and routine
  605.      maintenance of TCB databases. 
  606.      ₧ Boot up and shut down the system. 
  607.  
  608. 4.2. SEPARATION OF SECURITY AND NONSECURITY-RELEVANT
  609. FUNCTIONS 
  610.  
  611. Separation of Duties
  612.  
  613. The second requirement of the trusted facility management is to identify,
  614. audit, and separate the security-relevant functions of the Administrator
  615. from the nonsecurity-relevant functions. The purpose of this requirement
  616. is to prevent an Operator or Administrator from executing untrusted code
  617. using their special privileges that would enable that code to corrupt the
  618. policy enforcement data or mechanisms. This requirement is introduced in
  619. class B3, and is stated in the TCSEC as follows: 
  620.  
  621. "The functions performed in the role of a Security Administrator shall be
  622. identified. The AIS administrative personnel shall only be able to perform
  623. Security Administrator functions after taking a distinct auditable action
  624. to assume the Security Administrator role on the AIS. Nonsecurity
  625. functions that can be performed in the Security Administrator role shall
  626. be limited strictly to those essential to performing the security role
  627. effectively." 
  628.  
  629. Both the Administrator and the Operator roles include security-relevant
  630. functions. Security-relevant functions include all administrative
  631. functions that are used to implement the security and accountability
  632. policies supported by a system. Nonsecurity-relevant functions are those
  633. that cannot affect the implementation of security and accountability
  634. policies supported by a system. The separation of security-relevant and
  635. nonsecurity-relevant functions is important because nonsecurity-relevant
  636. functions need to be trusted to a degree lower than that of the
  637. security-relevant ones. A higher degree of trust implies that the
  638. operational and life-cycle assurance tasks are more extensive than those
  639. necessary for functions of a lower level of trust. Although some
  640. nonsecurity-relevant functions of the Administrator may be functionally a
  641. part of the TCB in class B2, flaws in these functions should lead only to
  642. potential denial-of-service instances, but not to security or integrity
  643. violations. In class B3, essentially where the nonsecurity-relevant
  644. functions of the Administrator shall be removed from the TCB. The TCSEC
  645. does permit the inclusion of nonsecurity relevant functions that are
  646. essential to performing the security role. While the separation of
  647. administrative functions is not required below class B2, the benefits and
  648. protection it provides should be seriously considered. 
  649.  
  650. Figure 2 illustrates both the separation of function and of
  651. privileges/databases for classes B2 and B3. Note, although the functions
  652. of the Operator and Security Administrator (i.e., the nonsecurity-relevant
  653. role of the Administrator) are completely separated. 
  654.  
  655. (Alternative administrative procedures for systems that do not support any
  656. separation of roles have been suggested [5]. These procedures may be
  657. useful for systems in TCSEC classes C1 through B1.) 
  658.  
  659. 4.3. IMPACT OF OTHER TCSEC REQUIREMENTS ON TRUSTED FACILITY
  660. MANAGEMENT 
  661.  
  662. The third important requirement of trusted facility management is the
  663. integration of functions and programs that implement administrative roles
  664. within the TCB in such a way that the security policy, accountability,
  665. assurance, and documentation requirements of specific TCSEC classes are
  666. satisfied. For example, in a B3 or above system, the design of each
  667. function supporting a specific role must ensure that the programs
  668. executing that function operate with the fewest privileges necessary and
  669. that they are designed to satisfy the abstraction, information hiding, and
  670. layering requirements. Furthermore, in a class B3 or above system, the
  671. nonsecurity-relevant functions of Administrators shall be removed from the
  672. TCB because "significant system engineering shall be directed towards
  673. minimizing the complexity of the TCB and excluding from the TCB modules
  674. that are not protection critical" [11]. Some work environments require the
  675. system to support multiple work shifts. Such a system design, allowing
  676. multiple individuals to belong to the same role, shall ensure that these
  677. individuals are not forced to share a role password, such that
  678. accountability on an individual basis is lost. 
  679.  
  680. Most documentation requirements of the TCSEC apply to trusted facility
  681. management as stated in each evaluation class. However, some requirements
  682. such as those that state the need for a Security Features Users' Guide
  683. (SFUG) and for covert channel analysis are obviously not applicable. The
  684. SFUG is relevant for all users, whereas the Trusted Facility Manual and
  685. Management are relevant only for administrative users. Also, since most
  686. administrative users have multilevel access to system and user data, they
  687. must be trusted to maintain the secrecy and classification of the data.
  688. Thus, administrative users must be cleared to the highest level of data
  689. classification. Furthermore, all code implementing functions of
  690. administrative roles should be scrutinized to ensure, to the largest
  691. extent possible, that it does not contain any Trojan horses or trap doors.
  692. Additional requirements imposed by the TCSEC of trusted facility
  693. management are discussed in the section entitled, "TCSEC Requirements For
  694. Trusted Facility Management." 
  695.  
  696. 5. SEPARATION OF OPERATOR'S AND
  697. ADMINISTRATOR'S ROLES [Separation of Duties;
  698. accreditation authority; DAA; Designated
  699. Approving Authority (DAA)]
  700.  
  701. An important aspect of trusted facility management is that of partitioning
  702. the security-relevant duties of the Administrators and Operators into
  703. separate roles. For example, this partitioning could distinguish the
  704. security-relevant roles of Security Administrator, System Programmer, and
  705. Auditor-in addition to the non-security-relevant role of Accounts
  706. Administrator; and also could distinguish between the security-relevant
  707. functions of the Operator (the Secure Operator role) and the
  708. nonsecurity-relevant ones (the Operator role). Although this further
  709. partitioning of the Administrator's duties is not required by the TCSEC,
  710. it is suggested: 
  711.  
  712.      (1) by the need to differentiate between the skills required by
  713.      different security-relevant functions of the Administrator and
  714.      Operator, 
  715.      (2) by the need to divide the power (e.g., privileges) of the
  716.      all-encompassing Administrator duty into multiple roles that
  717.      incorporate different levels of trust, 
  718.      (3) by the need to avoid entrusting all security-relevant functions
  719.      to a single role or individual. In this partitioning of the
  720.      Administrator's duties, the Security Administrator role retains the
  721.      functions of defining and changing the users' and the system security
  722.      profiles. 
  723.  
  724. The System Programmer's functions differ from those of the Security
  725. Administrator, Auditor, Account Administrator and Operators. The System
  726. Programmer's functions, privileges, and databases include those of the
  727. other roles, as the System Programmer is the most privileged
  728. administrative user defined in any system. In contrast with the other
  729. roles, some of the System Programmer's actions may not be auditable. This
  730. is the case because some of the System Programmer's actions take place
  731. before the Auditor's programs and databases are configured and loaded.
  732. Furthermore, the System Programmer's maintenance activities may refer to
  733. the maintenance/repair of the TCB, including the other roles' interfaces
  734. (e.g., commands, programs), databases, and privileges. Whenever possible,
  735. the System Programmer functions should be relegated to system maintenance
  736. mode only and monitored by administrative procedure. Whenever possible,
  737. work on TCB code should be done on a developmental system rather than on a
  738. system in current use. The developmental system may be a physically
  739. separate system or a system from which user data, and in particular
  740. classified data, have been removed (e.g., by changing disk packs or
  741. overwriting memory) prior to performing TCB maintenance. Note that any
  742. modification of the TCB code, even by authorized users in the System
  743. Programmer role, may invalidate the system's rating. The above measures
  744. allow the design of a system whose mode of operation does not include an
  745. all-powerful role. 
  746.  
  747. The Auditor's functions, databases, and access privileges differ
  748. significantly from those of the other administrative roles (e.g., Security
  749. Administrator, Account Administrator, Operators). The separation of the
  750. Auditor's functions, databases, and access privileges from those of the
  751. Security Administrator, Account Administrator, and Operators is an
  752. important application of the separation of privilege and least privilege
  753. principles. Should such separation not be performed, and should the
  754. Security Administrator be allowed to undertake Auditor functions or
  755. vice-versa, the entire security function would become the responsibility
  756. of a single, unaccountable individual or role in normal mode of system
  757. operation. For example, a Security Administrator may take actions that
  758. represent misuse of authority and then use Auditor functions to erase any
  759. evidence of his actions. Although this is obviously undesirable, the TCSEC
  760. does not require the separation of Security Administrator and Auditor
  761. functions (and neither does it require the separation between Secure
  762. Operator and Operator functions). 
  763.  
  764. Figure 3 illustrates both the fine-grained separation of roles and of
  765. databases/privileges. The relationships between the different roles
  766. defined here are explained in Section 5.8. 
  767.  
  768. The design of each administrative role should include explicitly the set
  769. of commands, privileges, and databases specific to that role. In contrast,
  770. the assignment of individuals to the roles is best left to the management
  771. of the installations familiar with the skill, interests, and trust that
  772. can be assigned to the individuals. Furthermore, this guide does not
  773. distinguish between the role of the System Programmer of a specific
  774. installation and that assigned to a manufacturer's programmer. Such
  775. distinctions depend on the operational environment and administrative
  776. procedures enforced in that environment. In small system environments the
  777. two roles become indistinguishable, whereas in large system environments
  778. the two roles are different. In some environments, the System Programmer
  779. has the right to examine, modify, recompile, and rebuild the TCB, whereas
  780. in others the System Programmer can only install a given object code
  781. version of it. For example, it is not uncommon that System Programmers at
  782. a given installation site add device drivers to a TCB for new multilevel
  783. devices supported in the systems, and then rebuild the TCB. Whenever the
  784. System Programmer is allowed to modify, recompile, and rebuild the TCB,
  785. strict configuration management procedures should be followed at the
  786. installation site and evidence be gathered to demonstrate to the
  787. Accreditor that the system rating is maintained properly. Again, it should
  788. be noted that any modification to the evaluated TCB code or configuration
  789. may invalidate the system's rating. 
  790.  
  791. The distinction between various Operator's and Administrator's functions
  792. are established by: 
  793.  
  794.      (1) who performs the system configuration, distribution, installation
  795.      and maintenance, 
  796.      (2) who defines the user and the system security characteristics, 
  797.      (3) who performs systems operations such as routine maintenance and
  798.      response to user requests. This section recommends a more structured
  799.      separation of roles that provides more effective management of the
  800.      computer resources and accountability for those personnel. 
  801.  
  802. 5.1. FUNCTIONS OF THE SECURITY ADMINISTRATOR Separation of
  803. Duties
  804.  
  805. The security-relevant functions of the Security Administrator can operate
  806. at more than one security level, and invoke processes or programs that
  807. operate with some system privileges. Thus, these functions must be trusted
  808. to a high degree. These functions include identification and
  809. authentication functions, mandatory access control functions, and
  810. discretionary access control functions. 
  811.  
  812. 5.1.1. The identification and authentication functions of the
  813. Security Administrator may include:[Seperation of Duties] 
  814.  
  815.      The setting of the parameters of the login/out mechanism, such as: 
  816.           ₧ timeout period (maximum amount of time the system waits for
  817.           the next command or for the completion of the current command); 
  818.           ₧ maximum login time (maximum amount of time the user may remain
  819.           logged in to a system); 
  820.           ₧ limit of successive, unsuccessful tries to log in from a
  821.           specific terminal before Administrators are notified; 
  822.           ₧ limit of successive, unsuccessful tries to log in to an
  823.           account, regardless of the terminal location, before
  824.           Administrators are notified; 
  825.           ₧ terminal lockout establishment and resetting; 
  826.           ₧ multiple (simultaneous) login attributes; 
  827.           ₧ whether a specific user's login needs to trigger an
  828.           administrative warning (to the Administrator or to the
  829.           Operator's console). 
  830.  
  831. The setting of the authentication parameters; the Security Administrator
  832. functions may include those that carry out the following decisions: 
  833.  
  834.      ₧ if the authentication mechanism is password-based, the 
  835.  
  836. Security Administrator determines the password characteristics (whether
  837. the user's password choice is user-generated or system-generated, the
  838. setting of the minimum and maximum password age, the password complexity
  839. parameters, etc.); 
  840.  
  841.      ₧ if the mechanism is dialogue-based, the Administrator installs the
  842.      dialogue programs on a per-user basis; 
  843.      ₧ the Administrator defines and manages the distribution of special
  844.      passwords for the trusted processes that are started by passwords
  845.      (i.e., the TCB repair and maintenance processes, such as
  846.      security-label repair, etc.). 
  847.  
  848. [Note: The above decisions are made when the system is installed for a
  849. particular organization, and the system Security Administrator carries out
  850. the installation decisions made by that organization.] 
  851.  
  852. The definition of user account and registration profile; this definition
  853. may include: 
  854.  
  855.      ₧ user identifier (this should be unique for the lifetime of the
  856.      system); initial user password; change of user password; 
  857.      ₧ user's full name, address, and affiliation; 
  858.      ₧ user's group identifiers (these should also be unique for the
  859.      lifetime of the system); 
  860.      ₧ user's default group. 
  861.  
  862. The definition of group accounts and registration profile; this definition
  863. may include: 
  864.  
  865.      ₧ user group id (this should be unique for the system's lifetime); 
  866.      ₧ group title, group administrator identifier, name and address; 
  867.      ₧ group disk quota; 
  868.      ₧ group statistics. 
  869.  
  870. [Note: In some environments, the user and the group identifiers of
  871. registered users may not be disclosed to other users. Note also that,
  872. whenever the TCB does not automatically create unique identifiers for
  873. users and for groups, the system Security Administrator does not reuse
  874. user/group names until he is certain that name conflicts do not occur.] 
  875.  
  876. 5.1.2. The mandatory access control functions of the Security
  877. Administrator may include the following:[Separation of Duties] 
  878.  
  879.      Definition and maintenance of the security label map; this includes
  880.      functions such as the mapping between internal representations and
  881.      human-readable representations of security lables. 
  882.      Setting of the security-level limits and the default security levels
  883.      for: the system, the users, the user groups, the system devices, and
  884.      the file systems. 
  885.      Labeling of imported unlabeled data, and unlabeled media such as disk
  886.      packs. 
  887.  
  888. Reclassification of objects; this includes: 
  889.  
  890.      ₧ object upgrade or downgrade; 
  891.      ₧ label overrides on user output; 
  892.      ₧ restoration of damaged labels (whenever this function is not
  893.      provided by the System Programmer role). 
  894.  
  895. 5.1.3. The discretionary access control functions of the Security
  896. Administrator may include the following:
  897.  
  898.      Initialization of the discretionary access privileges for group
  899.      administrators to group directories and group devices; also,
  900.      initialization of storage quotas for user groups. 
  901.      Definition and maintenance of group membership (whenever special
  902.      group administrators are not supported). 
  903.  
  904. [Note: Since any change in group membership affects all discretionary
  905. access control decisions made by individual users, such changes should not
  906. take place without prior consultation with the users who may be affected
  907. by this decision.] 
  908.  
  909. Setting of discretionary privileges on file systems. 
  910.  
  911. Changes of object ownership in systems that support the notion of
  912. ownership; also, changes of discretionary privileges on objects whose
  913. privileges are accidentally deleted by the object's creators or owners. 
  914.  
  915. Discretionary distribution, review, and revocation of privileges on behalf
  916. of object creators/owners in systems that do not allow individual users to
  917. distribute, review, and revoke privileges directly (i.e., where the
  918. control of object sharing is centralized [9]). 
  919.  
  920. 5.1.4. Additional functions of the Security Administrator are
  921. listed below. Specifically, the Security Administrator may: 
  922.  
  923. Perform consistency checks to verify that: 
  924.  
  925.      ₧ the database of user and system security profiles satisfies the
  926.      system security requirements and is in a consistent state; 
  927.      ₧ the TCB is installed properly (e.g., displays and checks
  928.      installation tables); 
  929.      ₧ the TCB does not contain extraneous programs (e.g., programs that
  930.      are privileged but are not part of the TCB configuration). 
  931.  
  932. Determine that the current system configuration is within the constraints
  933. established by configuration management and the System Programmer. This
  934. includes the verification of: 
  935.  
  936.      ₧ device and terminal registration; 
  937.      ₧ maximum storage size; 
  938.      ₧ file (device) system name table and file (device) mount tables; 
  939.      ₧ device and terminal connection database. 
  940.  
  941. Cut off user/group accounts [access control](whenever the Account
  942. Administrator is not defined as a separate role). 
  943.  
  944. ₧ Delete user/group accounts. 
  945.  
  946. ₧ Display and update constants of various system tables. 
  947.  
  948. ₧ Initiate and analyze the system integrity tests. 
  949.  
  950. ₧ Supervise the maintenance procedures (hardware, etc.). 
  951.  
  952. ₧ Respond to real-time alarm messages (B3 and higher). 
  953.  
  954. ₧ Destruction of errant processes. 
  955.  
  956. ₧ Definition of the site identifier, logo, and the site authentication
  957. protocols within a network. 
  958.  
  959. Set up and access the following four types of databases: 
  960.  
  961.      ₧ The database of the user and system security profiles; 
  962.      ₧ The security label map; 
  963.      ₧ The file system hierarchy; 
  964.      ₧ The system configuration database 
  965.  
  966. [this includes the current hardware configuration and the security-level
  967. limits of the various devices, terminal connections, the file-system name
  968. and mount database, etc.]. 
  969.  
  970. All the modifications to these databases are performed by the Security
  971. Administrator using the commands of a trusted database editor and the
  972. system's trusted path. Although the trusted path mechanism is not required
  973. for these modifications in class B2 systems, the trusted editor commands
  974. are part of the administrative interface commands that must be supported
  975. by all trusted systems. All actions of the Security Administrators are
  976. audited. 
  977.  
  978. 5.2. FUNCTIONS OF THE SECURE OPERATOR
  979.  
  980. The security-relevant functions of the Operator role can operate across
  981. more than one security level and sometimes invoke processes that require
  982. system privileges. Thus, these functions require a high degree of trust.
  983. An Operator who executes security-relevant operations is called the Secure
  984. Operator. These functions of the Secure Operator may include the
  985. following: 
  986.  
  987.      1. Booting and shutting down the system; setting the system's clocks;
  988.      also, setting the security level of individual system devices within
  989.      the range of levels allowed by the Security Administrator's database.
  990.  
  991. [Note: Shutting down the system requires that the Operator ensure that
  992. appropriate physical and administrative security features be in place to
  993. protect the information while the system is not running. For example,
  994. shutting down for maintenance might require that the date be removed and
  995. the system cleared.] 
  996.  
  997.      2. Locating damaged user files and volumes. The "salvager" process
  998.      identifies damaged labels (e.g., labels inconsistent with those of
  999.      containing directories and files) and deletes all access to the
  1000.      corresponding objects until repair is finished by the System
  1001.      Programmer and Security Administrator. 
  1002.      3. Performing routine maintenance of TCB databases. 
  1003.  
  1004. The Operator performs the following routine maintenance operations: 
  1005.  
  1006.      ₧ audit file backup (whenever this is not included in the Auditor's
  1007.      role); 
  1008.      ₧ security-level changes for some devices (these are within the
  1009.      limits set by the system Security Administrator); 
  1010.      ₧ user database backup; 
  1011.      ₧ security-map backup; 
  1012.      ₧ TCB tables backup. 
  1013.  
  1014. It must be noted that the Operator should not have the privilege to modify
  1015. file contents for file backup. 
  1016.  
  1017.      4. Performing on-line terminal and device tests (including
  1018.      authentication tests). 
  1019.      5. Responding to user's requests. 
  1020.  
  1021. The Operator should be able to respond to the following user requests: 
  1022.  
  1023.      ₧ mount/unmount physically (externally) labeled removable media
  1024.      (e.g., tape reels and disk packs); 
  1025.      ₧ import/export other physically (externally) labeled data into/from
  1026.      the system. 
  1027.  
  1028. It must be noted that all Operator's actions must be auditable 
  1029.  
  1030. Mounting unlabeled storage devices is not recommended. The TCB needs the
  1031. Label information in order to correct access control decisions. If the
  1032. Operator is not provided the label, the system will not be able to enforce
  1033. the policy correctly. 
  1034.  
  1035. 5.3. FUNCTIONS OF THE ACCOUNT ADMINISTRATOR
  1036.  
  1037. The security-relevant functions of the Administrator role may not need the
  1038. special privileges to operate properly, but in most installations they
  1039. will be trusted processes However, all output generated by the Account
  1040. Administrator will be marked with the highest security level. Otherwise,
  1041. leakage of classified information may take place (e.g., encoded in the
  1042. user bills). The nonsecurity-relevant role of the Security Administrator
  1043. is called the Account Administrator. 
  1044.  
  1045. The (nonsecurity-relevant) functions of the Account Administrator are
  1046. listed below. Specifically, the Account Administrator: 
  1047.  
  1048.      1. Installs and maintains accounting files. 
  1049.      2. Turns system accounting on and off. 
  1050.      3. Runs accounting tools and produces accounting reports/bills. 
  1051.      4. Enables and disables accounts at users' requests (whenever this
  1052.      function is not provided by the Security Administrator); however, the
  1053.      Account Administrator does not have the privilege to define or change
  1054.      the users' security profiles. 
  1055.      5. Establishes the billing rates, prices and policies. 
  1056.      6. On a regular basis, collects system statistics such as: 
  1057.  
  1058.      ₧ system availability; 
  1059.      ₧ system configuration; 
  1060.      ₧ disk/CPU/memory statistics. 
  1061.  
  1062.      7. Publishes revenue/cost reports. 
  1063.  
  1064. 5.4. FUNCTIONS OF THE AUDITOR
  1065.  
  1066. The Auditor role invokes processes that operate with system privileges.
  1067. Thus, all functions of the Auditor require a high degree of trust. These
  1068. functions include those that enable the audit selectivity mechanism (e.g.,
  1069. audit-event setup and change), the management of audit trails, the setting
  1070. of the covert-channel delays and randomization variables, audit data
  1071. compression and postprocessing analysis [7]. Data generated by the Auditor
  1072. must be classified at the System High level since they may contain
  1073. information generated at all security levels defined in the system. System
  1074. High is defined as the security label that dominates all other security
  1075. labels in the system. In a sense, it is the highest possible label. It
  1076. would be beneficial, and possibly necessary, to create the System High
  1077. level such that it is hierarchically higher than all the data levels used
  1078. in the system. This approach has the benefit that the mandatory access
  1079. controls provide additional protections for the audit data since only the
  1080. Auditor would have authorization for this level. 
  1081.  
  1082.      1. The Auditor functions that define the events recorded in the audit
  1083.      log (or trail) may include: 
  1084.  
  1085.      ₧ Functions that turn on and off events that should be recorded in
  1086.      the audit trail to ensure the consistency of subsequent events
  1087.      selected by the Auditor. These events ensure that the postprocessing
  1088.      tools function properly. For example, in systems where object-unique
  1089.      names are represented by file system pathnames, any change to the
  1090.      working directory relative to which pathnames are interpreted, should
  1091.      be audited. (An object-unique name is the unique name that identifies
  1092.      and distinguishes a particular object from all other objects in a
  1093.      system. In a hierarchical file system, the object-unique name
  1094.      includes the associated directory names so users can use the same
  1095.      name for objects in different directories). Otherwise, audit analysis
  1096.      tools that read audit events recorded after a directory change cannot
  1097.      identify objects unambiguously. For similar reasons, all events that
  1098.      record process creation or destruction and identification or
  1099.      authentication actions should be selected whenever the audit is on. 
  1100.  
  1101.      ₧ Functions that display all security-relevant events which can be
  1102.      audited. 
  1103.  
  1104.      (The determination of the security-relevant events in a system is
  1105.      done at design time, and is based on the interpretation of the chosen
  1106.      security policy and accountability models in the system. Any event,
  1107.      such as those provided by a user invocation of a TCB or trusted
  1108.      process call, is security-relevant if it causes a state transition or
  1109.      if it denies a state transition in the model's interpretation. For
  1110.      example, the introduction of an object in an address space of a
  1111.      process is security-relevant in a system designed to support the
  1112.      Bell-LaPadula model because it causes a state transition in the
  1113.      interpretation of the current-access-set component of that model's
  1114.      interpretation [2]. Similarly, distribution and revocation of access
  1115.      privileges cause a state transition because they modify the
  1116.      access-matrix component of the model; whereas a change in security
  1117.      level of an object/subject causes a state transition because it
  1118.      modifies the security-function component of the model. Other state
  1119.      transitions, which should also be audited, may modify multiple
  1120.      components of a system state; e.g., the creation/destruction of
  1121.      objects that modify both the object hierarchy and the access matrix.
  1122.      Additional security-relevant events may be derived from the
  1123.      interpretation of the trusted facility management model whenever such
  1124.      a model is not included in the security policy model. Also,
  1125.      additional security-relevant events may be derived from the
  1126.      covert-channel handling requirements of the TCSEC). 
  1127.  
  1128.      ₧ Functions that turn on or off audit events selectively on a
  1129.      per-user, per-process, per-security-level or per-object basis are
  1130.      also included here. These events may be signaled by the processors,
  1131.      TCB, or trusted processes. Selection of auditor-determined subsets of
  1132.      these events should also be possible. 
  1133.      ₧ Functions that turn on or off events representing accumulations of
  1134.      other auditable events (e.g., multiple successive unsuccessful
  1135.      logins) and alarms are also included here. 
  1136.  
  1137.      2. Auditor functions that help manage the audit files may include: 
  1138.  
  1139.      ₧ Creation and destruction of audit logs and postprocessing audit
  1140.      files. 
  1141.      ₧ Change of audit-log size and of warning points. The warning points
  1142.      may be expressed as a specific number, or percentage, of bytes
  1143.      available in the audit log. When these warning points are crossed by
  1144.      the event recording mechanism, an auditor warning may be given by the
  1145.      system. If the audit log becomes full and the audit mechanism is on,
  1146.      then the system may stop and delay further activity until the Auditor
  1147.      takes corrective action [7]. 
  1148.  
  1149.      Functions used to empty full audit files. 
  1150.  
  1151.      Functions that format and compress events in the audit log and
  1152.      postprocessing audit files. The formatting functions may convert
  1153.      binary audit data into text format, and combine partial event records
  1154.      into the required record format. The storing of formatted
  1155.      postprocessing files may require the use of compression techniques to
  1156.      improve storage utilization. 
  1157.  
  1158.      Functions that display the audit log and postprocessing audit files
  1159.      in various formats. 
  1160.  
  1161.      Consistency checking functions which operate on the entire auditor
  1162.      database for use after system crashes. 
  1163.  
  1164.      3. Functions that set the delays or the randomization values for
  1165.      covert channel handling should also be included in the Auditor's
  1166.      role. The reason for this is that the covert channel handling
  1167.      guideline of the TCSEC correlates the covert-channel audit
  1168.      requirement with specific covert-channel bandwidth values and,
  1169.      therefore, with delay values and randomization ranges. For example,
  1170.      depending upon the values set for the audit delays, specific channels
  1171.      may, or may not, need to be audited. Thus, the specification of the
  1172.      delay values and randomization ranges becomes the duty of the
  1173.      Auditor. These functions may include: 
  1174.  
  1175.      The setting of the default and current values of the delays for
  1176.      single covert channels or for groups of covert channels. 
  1177.      The setting of the default and current values of the randomization
  1178.      ranges for covert channels arising from the dynamic allocation or
  1179.      deallocation of indices in TCB tables. 
  1180.      4. Functions that perform the postprocessing of the audit data are
  1181.      necessary for any audit log analysis and, therefore, should be
  1182.      included in any trusted system. Although some of these functions are
  1183.      independent of the required audit analysis, such as the functions
  1184.      that retrieve various fields of the audit logs, most of these
  1185.      functions are specific to the postprocessing analysis required by
  1186.      specific applications. 
  1187.  
  1188.      In summary, the functions of the Auditor role may set up, access and
  1189.      modify the following types of databases: 
  1190.  
  1191.      ₧ audit log files containing full or partial records of audit events
  1192.      in binary or text formats; 
  1193.      ₧ audit event file containing the definition of all auditable events
  1194.      in the system; 
  1195.      ₧ selected-event file containing the definitions of all events
  1196.      selected on a per-user, per-process, per-security-level, per-object
  1197.      basis; 
  1198.      ₧ formatted or compressed audit files containing the input to the
  1199.      postprocessing phase; 
  1200.      ₧ audit report files. 
  1201.  
  1202. Access to the audit databases may be performed only by individuals who can
  1203. assume the Auditor role, using the commands defined for that role. Use of
  1204. Auditor commands must be audited For class B3 and above systems, the use
  1205. of Auditor commands must be through the trusted path mechanism. 
  1206.  
  1207. 5.5. FUNCTIONS OF THE OPERATOR
  1208.  
  1209. The security-relevant functions of the Operator role do not need all the
  1210. system privileges to operate properly. However, the Operator should be
  1211. able to change the authorization of his processes between System Low and
  1212. System High because he may need to operate at different security levels.
  1213. System Low is the security label that is dominated by all other security
  1214. labels in the system. In a sense, it is the lowest possible label. 
  1215.  
  1216. The (security-relevant) functions of the Operator are defined below.
  1217. Specifically, the Operator: 
  1218.  
  1219.      1. Performs user volume backup. This includes: 
  1220.           ₧ complete volume dumps; 
  1221.           ₧ complete volume retrievals. 
  1222.      2. Performs system performance metering. 
  1223.      3. Responds to various other user requests (request for the
  1224.      installation of user-level software packages, etc.). 
  1225.      4. Adjusts resource quotas for user-visible resources. 
  1226.  
  1227. 5.6. FUNCTIONS OF THE SYSTEM PROGRAMMER
  1228.  
  1229. The functions of the System Programmer role are the most
  1230. security-sensitive functions of the system. They may affect the TCB
  1231. configuration, distribution and maintenance. These functions are not
  1232. necessarily audited and, thus, any error, omission, or malicious act,
  1233. which affects the security of the entire system, may remain undetected.
  1234. (However, some form of auditing, possibly off-line, is still necessary in
  1235. some environments. Multiple Systems Programmers checking each others'
  1236. actions may also be required in some environments for the execution of the
  1237. System Programmer functions. Furthermore, a two-person rule may be
  1238. instituted or built into the login procedure requiring that a System
  1239. Programmer may not log in successfully unless another System Programmer is
  1240. also logging in). Thus, the System Programmer functions should have the
  1241. highest degree of trust in the system. The System Programmer functions may
  1242. include the following: 
  1243.  
  1244.      1. Trusted system distribution; for example, this includes the
  1245.      generation and handling of the site's system master copy. 
  1246.      2. Setting of system configuration parameters (as specified by the
  1247.      site's configuration management policy); for example, this includes: 
  1248.           ₧ generic system configuration; 
  1249.           ₧ initialization of the TCB data structures (before any security
  1250.           profiles or audit characteristics are defined); 
  1251.           ₧ loading of the TCB. 
  1252.      3. Nonroutine TCB maintenance; for example, this includes: 
  1253.           ₧ analysis of dumps; 
  1254.           ₧ installation of "patches" to the TCB code and data (for this
  1255.           the Operator should be able to recompile TCB code from modified
  1256.           source code and should use a trusted loader to reload the
  1257.           system); 
  1258.           ₧ trusted recovery actions after system crashes; for example the
  1259.           Operator performs consistency checks on the file system
  1260.           structure, on individual TCB files, directories and tables,
  1261.           repairs damaged labels; 
  1262.           ₧ repairs damaged security labels whenever this function is not
  1263.           provided by the Security Administrator role (damaged labels
  1264.           identified by Secure Operators or Users). 
  1265.           ₧ 
  1266.      The databases of the System Programmer include: 
  1267.  
  1268.      ₧ all TCB files (e.g., TCB code, security-map, auditor files); 
  1269.      ₧ all TCB tables (e.g., interrupt vectors, trap tables, gates). 
  1270.  
  1271. 5.7. OTHER ROLES
  1272.  
  1273. Other administrative roles can be defined in a secure system. For example,
  1274. in certain environments the role of the Analyst can be defined. An Analyst
  1275. may be an otherwise unprivileged user who is trusted to label imported
  1276. data from various system inputs, to create new files and label them as he
  1277. sees fit. The Analyst cannot label any data file with a security level
  1278. higher than his maximum clearance. All the Analyst's actions are audited
  1279. as are those of a normal user. 
  1280.  
  1281. When a system is tied into a network, additional roles may be necessary to
  1282. ensure consistency and accuracy of the network policy enforcement. Such
  1283. roles could involve additional security-relevant databases. 
  1284.  
  1285. 5.8. RELATIONSHIP AMONG ADMINISTRATIVE ROLES
  1286.  
  1287. The fine-grained separation of administrative roles defined above permits
  1288. the establishment of a hierarchical relationship among administrative
  1289. roles based on a notion of "role dominance" (not to be confused with the
  1290. notion of dominance among security or integrity levels). This notion
  1291. signifies the ability of an administrative user in a certain role to
  1292. change the attributes of objects and security profiles of users in other
  1293. roles and, if necessary, to log in and take actions in that role. 
  1294.  
  1295. Object attributes include: 
  1296.  
  1297.      ₧ access privileges; 
  1298.      ₧ size; 
  1299.      ₧ security and integrity levels; and 
  1300.      ₧ ownership. 
  1301.  
  1302. Profile attributes include: 
  1303.  
  1304.      ₧ user and group identifiers; 
  1305.      ₧ passwords; 
  1306.      ₧ group membership; and 
  1307.      ₧ time restrictions on user activity. 
  1308.  
  1309. The above notion of role dominance can be useful because it provides both
  1310. a measure of necessary trust (based on skills, on checking administrative
  1311. users' background and interests, etc.) that should be invested in a role
  1312. and a measure of vulnerability associated with that role. The most
  1313. privileged role is that of the System Programmer. It dominates all other
  1314. roles in the system and, consequently, it exhibits the highest degree of
  1315. vulnerability. The Auditor role should be strictly separated from all
  1316. other remaining roles defined in the system because it maintains sensitive
  1317. information describing the behavior of all users, including the
  1318. administrative ones. The Security Administrator dominates the Secure
  1319. Operator, Account Administrator, Analyst, and user roles; however, the
  1320. dominated roles are separated from each other. It must be noted that users
  1321. in the same role do not dominate each other. Although they share most
  1322. functions, privileges, and databases of the common role, their security
  1323. profiles are disjoint to allow individual accountability. This helps
  1324. distinguish the activities of individual users in the same role. Figure 4
  1325. illustrates the relationship among the administrative roles defined above.
  1326. The system could provide a "flat" set of roles, functions and privileges,
  1327. and the role relationships that could be managed administratively.
  1328. Implementations of hierarchical relationships among administrative roles
  1329. can benefit from the use of mandatory security and, especially, integrity
  1330. models. Mandatory integrity models, such as the Biba model [4] and the
  1331. Clark-Wilson model [8], could be used to guide the design of the
  1332. above-mentioned roles and hierarchical relationships, as discussed below. 
  1333.  
  1334. 6. IMPACT OF OTHER TCSEC REQUIREMENTS ON
  1335. TRUSTED FACILITY MANAGEMENT
  1336.  
  1337. The major areas of the TCSEC requirements (security policy,
  1338. accountability, assurance and documentation) impact on trusted facility
  1339. management. The design and implementation of the functions of various
  1340. administrative roles may use some of the security mechanisms and policies
  1341. of the underlying system to implement some of their special protection
  1342. requirements or may choose to implement new protection mechanisms and
  1343. policies. For example, the implementors of Security Administrator
  1344. functions may use the discretionary access control mechanisms or may
  1345. choose to implement to protect the Security Administrator databases from
  1346. other administrative users and from normal users. This section examines
  1347. the relationship of other TCSEC requirements to trusted facility
  1348. management. 
  1349.  
  1350. 6.1. SECURITY POLICY 
  1351.  
  1352. To support the system's security policies, the functions of trusted
  1353. facility management must control access to, and sharing of, administrative
  1354. data. Trusted processes implementing the security functions of the
  1355. Administrator's and Operator's role share files of the administrative
  1356. database in a variety of ways. Some files are private to each role and are
  1357. never shared with other roles, with other users of the same role, or with
  1358. nonadministrative trusted processes. For example, the security label map
  1359. file is private to the Security Administrator role, the audit log and the
  1360. postprocessing audit files are private to the Auditor role, and the
  1361. accounting files are private to the Account Administrator role. All such
  1362. files are shared among all users of the same role. Other files, such as
  1363. those containing the user and group registration, may be shared between
  1364. processes of different roles. These files may be read and written by
  1365. Security Administrator processes, and are read by Auditor, Secure Operator
  1366. and Account Administrator processes. Account Administrators and Operators
  1367. may perform special tasks, such as the collection of user and system
  1368. statistics and performance metering, for which they would create and
  1369. maintain private files (those not shared with others in the same role).
  1370. Furthermore, other files are shared between processes of an administrative
  1371. role and nonadministrative trusted processes. For example, the user
  1372. password file is read and written by the Security Administrator role, read
  1373. by the "login" trusted process, and read and written by the
  1374. "change-password" trusted process, which can be invoked by any user. 
  1375.  
  1376. To control access to administrative data and to implement the
  1377. above-mentioned sharing relationships among processes of the
  1378. administrative roles, the design and implementation of trusted facility
  1379. management may, or may not, rely on discretionary and mandatory access
  1380. controls of the underlying system. If they do, some processes implementing
  1381. role functions, which need to read and write files at all security levels
  1382. (e.g., Accounting, Auditor, and Secure Operator processes), would need to
  1383. bypass the mandatory access controls at least occasionally. Some other
  1384. processes will operate at the highest level in the system (e.g.,
  1385. accounting and audit processes) and maintain data files at this level
  1386. (e.g., audit log and postprocessing files, accounting files). 
  1387.  
  1388. Whenever the sharing relationships among programs and processes of the
  1389. administrative roles cannot be supported by existing mechanisms, new
  1390. mechanisms have to be introduced. For example, the association of specific
  1391. programs implementing administrative functions with roles may require the
  1392. implementation of restricted command processors, of restricted groups that
  1393. cannot be modified by the Security Administrator, or of other more complex
  1394. integrity mechanisms (discussed below). In all such cases, the design and
  1395. implementation of trusted facility management functions should follow
  1396. existing guidelines (see example,[9]). 
  1397.  
  1398. 6.2. ACCOUNTABILITY
  1399.  
  1400. The accountability requirements of the TCSEC impose several constraints on
  1401. the implementation of trusted facility management, in addition to the
  1402. separation of roles. First, the identification and authentication of all
  1403. administrative users must be unambiguous, and must be done on an
  1404. individual basis, not on a per-role basis. For example, if all users of a
  1405. role share the same password, accountability will be lost since any user
  1406. can take the identity of other users of the same role and commit acts of
  1407. intrusion attributable to those users. 
  1408.  
  1409. Second, the trusted-path mechanism for classes B3 and above must ensure
  1410. that the administrative users are connected to the commands or processes
  1411. that belong to their role, and that no other users or processes can
  1412. interpose themselves into the path connecting any combination of the
  1413. administrative users, their commands, and their processes. This can be
  1414. accomplished by providing administrative consoles recognized and separated
  1415. by the TCB hardware or software from the rest of the terminals, or by the
  1416. design of a full (i.e., B3-A1) trusted-path mechanism. 
  1417.  
  1418. Third, use of all administrative functions, other than those used by
  1419. System Programmers in maintenance mode, must be audited. This implies that
  1420. trusted programs and processes implementing these commands should be able
  1421. to request the writing of audit records during the execution of those
  1422. commands. In all areas of accountability, the design and implementation of
  1423. trusted facility management functions should follow existing guidelines
  1424. (see example, [7]). 
  1425.  
  1426. 6.3. ASSURANCE
  1427.  
  1428. The assurance requirements of the TCSEC have a significant impact on
  1429. trusted facility management both in the operational and in the life-cycle
  1430. areas. These requirements affect both the design and the implementation of
  1431. the trusted facility management functions. 
  1432.  
  1433. 6.3.1. Operational Assurance
  1434.  
  1435. The only relevant areas of operational assurance are the system
  1436. architecture and the trusted recovery areas. The covert channel analysis
  1437. area is not relevant here because (1) all users in security-relevant
  1438. administrative roles have been screened for this position of trust and are
  1439. therefore expected not to disclose information in an unauthorized way, and
  1440. (2) all code implementing administrative functions is reviewed to ensure,
  1441. to the largest possible extent, that no Trojan horses are present. The
  1442. system integrity requirements of the TCSEC are also irrelevant here as
  1443. they deal only with the test of proper hardware and firmware operation. 
  1444.  
  1445. The system architecture requirements impose major constraints on the
  1446. design of trusted facility management. Because all the security-relevant
  1447. and accountability functions of the administrative roles are part of a
  1448. system's TCB, all requirements of TCB interface definition apply to the
  1449. administrative interfaces. Similarly, all requirements of internal TCB
  1450. structuring, such as those of modularity, abstraction, information hiding,
  1451. and layering apply to the design and implementation code of the programs
  1452. and processes of trusted facility management. Careful analysis and
  1453. documentation of this design and implementation area, as well as careful
  1454. scrutiny by evaluators, is expected in this area. 
  1455.  
  1456. The application of the least privilege principle to the design of trusted
  1457. processes is also required of the administrative processes of the TCB.
  1458. Several specific design requirements should be observed here. First, the
  1459. protection of the administrative databases should be performed at the
  1460. granularity of individual files (or segments) and individual privileges.
  1461. (The term file is used here in a generic sense to represent a logically
  1462. small structure such that the structure does not include information
  1463. unrelated to the specific function). Second, programs and processes of the
  1464. administrative roles should have access only to the TCB and user files,
  1465. and to the privileged TCB calls, that are necessary for implementing those
  1466. roles, but to no other files or calls. Several design alternatives are
  1467. available in this area. For example, certain files should be associated
  1468. only with certain processes. Privileged TCB calls, which can be
  1469. represented by ring-gate descriptors [15,19], domain-entry capabilities
  1470. [13], or per-process privilege vectors corresponding to specific calls
  1471. [16,14], should be associated with processes only on an "as needed" basis.
  1472. These associations can be controlled by careful application of
  1473. nondiscretionary labels and authorizations at system configuration or
  1474. installation time. 
  1475.  
  1476. The only specific requirement of trusted recovery imposed on the design
  1477. and implementation of trusted facility management is that the consistency
  1478. of the administrative databases be maintained after system crashes. This
  1479. requirement can be satisfied by ensuring that : 
  1480.  
  1481.      ₧ these databases are stored on nonvolatile storage that survives
  1482.      system crashes; 
  1483.      ₧ that updates to such storage are atomic ; 
  1484.      ₧ that at least one of the administrative roles is equipped with
  1485.      commands for checking the consistency of the administrative file
  1486.      contents. Note that this could be a fully automated mechanism not
  1487.      requiring administrator interaction. 
  1488.  
  1489. 6.3.2. Life-Cycle Assurance
  1490.  
  1491. Most life-cycle assurance requirements apply to the processes and
  1492. interfaces of trusted facility management as stated. For example, security
  1493. testing, configuration management, and trusted distribution requirements
  1494. of the TCB apply to trusted facility management to the degree of rigor
  1495. commensurate with the chosen evaluation class. This is the case because
  1496. the TCB code and interfaces include the security-relevant code and
  1497. interfaces of trusted facility management. 
  1498.  
  1499. In contrast, only some of the requirements of the design specification and
  1500. verification area apply to the trusted facility management directly. For
  1501. example, the need for accurate DTLSs for the TCB interfaces applies as
  1502. stated. However, the requirements for a formal model, for an
  1503. interpretation of this model in the DTLSs of the trusted facility
  1504. management part of the TCB, and for a convincing argument that the DTLSs
  1505. are consistent with the model are not directly applicable here. The reason
  1506. for this is that no generally acceptable formal model of the trusted
  1507. facility management area exists to date. Should a generally acceptable
  1508. formal model become available, then all requirements of the design
  1509. specification and verification area would apply to trusted facility
  1510. management directly. 
  1511.  
  1512. 6.4. DOCUMENTATION
  1513.  
  1514. The documentation requirements of the TCSEC relevant to the trusted
  1515. facility management area are the trusted facility manual requirements in
  1516. section 3, the test documentation requirements, and some of the design
  1517. documentation [8]. In the design documentation area, only the requirements
  1518. referring to the DTLSs, TCB internal structuring, and enforcement of the
  1519. least privilege principle are relevant. 
  1520.  
  1521. GLOSSARY 
  1522.  
  1523. Access 
  1524.  
  1525. A specific type of interaction between a subject and an object that
  1526. results in the flow of information from one to the other. 
  1527.  
  1528. Account Administrator
  1529.  
  1530. An administrative role or user assigned to maintain accounting files,
  1531. tools, user accounts, and system statistics. 
  1532.  
  1533. Administrative User
  1534.  
  1535. A user assigned to supervise all or a portion of an AIS. 
  1536.  
  1537. Administrator
  1538.  
  1539. See Administrative User. 
  1540.  
  1541. Approval/Accreditation 
  1542.  
  1543. The official authorization that is granted to an AIS to process sensitive
  1544. information in its operational environment, based upon comprehensive
  1545. security evaluation of the system's hardware, firmware, and software
  1546. security design, configuration, and implementation and of the other system
  1547. procedural, administrative, physical, TEMPEST, personnel, and
  1548. communications security controls. 
  1549.  
  1550. Audit
  1551.  
  1552. To conduct the independent review and examination of system records and
  1553. activities. 
  1554.  
  1555. Audit Event Selection
  1556.  
  1557. Selection, by authorized personnel, of the auditable events that are to be
  1558. recorded on the audit trail. 
  1559.  
  1560. Audit Mechanism 
  1561.  
  1562. The processes used to collect, review, and/or examine system activities. 
  1563.  
  1564. Audit Postprocessing
  1565.  
  1566. Processing, under the control of authorized personnel, of specified events
  1567. that had been recorded on the audit trail. 
  1568.  
  1569. Audit Trail
  1570.  
  1571. A chronological record of system activities that is sufficient to enable
  1572. the reconstruction, reviewing, and examination of the sequence of
  1573. environments and activities surrounding or leading to an operation, a
  1574. procedure, or an event in a transaction from its inception to final
  1575. results. 
  1576.  
  1577. Auditable Event
  1578.  
  1579. Any event that can be selected for inclusion in the audit trail. These
  1580. events should include, in addition to security-relevant events, actions
  1581. taken to recover the system after failure and any events that might prove
  1582. to be security-relevant at a later time. 
  1583.  
  1584. Auditor
  1585.  
  1586. An authorized individual, or role, with administrative duties, which
  1587. include selecting the events to be audited on the system, setting up the
  1588. audit parameters which enable the recording of those events, and analyzing
  1589. the trail of audit events. 
  1590.  
  1591. Authenticate
  1592.  
  1593.      (1) To verify the identity of a user, device, or other entity in a
  1594.      computer system, often as a prerequisite to allowing access to
  1595.      resources in a system. 
  1596.      (2) To verify the integrity of data that have been stored,
  1597.      transmitted, or otherwise exposed to possible unauthorized
  1598.      modification. 
  1599.  
  1600. Authenticated User
  1601.  
  1602. A user who has accessed an AIS with a valid identifier and authentication
  1603. combination. 
  1604.  
  1605. Automated Information System (AIS) 
  1606.  
  1607. An assembly of computer hardware, software and/or firmware configured to
  1608. collect, create, communicate, compute, disseminate, process, store, and/or
  1609. control data or information. 
  1610.  
  1611. Bandwidth 
  1612.  
  1613. A characteristic of a communication channel that is the amount of
  1614. information that can be passed through it in a given amount of time,
  1615. usually expressed in bits per second. 
  1616.  
  1617. Category
  1618.  
  1619. A restrictive label that has been applied to classified or unclassified
  1620. data as a means of increasing the protection of the data and further
  1621. restricting access to the data. 
  1622.  
  1623. Channel
  1624.  
  1625. An information transfer path within a system. May also refer to the
  1626. mechanism by which the path is effected. 
  1627.  
  1628. Covert Channel 
  1629.  
  1630. A communication channel that allows a process to transfer information in a
  1631. manner that violates the system's security policy. See also: Covert
  1632. Storage Channel, Covert Timing Channel. 
  1633.  
  1634. Covert Storage Channel
  1635.  
  1636. A covert channel that involves the direct or indirect writing of a storage
  1637. location by one process and the direct or indirect reading of the storage
  1638. location by another process. Covert storage channels typically involve a
  1639. finite resource (e.g., sectors on a disk) that is shared by two subjects
  1640. at different security levels. 
  1641.  
  1642. Covert Timing Channel 
  1643.  
  1644. A covert channel in which one process signals information to another by
  1645. modulating its own use of system resources (e.g., CPU time) in such a way
  1646. that this manipulation affects the real response time observed by the
  1647. second process. 
  1648.  
  1649. Data
  1650.  
  1651. Information with a specific physical representation. 
  1652.  
  1653. Data Integrity
  1654.  
  1655. The property that data meet an a priori expectation of quality. 
  1656.  
  1657. Descriptive Top-Level Specification (DTLS) 
  1658.  
  1659. A top-level specification that is written in a natural language (e.g.,
  1660. English), an informal program design notation, or a combination of the
  1661. two. 
  1662.  
  1663. Discretionary Access Control
  1664.  
  1665. A means of restricting access to objects based on the identity and
  1666. need-to-know of the user, process and/or groups to which they belong. The
  1667. controls are discretionary in the sense that a subject with a certain
  1668. access permission is capable of passing that permission (perhaps
  1669. indirectly) on to any other subject. 
  1670.  
  1671. Formal Security Policy Model 
  1672.  
  1673. A mathematically precise statement of a security policy. 
  1674.  
  1675. To be adequately precise, such a model must represent the initial state of
  1676. a system, the way in which the system progresses from one state to
  1677. another, and a definition of a "secure" state of the system. To be
  1678. acceptable as a basis for a TCB, the model must be supported by a formal
  1679. proof that if the initial state of the system satisfies the definition of
  1680. a "secure" state and if all assumptions required by the model hold, then
  1681. all future states of the system will be secure. Some formal modeling
  1682. techniques include: state transition models, temporal logic models,
  1683. denotational semantics models, and algebraic specification models. 
  1684.  
  1685. Formal Top-Level Specification (FTLS) 
  1686.  
  1687. A Top-Level Specification that is written in a formal mathematical
  1688. language to allow theorems showing the correspondence of the system
  1689. specification to its formal requirements to be hypothesized and formally
  1690. proven. 
  1691.  
  1692. Functional Testing 
  1693.  
  1694. The segment of security testing in which the advertised features of a
  1695. system are tested, under operational conditions, for correct operation. 
  1696.  
  1697. Least Privilege 
  1698.  
  1699. The principle that requires that each subject be granted the most
  1700. restrictive set of privileges needed for the performance of authorized
  1701. tasks. The application of this principle limits the damage that can result
  1702. from accident, error, or unauthorized use. 
  1703.  
  1704. Mandatory Access Control 
  1705.  
  1706. A means of restricting access to objects based on the sensitivity (as
  1707. represented by a label) of the information contained in the objects and
  1708. the formal authorization (i.e., clearance) of subjects to access
  1709. information of such sensitivity. 
  1710.  
  1711. Multilevel Device 
  1712.  
  1713. A device that is used in a manner that permits it to process data
  1714. simultaneously of two or more security levels without risk of compromise.
  1715. To accomplish this, sensitivity labels are normally stored on the same
  1716. physical medium and in the same form (i.e., machine-readable or
  1717. human-readable) as the data being processed. 
  1718.  
  1719. Multilevel Secure
  1720.  
  1721. A class of system containing information with different sensitivities that
  1722. simultaneously permits access by users with different security clearances
  1723. and needs-to-know, but prevents users from obtaining access to information
  1724. for which they lack authorization. 
  1725.  
  1726. Object
  1727.  
  1728. A passive entity that contains or receives information. 
  1729.  
  1730. Access to an object potentially implies access to the information it
  1731. contains. Examples of objects are: records, blocks, pages, segments,
  1732. files, directories, directory trees, and programs, as well as bits, bytes,
  1733. words, fields, processors, video displays, keyboards, clocks, printers,
  1734. network nodes, etc. 
  1735.  
  1736. Object-Unique Names
  1737.  
  1738. The unique name that identifies and distinguishes a particular object from
  1739. all other objects in a system. In a hierarchical file system, the
  1740. object-unique name includes the associated directory names so users can
  1741. use the same name for objects in different directories. 
  1742.  
  1743. Operator
  1744.  
  1745. An administrative role or user assigned to perform routine maintenance
  1746. operations of the AIS and to respond to routine user requests. 
  1747.  
  1748. Output
  1749.  
  1750. Information that has been exported by a TCB. 
  1751.  
  1752. Password
  1753.  
  1754. A protected/private character string that is used to authenticate an
  1755. identity. 
  1756.  
  1757. Process
  1758.  
  1759. A program in execution. It is completely characterized by a single current
  1760. execution point (represented by the machine state) and address space. 
  1761.  
  1762. Read
  1763.  
  1764. A fundamental operation that results only in the flow of information from
  1765. an object to a subject. 
  1766.  
  1767. Read Access (Read Privilege) 
  1768.  
  1769. Permission to read information. 
  1770.  
  1771. Secure Operator
  1772.  
  1773. An administrative role (or user) assigned to perform those aspects of the
  1774. Operator role that can affect the security relevant data used by the TCB
  1775. to enforce its policy (e.g., notifying the TCB of the security label of a
  1776. newly mount ed tape). 
  1777.  
  1778. Security Administrator
  1779.  
  1780. An administrative role (or user) responsible for the security of an
  1781. Automated Information System and having the authority to enforce the
  1782. security safeguards on all others who have access to the Automated
  1783. Information System (with the possible exception of the Auditor). Also
  1784. called System Administrator. 
  1785.  
  1786. Security Label Map
  1787.  
  1788. A map defining the correspondence between the binary and ASCII formats of
  1789. security levels (e.g., between binary format of security levels and
  1790. sensitivity labels). 
  1791.  
  1792. Security Level 
  1793.  
  1794. The combination of a hierarchical classification and a set of
  1795. nonhierarchical categories that represents the sensitivity of information.
  1796.  
  1797. Security Policy
  1798.  
  1799. The set of laws, rules, and practices that regulate how an organization
  1800. manages, protects, and distributes sensitive information. 
  1801.  
  1802. Security Policy Model
  1803.  
  1804. A formal presentation of the security policy enforced by the system. It
  1805. must identify the set of rules and practices that regulate how a system
  1806. manages, protects, and distributes sensitive information. 
  1807.  
  1808. Security-Relevant Event
  1809.  
  1810. Any event that attempts to change the security state of the system, (e.g.,
  1811. change discretionary access controls, change the security level of the
  1812. subject, change user password, etc.). Also, any event that attempts to
  1813. violate the security policy of the system (e.g., too many attempts to
  1814. login, attempts to violate the mandatory access control limits of a
  1815. device, attempts to downgrade a file, etc.). 
  1816.  
  1817. Security Testing
  1818.  
  1819. A process used to determine that the security features of a system are
  1820. implemented as designed. This includes hands-on functional testing,
  1821. penetration testing, and verification. 
  1822.  
  1823. Sensitive Information
  1824.  
  1825. Information that, as determined by a competent authority, must be
  1826. protected because its unauthorized disclosure, alteration, loss, or
  1827. destruction will at least cause perceivable damage to someone or
  1828. something. 
  1829.  
  1830. Sensitivity Label
  1831.  
  1832. A piece of information that represents the security level of an object and
  1833. that describes the sensitivity (e.g., classification) of the data in the
  1834. object. Sensitivity labels are used by the TCB as the basis for mandatory
  1835. access control decisions. 
  1836.  
  1837. Separation of Privilege
  1838.  
  1839. The separation of functions, namely between the commands, programs, and
  1840. interfaces implementing those functions, such that malicious or erroneous
  1841. code in one function is prevented from affecting the code or data of
  1842. another function. 
  1843.  
  1844. Spoofing 
  1845.  
  1846. An attempt to gain access to a system by posing as an authorized user.
  1847. Also called masquerading or mimicking. 
  1848.  
  1849. Subject
  1850.  
  1851. An active entity, generally in the form of a person, process, or device
  1852. that causes information to flow among objects or changes the system state.
  1853. Technically, a process/domain pair. 
  1854.  
  1855. Subject Security Level
  1856.  
  1857. A subject's security level is equal to the security level of the objects
  1858. to which it has both Read and Write access. A subject's security level
  1859. must always be dominated by the clearance of its associated user. 
  1860.  
  1861. System Administrator
  1862.  
  1863. See Security Administrator. 
  1864.  
  1865. System High
  1866.  
  1867. The security label that dominates all other security labels in the system.
  1868. In a sense, it is the highest possible label. 
  1869.  
  1870. System Low 
  1871.  
  1872. The lowest security level supported by a system at a particular time or in
  1873. a particular environment. 
  1874.  
  1875. System Programmer
  1876.  
  1877. An administrative role (or user) responsible for trusted system
  1878. distribution, configuration, installation, and nonroutine maintenance. 
  1879.  
  1880. Top-Level Specification (TLS)
  1881.  
  1882. A nonprocedural description of system behavior at the most abstract level;
  1883. typically, a functional specification that omits all implementation
  1884. details. 
  1885.  
  1886. Trap Door
  1887.  
  1888. A hidden software or hardware mechanism that can be triggered to permit
  1889. system protection mechanisms to be circumvented. It is activated in some
  1890. innocent-appearing manner; e.g., a special "random" key sequence at a
  1891. terminal. Software developers often introduce trap doors in their code to
  1892. enable them to reenter the system and perform certain functions.
  1893. Synonymous with back door. 
  1894.  
  1895. Trojan Horse
  1896.  
  1897. A computer program with an apparently or actually useful function that
  1898. contains additional (hidden) functions that surreptitiously exploit the
  1899. legitimate authorizations of the invoking process to the detriment of
  1900. security or integrity. 
  1901.  
  1902. Trusted Computer System 
  1903.  
  1904. A system that employs sufficient hardware and software assurance measures
  1905. to allow its use for processing simultaneously a range of sensitive or
  1906. classified information. 
  1907.  
  1908. Trusted Computing Base (TCB)
  1909.  
  1910. The totality of protection mechanisms within a computer system-including
  1911. hardware, firmware, and software-the combination of which is responsible
  1912. for enforcing a security policy. A TCB consists of one or more components
  1913. that together enforce a unified security policy over a product or system.
  1914. The ability of a TCB to enforce correctly a unified security policy
  1915. depends solely on the mechanisms within the TCB and on the correct input
  1916. by system administrative personnel of parameters (e.g., a user's clearance
  1917. level) related to the security policy. 
  1918.  
  1919. Trusted Path
  1920.  
  1921. A mechanism by which a person at a terminal can communicate directly with
  1922. the Trusted Computing Base. This mechanism can only be activated by the
  1923. person or the Trusted Computing Base and cannot be imitated by untrusted
  1924. software. 
  1925.  
  1926. User
  1927.  
  1928. Person or process accessing an AIS either by direct connections (i.e., via
  1929. terminals), or indirect connections (i.e., prepare input data or receive
  1930. output that is not reviewed for content or classification by a responsible
  1931. individual). 
  1932.  
  1933. Verification
  1934.  
  1935. The process of comparing two levels of system specification for proper
  1936. correspondence (e.g., security policy model with top-level specification,
  1937. top-level specification with source code, or source code with object
  1938. code). This process may or may not be automated. 
  1939.  
  1940. Virus
  1941.  
  1942. A self-propagating Trojan horse, composed of a mission component, a
  1943. trigger component, and a self-propagating component. 
  1944.  
  1945. Vulnerability
  1946.  
  1947. A weakness in system security procedures, system design, implementation,
  1948. internal controls, etc., that could be exploited to violate system
  1949. security policy. 
  1950.  
  1951. Write
  1952.  
  1953. A fundamental operation that results only in the flow of information from
  1954. a subject to an object. 
  1955.  
  1956. Write Access (Write Privilege) 
  1957.  
  1958. Permission to write an object. 
  1959.  
  1960. REFERENCES 
  1961.  
  1962.      1. Baldwin, R. W., "Rule-Based Analysis of Computer Security,"
  1963.      Technical Report MIT/LCS/TR-401, March 1988. 
  1964.      2. Bell, D.E., and L. J. LaPadula, "Secure Computer System: Unified
  1965.      Exposition and Multics Interpretation," MITRE Corp., Rep. No.
  1966.      MTR-2997, 1976 (available as NTIS AD-A023588). 
  1967.      3. Biba, K.J., "Integrity Considerations for Secure Computer
  1968.      Systems," Mitre Corp., MTR-3153, Bedford, Mass., June 1975. 
  1969.      4. Bishop, M., "How to Write a Setuid Program"; login, vol. 12, no. 
  1970.      1, January/February 1987. 
  1971.      5. Bishop M., "Managing Superuser Privileges under Unix," Research
  1972.      Institute for Advanced Computer Science, Technical Report, NASA Ames
  1973.      Research Center, Moffet Field, California, (June 1986). 
  1974.      6. Clark, D.D., and D. R. Wilson, "A Comparison of Commercial and
  1975.      Military Computer Security Policies," Proc. of the IEEE Symp. on
  1976.      Security and Privacy, Oakland, Calif., April 1987. 
  1977.      7. Department of Defense-A Guide To Understanding Audit In Trusted
  1978.      Systems, NCSC-TG-001, version-1, July 1987. 
  1979.      8. Department of Defense-A Guide To Understanding Design
  1980.      Documentation In Trusted Systems, NCSC-TG-007, version-1, October
  1981.      1988. 
  1982.      9. Department of Defense, A Guide to Understanding Discretionary
  1983.      Access Control in Trusted Systems, NCSC-TG-003, version-1, September
  1984.      1987. 
  1985.      10. Department of Defense, Password Management Guideline,
  1986.      CSC-STD-002-85, April 1985. 
  1987.      11. Department of Defense, Trusted Computer System Evaluation
  1988.      Criteria, DoD 5200.28-STD, December 1985. 
  1989.      12. Gligor V.D., C.S. Chandersekaran, R.S. Chapman, L.J. Dotterer,
  1990.      M.S. Hecht, W.D. Jiang, A. Johri, G.L. Luckenbaugh, and N. Vasudevan,
  1991.      "Design and Implementation of Secure Xenix," IEEE Trans. on Software
  1992.      Engineering, vol. SE-13, No. 2, February 1986. 
  1993.      13. Gligor V. D., J.C. Huskamp, S.R. Welke, C. J. Linn, and W.T. 
  1994.      Mayfield, "Traditional Capability-Based Systems: An Analysis of their
  1995.      Ability to Meet the Trusted Computer Security Evaluation Criteria," 
  1996.      Institute for Defense Analyses, IDA Paper P-1935, February 1987 
  1997.      14. Hecht M.S., M.E. Carson, C.S. Chandersekaran, R.S. Chapman, L.J. 
  1998.      Dotterer, V.D. Gligor, W.D. Jiang, A. Johri, G.L. Luckenbaugh, and N.
  1999.      Vasudevan, "Unix Without the Superuser," Proc. of the Usenix
  2000.      Conference, Phoenix, Arizona, June 1987. 
  2001.      15. Intel Corp., iAPX 286 Programmers Reference Manual, Chapter 7,
  2002.      section 5, Intel Corp., 1983. 
  2003.      16. Knowles, F., and S. Bunch, "A Least Privilege Mechanism for
  2004.      Unix," Proc. of the 10th National Computer Security Conference,
  2005.      Baltimore, MD., September 1987. 
  2006.      17. Lee, T.M.P., "Using Mandatory Integrity to Enforce 'Commercial'
  2007.      Security," Proc. of the IEEE Symp. on Security and Privacy, Oakland,
  2008.      Calif., 1988. 
  2009.      18. Saltzer, J. H., and M. D. Schroeder, "The Protection and Control
  2010.      of Information Sharing in Computer Systems," Proc. of the IEEE, vol.
  2011.      63, no. 9, September 1975. 
  2012.      19. Schroeder, M.D. and J.H. Saltzer, "A Hardware Architecture for
  2013.      Implementing Protection Rings," Communications of the ACM, vol. 15,
  2014.      no. 3, March 1972. 
  2015.      20. Thompson, K., "Reflections on Trusting Trust," Turing Award
  2016.      Lecture, Communications of the ACM, vol. 27, no. 8, August 1984.. 
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.