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

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