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

  1.  
  2.                                         
  3.                                         
  4.        NCSC*TG*019
  5.                                         
  6.                                     Lib
  7. rary No. S*232,458
  8.  
  9.  FOREWORD 
  10.  
  11.     
  12. The Trusted Product Evaluation Questionnaire is the latest in a series of 
  13. technical documents that are being published by the National Computer 
  14. Security Center under the Technical Guidelines Programs.  It is the goal 
  15. of the Technical Guidelines Program to assure that each process in the 
  16. Trusted Product Evaluation Program and the features of the Department of 
  17. Defense Trusted Computer Systems Evaluation Criteria will be discussed in 
  18. detail and provide the proper interpretations with specific guidance.  
  19. These publications are designed to provide insight to the Department of 
  20. Defense Trusted Computer Systems Evaluation Criteria requirements for the 
  21. computer security vendor and developer, as well as the technical 
  22. evaluator.   
  23.  
  24. The specific questions in the Trusted Product Evaluation Questionnaire 
  25. provide a set of good practices related to necessary system security and 
  26. system security documentation.  This questionnaire has been written to 
  27. help the vendor understand what technical information is required 
  28. concerning the system for a product evaluation.  From the vendor's 
  29. responses, the evaluator may obtain an understanding of the security of 
  30. the system applying for evaluation.
  31.  
  32. As the Director, National Computer Security Center, I invite your 
  33. recommendations for revision to this technical guideline.  We plan to 
  34. review this document when the need arises.
  35.  
  36.  
  37. ________________
  38. Patrick R. Gallagher, 
  39. Jr.                                        
  40.             16 October 1989
  41. Director
  42. National Computer Security Center
  43.  
  44.  ACKNOWLEDGMENTS 
  45.  
  46. The National Computer Security Center extends special recognition to 
  47. Santosh Chokhani, Ph.D. and Harriet Goldman as the primary authors of this 
  48. document, and to MAJ James P. Gordon (US Army) and LT Patricia R. Toth (US 
  49. Navy) for the development and publication of this guideline.
  50.  
  51. We wish to thank the many members of the computer security community, who 
  52. enthusiastically gave of their time and technical expertise in reviewing 
  53. this questionnaire and providing valuable comments and suggestions.
  54.  
  55. CONTENTS
  56.  
  57. FOREWORD    i
  58.  
  59. ACKNOWLEDGMENTS    ii
  60.  
  61. INTRODUCTION    1
  62.  
  63.     1. PURPOSE    1
  64.  
  65.     2. SCOPE    2
  66.  
  67. QUESTIONNAIRE    4
  68.  
  69.     1. SUBJECTS    4
  70.  
  71.     2. OBJECTS    6
  72.  
  73.     3. HARDWARE ARCHITECTURE    8
  74.  
  75.     4. SOFTWARE    10
  76.  
  77.     5. IDENTIFICATION & AUTHENTICATION (I&A)    14
  78.  
  79.     6. OBJECT REUSE    16
  80.  
  81.     7. DISCRETIONARY ACCESS CONTROL (DAC) POLICY    17
  82.  
  83.     8. LABELS    20
  84.  
  85.     9. MANDATORY ACCESS CONTROL (MAC)    25
  86.  
  87.     10. INTEGRITY    26
  88.  
  89.     11. AUDIT    28
  90.  
  91.     12. MODELING AND ANALYSIS    32
  92.  
  93.     13. TESTING    34
  94.  
  95.     14. OTHER ASSURANCES    37
  96.  
  97.     15. OTHER DOCUMENTATION    40
  98.  
  99. GLOSSARY    43
  100.  
  101. REFERENCES    54
  102.  INTRODUCTION 
  103.  
  104. The principal goal of the National Computer Security Center (NCSC) is to 
  105. encourage the widespread availability of trusted computer systems.  In 
  106. support of this goal a metric was created, the Department of Defense 
  107. Trusted Computer System Evaluation Criteria (TCSEC), against which 
  108. computer systems could be evaluated.  The TCSEC was originally published 
  109. on 15 August 1983 as CSC*STD*001*83.  In December 1985 the DoD adopted it, 
  110. with a few changes, as a DoD Standard, DoD 5200.28*STD.  DoD Directive 
  111. 5200.28, "Security Requirements for Automatic Information Systems (AISs)," 
  112. has been written to require, among other things, the Department of Defense 
  113. Trusted Computer System Evaluation Criteria to be used throughout the DoD. 
  114.  The TCSEC is the standard used for evaluating the effectiveness of 
  115. security controls built into ADP systems.  The TCSEC is divided into four 
  116. divisions:  D, C, B, and A, ordered in a hierarchical manner with the 
  117. highest division (A) being reserved for systems providing the best 
  118. available level of assurance.  Within divisions C, B, and A there are 
  119. subdivisions known as classes, which are also ordered in a hierarchical 
  120. manner to represent different levels of security in these classes.
  121.  
  122. The NCSC has established an aggressive program to study and implement 
  123. computer security technology and to encourage the widespread availability 
  124. of trusted computer products for use by any organization desiring better 
  125. protection of their important data.  The Trusted Product Evaluation 
  126. Program and the open and cooperative business relationship being forged 
  127. with the computer and telecommunications industries will result in the 
  128. fulfillment of our country's computer security requirement.  We are 
  129. resolved to meet the challenge of identifying trusted computer products 
  130. suitable for use in processing all types and classifications of 
  131. information.
  132.  
  133.  
  134.   1. PURPOSE  
  135.  
  136. The NCSC is responsible for evaluating commercial products through an 
  137. independent evaluation based on TCSEC requirements by a qualified team of 
  138. experts and maintaining a list of those products on the Evaluated Products 
  139. List (EPL).  To accomplish this mission, the NCSC Trusted Product 
  140. Evaluation Program has been established to assist vendors in developing, 
  141. testing, and evaluating trusted products for the EPL.
  142.  
  143. During the evaluation process, the TCSEC for classes C1 through A1 
  144. requires a determination that the security features of a system are 
  145. implemented as designed and that they are adequate for the specified level 
  146. of trust.  In addition, the TCSEC also requires documentation to support a 
  147. system's security.  During the various phases of the evaluation process, 
  148. the vendor supplies to an evaluation team certain information on system 
  149. security and documentation.  The purpose of the Trusted Product Evaluation 
  150. Questionnaire (product questionnaire) is to assist system developers and 
  151. vendors as a data gathering tool for *formalizing the data gathering 
  152. process for the various phases of the Trusted Products Evaluation process. 
  153.  
  154.  
  155. Examples in this document are not to be construed as the only 
  156. implementations that may answer the questionnaire.  The examples are 
  157. suggestions of appropriate implementations.  The recommendations in this 
  158. document are also not to be construed as supplementary requirements to the 
  159. questionnaire.
  160.  
  161.  
  162.   2. SCOPE  
  163.  
  164. The questionnaire will address the TCSEC Criteria Classes C1 thru A1.  In 
  165. an effort to gather a better understanding of the system security, some 
  166. questions in the questionnaire address information in addition to that 
  167. required in the Department of Defense Trusted Computer Systems Evaluation 
  168. Criteria.  This document is organized by Criteria class subject area.  The 
  169. information provided in the questionnaire by the vendor is to assist the 
  170. evaluator in obtaining an initial understanding of the system applying for 
  171. evaluation and its security features of the respective Criteria class.  
  172. The product questionnaire is not a statement of requirements, just an 
  173. information gathering tool.  This questionnaire should give the vendor an 
  174. idea of the information required by the evaluator during the evaluation 
  175. process and prepare the vendor for additional information necessary by the 
  176. evaluation team later on in the evaluation process.
  177.  
  178. The questionnaire will be initially sent out to the vendor prior to the 
  179. Preliminary Technical Review (PTR).  The vendor can point to appropriate 
  180. documents for the answers.  The vendor need not answer the questions that 
  181. are not pertinent.  Some of the questions may be applicable at the later 
  182. stages of the evaluation process and thus may be deferred until the 
  183. appropriate time.  The vendor will send a completed questionnaire to NCSC 
  184. prior to the PTR.  The PTR team will evaluate the vendor contribution and 
  185. determine which information needs further elaboration.  The PTR team will 
  186. use the questionnaire during the PTR to seek additional information used 
  187. later on in the evaluation process.  When an evaluation team has reached 
  188. the Design Analysis and IPAR preparation phase, it will use the 
  189. questionnaire to seek specific references in vendor documentation for 
  190. further details on the answers to these questions.
  191.  
  192. The document is to provide the evaluator an understanding of the various 
  193. hardware and software configurations, architecture and design, testing, 
  194. and documentation, system security features and their applicability to 
  195. security and accountability policy, Trusted Computing Base (TCB) isolation 
  196. and noncircumventability, and covert channel analysis methods.  Also this 
  197. questionnaire may request information on penetration testing and 
  198. specification-to-code correspondence.
  199.  
  200. This questionnaire is designed for the operating systems only.  This 
  201. questionnaire does not address networks, subsystems nor data base 
  202. management.
  203.  
  204. For definition and clarification of the terms used in this document, 
  205. please see the Glossary section of the Department of Defense Trusted 
  206. Computer System Evaluation Criteria (DOD 5200.28*STD) and Glossary of 
  207. Computer Security Terms (NCSC*TG*004).
  208.  
  209. Review of this document will occur periodically or when the need arises.  
  210. Address all proposals for revision through appropriate channels to:
  211.  
  212.                                     Nat
  213. ional Computer Security Center
  214.                                     980
  215. 0 Savage Road
  216.                                     For
  217. t George G. Meade, MD 20755-6000
  218.  
  219.                                     Att
  220. ention:    Chief, Criteria and Technical Guidelines Division
  221.  
  222.  
  223.  QUESTIONNAIRE 
  224.  
  225.   1. SUBJECTS  
  226.  
  227. A subject is an active entity in the system, generally in the form of a 
  228. person, process, or device that causes information to flow among objects 
  229. or changes the system state.  A subject can be viewed as a process/domain 
  230. pair whose access controls are checked prior to granting the access to 
  231. objects.
  232.  
  233.     1.    What are the subjects in your system? 
  234.  
  235.  
  236.  
  237.     2.    When and how are the subjects created?  (For example, they 
  238. can be created or activated when a user logs on or when a process is 
  239. spawned.)
  240.  
  241.  
  242.  
  243.     3.    When and how are the subjects destroyed?  (For example, 
  244. they can be destroyed or deactivated when a process terminates or when the 
  245. user logs off.)
  246.  
  247.  
  248.  
  249.     4.    What are the security attributes of a subject?  (Examples 
  250. of security attributes are user name, group id, sensitivity level, etc.)  
  251. For each type of subject in your system (i.e. user, process, device), what 
  252. mechanisms are available to define and modify these attributes?  Who can 
  253. invoke these mechanisms?
  254.  
  255.  
  256.  
  257.     5.    What are other privileges a subject can have?  (Examples 
  258. of privileges are: super user, system operator, system administrator, etc. 
  259.  Your operating system may assign numerous other privileges to the 
  260. subjects, such as the ability to use certain devices.)  For each type of 
  261. subject in your system, what mechanisms are available to define and modify 
  262. these privileges?  Who can invoke these mechanisms?  Provide a list of 
  263. subjects within the TCB boundary and the list of privileges for each of 
  264. them.
  265.  
  266.  
  267.  
  268.     6.    When a subject is created, where do its security 
  269. attributes and privileges originate, i.e., how are the security attributes 
  270. and privileges inherited?  (Questions about security attributes and 
  271. privileges will be asked later.  For example, a subject may inherit a 
  272. subset of attributes and privileges of the invoking process or the user.)
  273.  
  274.  
  275.  
  276.   2. OBJECTS  
  277.  
  278. Examples of objects in a system are directories, files, segments, 
  279. processes, devices, etc.
  280.  
  281.     7.    List the objects in your system that are protected by the 
  282. Discretionary Access Control (DAC) mechanisms.
  283.  
  284.  
  285.  
  286.     8.    List the objects in your system that are protected by the 
  287. Mandatory Access Control (MAC) mechanisms.
  288.  
  289.  
  290.  
  291.     9.    List the objects that are not protected by either the DAC 
  292. or the MAC mechanism.  Why are they not protected by the DAC or the MAC?  
  293. Describe other mechanisms used to isolate and protect these objects.
  294.  
  295.  
  296.  
  297.     10.    List other shared resources which are not protected by the 
  298. DAC or the MAC mechanism.  (Examples include print queues, interprocess 
  299. communications, etc.)  Why are they not protected by the DAC or the MAC?  
  300. Describe the mechanisms that are used to isolate and protect these 
  301. resources.
  302.  
  303.  
  304.  
  305.     11.    How are the various types of objects created (e.g., 
  306. directories, files, devices)?
  307.  
  308.  
  309.  
  310.     12.    How are the various types of objects destroyed?
  311.  
  312.  
  313.  
  314. 13.        Provide a list of objects within the TCB (e.g., 
  315. authentication database, print queues).
  316.  
  317.  
  318.  
  319.   3. HARDWARE ARCHITECTURE  
  320.  
  321. If this evaluation is for a family of hardware, the following questions 
  322. (14-24) should be answered for each member of the hardware family.  You 
  323. may choose to answer each question for each member of the family, or 
  324. answer each question for a baseline family member and point out the 
  325. difference for each of the remaining family members.
  326.  
  327. 14.        Provide a high-level block diagram of the system.  The 
  328. diagram should depict various Central Processor Units (CPUs), memory 
  329. controllers, memory, I/O processors, I/O controllers, I/O devices (e.g. 
  330. printers, displays, disks, tapes, communications lines) and relationships 
  331. (both control flow and data flow) among them.
  332.  
  333.  
  334.  
  335. 15.        Provide a high-level block diagram of a CPU. The diagram 
  336. should explain the relationship among the following elements: Instruction 
  337. Processor, Microsequencer, Microengine, Memory, Cache, Memory Mapping or 
  338. Address Translation Unit, I/O devices and interfaces.
  339.  
  340.  
  341.  
  342. 16.        Provide a list of privileged instructions for your 
  343. hardware.  Provide a brief description of each privileged instruction.
  344.  
  345.  
  346.  
  347. 17.        For each privileged instruction, provide the privileges 
  348. required to execute the instruction.  (Examples of privileges include the 
  349. machine state, the executing ring/segment, physical memory location of the 
  350. instruction, etc.)
  351.  
  352.  
  353.  
  354. 18.        How does the process address translation (logical/virtual 
  355. to physical) work in your system?
  356.  
  357.  
  358.  
  359. 19.        How does I/O processing address translation work for the 
  360. Direct Memory Access (DMA) controllers/devices?  Identify if the address 
  361. translation is done through the memory address translation unit or if the 
  362. logic is part of the controller.  How are the address translation maps 
  363. and/or tables initialized?
  364.  
  365.  
  366.  
  367. 20.        Describe the hardware protection mechanisms provided by 
  368. the system.
  369.  
  370.  
  371.  
  372. 21.        Describe the isolation mechanisms for the process memory.  
  373. Two possible techniques are rings and segments.
  374.  
  375.  
  376. 22.        Provide a description of the process address space.  When 
  377. and how is it formed?
  378.  
  379.  
  380.  
  381. 23.        What are the machine/processor states supported by the 
  382. system?  How are the states changed?  What data structures are saved as 
  383. part of the processor state?
  384.  
  385.  
  386.  
  387. 24.        List all the interrupts and traps (hardware and software). 
  388.  How are they serviced by the system?
  389.  
  390.  
  391.  
  392.   4. SOFTWARE  
  393.  
  394. The TCB software consists of the elements that are involved in enforcing 
  395. the system security policy.  Examples of the TCB elements include: kernel, 
  396. interrupt handlers, process manager, I/O handlers, I/O manager, 
  397. user/process interface, hardware diagnostics, hardware exercisers, and 
  398. command languages/interfaces (for system generation, operator, 
  399. administrator, users, etc.).  The security kernel consists of the 
  400. hardware, firmware and software elements of the TCB that are involved in 
  401. implementing the reference monitor concept, i.e., the ones that mediate 
  402. all access to objects by subjects.
  403.  
  404. 25.        Provide a description and architecture of the Trusted 
  405. Computing Base (TCB) at the element level.
  406.  
  407.  
  408.  
  409. 26.        Describe the interfaces (control and data flow) among the 
  410. TCB elements.
  411.  
  412.  
  413.  
  414. 27.        Describe the interface between the kernel and the rest of 
  415. the TCB elements.
  416.  
  417.  
  418.  
  419. 28.        Describe the interface between the TCB and user processes 
  420. that are outside the TCB.
  421.  
  422.  
  423.  
  424. 29.        Describe the hardware ring/memory segment/physical 
  425. location where each TCB element resides.
  426.  
  427.  
  428.  
  429. 30.        Describe the hardware ring/memory segment/physical 
  430. location where the user processes reside.
  431.  
  432.  
  433.  
  434. 31.        List software mechanisms that are used to isolate and 
  435. protect the TCB and the user processes.  Provide a brief description of 
  436. each mechanism.
  437.  
  438.  
  439.  
  440. 32.        List all the privileges a process can have.  Include the 
  441. privileges based on the process or user profile, process or user name, or 
  442. process or user identification.
  443.  
  444.  
  445.  
  446. 33.        How is a process created?  How is a process destroyed?
  447.  
  448.  
  449.  
  450. 34.        How are a process's privileges determined?
  451.  
  452.  
  453.  
  454. 35.        Describe various elements of the process address space and 
  455. their location in terms of ring/segment/physical memory.
  456.  
  457.  
  458.  
  459. 36.        Describe the process states.  (Examples of process states 
  460. are active, ready for execution, suspended, swapped out, etc.)
  461.  
  462.  
  463.  
  464. 37.        Describe how these states are manipulated by the TCB.
  465.  
  466.  
  467.  
  468. 38.        Describe the data structures for a process context.  
  469. Describe both hardware and software mechanisms used to manipulate/switch 
  470. the process context.
  471.  
  472.  
  473.  
  474. 39.        Describe process scheduling.
  475.  
  476.  
  477.  
  478. 40.        Describe all interprocess communications mechanisms.
  479.  
  480.  
  481.  
  482. 41.        Describe the file management system.  This should include: 
  483. the directory hierarchy, if any, directory and file attributes.  Also 
  484. identify all system directories and files, and their access attributes.
  485.  
  486.  
  487.  
  488. 42.        Describe how the devices and their queues are managed.  
  489. Examples of devices include tape drives, non-file-system disks, printers, 
  490. etc.
  491.  
  492.  
  493.  
  494. 43.        How are the batch jobs and their queues managed?
  495.  
  496.  
  497.  
  498. 44.        What software engineering tools and techniques were used 
  499. for the TCB design and implementation?
  500.  
  501.  
  502. 45.        How is a process sensitivity level determined?
  503.  
  504.  
  505.  
  506. 46.        How was the modularity requirement achieved and 
  507. implemented?
  508.  
  509.  
  510.  
  511. 47.        For each TCB element, identify protection-critical 
  512. portions of the code.  Describe the protection-critical functions 
  513. performed by the code.
  514.  
  515.  
  516.  
  517. 48.        For each TCB element, identify non-protection-critical 
  518. portions of the code.  Explain why the code is part of the TCB.
  519.  
  520.  
  521.  
  522. 49.        How was the data abstraction and information hiding 
  523. requirement achieved and implemented?  
  524.  
  525.  
  526.  
  527. 50.        Is the TCB layered?  If yes, how many layers are in the 
  528. TCB?  Provide a brief description of modules and functions in each layer.  
  529. How are the lower layers protected from higher layers?
  530.  
  531.  
  532.  
  533.   5. IDENTIFICATION & AUTHENTICATION (I&A)  
  534.  
  535. 51.        Does the system require the users to provide 
  536. identification at login?  If yes, what information is requested by the 
  537. system?
  538.  
  539.  
  540.  
  541. 52.        Is there any additional device or physical security 
  542. required for user I&A (e.g., terminal ID, pass key, smart card, etc.)?
  543.  
  544.  
  545.  
  546. 53.        Is each user uniquely identified?
  547.  
  548.  
  549.  
  550. 54.        Does the system authenticate this identity at the time of 
  551. login?  If yes, what information is requested by the system?  How does the 
  552. system use this information to authenticate the identity?
  553.  
  554.  
  555.  
  556. 55.        Describe the algorithms used in user authentication.  
  557. Where in the system are the algorithms and data for authentication (e.g., 
  558. user/password data base) stored?
  559.  
  560.  
  561.  
  562. 56.        How are the authentication algorithms and data protected?
  563.  
  564.  
  565.  
  566. 57.        Does the I&A process associate privileges with the user?  
  567. If so, what and how?  
  568.  
  569.  
  570.  
  571. 58.        Does the I&A process associate a sensitivity level with 
  572. the user?  If so, how?
  573.  
  574.  
  575.  
  576.   6. OBJECT REUSE  
  577.  
  578. 59.        How are the storage resources cleared?  Examples include 
  579. writing predefined patterns, writing random patterns, preventing reading 
  580. before writing, etc.  When are the storage resources cleared: prior to 
  581. allocation or after deallocation and/or release?  Describe the TCB 
  582. hardware, software and procedures used in clearing these resources.  
  583. Please answer this question for each type of storage resource.  (Example 
  584. of storage resources include memory pages, cache, disk sectors, magnetic 
  585. tapes, removable disk media, terminals, etc.)
  586.  
  587.  
  588.  
  589. 60.        Is it possible to read the data that have been deleted?  
  590. For example, what happens when a process attempts to read past the 
  591. end-of-file (EOF) mark?  In this case, is it possible to read old data by 
  592. going past the EOF?
  593.  
  594.  
  595.  
  596.   7. DISCRETIONARY ACCESS CONTROL (DAC) POLICY  
  597.  
  598. 61.        What mechanisms are used to provide discretionary access 
  599. controls?  (Examples of mechanisms are:   access control lists, protection 
  600. bits, capabilities, etc.)
  601.  
  602.  
  603.  
  604. 62.        Can the access be granted to the users on an individual 
  605. user basis?  If so, how?
  606.  
  607.  
  608.  
  609. 63.        Can access be denied to the users on an individual user 
  610. basis, i.e., exclude individual users?  If so, how?
  611.  
  612.  
  613.  
  614. 64.        Can the access be granted to groups of individuals?  If 
  615. so, how?
  616.  
  617.  
  618.  
  619. 65.        Can the access be denied to groups of individuals?  If so, 
  620. how?
  621.  
  622.  
  623.  
  624. 66.        How is a group defined?  Who has the ability to create or 
  625. delete groups?  Who has the ability to add or delete users from a group?
  626.  
  627.  
  628.  
  629. 67.        What are the initial access permissions when an object is 
  630. created?  Can the initial access permission be changed?  If so, by whom 
  631. and how?  (User/owner, system administrator, others.)
  632.  
  633.  
  634.  
  635. 68.        Can different initial access permissions be specified for 
  636. different users, or is this is a system-wide setting?  If the former, by 
  637. whom and how?
  638.  
  639.  
  640.  
  641. 69.        Who can grant the access permissions to an object after 
  642. the object is created?  (Examples include creator, current owner, system 
  643. administrator, etc.)  How is the permission granted?
  644.  
  645.  
  646.  
  647. 70.        Can the ability to grant permissions be passed to another 
  648. user?  If so, by whom and how?  How can the previous owner of the 
  649. privilege still retain it?
  650.  
  651.  
  652.  
  653. 71.        How can the access be revoked on an individual user basis?
  654.  
  655.  
  656.  
  657. 72.        How can the access be revoked on a group basis?
  658.  
  659.  
  660.  
  661. 73.        Are any objects that can be accessed by other users 
  662. excluded from the DAC policy (e.g., IPC files, process 
  663. signaling/synchronization flags)?
  664.  
  665.  
  666.  
  667. 74.        For each TCB object identified in 13, describe the DAC 
  668. mechanism.  
  669.  
  670.  
  671.  
  672. 75.        List the access modes supported by the system.  Examples 
  673. of access modes are: read, write, delete, owner, execute, append, etc.  
  674. Briefly describe the meaning of each access mode for each class of object.
  675.  
  676.  
  677.  
  678. 76.        For questions 62-72, how can the access modes be 
  679. explicitly defined?
  680.  
  681.  
  682.  
  683.  
  684.   8. LABELS  
  685.  
  686. 77.        How many hierarchical sensitivity classifications (such as 
  687. unclassified, confidential, secret, top secret), does your system provide 
  688. for?  What mechanisms are available to define the internal/storage and 
  689. external/print format?  What mechanisms are available to change them?  Who 
  690. can invoke these mechanisms?
  691.  
  692.  
  693.  
  694. 78.        How many nonhierarchical sensitivity categories (such as 
  695. FOUO) does your system provide for?  What mechanisms are available to 
  696. define the internal/storage and external/print format?  What mechanisms 
  697. are available to change them?  Who can invoke these mechanisms?
  698.  
  699.  
  700.  
  701. 79.        What is the internal TCB storage format of the sensitivity 
  702. label?
  703.  
  704.  
  705.  
  706. 80.        For each type of subject, where is the subject sensitivity 
  707. label stored?
  708.  
  709.  
  710.  
  711. 81.        For each type of object, where is the object sensitivity 
  712. label stored?
  713.  
  714.  
  715.  
  716. 82.        List the subjects and objects that are labeled and not 
  717. labeled.  Why are they labeled or not labeled?  How are these subjects and 
  718. objects controlled?
  719.  
  720.  
  721.  
  722. 83.        How is imported (brought-in) data, labeled?  Is a human 
  723. being involved in the labeling?  If so, what is the role of the person 
  724. involved?  Does this labeling require special privileges?  What are those 
  725. privileges?
  726.  
  727.  
  728.  
  729. 84.        Who can change the labels on a subject?  How?
  730.  
  731.  
  732.  
  733. 85.        Who can change the labels on an object?  How?
  734.  
  735.  
  736.  
  737. 86.        How are the labels associated with objects communicated 
  738. outside the TCB?
  739.  
  740.  
  741.  
  742. 87.        How does the TCB acknowledge a change in the sensitivity 
  743. level associated with an interactive user?  Is the user notification 
  744. posted on the user terminal?  How immediate is this change?
  745.  
  746.  
  747.  
  748. 88.        How does a user query the system TCB for his or her 
  749. current sensitivity label?  What part of the sensitivity label is output?  
  750. Where is this output posted?
  751.  
  752.  
  753.  
  754. 89.        How does the system designate each device to be 
  755. single-level or multilevel?  List the ways this designation can be 
  756. changed.  List the users who can invoke these mechanisms/ways.
  757.  
  758.  
  759.  
  760. 90.        How does the TCB designate the sensitivity level of a 
  761. single-level device?  List the ways this designation can be changed.  List 
  762. the users who can invoke these mechanisms.
  763.  
  764.  
  765.  
  766. 91.        How does the TCB designate the minimum and maximum 
  767. sensitivity levels of a device?  List the ways these designations can be 
  768. changed.  List the users who can invoke these mechanisms.
  769.  
  770.  
  771.  
  772. 92.        How does the TCB export the sensitivity label associated 
  773. with an object being exported over a multilevel device?  What is the 
  774. format for the exported label?  How does the TCB ensure that the 
  775. sensitivity label is properly associated with the object?
  776.  
  777.  
  778.  
  779. 93.        What mechanisms are available to specify the 
  780. human-readable print label associated with a sensitivity label?  Who can 
  781. invoke these mechanisms?
  782.  
  783.  
  784.  
  785. 94.        Is the beginning and end of each hardcopy output marked 
  786. with the human-readable print label representing the sensitivity level of 
  787. the output?  In other words, does each hardcopy output have banner pages?  
  788. What happens if a banner page output is longer and/or wider than a 
  789. physical page?
  790.  
  791.  
  792.  
  793. 95.        Is the top and bottom of each hardcopy output page marked 
  794. with the human-readable print label representing the sensitivity level of 
  795. the output?  What happens if the print label is wider and/or longer than 
  796. the space available for the top and/or the bottom?
  797.  
  798.  
  799.  
  800. 96.        How does the TCB mark the top and bottom page of 
  801. nontextual type of output such as graphics, maps, and images?
  802.  
  803.  
  804.  
  805. 97.        How can these markings listed in questions 94-96 be 
  806. overridden?  Who can override the markings?
  807.  
  808.  
  809.  
  810. 98.        How can an operator distinguish the TCB-generated banner 
  811. pages from user output?
  812.  
  813.  
  814.  
  815. 99.        What is the sensitivity label for each TCB object listed 
  816. in question 13?
  817.  
  818.  
  819.  
  820. 100.        Can a minimum sensitivity level be specified for each 
  821. physical device?  If so, how?
  822.  
  823.  
  824.  
  825. 101.        Can a maximum sensitivity level be specified for each 
  826. physical device?  If so, how?
  827.  
  828.  
  829.  
  830. 102.        List the circumstances under which the TCB allows input or 
  831. output of data that fall outside a device sensitivity range (i.e., 
  832. minimum, maximum).
  833.  
  834.  
  835.  
  836.   9. MANDATORY ACCESS CONTROL (MAC)  
  837.  
  838. 103.        Describe the MAC policy for the possible access modes such 
  839. as read, write, append, delete.
  840.  
  841.  
  842.  
  843. 104.        Does the system use sensitivity labels to enforce the MAC? 
  844.  If not, what information is used to make the MAC decisions?
  845.  
  846.  
  847.  
  848. 105.        List the subjects, objects, and circumstances under which 
  849. the MAC policy is not enforced.  Why?
  850.  
  851.  
  852.  
  853. 106.        In what sequence does the system check for detecting 
  854. access mechanisms such as:  a. privileges that bypass DAC and MAC, b. DAC, 
  855. c. MAC, d. other access mechanisms in lieu of DAC and/or MAC?
  856.  
  857.  
  858.  
  859. 107.        Does the TCB support system-low and system-high 
  860. sensitivity levels?  If yes, how can they be designated and changed?  Who 
  861. can invoke the functions to designate and change them?  How are these 
  862. levels used by the system in various labeling functions and MAC decisions? 
  863.  
  864.  
  865.  
  866.  
  867.   10. INTEGRITY  
  868.  
  869. 108.        How many hierarchical integrity categories does your 
  870. system provide for?  What mechanisms are available to define the 
  871. internal/storage and external/print format?  Who can invoke these 
  872. mechanisms?
  873.  
  874.  
  875.  
  876. 109.        How many nonhierarchical integrity compartments does your 
  877. system provide for?  What mechanisms are available to define the 
  878. internal/storage and external/print format?  Who can invoke these 
  879. mechanisms?
  880.  
  881.  
  882.  
  883. 110.        What is the internal TCB storage format of the integrity 
  884. label?
  885.  
  886.  
  887.  
  888. 111.        For each type of subject, where is the subject integrity 
  889. label stored?
  890.  
  891.  
  892.  
  893. 112.        For each type of object, where is the object integrity 
  894. label stored?
  895.  
  896.  
  897.  
  898. 113.        List the subjects and objects that do not have integrity 
  899. labels.  Why are they not labeled?
  900.  
  901.  
  902.  
  903. 114.        How are the data that are imported (brought in) labeled 
  904. with an integrity label?  Is a human being involved in the labeling?  If 
  905. so, who is it?  Does the user labeling require special privileges?  What 
  906. are those privileges?
  907.  
  908.  
  909. 115.        Who can change the integrity labels on a subject?  How?
  910.  
  911.  
  912.  
  913. 116.        Who can change the integrity labels on an object?  How?
  914.  
  915.  
  916.  
  917. 117.        Describe the integrity policy for various access modes 
  918. such as read and write.  Provide a brief description of the formal policy 
  919. model.
  920.  
  921.  
  922.  
  923. 118.        Does the system use the integrity labels to enforce the 
  924. integrity policy?  If not, what information is used to enforce the 
  925. integrity policy?
  926.  
  927.  
  928.  
  929. 119.        List the subjects, objects, and circumstances under which 
  930. the integrity policy is not enforced.  Why?
  931.  
  932.  
  933.  
  934.  
  935.   11. AUDIT  
  936.  
  937. 120.        Provide a brief description (preferably in block diagram 
  938. form) of audit data flow in terms of how the data are created, 
  939. transmitted, stored, and viewed for analysis.  How are the audit logs 
  940. protected?
  941.  
  942.  
  943.  
  944. 121.        How can the audit log be read?  Who can invoke these 
  945. mechanisms?
  946.  
  947.  
  948.  
  949. 122.        How can the audit log be written or appended?  Who can 
  950. invoke these mechanisms?
  951.  
  952.  
  953.  
  954. 123.        How can the audit log be deleted?  Who can invoke these 
  955. mechanisms?
  956.  
  957.  
  958.  
  959. 124.        Provide a list of auditable events.  Are the following 
  960. events auditable:  attempted logins, logouts, creation of subjects, 
  961. deletion of subjects, assignment of privileges to subjects, change of 
  962. subject privileges, use of privileges by subjects, creation of objects, 
  963. deletion of objects, initial access to objects (in other words 
  964. introduction of the object into user address space or, e.g., file open), 
  965. accesses that exploit covert storage channels, change in the device 
  966. designation of single-level or multilevel, change in device level, change 
  967. in device minimum or maximum level, override of banner page or page top 
  968. and bottom markings, assumption of the role of security administrator.
  969.  
  970.  
  971.  
  972. 125.        Which actions by the privileged users are auditable?  
  973. Which are not?  Examples of trusted users are system operator, account 
  974. administrator, system security officer/administrator, auditor, system 
  975. programmer, etc.
  976.  
  977.  
  978.  
  979. 126.        What data are recorded for each audit event?  Are the 
  980. following data recorded for each event: date, time, user, user sensitivity 
  981. level, object, object sensitivity level, object DAC information (e.g., 
  982. ACL), type of event, invoked or not invoked, why not invoked, success or 
  983. failure in execution, terminal identification, etc?
  984.  
  985.  
  986.  
  987. 127.        Under what circumstances can the password become part of 
  988. the audit record?
  989.  
  990.  
  991.  
  992. 128.        What mechanisms are available to designate and change the 
  993. activities being audited?  Who can invoke these mechanisms?
  994.  
  995.  
  996.  
  997. 129.        What mechanisms are available for selective auditing 
  998. (i.e., selection of events, subjects, objects, etc., to be audited)?  What 
  999. parameters or combination of parameters can be specified for the selective 
  1000. auditing?  Examples of parameters are: individual or group of subjects, 
  1001. individual objects, subjects within a sensitivity range, objects within a 
  1002. sensitivity range, event type, etc.  Who can invoke these mechanisms?
  1003.  
  1004.  
  1005.  
  1006. 130.        When do changes to the audit parameters take effect (e.g., 
  1007. immediately for all processes, for new processes)? 
  1008.  
  1009.  
  1010.  
  1011. 131.        What tools are available to output raw or processed (i.e., 
  1012. analyzed and reduced) audit information?  Who can invoke these tools?  
  1013. What do the tools do in terms of audit data reduction?  What are the 
  1014. internal formats of audit records.  What are the formats of the 
  1015. reports/outputs generated by these tools?
  1016.  
  1017.  
  1018.  
  1019. 132.        Are the audit reduction tools part of the TCB?  If not, is 
  1020. there a trusted mechanism to view/output the audit log?
  1021.  
  1022.  
  1023.  
  1024. 133.        Does the system produce multiple audit logs?  If yes, what 
  1025. tools, techiques and methodologies are available to correlate these logs?
  1026.  
  1027.  
  1028.  
  1029. 134.        Who (e.g., operator, system administrator or other trusted 
  1030. user) is notified when the audit log gets full?  What options are 
  1031. available to handle the situation?
  1032.  
  1033.  
  1034.  
  1035. 135.        What other action does the TCB take when the audit log 
  1036. becomes full?  Examples of the TCB options are: halt the system, do not 
  1037. perform auditable events, overwrite oldest audit log data, etc.  In the 
  1038. worst case, how much audit data can be lost?  Describe the worst case 
  1039. scenario.  When does it occur?
  1040.  
  1041.  
  1042. 136.        What happens to the audit data in the memory buffers when 
  1043. the system goes down?  Are the data recovered as part of the system 
  1044. recovery?  In the worst case, how much data can be lost?  Describe the 
  1045. worst case scenario.  When does it occur?
  1046.  
  1047.  
  1048.  
  1049. 137.        How does the TCB designate and change the occurrence or 
  1050. accumulation of events that require real-time notification?  Who can 
  1051. invoke these mechanisms?  Who gets the real-time notification?  What 
  1052. actions/options are available to the individual being notified?  What does 
  1053. the TCB do about the event and the process that caused this alert?
  1054.  
  1055.  
  1056.  
  1057.   12. MODELING AND ANALYSIS  
  1058.  
  1059. 138.        Provide a copy of the Verification Plan, a brief 
  1060. description of its contents, or an annotated outline.  Provide a schedule 
  1061. for completion of the Verification Plan.
  1062.  
  1063.  
  1064.  
  1065. 139.        What tools, techniques and methodologies are used to 
  1066. represent the formal model of the system security policy?  What policies 
  1067. are represented in the formal model.  Examples include: MAC, DAC, 
  1068. privileges, other protection mechanisms, object reuse, etc.
  1069.  
  1070.  
  1071.  
  1072. 140.        What tools, techniques and methodologies are used to 
  1073. verify through formal means the model against its axioms?
  1074.  
  1075.  
  1076.  
  1077. 141.        What tools, techniques and methodologies are used to 
  1078. represent the Descriptive Top Level Specification (DTLS)?  What portions 
  1079. of the TCB are represented by the DTLS?
  1080.  
  1081.  
  1082.  
  1083. 142.        What tools, techniques and methodologies are used to 
  1084. identify, analyze, calculate, and reduce the bandwidths of data flows in 
  1085. violation of the system security policy?  How are the occurrences of these 
  1086. flow violations audited?
  1087.  
  1088.  
  1089.  
  1090. 143.        What tools, techniques and methodologies are used to show 
  1091. that the DTLS is consistent with the formal security policy model?
  1092.  
  1093.  
  1094.  
  1095. 144.        What tools, techniques and methodologies are used to 
  1096. represent the Formal Top Level Specification (FTLS)?  What portions of the 
  1097. TCB are represented by the FTLS?
  1098.  
  1099.  
  1100.  
  1101. 145.        What tools, techniques and methodologies are used to 
  1102. verify or show that the FTLS is consistent with the formal security policy 
  1103. model?
  1104.  
  1105.  
  1106.  
  1107. 146.        What tools, techniques and methodologies are used to 
  1108. identify the implemented code modules that correspond to the FTLS?
  1109.  
  1110.  
  1111.  
  1112. 147.        What tools, techniques and methodologies are used to show 
  1113. that the code is correctly implemented vis- a-vis the FTLS?
  1114.  
  1115.  
  1116.  
  1117.   13. TESTING  
  1118.  
  1119. 148.        What routines are available to test the correct operation 
  1120. of the system hardware and firmware?  What elements of the system hardware 
  1121. are tested through these routines?  What elements of the system firmware 
  1122. are tested through these routines?  What elements of the system hardware 
  1123. and firmware are not tested through these routines?
  1124.  
  1125.  
  1126.  
  1127. 149.        How are the system hardware and firmware tested?  Does the 
  1128. testing include boundary and anomalous conditions?  Is the emphasis on 
  1129. diagnosing and pinpointing faults or is it on ensuring the correct 
  1130. operation of the system hardware and firmware?  The latter may require 
  1131. more of the same testing or different kinds of testing.
  1132.  
  1133.  
  1134.  
  1135. 150.        How are these routines invoked?  Who can invoke these 
  1136. routines?  Do they run under the control of the operating system or do 
  1137. they run in stand-alone mode?
  1138.  
  1139.  
  1140.  
  1141. 151.        When can these routines be run?  When should these 
  1142. routines be run?  If they run automatically, when do they run? Examples 
  1143. include powerup, booting, rebooting, etc.
  1144.  
  1145.  
  1146.  
  1147. 152.        Describe the software development testing methodology.  In 
  1148. the methodol-ogy, include various testing steps such as unit, module, 
  1149. integration, subsystem, system testing.  For each step, provide a 
  1150. description of test coverage criteria and test cases development 
  1151. methodology.
  1152.  
  1153.  
  1154. 153.        Provide a copy of the security test plan, brief 
  1155. description of its contents, or an annotated outline.  Does the test plan 
  1156. include the following information:  system configuration for testing, 
  1157. procedures to generate the TCB, procedures to bring up the system, testing 
  1158. schedule, test procedures, test cases, expected test results?  Provide a 
  1159. schedule for development of the security test plan.
  1160.  
  1161.  
  1162.  
  1163. 154.        How thorough is the security testing?  Do the test cases 
  1164. include nominal, boundary, and anomalous values for each input?  What 
  1165. about the combinations of inputs?  Describe the test coverage criteria.
  1166.  
  1167.  
  1168.  
  1169. 155.        How are the test cases developed?  Are they based on the 
  1170. concept of func-tional testing, structural testing, or a combination of 
  1171. the two?
  1172.  
  1173.  
  1174.  
  1175. 156.        What tools and techniques (automated, manual, or a 
  1176. combination of the two) will be used to do the functional and/or 
  1177. structural analysis in order to develop a thorough set of test cases?  
  1178. Indicate how you plan to use FTLS and DTLS in this analysis.  If you do 
  1179. not plan to use them, how do you plan to show consistency among FTLS, 
  1180. DTLS, and the code?
  1181.  
  1182.  
  1183.  
  1184. 157.        How do you plan to develop the scenarios for penetration 
  1185. testing?
  1186.  
  1187.  
  1188.  
  1189. 158.        How do you plan to test the bandwidths of flow violation 
  1190. channels?
  1191.  
  1192.  
  1193.  
  1194. 159.        How do you plan to ascertain that only a few errors 
  1195. remain?  
  1196.  
  1197.  
  1198.  
  1199.   14. OTHER ASSURANCES  
  1200.  
  1201. 160.        Describe the Configuration Management (CM) system in place 
  1202. in terms of organizational responsibilities, procedures, and tools and 
  1203. techniques (automated, manual, or a combination of the two).  Describe the 
  1204. version control or  other philosophy to ensure that the elements represent 
  1205. a consistent system, i.e., object code represents the source code, which 
  1206. in turn represents the FTLS and DTLS, etc.  If the CM system is different 
  1207. for some of the elements listed under Question 25, answer this question 
  1208. for each of the elements.
  1209.  
  1210.  
  1211.  
  1212. 161.        When was the CM instituted?  Provide the approximate date 
  1213. as well as the system life-cycle phase (e.g. design, development, testing).
  1214.  
  1215.  
  1216.  
  1217. 162.        List the TCB elements that are under the Configuration 
  1218. Management.  List the TCB elements that are not under CM.  Examples of TCB 
  1219. elements are: hardware elements, firmware elements, formal security policy 
  1220. model, FTLS, DTLS, design data and documentation, source code, object 
  1221. code, software engineering environment, test plans, Security Features 
  1222. User's Guide, Trusted Facilities Manual, etc.
  1223.  
  1224.  
  1225.  
  1226. 163.        Describe the protection mechanisms in place to safeguard 
  1227. the CM elements.
  1228.  
  1229.  
  1230.  
  1231.     164.    When (e.g., before user authentication) and how (e.g. by 
  1232. typing a specific control character sequence) can the trusted path be 
  1233. invoked by the user?  What TCB elements are involved in establishing the 
  1234. trusted path?
  1235.  
  1236.  
  1237.  
  1238.     165.    List separately the functions that can be performed by 
  1239. each of the trusted users such as the operator, security administrator, 
  1240. accounts administrator, auditor, systems programmer, etc.  For each of 
  1241. these persons/roles, list the system data bases that can be accessed and 
  1242. their access modes.  For each of these roles, also list the privileges 
  1243. provided to them.
  1244.  
  1245.  
  1246.  
  1247.     166.    How does the TCB recognize that a user has assumed one of 
  1248. the above-mentioned trusted roles?  Which of the above-mentioned functions 
  1249. can be performed without the TCB recognizing this role?
  1250.  
  1251.  
  1252.  
  1253.     167.    When and how does the TCB invoke the trusted path?  What 
  1254. TCB elements are involved in establishing the trusted path?
  1255.  
  1256.  
  1257.  
  1258.     168.    How does the TCB ensure that the trusted path is 
  1259. unspoofable?
  1260.  
  1261.  
  1262.  
  1263.     169.    How does the system recovery work?  What system resources 
  1264. (e.g., memory, disks blocks, files) are protected prior to and during the 
  1265. system recovery?  How are they protected?  What resources are not 
  1266. protected?
  1267.  
  1268.  
  1269.  
  1270. 170.        Does the system have a degraded mode of operation?  What 
  1271. can cause this to occur?  How long can the system keep running in this 
  1272. mode?  How does an operator get the system back to full operation?  What 
  1273. security-related services are provided in the degraded mode?  What 
  1274. security-related services are not provided? 
  1275.  
  1276.  
  1277.  
  1278. 171.        Describe the tools, techniques and procedures used to 
  1279. ensure the integrity of the TCB elements (hardware, firmware, software, 
  1280. documents, etc.) supplied to the customers.  Examples include trusted 
  1281. courier, electronic seals, physical seals, etc.
  1282.  
  1283.  
  1284.  
  1285.   15. OTHER DOCUMENTATION  
  1286.  
  1287. 172.        Describe the methodology used in the design of the system. 
  1288.  Provide a list of documents that capture the system design.  For each 
  1289. document, provide a copy, a brief description of its contents, or an 
  1290. annotated outline.  Provide a schedule for development of the design 
  1291. documents.
  1292.  
  1293.  
  1294.  
  1295. 173.        Provide a copy of the Security Features User's Guide 
  1296. (SFUG), a brief description of its contents, or an annotated outline.  
  1297. Does the document describe the protection mechanisms available to the 
  1298. users?  Does it include examples of how to use the protection mechanisms 
  1299. in conjunction with one another to meet the user security objectives?  
  1300. Provide a schedule for development of the SFUG.
  1301.  
  1302.  
  1303.  
  1304. 174.        Provide a copy of the Trusted Facility Manual (TFM), a 
  1305. brief description of its contents, or an annotated outline.  Provide a 
  1306. schedule for development of the TFM.
  1307.  
  1308.  
  1309.  
  1310. 175.        Does the TFM contain procedures to configure the secure 
  1311. system?  Does it list the devices and hardware elements that are part of 
  1312. the evaluated configuration?  Does it contain procedures for configuring 
  1313. each of the devices, for connecting them, and for configuring the entire 
  1314. system?  Does it list the devices that are not part of the evaluated 
  1315. configuration?  Does it list the procedures for securely configuring them 
  1316. out and for disconnecting them?
  1317.  
  1318.  
  1319.  
  1320. 176.        Does the TFM contain procedures to generate the TCB from 
  1321. source code?  For each system parameter or input, does the TFM list valid 
  1322. values for a secure TCB generation?
  1323.  
  1324.  
  1325.  
  1326. 177.        Does the TFM list the functions, privileges, and data 
  1327. bases that are to be controlled?  Does it list how these are controlled?  
  1328. Does it list the consequences of granting access to them as warnings?
  1329.  
  1330.  
  1331.  
  1332. 178.        Does the TFM provide procedures for maintaining the audit 
  1333. log?  Does it describe how the audit log can be turned on, turned off, 
  1334. combined, and backed up?  Does it describe how to detect the audit log is 
  1335. getting full, or is full, and what actions to take in order to minimize 
  1336. the loss of audit data?
  1337.  
  1338.  
  1339.  
  1340. 179.        Does the TFM contain the structure of the audit log file 
  1341. and the format of the audit records?  Does it describe how the audit 
  1342. records can be viewed?  Does it describe the capabilities of the audit 
  1343. reduction tool, how to invoke these capabilities, and the format of the 
  1344. tool output?
  1345.  
  1346.  
  1347.  
  1348. 180.        Does the TFM contain the procedures and warnings for 
  1349. secure operation of the computing facility?  Does it address the physical, 
  1350. personnel, and administrative aspects of security in order to ensure the 
  1351. protection of computing hardware, firmware, software, and privileged 
  1352. devices such as the operator terminals?  Does it  address the protection 
  1353. of hard-copy outputs?
  1354.  
  1355.  
  1356.  
  1357. 181.        Does the TFM provide a list of trusted users and 
  1358. processes?  For each trusted user or process, does it list the functions, 
  1359. privileges, and data bases to be accessed?  Examples of trusted users are 
  1360. system operator, security administrator, accounts administrator, auditor, 
  1361. etc.  Examples of trusted processes are device queue manipulation, user 
  1362. profile editor, etc.  Examples of functions are creating and deleting 
  1363. users, changing user security profile, setting up defaults for 
  1364. discretionary and mandatory access controls, selecting auditing events in 
  1365. terms of functions, subjects, objects, sensitivity levels, and/or a 
  1366. combination of them, etc.  Examples of data bases are user security 
  1367. profiles, authentication data base, etc.
  1368.  
  1369.  
  1370.  
  1371. 182.        Does the TFM include a list of TCB modules that make up 
  1372. the security kernel?
  1373.  
  1374.  
  1375.  
  1376. 183.        Does the TFM contain the procedures for securely 
  1377. starting/booting/initializing the system?
  1378.  
  1379.  
  1380.  
  1381. 184.        Does the TFM contain the procedures for securely 
  1382. restarting/resuming the system after a lapse in system operation?
  1383.  
  1384.  
  1385.  
  1386. 185.        Does the TFM contain the procedures for securely 
  1387. recovering the system after a system failure?
  1388.  
  1389.  
  1390.  
  1391.  GLOSSARY 
  1392.  
  1393. Access
  1394.         A specific type of interaction between a subject and an 
  1395. object that results in the flow of information from one to the other.
  1396.  
  1397. Access List
  1398.         A list of users, programs, and/or processes and the 
  1399. specifications of access categories to which each is assigned.
  1400.  
  1401. Administrative User
  1402.         A user assigned to supervise all or a portion of an ADP 
  1403. system.
  1404.  
  1405. Audit
  1406.         To conduct the independent review and examination of 
  1407. system records and activities.
  1408.  
  1409. Audit Trail
  1410.         A chronological record of system activities that is 
  1411. sufficient to enable the reconstruction, reviewing, and examination of the 
  1412. sequence of environments and activities surrounding or leading to an 
  1413. operation, a procedure, or an event in a transaction from its inception to 
  1414. final results.
  1415.  
  1416. Auditor
  1417.         An authorized individual, or role, with administrative 
  1418. duties, which include selecting the events to be audited on the system, 
  1419. setting up the audit flags that enable the recording of those events, and 
  1420. analyzing the trail of audit events.
  1421.  
  1422. Authenticate
  1423.         (1) To verify the identity of a user, device, or other 
  1424. entity in a computer system, often as a prerequisite to allowing access to 
  1425. resources in a system.
  1426.  
  1427.         (2) To verify the integrity of data that have been stored, 
  1428. transmitted, or otherwise exposed to possible unauthorized modification.
  1429.  
  1430. Authenticated User
  1431.         A user who has accessed an ADP system with a valid 
  1432. identifier and authentication combination.
  1433.  
  1434. Authorization
  1435.         The granting of access rights to a user, program, or 
  1436. process.
  1437.  
  1438. Bandwidth
  1439.         A characteristic of a communication channel that is the 
  1440. amount of information that can be passed through it in a given amount of 
  1441. time, usually expressed in bits per second.
  1442.  
  1443. Bell-LaPadula Model
  1444.         A formal state transition model of computer security 
  1445. policy that describes a set of access control rules.  In this formal 
  1446. model, the entities in a computer system are divided into abstract sets of 
  1447. subjects and objects.  The notion of a secure state is defined, and it is 
  1448. proven that each state transition preserves security by moving from secure 
  1449. state to secure state, thereby inductively proving that the system is 
  1450. secure.  A system state is defined to be "secure" if the only permitted 
  1451. access modes of subjects to objects are in accordance with a specific 
  1452. security policy.  In order to determine whether or not a specific access 
  1453. mode is allowed, the clearance of a subject is compared to the 
  1454. classification of the object, and a determination is made as to whether 
  1455. the subject is authorized for the specific access mode.  The 
  1456. clearance/classification scheme is expressed in terms of a lattice.  See 
  1457. Star Property (*-property) and Simple Security Property.
  1458.  
  1459. Channel
  1460.         An information transfer path within a system.  May also 
  1461. refer to the mechanism by which the path is effected.
  1462.  
  1463. Covert Channel
  1464.         A communication channel that allows two cooperating 
  1465. processes to transfer information in a manner that violates the system's 
  1466. security policy.
  1467.  
  1468. Covert Storage Channel
  1469.         A covert channel that involves the direct or indirect 
  1470. writing of a storage location by one process and the direct or indirect 
  1471. reading of the storage location by another process.  Covert storage 
  1472. channels typically involve a finite resource (e.g., sectors on a disk) 
  1473. that is shared by two subjects at different security levels.
  1474.  
  1475. Covert Timing Channel
  1476.         A covert channel in which one process signals information 
  1477. to another by modulating its own use of system resources (e.g., CPU time) 
  1478. in such a way that this manipulation affects the real response time 
  1479. observed by the second process.
  1480.  
  1481. Coverage Analysis
  1482.         Qualitative or quantitative assessment of the extent to 
  1483. which the test conditions and data show compliance with required 
  1484. properties (e.g., security model and TCB primitive properties).  See: Test 
  1485. Condition, Test Data, Security Policy Model.
  1486.  
  1487. Data
  1488.         Information with a specific physical representation.
  1489.  
  1490. Data Integrity
  1491.         The property that data meet an a priori expectation of 
  1492. quality.
  1493.  
  1494. Degauss
  1495.         To reduce magnetic flux density to zero by applying a 
  1496. reverse magnetizing field.
  1497.  
  1498. Descriptive Top Level Specification (DTLS)
  1499.         A top-level specification that is written in a natural 
  1500. language (e.g.,English), an informal program design notation, or a 
  1501. combination of the two.
  1502.  
  1503. Discretionary Access Control (DAC)
  1504.         A means of restricting access to objects based on the 
  1505. identity and need-to-know of the user, process and/or groups to which they 
  1506. belong.  The controls are discretionary in the sense that a subject with a 
  1507. certain access permission is capable of passing that permission (perhaps 
  1508. indirectly) on to any other subject.
  1509.  
  1510. Dominate
  1511.         Security level S1 is said to dominate security level S2 if 
  1512. the hierarchical classification of S1 is greater than or equal to that of 
  1513. S2 and the nonhierarchical categories of S1 include all those of S2 as a 
  1514. subset.
  1515.  
  1516. Exploitable Channel
  1517.         Any channel that is usable or detectable by subjects 
  1518. external to the Trusted Computing Base whose purpose is to violate the 
  1519. security policy of the system.
  1520.  
  1521. Flaw
  1522.         An error of commission, omission, or oversight in a system 
  1523. that allows protection mechanisms to be bypassed.
  1524.  
  1525. Flaw Hypothesis Methodology
  1526.         A system analysis and penetration technique in which 
  1527. specifications and documentation for the system are analyzed and then 
  1528. flaws in the system are hypothesized.  The list of hypothesized flaws is 
  1529. prioritized on the basis of the estimated probability that a flaw actually 
  1530. exists and, assuming a flaw does exist, on the ease of exploiting it and 
  1531. on the extent of control or compromise it would provide.  The prioritized 
  1532. list is used to direct a penetration attack against the system.
  1533.  
  1534. Formal Proof
  1535.         A complete and convincing mathematical argument, 
  1536. presenting the full logical justification for each proof step, for the 
  1537. truth of a theorem or set of theorems.
  1538.  
  1539. Formal Security Policy Model
  1540.         A mathematically precise statement of a security policy.  
  1541. To be adequately precise, such a model must represent the initial state of 
  1542. a system, the way in which the system progresses from one state to 
  1543. another, and a definition of a "secure" state of the system. To be 
  1544. acceptable as a basis for a TCB, the model must be supported by a formal 
  1545. proof that if the initial state of the system satisfies the definition of 
  1546. a "secure" state and if all assumptions required by the model hold, then 
  1547. all future states of the system will be secure.  Some formal modeling 
  1548. techniques include:  state transition models, temporal logic models, 
  1549. denotational semantics models, algebraic specification models.
  1550.  
  1551. Formal Top-Level Specification (FTLS)
  1552.         A Top-Level Specification that is written in a formal 
  1553. mathematical language to allow theorems showing the correspondence of the 
  1554. system specification to its formal requirements to be hypothesized and 
  1555. formally proven.
  1556.  
  1557. Formal Verification
  1558.         The process of using formal proofs to demonstrate the 
  1559. consistency  between a formal specification of a system and a formal 
  1560. security policy model (design verification) or  between the formal 
  1561. specification and its program implementation (implementation verification).
  1562.  
  1563. Functional Testing
  1564.         The segment of security testing in which the advertised 
  1565. mechanisms of a system are tested, under operational conditions, for 
  1566. correct operation.
  1567.  
  1568. Identification
  1569.         The process that enables recognition of an entity by a 
  1570. system, generally by the use of unique machine-readable user names.
  1571.  
  1572. Integrity
  1573.         Sound, unimpaired or perfect condition.
  1574.  
  1575. Internal Security Controls
  1576.         Hardware, firmware, and software features within a system 
  1577. that restrict access to resources (hardware, software, and data) to 
  1578. authorized subjects only (persons, programs, or devices).
  1579.  
  1580. Isolation
  1581.         The containment of subjects and objects in a system in 
  1582. such a way that they are separated from one another, as well as from the 
  1583. protection controls of the operating system.
  1584.  
  1585. Lattice
  1586.         A partially ordered set for which every pair of elements 
  1587. has a greatest lower bound and a least upper bound.
  1588.  
  1589. Least Privilege
  1590.         This principle requires that each subject in a system be 
  1591. granted the most restrictive set of privileges (or lowest clearance) 
  1592. needed for the performance of authorized tasks.  The application of this 
  1593. principle limits the damage that can result from accident, error, or 
  1594. unauthorized use.
  1595.  
  1596. Mandatory Access Control (MAC)
  1597.         A means of restricting access to objects based on the 
  1598. sensitivity (as repre-sented by a label) of the information contained in 
  1599. the objects and the formal authorization (i.e., clearance) of subjects to 
  1600. access information of such sensitivity.
  1601.  
  1602. Multilevel Device
  1603.         A device that is used in a manner that permits it to 
  1604. simultaneously process data of two or more security levels without risk of 
  1605. compromise.  To accomplish this, sensitivity labels are normally stored on 
  1606. the same physical medium and in the same form (i.e., machine-readable or 
  1607. human-readable) as the data being processed.
  1608.  
  1609. Object
  1610.         A passive entity that contains or receives information.  
  1611. Access to an object potentially implies access to the information it 
  1612. contains.  Examples of objects are: records, blocks, pages, segments, 
  1613. files, directories, directory tree, and programs, as well as bits, bytes, 
  1614. words, fields, processors, video displays, keyboards, clocks, printers, 
  1615. network nodes.
  1616.  
  1617. Object Reuse
  1618.         The reassignment and reuse of a storage medium (e.g., page 
  1619. frame, disk sector, magnetic tape) that once contained one or more 
  1620. objects.  To be securely reused and assigned to a new subject, storage 
  1621. media must contain no residual data (magnetic remanence) from the 
  1622. object(s) previously contained in the media.
  1623.  
  1624. Penetration
  1625.         The successful act of bypassing the security mechanisms of 
  1626. a system.
  1627.  
  1628. Process
  1629.         A program in execution.
  1630.  
  1631. Protection-Critical Portions of the TCB
  1632.         Those portions of the TCB whose normal function is to deal 
  1633. with the control of access between subjects and objects.  Their correct 
  1634. operation is esssential to the protection of data on the system.
  1635.  
  1636. Read
  1637.         A fundamental operation that results only in the flow of 
  1638. information from an object to a subject.
  1639.  
  1640. Read Access (Privilege)
  1641.         Permission to read information.
  1642.  
  1643. Reference Monitor Concept
  1644.         An access-control concept that refers to an abstract 
  1645. machine that mediates all accesses to objects by subjects.
  1646.  
  1647. Security Level
  1648.         The combination of a hierarchical classification and a set 
  1649. of nonhierarchical categories that represents the sensitivity of 
  1650. information.
  1651.  
  1652. Security Policy
  1653.         The set of laws, rules, and practices that regulate how an 
  1654. organization manages, protects, and distributes sensitive information.
  1655.  
  1656. Security Policy Model
  1657.         A formal presentation of the security policy enforced by 
  1658. the system.  It must identify the set of rules and practices that regulate 
  1659. how a system manages, protects, and distributes sensitive information.  
  1660. See Bell-La Padula Model and Formal Security Policy Model.
  1661.  
  1662. Security-Relevant Event
  1663.         Any event that attempts to change the security state of 
  1664. the system, (e.g., change discretionary access controls, change the 
  1665. security level of the subject, change user password).  Also, any event 
  1666. that attempts to violate the security policy of the system, (e.g., too 
  1667. many attempts to log in, attempts to violate the mandatory access control 
  1668. limits of a device, attempts to downgrade a file).
  1669.  
  1670. Security Testing
  1671.         A process used to determine that the security features of 
  1672. a system are implemented as designed.  This includes hands-on functional 
  1673. testing, penetration testing, and verification.
  1674.  
  1675. Simple Security Property
  1676.         A Bell-La Padula security model rule allowing a subject 
  1677. read access to an object only if the security level of the subject 
  1678. dominates the security level of the object.  Also called simple security 
  1679. condition.
  1680.  
  1681. Single-Level Device
  1682.         An automated information systems device that is used to 
  1683. process data of a  single security level at any one time.
  1684.  
  1685. Spoofing
  1686.         An attempt to gain access to a system by posing as an 
  1687. authorized user.  Synonymous with impersonating, masquerading or mimicking.
  1688.  
  1689. Star Property
  1690.         A Bell-La Padula security model rule allowing a subject 
  1691. write access to an object only if the security level of the object 
  1692. dominates the security level of the subject.  Also called confinement 
  1693. property, *-property.
  1694.  
  1695. Subject
  1696.         An active entity, generally in the form of a person, 
  1697. process, or device, that causes information to flow among objects or 
  1698. changes the system state.  Technically, a process/domain pair.
  1699.  
  1700. Subject Security Level
  1701.         A subject's security level is equal to the security level 
  1702. of the objects to which it has both read and write access.  A subject's 
  1703. security level must always be dominated by the clearance of the user the 
  1704. subject is associated with.
  1705.  
  1706. Terminal Identification
  1707.         The means used to provide unique identification of a 
  1708. terminal to a system.
  1709.  
  1710. Test Condition
  1711.         A statement defining a constraint that must be satisfied 
  1712. by the program under test.
  1713.  
  1714. Test Data
  1715.         The set of specific objects and variables that must be 
  1716. used to demonstrate that a program produces a set of given outcomes.
  1717.  
  1718. Test Plan
  1719.         A document or a section of a document which describes the 
  1720. test conditions, data, and coverage of a particular test of group of 
  1721. tests.  See also: Test Condition, Test Data, Coverage Analysis.
  1722.  
  1723. Test Procedure (Script)
  1724.         A set of steps necessary to carry out one or a group of 
  1725. tests. These include steps for test environment initialization, test 
  1726. execution, and result analysis.  The test procedures are carried out by 
  1727. test operators.
  1728.  
  1729. Test Program
  1730.         A program which implements the test conditions when 
  1731. initialized with the test data and which collects the results produced by 
  1732. the program being tested.
  1733.  
  1734. Top-Level Specification (TLS)
  1735.         A nonprocedural description of system behavior at the most 
  1736. abstract level, typically, a functional specification that omits all 
  1737. implementation details.
  1738.  
  1739. Trusted Computer System
  1740.         A system that employs sufficient hardware and software 
  1741. integrity measures to allow its use for processing simultaneously a range 
  1742. of sensitive or classified information.
  1743.  
  1744. Trusted Computing Base (TCB)
  1745.         The totality of protection mechanisms within a computer 
  1746. system * including hardware, firmware, and software * the combination of 
  1747. which is responsible for enforcing a security policy.  It creates a basic 
  1748. protection environment and provides additional user services required for 
  1749. a trusted computer system.  The ability of a trusted computing base to 
  1750. correctly enforce a security policy depends solely on the mechanisms 
  1751. within the TCB and on the correct input by system administrative personnel 
  1752. of parameters (e.g., a user's clearance) re-lated to the security policy.
  1753.  
  1754. Trusted Path
  1755.         A mechanism by which a person at a terminal can 
  1756. communicate directly with the Trusted Computing Base.  This mechanism can 
  1757. only be activated by the person or the Trusted Computing Base and cannot 
  1758. be imitated by untrusted software.
  1759.  
  1760. User
  1761.         Person or process accessing an AIS either by direct 
  1762. connections (i.e., via terminals), or indirect connections (i.e., prepare 
  1763. input data or receive output that is not reviewed for content or 
  1764. classification by a responsible individual).
  1765.  
  1766. Verification
  1767.         The process of comparing two levels of system 
  1768. specification for proper correspondence (e.g., security policy model with 
  1769. top-level specification, TLS with source code, or source code with object 
  1770. code).  This process may or may not be automated.
  1771.  
  1772. Write
  1773.         A fundamental operation that results only in the flow of 
  1774. information from a subject to an object.
  1775.  
  1776. Write Access (Privilege)
  1777.         Permission to write an object.
  1778.  
  1779.  REFERENCES 
  1780.  
  1781. 1.    Department of Defense, Trusted Computer System Evaluation 
  1782. Criteria, DoD 5200.28*STD, December 1985.
  1783.  
  1784. 2.    Department of Defense, ADP Security Manual - Techniques and 
  1785. Procedures for Implementing, Deactivating, Testing, and Evaluating Secure 
  1786. Resource Sharing ADP Systems, DoD 5200.28*M, revised June 1979.
  1787.  
  1788. 3.    Aerospace Report No. TOR-0086 (6777*25)1, "Trusted Computer System 
  1789. Evaluation Management Plan," 1 October 1985.
  1790.  
  1791. 4.    National Computer Security Center, NCSC*TG*002 Version *1, Trusted 
  1792. Product Evaluations - A Guide For Vendors, 1 March 1988 (DRAFT).
  1793.  
  1794. 5.    National Computer Security Center, NCSC*TG*004 Version 1, Glossary 
  1795. of Computer Security Terms, 21 October 1988.
  1796.  
  1797. 6.    National Computer Security Center, NCSC*TG*013 Version 1, Rating 
  1798. Maintenance Phase * Program Document, 23 June 1989
  1799.