home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / hacking / general / brwnbook.txt < prev    next >
Encoding:
Text File  |  2003-06-11  |  95.4 KB  |  2,376 lines

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