home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / texts / txtfiles_misc / fcscvol2.txt < prev    next >
Text File  |  2001-02-10  |  566KB  |  13,991 lines

  1.  
  2.  
  3. FEDERAL CRITERIA
  4.  
  5. for
  6.  
  7. INFORMATION TECHNOLOGY SECURITY
  8.  
  9. VOLUME II
  10.  
  11.  
  12.  
  13. Registry of Protection Profiles
  14.  
  15. Version 1.0
  16.  
  17. December 1992
  18.  
  19.  
  20.  
  21. This document is undergoing review and 
  22. is subject to modification or withdrawal.
  23.  
  24. The contents of this document should not 
  25. be referenced in other publications.
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY
  34.  
  35. &
  36.  
  37. NATIONAL SECURITY AGENCY
  38.  
  39. NOTES TO REVIEWERS
  40.  
  41.  
  42.  
  43. This is the first public draft of work in progress by the joint 
  44. National Institute of Standards and Technology (NIST) and 
  45. National Security Agency (NSA) Federal Criteria (FC) Project. 
  46. This draft Federal Criteria for Information Technology Security 
  47. is provided for preliminary review and comment by members of the 
  48. national and international computer security community.  The 
  49. document will evolve into a new Federal Information Processing 
  50. Standard (FIPS) intended principally for use by the United States 
  51. Federal Government, and also by others as desired and 
  52. appropriate.  The FIPS is intended to replace the Trusted Computer 
  53. System Evaluation Criteria (TCSEC) or "Orange Book."
  54.  
  55. Our objectives in presenting this draft material are threefold: 
  56. first, to give the community a clear view of the FC Project's 
  57. direction in moving beyond the TCSEC method of expressing 
  58. requirements in order to meet new IT security challenges; second, 
  59. to obtain feedback on the innovative approaches taken, the method 
  60. of presentation, and granularity; and third, to make a 
  61. substantial contribution to the dialogue among nations leading to 
  62. the harmonization of IT security requirements and evaluations.
  63.  
  64. It is important to note a few things about this preliminary FC 
  65. draft. First, it is a new and unpolished document and not intended 
  66. for any purpose except review and comment. Organizations should 
  67. not adopt any contents of this draft document for their use.  It 
  68. is anticipated that the document will undergo extensive revision 
  69. as it works its way through the public FIPS approval process over 
  70. the next year or two.  Second, the FC is being distributed in two 
  71. volumes. Volume I addresses the criteria development process and 
  72. is intended principally for use by developers of protection 
  73. profiles. The information in Volume I may also be of use to IT 
  74. product manufacturers and product evaluators. Volume II presents 
  75. completed IT product security criteria in the form of accepted 
  76. protection profiles.
  77.  
  78. The protection profiles associated with the final FIPS will help 
  79. consumers identify types of products that meet the protection 
  80. requirements within their particular organizations and 
  81. environments.  However, the FIPS will be supplemented by a series 
  82. of implementing guidance documents, many of which will be 
  83. designed to help consumers make cost-effective decisions about 
  84. obtaining and appropriately using security-capable IT products.
  85.  
  86. As a preliminary draft of the new FC-FIPS, this document is not 
  87. intended for general distribution or compliance.  The document 
  88. should not be considered a complete or finished product.  Your 
  89. comments will be used by the Federal Criteria Working Group to 
  90. help raise the maturity level of this material prior to being 
  91. circulated for further public comment in the FIPS development 
  92. process.
  93.  
  94. ADDITIONAL NOTES TO REVIEWERS
  95.  
  96.  
  97.  
  98. Reviewers who provide substantive comments on the enclosed draft 
  99. FC by March 31, 1993 will be invited to attend an Invitational 
  100. Workshop on the Federal Criteria. This two-day workshop will be 
  101. held in the last week of April 1993 in the Washington-Baltimore 
  102. area at a location to be announced. All comments received by the 
  103. cut-off date will be correlated into major themes for discussion 
  104. by break-out groups at the workshop. The results will be used as 
  105. input into the process of re-drafting the FC for a second round of 
  106. comment prior to its being formalized as a FIPS.
  107.  
  108.  
  109.  
  110. Please send your comments (electronic format preferred) to 
  111. Nickilyn Lynch at the U.S. National Institute of Standards and 
  112. Technology (NIST), Computer Systems Laboratory (CSL).
  113.  
  114. Phone:    (301) 975-4267
  115. FAX:    (301) 926-2733.
  116.  
  117.  
  118.  
  119. (Internet) Electronic Mail:
  120.  
  121.     lynch@csmes.ncsl.nist.gov
  122.  
  123. Postal or Express Mail
  124. (Hardcopy or 3.5", 1.44M diskette in MSDOS, Macintosh, or Sun 
  125. format):
  126.  
  127.     Federal Criteria Comments
  128.     Attn: Nickilyn Lynch
  129.     NIST/CSL, Bldg 224/A241
  130.     Gaithersburg, MD 20899
  131.  
  132.  
  133.  
  134.  NIST   National Institute of Standards and Technology
  135.  
  136.     Gaithersburg, MD 20899
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148. COMMERCIAL SECURITY REQUIREMENTS
  149.  
  150.  FOR
  151.  
  152.  MULTI-USER OPERATING SYSTEMS
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  A family of Protection Profiles for the
  163.  
  164.  Federal Criteria for Information Technology Security
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Issue 1.1
  171.  
  172. January  1993
  173.  
  174. Supersedes Minimum Security Requirements
  175.  
  176. for Multi-User Operating Systems
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184. Computer Security Division
  185.  
  186. Computer Systems Laboratory
  187.  
  188. National Institute of Standards and Technology
  189.  
  190. Chapter  1.  
  191. Commercial Security Requirements (CSR)
  192. 1.1  Introduction 
  193. 1.1.1  CS Description 
  194. 1.1.2  Background 
  195. 1.1.2.1  Trusted Computer System Evaluation Criteria (TCSEC) 
  196. 1.1.2.2  Commercial Security Efforts 
  197. 1.1.2.3  System Security Study Committee 
  198. 1.1.2.4  Minimum Security Functionality Requirements (MSFR) 
  199. 1.1.2.5  Commercial Security (CS) requirements 
  200. 1.1.3  Document Organization 
  201. COMMERCIAL SECURITY 1 (CS1)
  202. CS1 Rationale
  203. 2.2  Introduction 
  204. 2.2.1  Protection Philosophy 
  205. 2.2.1.1  Access Authorization 
  206. 2.2.1.2  Accountability 
  207. 2.2.1.2.1  Identification and Authentication 
  208. 2.2.1.2.2  Audit 
  209. 2.2.1.3  Assurance 
  210. 2.2.2  Intended Method of Use 
  211. 2.2.3  Environmental Assumptions 
  212. 2.2.4  Expected Threats 
  213. CS1 Functionality
  214. 3.  Introduction 
  215. 3.1  Identification & Authentication 
  216. 3.2  Audit 
  217. 3.3  Access Control 
  218. 3.4  Reference Mediation 
  219. 3.5  TCB Protection 
  220. 3.6  TCB Self-Checking 
  221. CS1 Assurance
  222. 4.  Introduction 
  223. 4.1  TCB Property Definition 
  224. 4.2  TCB Element Identification 
  225. 4.3  TCB Interface Definition 
  226. 4.4  Developer Functional Testing 
  227. 4.5  User's Guidance 
  228. 4.6  Administrative Guidance 
  229. 4.7  Evidence of TCB Protection Properties 
  230. 4.8  Evidence of Product Development 
  231. 4.9  Evidence of Functional Testing 
  232. 4.10  Test Analysis 
  233. 4.11  Independent Testing 
  234. COMMERCIAL SECURITY 2 (CS2)
  235. CS2 Rationale
  236. 2.12  Introduction 
  237. 2.12.1  Protection Philosophy 
  238. 2.12.1.1  Access Authorization 
  239. 2.12.1.1.1  System Entry 
  240. 2.12.1.1.2  Subject and Object Access Mediation 
  241. 2.12.1.1.3  Privileges 
  242. 2.12.1.2  Accountability 
  243. 2.12.1.2.1  Identification and Authentication 
  244. 2.12.1.2.2  Audit 
  245. 2.12.1.3  Assurance 
  246. 2.12.1.4  Intended Method of Use 
  247. 2.12.2  Environmental Assumptions 
  248. 2.12.3  Expected Threats 
  249. CS2 Functionality
  250. 3.  Introduction 
  251. 3.1  Identification & Authentication 
  252. 3.2  System Entry 
  253. 3.3  Trusted Path 
  254. 3.4  Audit 
  255. 3.5  Access Control 
  256. 3.6  Security Management 
  257. 3.7  Reference Mediation 
  258. 3.8  Logical TCB Protection 
  259. 3.9  TCB Self-Checking 
  260. 3.10  TCB Initialization and Recovery 
  261. 3.11  Privileged Operation 
  262. 3.12  Ease-of-TCB-Use 
  263. CS2 Assurance
  264. 4.  Introduction 
  265. 4.1  TCB Property Definition 
  266. 4.2  TCB Element Identification 
  267. 4.3  TCB Interface Definition 
  268. 4.4  TCB Structuring Support 
  269. 4.5  Developer Functional Testing 
  270. 4.6  User's Guidance 
  271. 4.7  Administrative Guidance 
  272. 4.8  Flaw Remediation Procedures 
  273. 4.9  Trusted Generation 
  274. 4.10  Evidence of TCB Protection Properties 
  275. 4.11  Evidence of Product Development 
  276. 4.12  Evidence of Functional Testing 
  277. 4.13  Evidence of Product Support 
  278. 4.14  Test Analysis 
  279. 4.15  Independent Testing 
  280. 4.16  Operational Support Review 
  281. COMMERCIAL SECURITY 3 (CS3)
  282. CS3 Rationale
  283. 2.17  Introduction 
  284. 2.17.1  Protection Philosophy 
  285. 2.17.1.1  Access Authorization 
  286. 2.17.1.1.1  System Entry 
  287. 2.17.1.1.2  Subject and Object Access Mediation 
  288. 2.17.1.1.3  Privileges 
  289. 2.17.1.2  Accountability 
  290. 2.17.1.2.1  Identification and Authentication 
  291. 2.17.1.2.2  Audit 
  292. 2.17.1.3  Availability of Service 
  293. 2.17.1.4  Assurance 
  294. 2.17.1.5  Intended Method of Use 
  295. 2.17.2  Environmental Assumptions 
  296. 2.17.3  Expected Threats 
  297. CS3 Functionality
  298. 3.  Introduction 
  299. 3.1  Identification & Authentication 
  300. 3.2  System Entry 
  301. 3.3  Trusted Path 
  302. 3.4  Audit 
  303. 3.5  Access Control 
  304. 3.6  Security Management 
  305. 3.7  Reference Mediation 
  306. 3.8  Resource-Allocation Requirements 
  307. 3.9  TCB Protection 
  308. 3.10  Physical TCB Protection 
  309. 3.11  TCB Self-Checking 
  310. 3.12  TCB Initialization and Recovery 
  311. 3.13  Privileged Operation 
  312. 3.14  Ease-of-TCB-Use 
  313. CS3 Assurance
  314. 4.  Introduction 
  315. 4.1  TCB Property Definition 
  316. 4.2  TCB Element Identification 
  317. 4.3  TCB Interface Definition 
  318. 4.4  Developer Functional Testing 
  319. 4.5  Penetration Analysis 
  320. 4.6  User's Guidance 
  321. 4.7  Administrative Guidance 
  322. 4.8  Flaw Remediation Procedures 
  323. 4.9  Trusted Generation 
  324. 4.10  Life Cycle Definition 
  325. 4.11  Configuration Management 
  326. 4.12  Evidence of TCB Protection Properties 
  327. 4.13  Evidence of Product Development 
  328. 4.14  Evidence of Functional Testing 
  329. 4.15  Evidence of Penetration Analysis 
  330. 4.16  Evidence of Product Support 
  331. 4.17  Test Analysis 
  332. 4.18  Independent Testing 
  333. 4.19  Development Environment Review 
  334. 4.20  Operational Support Review 
  335. 4.21  Design Analysis 
  336. GLOSSARY 
  337. CSR References
  338.  
  339. Chapter  1.
  340. Commercial Security Requirements (CSR)
  341.  
  342. 1.1    Introduction
  343.  
  344. Government and commercial institutions rely heavily on 
  345. information technology (IT) products to meet their 
  346. operational, financial, and information requirements. The 
  347. corruption, unauthorized disclosure, or theft of 
  348. electronically-maintained resources can have a disruptive 
  349. effect on an organization's operations as well as serious and 
  350. immediate financial, legal, and public confidence impact.
  351.  
  352. Products conforming to the Commercial Security (CS) 
  353. requirements contained in this document are intended to be 
  354. useful to a broad base of users in the private, civil 
  355. government, and defense sectors. This includes application 
  356. developers, end users, and system administrators. The 
  357. Protection Profiles specified in this document provide 
  358. organizations with three set of security requirements, 
  359. defined as CS1, CS2, and CS3, with CS3 offering the highest 
  360. degree of trust.
  361.  
  362. The Protection Profiles as a whole specify "baseline" 
  363. requirements that meet generally accepted security 
  364. expectations for a class of products colloquially called 
  365. "general purpose, multi-user operating systems." These 
  366. requirements apply to multi-user workstations, minicomputers, 
  367. and mainframes. Most required mechanisms are configurable so 
  368. that customers can satisfy their unique security policies and 
  369. objectives.
  370.  
  371. The intent of the Protection Profiles is to promote the wide 
  372. availability of products possessing security enforcing 
  373. functions that are of such broad applicability and 
  374. effectiveness that they become part of the "normal" mode of 
  375. operation. It is anticipated that vendors will respond to user 
  376. expectations by increasing the availability of operating 
  377. systems that meet these general security requirements. These 
  378. requirements represent the integration of a number of security 
  379. requirement specifications from various sources into a single 
  380. set that is expected to have wide acceptance.
  381.  
  382. 1.1.1    CS Description
  383.  
  384. The Protection Profiles address the security features and 
  385. their development. The Protection Profiles were written to 
  386. meet several objectives: to serve as a "metric" for the amount 
  387. of security present in a computer system processing sensitive 
  388. information; to provide guidance to the developers as to what 
  389. security features to build into their planned products; and 
  390. to provide a method for uniformly specifying security 
  391. requirements in acquisition specifications. 
  392.  
  393. The CS requirements are divided into three hierarchical 
  394. Protection Profiles. The profiles are CS1, CS2, and CS3, with 
  395. C3 providing the greatest degree of security. Each profile 
  396. represents a level of trust that can be placed in a product 
  397. and specifies a collection of requirements in the form of 
  398. features and assurances. Each profile includes most of the 
  399. features and assurances of the previous profile along with 
  400. additional, more stringent features and assurances. The 
  401. reasoning for requirements leveling for each Protection 
  402. Profile can be found in the rationale in Chapter 2. This 
  403. reasoning is based on the overall effectiveness of each 
  404. Protection Profile in addressing the threats identified in 
  405. that chapter. 
  406.  
  407. The Protection Profiles specify computer-based protection 
  408. mechanisms for the design, use, and management of information 
  409. systems. The Protection Profiles include technical measures 
  410. that can be incorporated into multi-user, remote-access, 
  411. resource-sharing, and information sharing computer systems. 
  412. CS-conformant computer products provide system administrators 
  413. with tools to control the sharing of information and resources 
  414. based primarily on the identity of users, or, in the case of 
  415. CS3, the role associated with the user, as well as the time 
  416. of day, terminal location, or type of access requested. The 
  417. technical measures also provide tools to protect against both 
  418. common user actions that may compromise security and against 
  419. deliberate penetration attempts by "hackers." In addition, 
  420. there are requirements to log events that may impact the 
  421. security of either the product or the information that it is 
  422. processing. All functionality requirements are based on 
  423. existing and well understood security practices.
  424.  
  425. 1.1.2    Background
  426.  
  427. These Protection Profiles have been developed by the CS 
  428. Working Group of the Federal Criteria Project under NIST 
  429. leadership with a high level of private sector participation. 
  430. They are based on the Trusted Computer System Evaluation 
  431. Criteria (TCSEC) [1] C2 criteria class, with additions from 
  432. current computer industry practice, from commercial security 
  433. requirements specifications, and from the on-going work of the 
  434. Federal Criteria Project. Their development has also been 
  435. guided by international security standards efforts and by the 
  436. recommendations of the System Security Study Committee.
  437.  
  438. The following sub-sections provide descriptions of each of 
  439. these sources, and gives further background on the motivation 
  440. for and development of the Protection Profiles.
  441.  
  442. 1.1.2.1    Trusted Computer System Evaluation Criteria (TCSEC) 
  443.  
  444. The TCSEC [1], originally published in 1983 and revised in 
  445. 1985, was the first publicly available document that expressed 
  446. general security requirements that could apply to a specific 
  447. class of technology (e.g., operating systems). It represents 
  448. the culmination of many years of effort to address Information 
  449. Technolgy (IT) security issues within the Department of 
  450. Defense (DoD) classified world. The TCSEC is made up of IT 
  451. security features and assurances that have been derived and 
  452. engineered to support a very specific DoD security policy - 
  453. the prevention of unauthorized disclosure of classified 
  454. information (i.e., confidentiality). 
  455.  
  456. During the past few years, commercial enterprises and 
  457. government organizations processing sensitive information 
  458. have begun to pay increasing attention to IT security needs. 
  459. Although the TCSEC-motivated security features have proven 
  460. valuable in addressing their security problems, often these 
  461. features have been viewed as less than perfect and incomplete 
  462. and only to have been specified because a more appropriate set 
  463. of security functions has not been available.
  464.  
  465. The Protection Profiles are intended to be the first step 
  466. in "filling this gap" by providing a set of security 
  467. requirements appropriate for commercial enterprises and 
  468. government organizations concerned with protecting sensitive 
  469. information.
  470.  
  471. 1.1.2.2    Commercial Security Efforts
  472.  
  473. Recognizing that the TCSEC was a valuable starting point, 
  474. but not sufficient for their security needs, two commercial 
  475. companies - Bellcore and American Express Travel Related 
  476. Services (TRS) - independently initiated efforts to develop 
  477. security requirements for their environments. At Bellcore, 
  478. these efforts resulted in a Bellcore Standard Operating 
  479. Environment Security Requirements [3] document and at TRS the 
  480. efforts resulted in the internal C2-Plus company security 
  481. standard.
  482.  
  483. The Bellcore document was developed to meet the security 
  484. needs of Bellcore and its client companies, the Regional Bell 
  485. Operating Companies (RBOCs). The requirements specified in 
  486. the Bellcore document were derived both from commonly 
  487. recurring security requirements for RBOC computer 
  488. applications and from experiences of Bellcore's computer 
  489. security assessment group.
  490.  
  491.  In developing the C2-Plus document, TRS found that, while 
  492. the TCSEC met many requirements of the commercial sector, the 
  493. prescribed features at the C2-level (and its F2-level 
  494. counterpart in the ITSEC [2]) fell short in several areas that 
  495. were either introduced at higher TCSEC levels or were not 
  496. addressed at all in the respective standards. Consequently, 
  497. the TRS document was developed as an enhanced, commercialized 
  498. version of the C2-level security requirements of the TCSEC. 
  499.  
  500. Using the TRS document as input, the International 
  501. Information Integrity Institute (I-4), a consortium of large 
  502. international corporations, developed the Commercial 
  503. International Security Requirements (CISR) [4]. The rationale 
  504. for the development of the CISR include the following:
  505.  
  506. "Military-oriented information security 
  507. requirements (i. e., TCSEC) are not suitable in 
  508. many respects for the needs of international 
  509. businesses." [4]
  510.  
  511. The final version of the CISR was published in April 1992.
  512.  
  513. 1.1.2.3    System Security Study Committee
  514.  
  515. The System Security Study Committee was formed in 1988 in 
  516. response to a request from the Defense Advance Research 
  517. Projects Agency (DARPA) to address the security and 
  518. trustworthiness of U.S. computing and communications systems. 
  519. The Committee, which was composed of 16 individuals from 
  520. industry and academia, including computer and communications 
  521. security researchers, practitioners, and software engineers, 
  522. was charged with developing a national research, engineering, 
  523. and policy agenda to help the United States achieve a more 
  524. trustworthy computing technology base by the end of the 
  525. century. In 1991, the Committee published the Computers at 
  526. Risk [5] report, which presents the Committee's assessment of 
  527. key computer and communications security issues and its 
  528. recommendations for enhancing the security and 
  529. trustworthiness of the U.S. computing and communications 
  530. infrastructure. 
  531.  
  532. The development of the Protection Profiles was guided by 
  533. one of the recommendations from this report that:
  534.  
  535. "...a basic set of security-related principles for 
  536. the design, use, and management of systems that are 
  537. of such broad applicability and effectiveness that 
  538. they ought to be a part of any system with 
  539. significant operational requirements" [5] should be 
  540. developed.
  541.  
  542. 1.1.2.4    Minimum Security Functionality Requirements (MSFR)
  543.  
  544. The second draft of the Minimum Security Functionality 
  545. Requirements for Multi-User Operating Systems (MSFR) [10] was 
  546. published in January of 1992. The MSFR was developed as part 
  547. of a project to stimulate the development of IT products 
  548. broadly useful to the diverse security needs of the US 
  549. Government (civilian and military) and the private sector. 
  550.  
  551. The MSFR specified the minimum level of security that NIST 
  552. and NSA felt should be available in any commercially available 
  553. multi-user operating system. The MSFR represents an extension 
  554. of the TCSEC controlled access protection class, level C2, 
  555. with additions based on current industry practice and security 
  556. requirements specifications developed in the commercial 
  557. environment. Much of the MSFR is derived from the TCSEC, the 
  558. Bellcore Standard Operating Environment Security 
  559. Requirements, and the CISR with overall guidance from the 
  560. Computers at Risk report [5]. 
  561.  
  562. 1.1.2.5    Commercial Security (CS) requirements
  563.  
  564. To help support the Federal Criteria, the CS Working Group 
  565. was tasked with developing a family of Protection Profiles, 
  566. based on an updated version of the MSFR. The three Protection 
  567. Profiles included in this document have been developed in 
  568. compliance with the prescribed approach and format of the 
  569. Federal Criteria [11]. Components of the Federal Criteria were 
  570. selected for each Protection Profile and were enhanced with 
  571. refinements and assignments that were taken from the November 
  572. 1992 version of the MSFR. The Protection Profiles are intended 
  573. to satisfy the most common security needs of computer system 
  574. users. 
  575.  
  576. 1.1.3    Document Organization
  577.  
  578. Chapter 1 (this chapter) provides introductory and 
  579. background information. The rest of this document is divided 
  580. into three Protection Profiles, CS1, CS2, and CS3. The 
  581. development of these Protection Profiles are in accordance 
  582. with the Protection Profile format specified by the Federal 
  583. Criteria. Chapter 2 provides the rationale for the selection 
  584. of the security features and assurance evidence. This 
  585. rationale also includes descriptions of the intended use of 
  586. the product, the environmental assumptions that were made for 
  587. a CS-compliant system, and the expected threats. Chapter 3 
  588. specifies the security functionality that a CS-compliant 
  589. system is required to provide, and Chapter 4 specifies the 
  590. assurance requirements. At the end of the CS requirements, 
  591. there is a Glossary and a list of references. 
  592.  
  593. COMMERCIAL SECURITY 1 (CS1)
  594.  
  595.  Products that comply with this Protection Profile 
  596. provide access control capabilities to separate 
  597. users and data based on finely grained access con-
  598. trols. It incorporates credible controls capable of 
  599. enforcing access limitations on an individual 
  600. basis, i.e., ostensibly suitable for allowing users 
  601. to be able to protect sensitive information and to 
  602. keep other users from reading or destroying their 
  603. data. Users are individually accountable for their 
  604. actions through login procedures, auditing of secu-
  605. rity relevant events, and resource isolation. This 
  606. CS1 Protection Profile is equivalent to a Class C2 
  607. - Controlled Access Protection from the TCSEC [1]. 
  608. It consists of TCSEC requirements plus those eval-
  609. uation interpretations that a product must meet 
  610. before it can be evaluated at the C2 level.
  611.  
  612.  
  613.  
  614. COMPONENT SUMMARY: 
  615.  
  616.             CS1 Functional Component Summary
  617. .------------------------------------------------------.
  618. |                                  | Component |       |
  619. | Component Name                   |   Code    | Level |           
  620. |======================================================|
  621. | Security Policy Support:                             |
  622. |----------------------------------+-----------+-------|
  623. |  Identification & Authentication |    I&A    |   1   |
  624. |----------------------------------+-----------+-------|
  625. |  Audit                           |    AD     |   1   |
  626. |----------------------------------+-----------+-------|
  627. |  Access Control                  |    AC     |   1   |
  628. |----------------------------------+-----------+-------|
  629. |  Reference Mediation             |    RM     |   1   |
  630. |----------------------------------+-----------+-------|
  631. |  TCB Protection                  |    P      |   1   |
  632. |----------------------------------+-----------+-------|
  633. |  Self Checking                   |    SC     |   1   |
  634. `------------------------------------------------------'
  635.  
  636.  
  637.  
  638.       CS1 Assurance Package Summary
  639. .---------------------------------------.
  640. | Assurance Components           |  T1  |
  641. |================================|======|
  642. | Development Assurance Components      |     
  643. |=======================================|
  644. | Development Process                   |
  645. |--------------------------------+------|
  646. | TCB Property Definition        | PD-1 |
  647. |--------------------------------+------|
  648. | TCB Design                            |
  649. |--------------------------------+------|
  650. |   TCB Element Identification   | ID-1 |
  651. |--------------------------------+------|
  652. |   TCB Interface Definition     | IF-1 |
  653. |--------------------------------+------|
  654. |   TCB Modular Decomposition    | ---- |
  655. |--------------------------------+------|
  656. |   TCB Structuring Support      | ---- |
  657. |--------------------------------+------|
  658. |   TCB Design Disciplines       | ---- |
  659. |--------------------------------+------|
  660. | TCB Implementation Support     | ---- |
  661. |--------------------------------+------|
  662. | TCB Testing and Analysis              |
  663. |--------------------------------+------|
  664. |   Functional Testing           | FT-1 |
  665. |--------------------------------+------|
  666. |   Penetration Analysis         | ---- |
  667. |--------------------------------+------|
  668. |   Covert Channel Analysis      | ---- |
  669. |--------------------------------+------|
  670. | Operational Support                   |
  671. |--------------------------------+------|
  672. | User Security Guidance         | UG-1 |
  673. |--------------------------------+------|
  674. | Administrative Guidance        | AG-1 |
  675. |--------------------------------+------|
  676. | Trusted Generation             | ---- |
  677. |--------------------------------+------|
  678. | Development Environment               |
  679. |--------------------------------+------|
  680. | Life Cycle Definition          | ---- |
  681. |--------------------------------+------|
  682. | Configuration Management       | ---- |
  683. |--------------------------------+------|
  684. | Trusted Distribution           | ---- |
  685. |--------------------------------+------|
  686. | Development Evidence                  |
  687. |--------------------------------+------|
  688. | TCB Protection Properties      | EPP1 |
  689. |--------------------------------+------|
  690. | Product Development            | EPD1 |
  691. |--------------------------------+------|
  692. | Product Testing & Analysis            |
  693. |--------------------------------+------|
  694. |   Functional Testing           | EFT1 |
  695. |--------------------------------+------|
  696. |   Penetration Analysis         | ---- |
  697. |--------------------------------+------|
  698. |   Covert Channel Analysis      | ---- |
  699. |--------------------------------+------|
  700. | Product Support                | ---- |
  701. `---------------------------------------'
  702. |=======================================|
  703. | Evaluation Assurance Components       |
  704. |=======================================|
  705. | Testing                               |
  706. |--------------------------------+------|
  707. |   Test Analysis                | TA-1 |
  708. |--------------------------------+------|
  709. |   Independent Testing          | IT-1 |
  710. |--------------------------------+------|
  711. | Review                                |
  712. |--------------------------------+------|
  713. |   Development Environment      | ---- |
  714. |--------------------------------+------|
  715. |   Operational Support          | ---- |
  716. |--------------------------------+------|
  717. | Analysis                              |
  718. |--------------------------------+------|
  719. |   Protection Properties        | ---- |
  720. |--------------------------------+------|
  721. |   Design                       | ---- |
  722. |--------------------------------+------|
  723. |   Implementation               | ---- |
  724. `---------------------------------------'
  725.  
  726. CS1 Rationale
  727.  
  728. 2.2    Introduction
  729.  
  730. As outlined in the Federal Criteria, this rationale de-
  731. scribes the protection philosophy, how the security features 
  732. are intended to be used, the assumptions about the environment 
  733. in which a compliant product is intended to operate, the 
  734. threats within that environment, and the security features and 
  735. assurances that counter these threats.
  736.  
  737. The level of components that were chosen for the CS1 Pro-
  738. tection Profile are equivalent to Class C2 of the TCSEC [1]. 
  739. They consist of TCSEC requirements plus those evaluation in-
  740. terpretations that a product must meet before it can be eval-
  741. uated at the C2 level.
  742.  
  743. 2.2.1    Protection Philosophy
  744.  
  745. Any discussion of protection necessarily starts from a pro-
  746. tection philosophy, i.e., what it really means to call the 
  747. product "secure." In general, products will control access to 
  748. information and other resources through the use of specific 
  749. security features so that only properly authorized individu-
  750. als or processes acting on their behalf will be granted ac-
  751. cess. For CS1, three fundamental requirements are derived for 
  752. this statement of protection:
  753.  
  754. o    Access authorization
  755.  
  756. o    Accountability
  757.  
  758. o    Assurance 
  759.  
  760. The totality of the functionality that enforces the access 
  761. authorization and accountability protection philosophy is 
  762. comprised of the hardware, software, and firmware of the 
  763. Trusted Computing Base (TCB). CS1 requires the TCB to be pro-
  764. tected from external interference and tampering so that it is 
  765. effective at countering identified threats. The assurance 
  766. protection philosophy is comprised of the development pro-
  767. cess, operational support, development evidence, and evalua-
  768. tion process assurances. Each of these are explained below.
  769.  
  770. 2.2.1.1    Access Authorization
  771.  
  772. The access authorization portion of the philosophy of pro-
  773. tection for this profile addresses subject and object access 
  774. mediation. CS1 provides protected access to resources and ob-
  775. jects. As defined in the TCSEC and specified in this profile, 
  776. access control permits system users and the processes that 
  777. represent them to allow or disallow to other users access to 
  778. objects under their control:
  779.  
  780. Access control is "a means of restricting access to 
  781. objects based on the identity of subjects and/or 
  782. groups to which they belong. The controls are dis-
  783. cretionary in the sense that a subject with a cer-
  784. tain access permission is capable of passing that 
  785. permission (perhaps indirectly) on to any other 
  786. subject." [1]
  787.  
  788. These controls permit the granting and revoking of access 
  789. privileges to be left to the discretion of the individual us-
  790. ers. 
  791.  
  792. 2.2.1.2    Accountability
  793.  
  794. The accountability portion of the philosophy of protection 
  795. for this profile addresses user Identification and Authenti-
  796. cation (I&A) and requirements for security auditing. Each of 
  797. these are explained below.
  798.  
  799. 2.2.1.2.1    Identification and Authentication
  800.  
  801. User identification is required to support access control 
  802. and security auditing. This includes the capability to estab-
  803. lish, maintain, and protect a unique identifier for each au-
  804. thorized user. User identification is functionally dependent 
  805. on authentication. Authentication is a method of validating a 
  806. person as a legitimate user.
  807.  
  808. 2.2.1.2.2    Audit
  809.  
  810. For most secure products, a capability must exist to audit 
  811. the security relevant events. As each user performs security 
  812. relevant tasks, the product must record the user identifier, 
  813. the action performed, and the result in a security log. For 
  814. CS1 compliant products, a capability is specified to allow a 
  815. system administrator to access and evaluate audit informa-
  816. tion. This capability provides a method of protection in the 
  817. sense that security relevant events that occur within a com-
  818. puter system can be logged and the responsible user held ac-
  819. countable for his/her actions. Audit trails are used to detect 
  820. and deter penetration of a computer system and to reveal ac-
  821. tivity that identifies misuse.
  822.  
  823. CS1 provides for an effective audit mechanism by supporting 
  824. the following basic security characteristics. It provides the 
  825. ability to:
  826.  
  827. o     review the use of I&A mechanisms;
  828.  
  829. o     discover the introduction of objects into a user's 
  830. address space;
  831.  
  832. o     discover the deletion of objects; and
  833.  
  834. o     discover actions taken by computer operators and sys-
  835. tem administrators.
  836.  
  837. 2.2.1.3    Assurance
  838.  
  839. Assurance addresses threats and vulnerabilities that can 
  840. affect the product during its development and it addresses 
  841. evaluation assurance. Assurance Package T1 was selected for 
  842. the CS1 level. This minimal assurance level is intended to 
  843. include most commercial computer products that incorporate 
  844. protection components today. Minimal assurance refers to the 
  845. fact that this package includes the lowest levels of develop-
  846. ment and evaluation assurance components and only those com-
  847. ponents deemed important to provide the necessary minimal 
  848. understanding of the product. 
  849.  
  850. The intent of the product development assurance for this 
  851. package is to establish that the external behavior of the 
  852. product conforms to its user level and administrative docu-
  853. mentation without any analysis of the internal structure of 
  854. the product's TCB. For this reason, only the claimed TCB pro-
  855. tection properties, TCB interface description, and TCB ele-
  856. ment list are required to enable security functional testing. 
  857.  
  858. The intent of the operational support assurance for this 
  859. package is to establish a minimal level of user and adminis-
  860. trative guidance and product information that enables the cor-
  861. rect product installation, use of product security features, 
  862. and remediation of flaws. 
  863.  
  864. The development evidence is commensurate with the assuranc-
  865. es required. The intent is to require the type of assurance 
  866. evidence that is generated during the normal commercial de-
  867. velopment process. 
  868.  
  869.  Evaluation support assurance establishes that the product, 
  870. and the context in which it is developed and supported, is 
  871. commensurate with the development assurance requirements. At 
  872. the T1 level, testing analysis and the requirement for inde-
  873. pendent testing determines whether the product minimally 
  874. meets the functional protection requirements. Operational 
  875. support evaluation assurance determines whether the product 
  876. documentation correctly describes the security relevant oper-
  877. ations.
  878.  
  879. 2.2.2    Intended Method of Use
  880.  
  881. All individual users (both administrative and non-adminis-
  882. trative) are assigned a unique user identifier. This user 
  883. identifier supports individual accountability and access con-
  884. trol. The operating system authenticates the claimed identity 
  885. of the user before allowing the user to perform any further 
  886. actions.
  887.  
  888. A CS1 compliant product imposes controls on authorized us-
  889. ers and on processes acting on their behalf to prevent users 
  890. from gaining access to information and other resources for 
  891. which they are not authorized. The product provides the capa-
  892. bility for users to allow or disallow to other users access 
  893. to objects under their control. The objects are files that may 
  894. be read or written to or programs which may be executed. The 
  895. granularity of control is to the level of individual users 
  896. (although groups made up of individual users may be specified) 
  897. and individual objects. CS1 access controls permit the grant-
  898. ing and revoking of access to be left to the discretion of the 
  899. individual users.
  900.  
  901. Products that comply with CS1 specifications are intended 
  902. to be used within the following operational constraints:
  903.  
  904. o    The information system is designed to be administered 
  905. as a unique entity by a single organization.
  906.  
  907. o    The information system is designed to manage comput-
  908. ing, storage, input/output, and to control the sharing 
  909. of resources among multiple users and computer pro-
  910. cesses.
  911.  
  912. o    The administrative and non-administrative users are 
  913. identified as distinct individuals.
  914.  
  915. o    The granting and revoking of access control permis-
  916. sions are left to the discretion of individual users.
  917.  
  918. o    The information system provides facilities for real-
  919. time interaction with users that have access to input/
  920. output devices.
  921.  
  922. 2.2.3    Environmental Assumptions
  923.  
  924. A product designed to meet the CS1 Protection Profile is 
  925. intended to be a general purpose, multi-user operating system 
  926. that runs on either a workstation, minicomputer, or mainframe. 
  927. CS1 compliant products are expected to be used in commercial 
  928. and government environments. For government environments, CS1 
  929. conforms to the TCSEC C2 class of trust [1].The information 
  930. being processed may be unclassified, sensitive-but-unclassi-
  931. fied, or single-level classified, but not multi-level classi-
  932. fied information.
  933.  
  934. The following specific environmental conditions have been 
  935. assumed in specifying CS1:
  936.  
  937. o    The product hardware base (e.g., CPU, printers, ter-
  938. minals, etc.), firmware, and software will be pro-
  939. tected from unauthorized physical access.
  940.  
  941. o    There will be one or more personnel assigned to manage 
  942. the product including the security of the information 
  943. it contains.
  944.  
  945. o    The operational environment will be managed according 
  946. to the operational environment documentation that is 
  947. required in the assurance chapter of the Protection 
  948. Profile. 
  949.  
  950. o    The IT product provides a cooperative environment for 
  951. users to accomplish some task or group of tasks.
  952.  
  953. o    The processing resources of the IT product, including 
  954. all terminals, are assumed to be located within user 
  955. spaces that have physical access controls established.
  956.  
  957. 2.2.4    Expected Threats
  958.  
  959. In general, the choice of which Protection Profile to 
  960. choose depends upon the level of security that is required for 
  961. that particular organizational environment. The lowest level, 
  962. the CS1 level, is intended for those commercial and government 
  963. environments where all the system personnel are trusted and 
  964. all the data on the system is at the same classification lev-
  965. el. For example, a government agency where all personnel has 
  966. a government clearance, all data is unclassified, and there 
  967. is no outside network connections would be an ideal candidate 
  968. for CS1, i.e., the threats to be countered are such that only 
  969. a minimal level of trust is needed. However, most commercial 
  970. and government environments are more complex and require a 
  971. higher degree of trust. CS2 addresses the security needs for 
  972. the mainstream commercial and government environments. It 
  973. provides a higher level of trust for those organizations that 
  974. need to enforce a security policy where there is no need for 
  975. different classifications of data. CS3 is intended to provide 
  976. the highest level of trust for commercial and government en-
  977. vironments. It is intended to be used in those environments 
  978. where a great deal of trust is required, such as in law en-
  979. forcement agencies, nuclear facilities, or commercial air-
  980. ports. It provides the strongest features, mechanisms, and 
  981. assurances to counter these threats.
  982.  
  983. A product that is designed to meet the CS1 Protection Pro-
  984. file and operate within its assumed environment will provide 
  985. capabilities to counter threats. It should be noted, however, 
  986. that although a product may faithfully implement all the fea-
  987. tures and assurances specified in this Protection Profile, the 
  988. complete elimination of any one threat should not be assumed.
  989.  
  990. The following threats have been assumed in specifying this 
  991. CS1 Protection Profile:
  992.  
  993. 1.    AN UNAUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO THE 
  994. SYSTEM
  995.  
  996. For CS1 compliant products, the threat of an unauthorized 
  997. user gaining access to the system is primarily addressed by 
  998. I&A. I&A features allow the TCB to verify the identity of in-
  999. dividuals attempting to gain access to the system. This is 
  1000. accomplished through the use of passwords.
  1001.  
  1002. Although not a direct countermeasure, auditing requirements 
  1003. are specified at the CS1 level to provide the capability to 
  1004. perform an after-the-fact analysis of unauthorized system en-
  1005. try and login attempts. This provides an opportunity for the 
  1006. system administrators to take corrective actions, such as 
  1007. strengthening existing user authentication methods or requir-
  1008. ing users to change their passwords.
  1009.  
  1010. 2.    AN AUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO 
  1011. RESOURCES WHEN THE USER IS NOT ALLOWED ACCESS
  1012.  
  1013. An authorized user can try to gain access to unauthorized 
  1014. resources by assuming the user identifier of another user and 
  1015. thus gaining their associated access rights. This is addressed 
  1016. through the use of passwords.
  1017.  
  1018. Once an authorized user has gained access to the system, 
  1019. the threat still remains for a user to gain access to resourc-
  1020. es when the user is not authorized. At the resource level, CS1 
  1021. specifies access control features to mediate (i.e., distrib-
  1022. ute, review, and revoke) user access to a subset of resources. 
  1023.  
  1024. The object reuse feature has been specified to ensure that 
  1025. resource contents are cleared before they are reused. This re-
  1026. duces the vulnerability that the resource contents can be read 
  1027. before it is overwritten. 
  1028.  
  1029. 3.    SECURITY RELEVANT ACTIONS MAY NOT BE TRACEABLE TO THE 
  1030. USER ASSOCIATED WITH THE EVENT
  1031.  
  1032.  
  1033.  
  1034. CS1 accountability and audit requirements are specified to 
  1035. provide the capability to track security relevant actions per-
  1036. formed by users and link such actions, if possible, to the 
  1037. responsible identifier. Audit mechanisms are responsible for 
  1038. the monitoring and detecting of real or potential security vi-
  1039. olations or events. These audit events can include successful 
  1040. or unsuccessful: I&A events, the introduction of objects into 
  1041. a user's address space, the deletion of objects, and actions 
  1042. taken by system administrators. Each audit record includes the 
  1043. date, time, location, type of event, identity of the user and 
  1044. object involved, and the success or failure of the event. 
  1045.  
  1046. 4.    SECURITY BREACHES MAY OCCUR BECAUSE OF TCB PENETRATION
  1047.  
  1048. TCB protection is a fundamental capability of CS compliant 
  1049. products. The security components and mechanisms described in 
  1050. this Protection Profile depend upon the integrity of the TCB 
  1051. and on the TCB being isolated and non-circumventable. CS1 
  1052. specifies requirements for a common and basic set of security 
  1053. features to protect the TCB from outside penetration.
  1054.  
  1055. This threat is also countered through product assurance. 
  1056. TCB interface definition establishes the boundary between the 
  1057. TCB and its internal users. Security functional testing es-
  1058. tablishes that these TCB definitions and properties satisfy 
  1059. the requirements of this Protection Profile. 
  1060.  
  1061. 5.    USERS MAY BE ABLE TO BYPASS THE SECURITY FEATURES OF 
  1062. THE SYSTEM
  1063.  
  1064. This threat is countered by authentication, access control, 
  1065. audit, TCB isolation, TCB non-circumventability, and refer-
  1066. ence mediation requirements. Authentication requirements pro-
  1067. tect authentication data from unauthorized users. Resource 
  1068. access control requirements protect access control data.
  1069.  
  1070. Audit requirements provide for the logging of successful 
  1071. and unsuccessful accesses to resources as well as for changes 
  1072. made to the system security configuration and system software 
  1073. in the event that the system security features have been by-
  1074. passed.
  1075.  
  1076. The CS1 specification for reference mediation protects the 
  1077. integrity of the access control mechanism and the TCB's func-
  1078. tionality. Starting at CS1, requirements exist for TCB medi-
  1079. ation of user references to objects and to security relevant 
  1080. services. 
  1081.  
  1082. CS1-compliant products maintain a domain for its own exe-
  1083. cution to protect it from external interference and tampering. 
  1084. Such requirements address TCB isolation and non-circumvent-
  1085. ability of TCB isolation functions. 
  1086.  
  1087. This threat is also countered through product assurance. 
  1088. The definition of TCB properties assures the consistency of 
  1089. the TCB's behavior. The identification of TCB elements pro-
  1090. vides the set of elements that determine the protection char-
  1091. acteristics of a product. The TCB interface definition 
  1092. establishes the boundary between the TCB and its internal us-
  1093. ers. Security functional testing establishes that these TCB 
  1094. definitions and properties satisfy the requirements of this 
  1095. Protection Profile, and provide evidence against users being 
  1096. able to bypass the security features of the system.
  1097. CS1 Functionality
  1098.  
  1099. 3.    Introduction
  1100.  
  1101. This section provides detailed functionality requirements 
  1102. that must be satisfied by an Commercial Security 1 (CS1) 
  1103. compliant product. Note that all plain text are words taken 
  1104. directly from the Federal Criteria [11]. Any assignments or 
  1105. refinements made to the text in the Federal Criteria for this 
  1106. Protection Profile are indicated by the use of bold italics. 
  1107. A Protection Profile requirement is an assignment when it is 
  1108. directly taken as stated from the Federal Criteria component 
  1109. without change or when a binding is made to a Federal Criteria 
  1110. threshold definition. A Protection Profile requirement is a 
  1111. refinement when a Federal Criteria requirement is taken to a 
  1112. lower level of abstraction. The characterization of 
  1113. Protection Profile requirements as being either assignments 
  1114. or refinements can be found at each component level.
  1115.  
  1116. This Protection Profile for CS1 utilizes the following 
  1117. levels from the Federal Criteria. Note that not all the 
  1118. components from the Federal Criteria are reflected in this 
  1119. Protection Profile; there are no specific requirements for 
  1120. those components that are not listed.
  1121.  
  1122.            CS1 Functional Component Summary
  1123. .------------------------------------------------------.
  1124. |                                  | Component |       |
  1125. | Component Name                   |   Code    | Level |           
  1126. |======================================================|
  1127. | Security Policy Support:                             |
  1128. |----------------------------------+-----------+-------|
  1129. |  Identification & Authentication |    I&A    |   1   |
  1130. |----------------------------------+-----------+-------|
  1131. |  Audit                           |    AD     |   1   |
  1132. |----------------------------------+-----------+-------|
  1133. |  Access Control                  |    AC     |   1   |
  1134. |----------------------------------+-----------+-------|
  1135. |  Reference Mediation             |    RM     |   1   |
  1136. |----------------------------------+-----------+-------|
  1137. |  TCB Protection                  |    P      |   1   |
  1138. |----------------------------------+-----------+-------|
  1139. |  Self Checking                   |    SC     |   1   |
  1140. `------------------------------------------------------'
  1141.  
  1142.  
  1143. 3.1    Identification & Authentication 
  1144.  
  1145. All users of the product must be identified and 
  1146. authenticated. A login process is established that the user 
  1147. interacts with in order to provide the information necessary 
  1148. for identification and authentication. The identification and 
  1149. authentication process begins the user's interaction with the 
  1150. target product. First, the user supplies a unique user 
  1151. identifier to the TCB. Then, the user is asked by the TCB to 
  1152. authenticate that claimed identity. The user identifier is 
  1153. used for both access control and also for accountability. 
  1154. Therefore, the proper maintenance and control of the 
  1155. identification mechanism and the identification databases are 
  1156. vital to product security. Once a user has supplied an 
  1157. identifier to the TCB, the TCB must verify that the user 
  1158. really corresponds to the claimed identifier. This is done by 
  1159. the authentication mechanism as described by the following 
  1160. requirements. 
  1161.  
  1162. For the CS1 level, I&A-1 was assigned from the Federal 
  1163. Criteria. This I&A component level has not been refined from 
  1164. the Federal Criteria.
  1165.  
  1166. I&A-1 Minimal Identification and Authentication
  1167.  
  1168. 1.    The TCB shall require users to identify 
  1169. themselves to it before beginning to perform any 
  1170. other actions that the TCB is expected to mediate. 
  1171. The TCB shall be able to enforce individual 
  1172. accountability by providing the capability to 
  1173. uniquely identify each individual user. The TCB 
  1174. shall also provide the capability of associating 
  1175. this identity with all auditable actions taken by 
  1176. that individual.
  1177.  
  1178. 2.     The TCB shall use a protected mechanism (e.g., 
  1179. passwords) to authenticate the user's identity.
  1180.  
  1181. 3.     The TCB shall protect authentication data so 
  1182. that it cannot be used by any unauthorized user.
  1183.  
  1184. 3.2    Audit 
  1185.  
  1186. Audit supports accountability by providing a trail of user 
  1187. actions. Actions are associated with individual users for 
  1188. security relevant events and are stored in an audit trail. 
  1189. This audit trail can be examined to determine what happened 
  1190. and what user was responsible for a security relevant event. 
  1191. The audit trail data must be protected from unauthorized 
  1192. access, modification, or destruction. In addition, the audit 
  1193. trail data must be available in a useful and timely manner for 
  1194. analysis. 
  1195.  
  1196. Audit data is recorded from several sources (such as from 
  1197. the TCB or a privileged application) to produce a complete 
  1198. picture of a user's security relevant actions. Therefore, 
  1199. audit data must be correlated across audit collection systems. 
  1200. The mechanisms providing audit data recording must be 
  1201. tailorable to each product's needs. Both the audit data itself 
  1202. and the mechanisms to determine what audit data is recorded 
  1203. are protected by privileges.
  1204.  
  1205. Once the audit data is recorded, it is analyzed and 
  1206. reported. At the CS1 level, reports are generated on request.
  1207.  
  1208. For the CS1 level, AD-1 was assigned from the Federal 
  1209. Criteria. No refinements were made from the Federal Criteria.
  1210.  
  1211. AD-1 - Minimal Audit
  1212.  
  1213. 1.    The TCB shall be able to create, maintain, and 
  1214. protect from modification or unauthorized access 
  1215. or destruction an audit trail of accesses to the 
  1216. objects it protects. The audit data shall be 
  1217. protected by the TCB so that read access to it is 
  1218. limited to those who are authorized for audit 
  1219. data.
  1220.  
  1221. 2.    The TCB shall be able to record the following 
  1222. types of events:
  1223.  
  1224.     - use of the identification and authentication 
  1225. mechanisms;
  1226.  
  1227.     - introduction of objects into a user's address 
  1228. space (e.g., file open, program initiation), and 
  1229. deletion of objects;
  1230.  
  1231.     - actions taken by computer operators and system 
  1232. administrators and/or system security officers.
  1233.  
  1234. 3.    For each recorded event, the audit record shall 
  1235. identify: date and time of the event, user, type 
  1236. of event, and success or failure of the event. For 
  1237. identification/authentication events the origin of 
  1238. request (e.g., terminal ID) shall be included in 
  1239. the audit record. For events that introduce an 
  1240. object into a user's address space and for object 
  1241. deletion events the audit record shall include the 
  1242. name and policy attributes of the object (e.g., 
  1243. object security level).
  1244.  
  1245. 4.    The system administrator shall be able to 
  1246. selectively audit the actions of one or more users 
  1247. based on individual identity and/or object policy 
  1248. attributes (e.g., object security level).
  1249.  
  1250. 3.3    Access Control 
  1251.  
  1252. Once the user has been granted access, the question of which 
  1253. objects that authenticated user may access still remains. The 
  1254. requirements below describe these subject accesses to 
  1255. objects. 
  1256.  
  1257. For the CS1 level, AC-1 was assigned from the Federal 
  1258. Criteria. No refinements were made from the Federal Criteria.
  1259.  
  1260. AC-1 Minimal Access Control
  1261.  
  1262. 1.    Definition of Access Control Attributes
  1263.  
  1264. The TCB shall define and protect access control 
  1265. attributes for subjects and objects. Subject 
  1266. attributes shall include named individuals or 
  1267. defined groups or both. Object attributes shall 
  1268. include defined access rights (e.g., read, write, 
  1269. execute) that can be assigned to subject 
  1270. attributes.
  1271.  
  1272. 2.    Administration of Access Control Attributes.
  1273.  
  1274. The TCB shall define and enforce rules for 
  1275. assignment and modification of access control 
  1276. attributes for subjects and objects. The effect of 
  1277. these rules shall be that access permission to an 
  1278. object by users not already possessing access 
  1279. permission is assigned only by authorized users. 
  1280. These rules shall allow authorized users to 
  1281. specify and control sharing of objects by named 
  1282. individuals or defined groups of individuals, or 
  1283. by both, and shall provide controls to limit 
  1284. propagation of access rights. These controls shall 
  1285. be capable of including or excluding access to the 
  1286. granularity of a single user.
  1287.  
  1288. If different rules of assignment and modification 
  1289. of access control attributes apply to different 
  1290. subjects and/or objects, the totality of these 
  1291. rules shall be shown to support the defined 
  1292. policy.
  1293.  
  1294. 3.    Authorization of Subject References to Objects
  1295.  
  1296. The TCB shall define and enforce authorization 
  1297. rules for the mediation of subject references to 
  1298. objects. These rules shall be based on the access 
  1299. control attributes of subjects and objects. These 
  1300. rules shall, either by explicit user action or by 
  1301. default, provide that objects are protected from 
  1302. unauthorized access.
  1303.  
  1304. The scope of the authorization rules shall include 
  1305. a defined subset of the product's subjects and 
  1306. objects and associated access control attributes. 
  1307. The coverage of authorization rules shall specify 
  1308. the types of objects and subjects to which these 
  1309. rules apply. If different rules apply to different 
  1310. subjects and objects, the totality of these rules 
  1311. shall be shown to support the defined policy.
  1312.  
  1313. 4.    Subject and Object Creation and Destruction
  1314.  
  1315. The TCB shall control the creation and destruction 
  1316. of subjects and objects. These controls shall 
  1317. include object reuse. That is, all authorizations 
  1318. to the information contained within a storage 
  1319. object shall be revoked prior to initial 
  1320. assignment, allocation or reallocation to a 
  1321. subject from the TCB's pool of unused storage 
  1322. objects; information, including encrypted 
  1323. representations of information, produced by a 
  1324. prior subjects' actions shall be unavailable to 
  1325. any subject that obtains access to an object that 
  1326. has been released back to the system.
  1327.  
  1328. 3.4    Reference Mediation 
  1329.  
  1330. Reference mediation, that is, the control by the TCB of 
  1331. subject accesses to objects, must be ensured so that the users 
  1332. can have faith in the TCB's access control decisions. Also, 
  1333. users must be ensured that all access to security services are 
  1334. mediated by the TCB.    
  1335.  
  1336. For the CS1 level, RM-1 was assigned from the Federal 
  1337. Criteria. No further refinements were made from the Federal 
  1338. Criteria.
  1339.  
  1340. RM-1 Mediation of References to a Defined Subject/Object 
  1341. Subset
  1342.  
  1343. 1.     The TCB shall mediate all references to 
  1344. subjects, objects, resources, and services (e.g., 
  1345. TCB functions) described in the TCB 
  1346. specifications. The mediation shall ensure that 
  1347. all references are directed to the appropriate 
  1348. security-policy functions.
  1349.  
  1350. 2.    Reference mediation shall include references to 
  1351. the defined subset of subjects, objects, and 
  1352. resources protected under the TCB security policy, 
  1353. and to their policy attributes (e.g., access 
  1354. rights, security and/or integrity levels, role 
  1355. identifiers).
  1356.  
  1357. 3.     References issued by privileged subjects shall 
  1358. be mediated in accordance with the policy 
  1359. attributes defined for those subjects.
  1360.  
  1361. 3.5    TCB Protection 
  1362.  
  1363. TCB protection is a fundamental requirement for a secure 
  1364. product. All of the security components and mechanisms that 
  1365. have been described depend upon the integrity of the TCB and 
  1366. on the TCB being isolated and non-circumventable. The TCB must 
  1367. be resistant to outside penetration. 
  1368.  
  1369. For the CS1 level, P-1 was assigned from the Federal 
  1370. Criteria. No refinements were made from the Federal Criteria.
  1371.  
  1372. P-1 Basic TCB Isolation
  1373.  
  1374. The TCB shall maintain a domain for its own 
  1375. execution that protects it from external 
  1376. interference and tampering (e.g., by reading or 
  1377. modification of its code and data structures). The 
  1378. protection of the TCB shall provide TCB isolation 
  1379. and noncircumventability of TCB isolation 
  1380. functions as follows:
  1381.  
  1382.     1. TCB Isolation requires that (1) the address 
  1383. spaces of the TCB and those of unprivileged 
  1384. subjects are separated such that users, or 
  1385. unprivileged subjects operating on their behalf, 
  1386. cannot read or modify TCB data structures or code, 
  1387. (2) the transfers between TCB and non-TCB domains 
  1388. are controlled such that arbitrary entry to or 
  1389. return from the TCB are not possible; and (3) the 
  1390. user or application parameters passed to the TCB 
  1391. by addresses are validated with respect to the TCB 
  1392. address space, and those passed by value are 
  1393. validated with respect to the values expected by 
  1394. the TCB.
  1395.  
  1396.     2. Noncircumventability of TCB isolation 
  1397. functions requires that the permission to objects 
  1398. (and/or to non-TCB data) passed as parameters to 
  1399. the TCB are validated with respect to the 
  1400. permissions required by the TCB, and references to 
  1401. TCB objects implementing TCB isolation functions 
  1402. are mediated by the TCB.
  1403.  
  1404. 3.6    TCB Self-Checking 
  1405.  
  1406. Validating the correct operation of the TCB firmware and 
  1407. hardware is an important aspect of guaranteeing the integrity 
  1408. of the product. Hardware and software features that validate 
  1409. the correct operation of the product will be delivered with 
  1410. the product to ensure that the hardware and firmware are 
  1411. installed properly and are in working order.
  1412.  
  1413. For the CS1 level, SC-1 was assigned from the Federal 
  1414. Criteria. No refinements were made from the Federal Criteria.
  1415.  
  1416. SC-1 Minimal Self Checking
  1417.  
  1418. Hardware and/or software features shall be 
  1419. provided that can be used to periodically validate 
  1420. the correct operation of the on-site hardware and 
  1421. firmware elements of the TCB.
  1422.  
  1423. CS1 Assurance
  1424.  
  1425. 4.    Introduction
  1426.  
  1427. This chapter provides the CS1 development and evaluation 
  1428. assurance requirements package using the development and 
  1429. evaluation assurance components defined in Volume I and the 
  1430. package contained in Volume I, Appendix G of the Federal 
  1431. Criteria. The structure of each assurance package follows that 
  1432. of the assurance components (i.e., each package consists of 
  1433. development process, operational support, development 
  1434. environment, development evidence, and evaluation process 
  1435. components). 
  1436.  
  1437. Assurance Package T1 
  1438.  
  1439. This minimal assurance level is intended to include most 
  1440. commercial computer products that incorporate protection 
  1441. components. Minimal assurance refers to the fact that this 
  1442. package includes the lowest levels of development and 
  1443. evaluation assurance components and only those components 
  1444. deemed important to provide the necessary minimal 
  1445. understanding of the product. 
  1446.  
  1447. The intent of product development assurance for this 
  1448. package is to establish that the external behavior of the 
  1449. product conforms to its user level and administrative 
  1450. documentation without any analysis of the internal structure 
  1451. of the product's TCB. For this reason, only the claimed TCB 
  1452. protection properties, TCB interface description, and TCB 
  1453. element list are required to enable functional testing. 
  1454.  
  1455. The intent of the operational support assurance for this 
  1456. package is to establish a minimal level of user and 
  1457. administrative guidance and product information that enables 
  1458. the correct product installation, use of product security 
  1459. features, and remediation of flaws. 
  1460.  
  1461. The development evidence required for this package is 
  1462. commensurate with the assurances required. The intent of this 
  1463. package is to require the type of assurance evidence that is 
  1464. generated during the normal commercial development process.
  1465.  
  1466.  The intent of evaluation support assurance is to establish 
  1467. that the product, and the context in which it is developed and 
  1468. supported, is commensurate with the development assurance 
  1469. requirements. At the T1 level, testing analysis and the 
  1470. requirement for independent testing determines whether the 
  1471. product minimally meets the functional protection 
  1472. requirements. Operational support evaluation assurance 
  1473. determines whether the product documentation correctly 
  1474. describes the security relevant operations.
  1475.  
  1476. The following table  summarizes the generic assurance 
  1477. components that comprise the minimal development assurance 
  1478. package (T1):
  1479.  
  1480. .
  1481.  
  1482.       CS1 Assurance Package Summary
  1483. .---------------------------------------.
  1484. | Assurance Components           |  T1  |
  1485. |================================|======|
  1486. | Development Assurance Components      |     
  1487. |=======================================|
  1488. | Development Process                   |
  1489. |--------------------------------+------|
  1490. | TCB Property Definition        | PD-1 |
  1491. |--------------------------------+------|
  1492. | TCB Design                            |
  1493. |--------------------------------+------|
  1494. |   TCB Element Identification   | ID-1 |
  1495. |--------------------------------+------|
  1496. |   TCB Interface Definition     | IF-1 |
  1497. |--------------------------------+------|
  1498. |   TCB Modular Decomposition    | ---- |
  1499. |--------------------------------+------|
  1500. |   TCB Structuring Support      | ---- |
  1501. |--------------------------------+------|
  1502. |   TCB Design Disciplines       | ---- |
  1503. |--------------------------------+------|
  1504. | TCB Implementation Support     | ---- |
  1505. |--------------------------------+------|
  1506. | TCB Testing and Analysis              |
  1507. |--------------------------------+------|
  1508. |   Functional Testing           | FT-1 |
  1509. |--------------------------------+------|
  1510. |   Penetration Analysis         | ---- |
  1511. |--------------------------------+------|
  1512. |   Covert Channel Analysis      | ---- |
  1513. |--------------------------------+------|
  1514. | Operational Support                   |
  1515. |--------------------------------+------|
  1516. | User Security Guidance         | UG-1 |
  1517. |--------------------------------+------|
  1518. | Administrative Guidance        | AG-1 |
  1519. |--------------------------------+------|
  1520. | Trusted Generation             | ---- |
  1521. |--------------------------------+------|
  1522. | Development Environment               |
  1523. |--------------------------------+------|
  1524. | Life Cycle Definition          | ---- |
  1525. |--------------------------------+------|
  1526. | Configuration Management       | ---- |
  1527. |--------------------------------+------|
  1528. | Trusted Distribution           | ---- |
  1529. |--------------------------------+------|
  1530. | Development Evidence                  |
  1531. |--------------------------------+------|
  1532. | TCB Protection Properties      | EPP1 |
  1533. |--------------------------------+------|
  1534. | Product Development            | EPD1 |
  1535. |--------------------------------+------|
  1536. | Product Testing & Analysis            |
  1537. |--------------------------------+------|
  1538. |   Functional Testing           | EFT1 |
  1539. |--------------------------------+------|
  1540. |   Penetration Analysis         | ---- |
  1541. |--------------------------------+------|
  1542. |   Covert Channel Analysis      | ---- |
  1543. |--------------------------------+------|
  1544. | Product Support                | ---- |
  1545. `---------------------------------------'
  1546. |=======================================|
  1547. | Evaluation Assurance Components       |
  1548. |=======================================|
  1549. | Testing                               |
  1550. |--------------------------------+------|
  1551. |   Test Analysis                | TA-1 |
  1552. |--------------------------------+------|
  1553. |   Independent Testing          | IT-1 |
  1554. |--------------------------------+------|
  1555. | Review                                |
  1556. |--------------------------------+------|
  1557. |   Development Environment      | ---- |
  1558. |--------------------------------+------|
  1559. |   Operational Support          | ---- |
  1560. |--------------------------------+------|
  1561. | Analysis                              |
  1562. |--------------------------------+------|
  1563. |   Protection Properties        | ---- |
  1564. |--------------------------------+------|
  1565. |   Design                       | ---- |
  1566. |--------------------------------+------|
  1567. |   Implementation               | ---- |
  1568. `---------------------------------------'
  1569.  
  1570.  
  1571.  
  1572. 4.1    TCB Property Definition
  1573.  
  1574. The definition of TCB properties assures the consistency of 
  1575. the TCB's behavior. It determines a baseline set of properties 
  1576. that can be used by system developers and evaluators to assure 
  1577. that the TCB satisfies the defined functional requirements.
  1578.  
  1579. For CS1, PD-1 was assigned from the Federal Criteria. No 
  1580. refinements were made from the Federal Criteria.
  1581.  
  1582. PD-1 Property Description
  1583.  
  1584. The developer shall interpret the functional 
  1585. requirements of the protection profile within the 
  1586. product TCB. For each functional requirement, the 
  1587. developer shall: (1) identify the TCB elements and 
  1588. their TCB interfaces (if any) that implement that 
  1589. requirement; (2) describe the operation of these 
  1590. TCB elements, and (3) explain why the operation of 
  1591. these elements is consistent with the functional 
  1592. requirement. 
  1593.  
  1594. 4.2    TCB Element Identification
  1595.  
  1596. The identification of TCB elements (hardware, firmware, 
  1597. software, code, and data structures) provides the set of 
  1598. elements that determine the protection characteristics of a 
  1599. product. All assurance methods rely on the correct 
  1600. identification of TCB elements either directly or indirectly.
  1601.  
  1602. For CS1, ID-1 was assigned from the Federal Criteria. No 
  1603. refinements were made from the Federal Criteria.
  1604.  
  1605.  ID-1: TCB Element Identification
  1606.  
  1607. The developer shall identify the TCB elements 
  1608. (i.e., software, hardware/firmware code and data 
  1609. structures). Each element must be unambiguously 
  1610. identified by its name, type, release, and version 
  1611. number (if any).
  1612.  
  1613. 4.3    TCB Interface Definition
  1614.  
  1615. The TCB interface establishes the boundary between the TCB 
  1616. and its external users and application programs. It consists 
  1617. of several components, such as command interfaces (i.e., user 
  1618. oriented devices such as the keyboard and mouse), application 
  1619. program interfaces (system calls), and machine/processor 
  1620. interfaces (processor instructions).
  1621.  
  1622. For CS1, IF-1 was assigned from the Federal Criteria. No 
  1623. refinements were made from the Federal Criteria.
  1624.  
  1625.  IF-1: Interface Description
  1626.  
  1627. The developer shall describe all external (e.g., 
  1628. command, software, and I/O) administrative (i.e., 
  1629. privileged) and non-administrative interfaces to 
  1630. the TCB. The description shall include those 
  1631. components of the TCB that are implemented as 
  1632. hardware and/or firmware if their properties are 
  1633. visible at the TCB interface.
  1634.  
  1635. The developer shall identify all call conventions 
  1636. (e.g., parameter order, call sequence 
  1637. requirements) and exceptions signaled at the TCB 
  1638. interface.
  1639.  
  1640. 4.4    Developer Functional Testing
  1641.  
  1642. Functional testing establishes that the TCB interface 
  1643. exhibits the properties necessary to satisfy the requirements 
  1644. of the protection profile. It provides assurance that the TCB 
  1645. satisfies at least its functional protection requirements.
  1646.  
  1647. For CS1, FT-1 was assigned from the Federal Criteria. No 
  1648. refinements were made from the Federal Criteria.
  1649.  
  1650.  FT-1: Conformance Testing
  1651.  
  1652. The developer shall test the TCB interface to show 
  1653. that all claimed protection functions work as 
  1654. stated in the TCB interface description.
  1655.  
  1656. The developer shall correct all flaws discovered 
  1657. by testing and shall retest the TCB until the 
  1658. protection functions are shown to work as claimed.
  1659.  
  1660. 4.5    User's Guidance
  1661.  
  1662. User's guidance is an operational support assurance 
  1663. component that ensures that usage constraints assumed by the 
  1664. protection profile are understood by the users of the product. 
  1665. It is the primary means available for providing product users 
  1666. with the necessary background and specific information on how 
  1667. to correctly use the product's protection functionality.
  1668.  
  1669. For CS1, UG-1 was assigned from the Federal Criteria. No 
  1670. refinements were made from the Federal Criteria.
  1671.  
  1672.  UG-1: Users' Guide
  1673.  
  1674. The developer shall provide a User Guide which 
  1675. describes all protection services provided and 
  1676. enforced by the TCB. The User Guide shall describe 
  1677. the interaction between these services and provide 
  1678. examples of their use. The User Guide may be in the 
  1679. form of a summary, chapter or manual. The User 
  1680. Guide shall specifically describe user 
  1681. responsibilities. These shall encompass any user 
  1682. responsibilities identified in the protection 
  1683. profile.
  1684.  
  1685. 4.6    Administrative Guidance
  1686.  
  1687. Administrative guidance is an operation support assurance 
  1688. component that ensures that the environmental constraints 
  1689. assumed by the protection profile are understood by 
  1690. administrative users and operators of the IT product. It is 
  1691. the primary means available to the developer for providing to 
  1692. administrators and operators detailed, accurate information 
  1693. on how to configure and install the product, operate the IT 
  1694. product is a secure manner, make effective use of the 
  1695. product's privileges and protection mechanisms to control 
  1696. access to administrative functions and data bases, and to 
  1697. avoid pitfalls and improper use of the administrative 
  1698. functions that would compromise the TCB and user security.
  1699.  
  1700. For CS1, AG-1 was assigned from the Federal Criteria. No 
  1701. refinements were made from the Federal Criteria.
  1702.  
  1703.  AG-1: Basic Administrative Guidance
  1704.  
  1705. The developer shall provide a Trusted Facility 
  1706. Manual intended for the product administrators 
  1707. that describes how to use the TCB security 
  1708. services (e.g., Access Control, System Entry, or 
  1709. Audit) to enforce a system security policy. The 
  1710. Trusted Facility Manual shall include the 
  1711. procedures for securely configuring, starting, 
  1712. maintaining, and halting the TCB. The Trusted 
  1713. Facility Manual shall explain how to analyze audit 
  1714. data generated by the TCB to identify and document 
  1715. user and administrator violations of this policy. 
  1716. The Trusted Facility Manual shall explain the 
  1717. privileges and functions of administrators. The 
  1718. Trusted Facility Manual shall describe the 
  1719. administrative interaction between security 
  1720. services.
  1721.  
  1722. The Trusted Facility Manual shall be distinct from 
  1723. User Guidance, and encompass any administrative 
  1724. responsibilities identified in security 
  1725. management.
  1726.  
  1727. 4.7    Evidence of TCB Protection Properties
  1728.  
  1729. The documentation of the TCB protection properties includes 
  1730. the definition of the functional component requirements, 
  1731. their modeling (if any), and their interpretation within a 
  1732. product's TCB. For each requirement of a protection profile, 
  1733. a description, definition (an informal, descriptive 
  1734. specification), or a formal specification of the TCB 
  1735. components and their operation corresponding to the 
  1736. requirement must be provided.
  1737.  
  1738. For CS1, EPP-1 was assigned from the Federal Criteria. No 
  1739. refinements were made from the Federal Criteria.
  1740.  
  1741.  EPP-1 Evidence of TCB Correspondence to the Functional 
  1742. Requirements
  1743.  
  1744. The developer shall provide documentation which 
  1745. describes the correspondence between the 
  1746. functional component requirements and the TCB 
  1747. elements and interfaces. The TCB properties, which 
  1748. are defined by this correspondence, shall be 
  1749. explained in this documentation.
  1750.  
  1751. 4.8    Evidence of Product Development
  1752.  
  1753. Product development evidence consists of the TCB design 
  1754. evidence including the documentation of the TCB interface, TCB 
  1755. elements, TCB structure, TCB structuring support, and TCB 
  1756. design disciplines. The TCB implementation evidence includes 
  1757. TCB source code, and the processor hardware and firmware 
  1758. specifications.
  1759.  
  1760. For CS1, EPD-1 was assigned from the Federal Criteria. No 
  1761. refinements were made from the Federal Criteria.
  1762.  
  1763.  EPD-1: Description Of The TCB External Interface
  1764.  
  1765. The developer shall provide an accurate 
  1766. description of the functions, effects, exceptions 
  1767. and error messages visible at the TCB interface.
  1768.  
  1769. The developer shall provide a list of the TCB 
  1770. elements (hardware, software, and firmware).
  1771.  
  1772. 4.9    Evidence of Functional Testing
  1773.  
  1774. Functional testing evidence includes the testing itself, 
  1775. the test plans, and test documentation results. Test plans 
  1776. consist of: the description definition or specification of the 
  1777. test conditions; the test data, which consists of the test 
  1778. environment set-up; the test parameters and expected 
  1779. outcomes; and a description of the test coverage. 
  1780.  
  1781. For CS1, EFT-1 was assigned from the Federal Criteria. No 
  1782. refinements were made from the Federal Criteria.
  1783.  
  1784.  EFT-1: Evidence of Conformance Testing
  1785.  
  1786. The developer shall provide evidence of the 
  1787. functional testing that includes the test plan, 
  1788. the test procedures, and the results of the 
  1789. functional testing.
  1790.  
  1791.  
  1792.  
  1793. 4.10    Test Analysis
  1794.  
  1795. Test analysis determines whether the product meets the 
  1796. functional protection requirements defined in the protection 
  1797. profile. Functional testing is based on operational product, 
  1798. the TCB's functional properties, the product's operational 
  1799. support guidance, and other producer's documentation as 
  1800. defined by the development evidence requirements. Functional 
  1801. test analysis is based on the achieved test results as 
  1802. compared to the expected results derived from the development 
  1803. evidence.
  1804.  
  1805. For CS1, TA-1 was assigned from the Federal Criteria. No 
  1806. refinements were made from the Federal Criteria.
  1807.  
  1808.  TA-1: Elementary Test Analysis
  1809.  
  1810. The evaluator shall assess whether the producer 
  1811. has performed the activities defined in the 
  1812. development assurance requirements of the 
  1813. protection profile for functional testing and 
  1814. whether the producer has documented these 
  1815. activities as defined in the development evidence 
  1816. requirements of the protection profile. The 
  1817. evaluator shall analyze the results of the 
  1818. producer's testing activities for completeness of 
  1819. coverage and consistency of results. The evaluator 
  1820. shall determine whether the product's protection 
  1821. properties, as described in the product 
  1822. documentation have been tested. The evaluator 
  1823. shall assess testing results to determine whether 
  1824. the product's TCB works as claimed.
  1825.  
  1826. 4.11    Independent Testing 
  1827.  
  1828. Independent testing determines whether the product's TCB 
  1829. meets the functional protection requirements as defined in the 
  1830. functionality chapter of this Protection Profile. Testing is 
  1831. based on the operational product, the TCB's functional 
  1832. properties, the product's operational support guidance, and 
  1833. other producer's documentation as defined by the Development 
  1834. Evidence requirements.
  1835.  
  1836. For CS1, IT-1 was assigned from the Federal Criteria. No 
  1837. refinements were made from the Federal Criteria.
  1838.  
  1839.  IT-1: Elementary Independent Testing
  1840.  
  1841. A tester, independent of the producer or 
  1842. evaluator, shall perform functional and elementary 
  1843. penetration testing. This testing shall be based 
  1844. on the product's user and administrative 
  1845. documentation, and on relevant known penetration 
  1846. flaws. Satisfactory completion consists of 
  1847. demonstrating that all user-visible security 
  1848. enforcing functions and security-relevant 
  1849. functions work as described in the product's user 
  1850. and administrative documentation and that no 
  1851. discrepancies exist between the documentation and 
  1852. the product. Test results of the producer shall be 
  1853. confirmed by the results of independent testing. 
  1854. The evaluator may selectively reconfirm any test 
  1855. result.
  1856.  
  1857. If the independent testing is performed at beta-
  1858. test sites, the producer shall supply the beta-
  1859. test plan and the test results. The evaluator 
  1860. shall review the scope and depth of beta testing 
  1861. with respect to the required protection 
  1862. functionality, and shall verify independence of 
  1863. both the test sites and the producer's and beta-
  1864. test user's test results. The evaluator shall 
  1865. confirm that the test environment of the beta-test 
  1866. site(s) adequately represents the environment 
  1867. specified in the protection profile.
  1868.  
  1869.  
  1870. COMMERCIAL SECURITY 2 (CS2)
  1871.  
  1872. CS2 compliant products provide protection beyond 
  1873. those of the CS1 Protection Profile by providing for 
  1874. the separation of administrative functions and 
  1875. access controls based on groups and access control 
  1876. lists (ACLs). Identification and authentication 
  1877. mechanisms include support for a rigorous password 
  1878. management program (if desired). System entry and 
  1879. availability and recovery requirements are also 
  1880. specified. Secure administrative tools are 
  1881. included, audit mechanisms are expanded, and data 
  1882. reduction tools are listed.
  1883.  
  1884.            CS2 Functional Component Summary
  1885. .------------------------------------------------------.
  1886. |                                  | Component |       |
  1887. | Component Name                   |   Code    | Level |
  1888. |======================================================|
  1889. | Security Policy Support:                             |
  1890. |----------------------------------+-----------+-------|
  1891. |  Identification & Authentication |    I&A    |   3   |
  1892. |----------------------------------+-----------+-------|
  1893. |  System Entry                    |    SE     |   2   |
  1894. |----------------------------------+-----------+-------|
  1895. |  Trusted Path                    |    TP     |   1   |
  1896. |----------------------------------+-----------+-------|
  1897. |  Audit                           |    AD     |   3   |
  1898. |----------------------------------+-----------+-------|
  1899. |  Access Control                  |    AC     |   2+  |
  1900. |----------------------------------+-----------+-------|
  1901. |  Security Management             |    SM     |   2   |
  1902. |----------------------------------+-----------+-------|
  1903. | Reference Mediation              |    RM     |   1   |
  1904. |----------------------------------+-----------+-------|
  1905. | TCB Protection                   |    P      |   1   |
  1906. |----------------------------------+-----------+-------|
  1907. | Self Checking                    |    SC     |   2   |
  1908. |----------------------------------+-----------+-------|
  1909. | TCB Initialization & Recovery    |    TR     |   2   |
  1910. |----------------------------------+-----------+-------|
  1911. | Privileged Operations            |    PO     |   1   |
  1912. |----------------------------------+-----------+-------|
  1913. | Ease-of-Use                      |    EU     |   2   |
  1914. `------------------------------------------------------'
  1915.  
  1916.       CS2 Assurance Package Summary
  1917. .---------------------------------------.
  1918. | Assurance Components           |  T2+ |
  1919. |================================|======|
  1920. | Development Assurance Components      |     
  1921. |=======================================|
  1922. | Development Process                   |
  1923. |--------------------------------+------|
  1924. | TCB Property Definition        | PD-2 |
  1925. |--------------------------------+------|
  1926. | TCB Design                            |
  1927. |--------------------------------+------|
  1928. |   TCB Element Identification   | ID-2 |
  1929. |--------------------------------+------|
  1930. |   TCB Interface Definition     | IF-1 |
  1931. |--------------------------------+------|
  1932. |   TCB Modular Decomposition    | ---- |
  1933. |--------------------------------+------|
  1934. |   TCB Structuring Support      | SP-1 |
  1935. |--------------------------------+------|
  1936. |   TCB Design Disciplines       | ---- |
  1937. |--------------------------------+------|
  1938. | TCB Implementation Support     | ---- |
  1939. |--------------------------------+------|
  1940. | TCB Testing and Analysis              |
  1941. |--------------------------------+------|
  1942. |   Functional Testing           | FT-1 |
  1943. |--------------------------------+------|
  1944. |   Penetration Analysis         | ---- |
  1945. |--------------------------------+------|
  1946. |   Covert Channel Analysis      | ---- |
  1947. |--------------------------------+------|
  1948. | Operational Support                   |
  1949. |--------------------------------+------|
  1950. | User Security Guidance         | UG-1 |
  1951. |--------------------------------+------|
  1952. | Administrative Guidance        | AG-1 |
  1953. |--------------------------------+------|
  1954. | Flaw Remediation               | FR-1 |
  1955. |--------------------------------+------|
  1956. | Trusted Generation             | TG-2 |
  1957. |--------------------------------+------|
  1958. | Development Environment               |
  1959. |--------------------------------+------|
  1960. | Life Cycle Definition          | ---- |
  1961. |--------------------------------+------|
  1962. | Configuration Management       | ---- |
  1963. |--------------------------------+------|
  1964. | Trusted Distribution           | ---- |
  1965. |--------------------------------+------|
  1966. | Development Evidence                  |
  1967. |--------------------------------+------|
  1968. | TCB Protection Properties      | EPP2 |
  1969. |--------------------------------+------|
  1970. | Product Development            | EPD1 |
  1971. |--------------------------------+------|
  1972. | Product Testing & Analysis            |
  1973. |--------------------------------+------|
  1974. |   Functional Testing           | EFT1 |
  1975. |--------------------------------+------|
  1976. |   Penetration Analysis         | ---- |
  1977. |--------------------------------+------|
  1978. |   Covert Channel Analysis      | ---- |
  1979. |--------------------------------+------|
  1980. | Product Support                | EPS1 |
  1981. `---------------------------------------'
  1982. |=======================================|
  1983. | Evaluation Assurance Components       |
  1984. |=======================================|
  1985. | Testing                               |
  1986. |--------------------------------+------|
  1987. |   Test Analysis                | TA-1 |
  1988. |--------------------------------+------|
  1989. |   Independent Testing          | IT-1 |
  1990. |--------------------------------+------|
  1991. | Review                                |
  1992. |--------------------------------+------|
  1993. |   Development Environment      | ---- |
  1994. |--------------------------------+------|
  1995. |   Operational Support          | OSR1 |
  1996. |--------------------------------+------|
  1997. | Analysis                              |
  1998. |--------------------------------+------|
  1999. |   Protection Properties        | ---- |
  2000. |--------------------------------+------|
  2001. |   Design                       | ---- |
  2002. |--------------------------------+------|
  2003. |   Implementation               | ---- |
  2004. `---------------------------------------'
  2005.  
  2006. CS2 Rationale
  2007.  
  2008. 2.12    Introduction
  2009.  
  2010. As outlined in the Federal Criteria, this rationale 
  2011. describes the protection philosophy, how the security 
  2012. features are intended to be used, the assumptions about the 
  2013. environment in which a compliant product is intended to 
  2014. operate, the threats within that environment, and the security 
  2015. features and assurances that counter these threats. At the CS2 
  2016. level, the features used to counter threats and the strength 
  2017. of the assurance evidence is enhanced over CS1 and is 
  2018. indicated in the text through bold italics.
  2019.  
  2020. 2.12.1    Protection Philosophy
  2021.  
  2022. Any discussion of protection necessarily starts from a 
  2023. protection philosophy, i.e., what it really means to call the 
  2024. product "secure." In general, products will control access to 
  2025. information and other resources through the use of specific 
  2026. security features so that only properly authorized 
  2027. individuals or processes acting on their behalf will be 
  2028. granted access. For CS1, three fundamental requirements are 
  2029. derived for this statement of protection:
  2030.  
  2031. o    Access authorization
  2032.  
  2033. o    Accountability
  2034.  
  2035. o    Assurance 
  2036.  
  2037. The totality of the functionality that enforces the access 
  2038. authorization and accountability protection philosophy is 
  2039. comprised of the hardware, software, and firmware of the 
  2040. Trusted Computing Base (TCB). CS2 requires the TCB to be self-
  2041. protecting and resistant to bypass so that it is effective at 
  2042. countering identified threats. CS2 also requires effective 
  2043. management of security attributes and configuration 
  2044. parameters. The assurance protection philosophy is comprised 
  2045. of the development process, operational support, development 
  2046. evidence, and evaluation process assurances. Each of these are 
  2047. explained below.
  2048.  
  2049. 2.12.1.1    Access Authorization
  2050.  
  2051. The access authorization portion of the philosophy of 
  2052. protection for this profile addresses subject and object 
  2053. access mediation. For CS2 compliant products, access 
  2054. authorization has been further refined to include system 
  2055. entry, subject and object mediation based on Access Control 
  2056. Lists (ACLs), and privileged operations.
  2057.  
  2058. 2.12.1.1.1    System Entry
  2059.  
  2060. CS2 provides the capability for a system administrator to 
  2061. establish, maintain, and protect information from 
  2062. unauthorized access, and defines the identities of and 
  2063. conditions under which users may gain entry into the system. 
  2064. These system entry controls are based on user identification, 
  2065. time, location, and method of entry. 
  2066.  
  2067. 2.12.1.1.2    Subject and Object Access Mediation
  2068.  
  2069. CS2 provides protected access to resources and objects. As 
  2070. defined in the TCSEC and specified in this profile, access 
  2071. control permits system users and the processes that represent 
  2072. them to allow or disallow to other users access to objects 
  2073. under their control:
  2074.  
  2075. Access control is "a means of restricting access to 
  2076. objects based on the identity of subjects and/or 
  2077. groups to which they belong. The controls are 
  2078. discretionary in the sense that a subject with a 
  2079. certain access permission is capable of passing 
  2080. that permission (perhaps indirectly) on to any 
  2081. other subject." [1]
  2082.  
  2083. These controls permit the granting and revoking of access 
  2084. privileges to be left to the discretion of the individual 
  2085. users. The creator of the object becomes, by default, the 
  2086. owner of the object. The owner can grant access as well as 
  2087. specify the mode of access (read, write, execute) to the 
  2088. object.
  2089.  
  2090. ACLs are defined that can effectively specify, for each 
  2091. named object, a list of user identifiers with their respective 
  2092. modes of access (read, write, and execute) to that object. 
  2093. ACLs allow for control of:
  2094.  
  2095. o    objects 
  2096.  
  2097. o    access modes that protect these objects
  2098.  
  2099. o    specific access permissions to be passed onto 
  2100. identified authorized subjects.
  2101.  
  2102. CS2 also allows for the specification and maintenance of 
  2103. groups. Groups are a convenient means of logically associating 
  2104. user identifiers. Groups can be referenced when specifying 
  2105. ACLs.
  2106.  
  2107. 2.12.1.1.3    Privileges
  2108.  
  2109. CS2 supports and promotes the separation and use of 
  2110. privileges. A privilege enables a subject to perform a 
  2111. security relevant operation that, by default, is denied. 
  2112. Privileges cover all security aspects of a product. CS2 
  2113. compliant products have tightly controlled privilege 
  2114. definitions as well as control over subjects that hold 
  2115. privileges. 
  2116.  
  2117. 2.12.1.2    Accountability
  2118.  
  2119. The accountability portion of the philosophy of protection 
  2120. for this profile addresses user Identification and 
  2121. Authentication (I&A), requirements for security auditing, and 
  2122. a Trusted Path between a user and the operating system. Each 
  2123. of these are explained below.
  2124.  
  2125. 2.12.1.2.1    Identification and Authentication
  2126.  
  2127. User identification is required to support access control 
  2128. and security auditing. This includes the capability to 
  2129. establish, maintain, and protect a unique identifier for each 
  2130. authorized user. User identification is functionally 
  2131. dependent on authentication. Authentication is a method of 
  2132. validating a person as a legitimate user.
  2133.  
  2134. User authentication in most computer systems has been 
  2135. provided primarily through the use of passwords. CS2 supports 
  2136. a variety of password features that give the product a great 
  2137. amount of flexibility in the generation of passwords, in 
  2138. password security, password features, and password 
  2139. administration. For most products, a great deal of confidence 
  2140. is placed on maintaining the privacy of passwords belonging 
  2141. to individuals. I&A prevents unauthorized individuals from 
  2142. logging into the product, therefore, password management is 
  2143. essential to secure product operations. The risk of losing a 
  2144. password is addressed within CS2 through promoting the use of 
  2145. stringent password management practices.
  2146.  
  2147. In addition, CS2 allows for stronger authentication 
  2148. approaches. CS2 specifies that a unique identifier be 
  2149. associated with each trusted subject such as print spoolers 
  2150. and database management system services. It also requires the 
  2151. TCB to maintain, protect, and display status information for 
  2152. all active users and all enabled or disabled user identities 
  2153. or accounts.
  2154.  
  2155. 2.12.1.2.2    Audit
  2156.  
  2157. For most secure products, a capability must exist to audit 
  2158. the security relevant events. As each user performs security 
  2159. relevant tasks, the product must record the user identifier, 
  2160. the action performed, and the result in a security log. For 
  2161. CS2 compliant products, a capability is specified to allow an 
  2162. system administrator to access and evaluate audit 
  2163. information. This capability provides a method of protection 
  2164. in the sense that security relevant events that occur within 
  2165. a computer system can be logged and the responsible user held 
  2166. accountable for his/her actions. Audit trails are used to 
  2167. detect and deter penetration of a computer system and to 
  2168. reveal activity that identifies misuse.
  2169.  
  2170. CS2 provides for an effective audit mechanism by supporting 
  2171. the following basic security characteristics. It provides the 
  2172. ability to:
  2173.  
  2174. o    review the use of I&A mechanisms;
  2175.  
  2176. o    discover the introduction of objects into a user's 
  2177. address space;
  2178.  
  2179. o    discover the deletion of objects; 
  2180.  
  2181. o    discover actions taken by computer operators and 
  2182. system administrators;
  2183.  
  2184. o    audit attempts to violate resource allocation limits;
  2185.  
  2186. o    protect the audit data so that access to it is limited 
  2187. to system administrators that are authorized to 
  2188. examine audit information;
  2189.  
  2190. o    discover the use of privileges, such as changing the 
  2191. ownership of an object;
  2192.  
  2193. o    have the audit mechanism act as a deterrent against 
  2194. penetrators or hackers; and
  2195.  
  2196. o    use audit reduction tools for assessing the damage 
  2197. that may result in the event of a violation of the 
  2198. implemented security policy. These tools have the 
  2199. capability of selectively reviewing the actions of one 
  2200. or more users or groups, actions performed on a 
  2201. specific object or system resource, and actions 
  2202. associated with specific access control attributes.
  2203.  
  2204. 2.12.1.3    Assurance
  2205.  
  2206. Assurance addresses all areas of product development 
  2207. assurance and evaluation assurance. Development assurance 
  2208. addresses the development process, operational support, the 
  2209. development environment, and the development evidence. 
  2210. Development process assurance defines the additional efforts 
  2211. that a developer must undertake to satisfy the assurance 
  2212. objectives while creating the product. It specifies how the 
  2213. TCB should be designed and supported by the implementation as 
  2214. well as how it should be tested. Operational support assurance 
  2215. defines the documentation of the security features for both 
  2216. administrative and non-administrative users as well as 
  2217. requirements for TCB flaw remediation and TCB generation. 
  2218. Development environment assurance includes requirements for 
  2219. defining the product's life cycle and specific features for 
  2220. configuration management. Development evidence assurance 
  2221. defines the TCB's protection properties, details the 
  2222. requirements for product testing and analysis, and defines the 
  2223. requirements for product support. Evaluation assurance 
  2224. establishes that the product, and the context in which it is 
  2225. developed and supported, is commensurate with the development 
  2226. assurance requirements.
  2227.  
  2228. The T2+ Assurance Package was chosen for CS2. This package 
  2229. is indicated as being TS2+ since an additional component was 
  2230. included for flaw remediation and for a higher level for 
  2231. trusted generation. This level is intended to include most 
  2232. commercial computer products that are designed to satisfy 
  2233. functional requirements. Although most development assurance 
  2234. components are required at their lowest levels, the 
  2235. requirements of several product development components are 
  2236. extended to capture (1) specific TCB properties, and (2) a 
  2237. rudimentary notion of support for product structure. The 
  2238. operational support component is also extended to enable 
  2239. systematic flaw discovery, tracking, and repair.
  2240.  
  2241. The intent of the product development assurance for this 
  2242. package is to establish that the external behavior of the 
  2243. product conforms to its user level and administrative 
  2244. documentation without analysis of the internal structure of 
  2245. the product TCB. For this reason, only the claimed TCB 
  2246. protection properties and their informal models, TCB 
  2247. interface description, and TCB element list are required to 
  2248. enable functional and penetration testing. Support for TCB 
  2249. structuring is limited to process isolation and separation of 
  2250. the protection critical TCB elements from the protection non-
  2251. critical ones.
  2252.  
  2253. The intent of the operational support assurance for this 
  2254. package is to establish a minimal level of user and 
  2255. administrative guidance and product information that enables 
  2256. the correct product installation, use of product security 
  2257. features, and remediation of flaws. Similarly, the 
  2258. development environment assurances are intended to provide a 
  2259. minimal level of control over the product configuration and 
  2260. production. This level of development environment assurance 
  2261. is similar to that already present in most established 
  2262. commercial development organizations.The development evidence 
  2263. required for this package is commensurate with the assurances 
  2264. required. The intent of this package is to require the type 
  2265. of assurance evidence that is generated during the normal 
  2266. commercial development process.
  2267.  
  2268. At the T2+ level, evaluation support assurance determines 
  2269. whether the product meets the functional protection 
  2270. requirements for testing analysis and independent testing. 
  2271. Operational support evaluation assurance determines whether 
  2272. the product documentation correctly describes the security 
  2273. relevant operations. 
  2274.  
  2275. Also for CS2, flaw remediation was included in this 
  2276. assurance package. Flaw remediation is important for 
  2277. commercial environments since it ensures that flaws (i.e, 
  2278. deficiencies in a product that enables a user external to the 
  2279. TCB to violate the functional requirements of a protection 
  2280. profile) that are discovered by the product consumers will be 
  2281. tracked, corrected, and disseminated to the affected 
  2282. customers.
  2283.  
  2284. 2.12.1.4    Intended Method of Use
  2285.  
  2286. All individual users (both administrative and non-
  2287. administrative users) are assigned a unique user 
  2288. identifier.This user identifier supports individual 
  2289. accountability and access control. The operating system 
  2290. authenticates the claimed identity of the user before allowing 
  2291. the user to perform any further actions. 
  2292.  
  2293. Products that comply with the CS2 Protection Profile are 
  2294. provided with the capability of assigning privileges to secure 
  2295. functions. These privileges are used to control access to 
  2296. user, password files, and audit trails. This capability is 
  2297. particularly important to prevent a "privileged user" or 
  2298. "superuser" from having a wide set of privileges when only a 
  2299. subset is needed.
  2300.  
  2301. A CS1 compliant product imposes controls on authorized 
  2302. users and on processes acting on their behalf to prevent users 
  2303. from gaining access to information and other resources for 
  2304. which they are not authorized. The product provides the 
  2305. capability for users to allow or disallow to other users 
  2306. access to objects under their control. The objects are files 
  2307. that may be read or written to or programs which may be 
  2308. executed. The granularity of control is to the level of 
  2309. individual users (although groups made up of individual users 
  2310. may be specified) and individual objects. CS1 access controls 
  2311. permit the granting and revoking of access to be left to the 
  2312. discretion of the individual users.
  2313.  
  2314. Products that comply with CS2 specifications are intended 
  2315. to be used within the following operational constraints:
  2316.  
  2317. o    The information system is designed to be administered 
  2318. as a unique entity by a single organization.
  2319.  
  2320. o    The information system is designed to manage 
  2321. computing, storage, input/output, and to control the 
  2322. sharing of resources among multiple users and computer 
  2323. processes.
  2324.  
  2325. o    The administrative and non-administrative users are 
  2326. identified as distinct individuals.
  2327.  
  2328. o    The granting and revoking of access control 
  2329. permissions (read, write, execute, and deny) are left 
  2330. to the discretion of individual users.
  2331.  
  2332. o    The information system provides facilities for real-
  2333. time interaction with users that have access to input/
  2334. output devices.
  2335.  
  2336. 2.12.2    Environmental Assumptions
  2337.  
  2338. A product designed to meet the CS2 Protection Profile is 
  2339. intended to be a general purpose, multi-user operating system 
  2340. that runs on either a workstation, minicomputer, or mainframe. 
  2341. CS2 compliant products are expected to be used in both 
  2342. commercial and government environments. The information being 
  2343. processed may be unclassified, sensitive-but-unclassified, or 
  2344. single-level classified, but not multi-level classified 
  2345. information.
  2346.  
  2347. The following specific environmental conditions have been 
  2348. assumed in specifying CS2:
  2349.  
  2350. o    The product hardware base (e.g., CPU, printers, 
  2351. terminals, etc.), firmware, and software will be 
  2352. protected from unauthorized physical access.
  2353.  
  2354. o    There will be one or more personnel assigned to manage 
  2355. the product including the security of the information 
  2356. it contains.
  2357.  
  2358. o    The operational environment will be managed according 
  2359. to the operational environment documentation that is 
  2360. required in the assurance chapter of the Protection 
  2361. Profile.
  2362.  
  2363. o    The IT product provides a cooperative environment for 
  2364. users to accomplish some task or group of tasks.
  2365.  
  2366. o    The processing resources of the IT product, including 
  2367. all terminals, are assumed to be located within user 
  2368. spaces that have physical access controls established.
  2369.  
  2370. o    The IT product provides facilities for some or all of 
  2371. the authorized users to create programs that use an 
  2372. Application Programming Interface (API) to enable them 
  2373. to protect themselves and their objects from 
  2374. unauthorized use.
  2375.  
  2376. o    Fail-safe defaults are included for the access control 
  2377. attributes for the defined subjects and objects for 
  2378. the product.
  2379.  
  2380. 2.12.3    Expected Threats
  2381.  
  2382. In general, the choice of which Protection Profile to 
  2383. choose depends upon the level of security that is required for 
  2384. that particular organizational environment. The lowest level, 
  2385. the CS1 level, is intended for those commercial and government 
  2386. environments where all the system personnel are trusted and 
  2387. all the data on the system is at the same classification 
  2388. level. For example, a government agency where all personnel 
  2389. has a government clearance, all data is unclassified, and 
  2390. there is no outside network connections would be an ideal 
  2391. candidate for CS1, i.e., the threats to be countered are such 
  2392. that only a minimal level of trust is needed. However, most 
  2393. commercial and government environments are more complex and 
  2394. require a higher degree of trust. CS2 addresses the security 
  2395. needs for the main stream commercial and government 
  2396. environments. It provides a higher level of trust for those 
  2397. organizations that need to enforce a security policy where 
  2398. there is no need for different classifications of data. CS3 
  2399. is intended to provide the highest level of trust for 
  2400. commercial and government environments. It is intended to be 
  2401. used in those environments where a great deal of trust is 
  2402. required, such as in law enforcement agencies, nuclear 
  2403. facilities, or commercial airports. It provides the strongest 
  2404. features, mechanisms, and assurances to counter these 
  2405. threats.
  2406.  
  2407. A product that is designed to meet the CS2 Protection 
  2408. Profile and operate within its assumed environment will 
  2409. provide capabilities to counter these threats. It should be 
  2410. noted, however, that although a product may faithfully 
  2411. implement all the features and assurances specified in this 
  2412. Protection Profile, the complete elimination of any one threat 
  2413. should not be assumed. A product that is designed to meet the 
  2414. CS2 Protection Profile is generally known to be more effective 
  2415. at countering the threats than products that meet the CS1 
  2416. Protection Profile. CS2 products counter all the CS1 threats, 
  2417. and contain stronger features and more assurance evidence than 
  2418. CS1 products. In addition to countering CS1 threats, CS2 
  2419. compliant products provide protection capabilities to counter 
  2420. four additional threats:
  2421.  
  2422. 1.    AN UNAUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO THE 
  2423. SYSTEM
  2424.  
  2425. For CS1 compliant products, the threat of an unauthorized 
  2426. user gaining access to the system is primarily addressed by 
  2427. I&A. I&A features allow the TCB to verify the identity of 
  2428. individuals attempting to gain access to the system. This is 
  2429. accomplished through the use of passwords.
  2430.  
  2431. Although not a direct countermeasure, auditing requirements 
  2432. are specified at the CS1 level to provide the capability to 
  2433. perform an after-the-fact analysis of unauthorized system 
  2434. entry and login attempts. This provides an opportunity for the 
  2435. system administrators to take corrective actions, such as 
  2436. strengthening existing user authentication methods or 
  2437. requiring users to change their passwords.
  2438.  
  2439. For CS2 compliant systems, the threat of an unauthorized 
  2440. user gaining access to the system is primarily addressed by 
  2441. stronger I&A features and system entry requirements. 
  2442.  
  2443. CS2 specifies password requirements that promote a strong 
  2444. organizational password management program. These 
  2445. requirements specify that: null passwords cannot be used 
  2446. during normal operations; passwords be stored in a one-way 
  2447. encrypted form; the clear text representation of a password 
  2448. be automatically suppressed; passwords have a minimum-length; 
  2449. and that the system utilize a password complexity-checking 
  2450. algorithm. An advisory capability is also provided to exclude 
  2451. a list of customer-specified passwords. Such requirements 
  2452. support the use of passwords that are effective against 
  2453. password guessing. To further reduce the probability of a 
  2454. password being guessed, requirements limit the number of 
  2455. attempted login attempts that can be made by a user associated 
  2456. with a specific user identifier. The probability of a single 
  2457. password being guessed is further reduced by requirements for 
  2458. password aging, by having limitations on password reuse, and 
  2459. by allowing users to choose a password that is already 
  2460. associated with another user identifier. 
  2461.  
  2462. CS2 also allows for a password generating capability. 
  2463. Because random passwords can be difficult to remember and 
  2464. users are tempted to write them down, requirements are 
  2465. specified for the generation of passwords that are easy to 
  2466. remember (i.e., pronounceable). Additionally, an advisory 
  2467. requirement is specified to allow users to choose from a list 
  2468. of alternative passwords.
  2469.  
  2470. To minimize the threat that a password has been 
  2471. compromised, a requirement exists to allow a user to change 
  2472. the password. Because a password can be compromised by 
  2473. observing the characters on a terminal screen as it is being 
  2474. typed, there is a requirement to blot out the clear-text 
  2475. representation of the password on the display device.
  2476.  
  2477. In addition, requirements are specified to display an 
  2478. advisory warning message to all users prior to system logon 
  2479. to discourage a would-be system penetrator from attempting an 
  2480. unauthorized system entry. Such a message can also provide a 
  2481. basis for subsequent prosecution. System entry requirements 
  2482. also specify additional controls on identified and 
  2483. authenticated users entering the system. Once a user is 
  2484. authenticated, a check is made to determine if the user is 
  2485. allowed further entry. System entry is granted only in 
  2486. accordance with the authenticated user's access control 
  2487. attributes. These conditions are in terms of a user's identity 
  2488. and his/her membership in groups (if they exist). In addition, 
  2489. CS2 specifies system entry requirements to display to an 
  2490. authorized user, upon successful system entry, the date and 
  2491. time, method of access or port of entry, and the number of 
  2492. failed logon attempts since the last successful system entry 
  2493. by that user identifier. These requirements provide a user 
  2494. with the capability to detect attempted or successful system 
  2495. penetrations. In addition, requirements are specified to lock 
  2496. and terminate an interactive session after an administrator-
  2497. specified period of user inactivity, and also for the TCB to 
  2498. appear to perform the entire user authentication procedure 
  2499. even if the user identification entered is invalid. The TCB 
  2500. also provides a protected mechanism to allow or deny system 
  2501. entry based on specified ranges of time. Also, conditions for 
  2502. system entry via dial-up lines are required to be specified.
  2503.  
  2504. I&A requirements are also enhanced over those of CS1 by 
  2505. specifying requirements for the identification for each 
  2506. trusted user, and by specifying requirements for system 
  2507. administrators to disable a user's identity or account when 
  2508. the number of unsuccessful logon attempts exceeds an 
  2509. administrator specified threshold. This is intended to 
  2510. mitigate the effectiveness of successive attacks of system 
  2511. penetration. 
  2512.  
  2513. 2.    AN AUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO 
  2514. RESOURCES WHEN THE USER IS NOT ALLOWED ACCESS
  2515.  
  2516. An authorized user can try to gain access to unauthorized 
  2517. resources by assuming the user identifier of another user and 
  2518. thus gaining their associated access rights. This is addressed 
  2519. through the use of passwords.
  2520.  
  2521. Once an authorized user has gained access to the system, 
  2522. the threat still remains for a user to gain access to 
  2523. resources when the user is not authorized. At the resource 
  2524. level, CS2 specifies access control features to mediate (i.e., 
  2525. distribute, review, and revoke) user access to a subset of 
  2526. resources. 
  2527.  
  2528. The object reuse feature has been specified to ensure that 
  2529. resource contents are cleared before they are reused. This 
  2530. reduces the vulnerability that the resource contents can be 
  2531. read before it is overwritten. 
  2532.  
  2533. To address the vulnerability associated with passwords, CS2 
  2534. specifies password requirements that promote a strong 
  2535. organizational password management program. Besides those 
  2536. password requirements that address penetration threats from 
  2537. unauthorized users, other password requirements have been 
  2538. specified to counter the threat of an insider (authorized 
  2539. user) attack. There are password requirements that specify 
  2540. that passwords must always be stored in encrypted format and 
  2541. that passwords can never be included in audit trail data. 
  2542. Also, in the event that a user selects a password that is 
  2543. already in use by another user, requirements disallow the 
  2544. system from acknowledging the dual association.
  2545.  
  2546. In addition, CS2 specifies access control features to limit 
  2547. the user identifiers that may change to another user 
  2548. identifier that provides any additional privileges to that 
  2549. user. These controls are based on the user identifier and the 
  2550. mode of access (i.e., read, write, and execute). Also, 
  2551. administrators are provided with capabilities through the use 
  2552. of protected mechanisms to set and control security related 
  2553. parameters, defaults, thresholds, attributes, and other 
  2554. security related data. This provides the ability to 
  2555. effectively specify and control access to resources based on 
  2556. site specific protection policies. 
  2557.  
  2558. CS2 also specifies that privileges must be associated with 
  2559. TCB functions, TCB calls, and accesses to privileged TCB 
  2560. objects (e.g., user and group registration files. password 
  2561. files, audit log files). 
  2562.  
  2563. CS2 specifies requirements for a direct communication 
  2564. channel, i.e., a trusted path, between the user and the 
  2565. operating system to counter spoofing threats. This security 
  2566. feature provides confidence that a user at a terminal will 
  2567. communicate directly with the TCB rather than to malicious 
  2568. code. In particular, to counter the threat of an authorized 
  2569. user creating a spoof of legitimate user identifier 
  2570. authorization prompts, CS2 specifies requirements for a 
  2571. direct communication path between the user and the 
  2572. authentication system.
  2573.  
  2574. Requirements are also specified to display an advisory 
  2575. warning message to all users prior to system logon to 
  2576. discourage unauthorized system entry. Such a message can also 
  2577. provide a basis for subsequent prosecution.
  2578.  
  2579. Once an authorized user has been identified and 
  2580. authenticated, system entry control can help counter threats 
  2581. of inadvertent, deliberate, and coerced entry performed in an 
  2582. unauthorized manner by an authorized user. At the end of 
  2583. system entry control, the user bears the access-control 
  2584. attributes determined during the I&A process, provided that 
  2585. the system entry conditions are satisfied. These conditions 
  2586. can be specified in terms of a user's identity, group 
  2587. membership, or mode of access.
  2588.  
  2589. CS2 also provides other security features. Application 
  2590. programming interfaces are provided so that applications can 
  2591. protect themselves and their objects from unauthorized use. 
  2592. CS2 specifies lists of user identities authorized to enter the 
  2593. system via dial-up lines. CS2 also specifies general 
  2594. authentication facilities for use by application developers, 
  2595. system administrators, and users for the protection of 
  2596. resources.
  2597.  
  2598. 3.    SECURITY RELEVANT ACTIONS MAY NOT BE TRACEABLE TO THE 
  2599. USER ASSOCIATED WITH THE EVENT
  2600.  
  2601. CS2 accountability and audit requirements are specified to 
  2602. provide the capability to track security relevant actions 
  2603. performed by users, and link such actions, if possible, to the 
  2604. responsible identifier. Audit mechanisms are responsible for 
  2605. the monitoring and detecting of real or potential security 
  2606. violations or events. These audit events can include 
  2607. successful or unsuccessful: I&A events, the introduction of 
  2608. objects into a user's address space, the deletion of objects, 
  2609. and actions taken by system administrators. Each audit record 
  2610. includes the date, time, location, type of event, identity of 
  2611. the user and object involved, and the success or failure of 
  2612. the event. 
  2613.  
  2614. Requirements are specified to protect audit trail data and 
  2615. the audit control mechanism from unauthorized access, 
  2616. modification, or destruction. Audit features are specified to 
  2617. provide post-collection audit analysis on specific data 
  2618. items, users, and privileged operations. Also, a capability 
  2619. is provided for trusted application programs to append data 
  2620. to the security audit trail. 
  2621.  
  2622. System entry control helps to enhance accountability by 
  2623. providing a time, space, and mode-of-entry context to each 
  2624. action for which the user is held accountable. These added 
  2625. constraints help to give additional assurance that the proper 
  2626. user is held responsible for a set of authorized actions.
  2627.  
  2628. At the CS2 level, tools are specified to enhance the 
  2629. effectiveness of user accountability. CS3 specifies 
  2630. requirements to provide tools to verify the consistency of the 
  2631. audit trial data and the selection of audit events. Tools are 
  2632. also specified for post-collection analysis to selectively 
  2633. review various actions. 
  2634.  
  2635. 4.    THE PRODUCT MAY BE DELIVERED, INSTALLED, AND THEN USED 
  2636. IN AN UNSECURED MANNER
  2637.  
  2638. This threat is countered by explicitly requiring that the 
  2639. product be delivered with all security features turned on. 
  2640. This ensures that the product is secure by default rather than 
  2641. insecure by default. This is complemented by allowing many 
  2642. security features to be configurable so that, as a specific 
  2643. organization gains experience with the actual threats in its 
  2644. environment, the organization can adjust the degree of 
  2645. security in their system. There are several requirements that 
  2646. reinforce the "security by default" perspective during 
  2647. initial installation. Requirements for security 
  2648. administrative documentation are specified to increase the 
  2649. likelihood that the administrator will install and start the 
  2650. system in a secure manner.
  2651.  
  2652. 5.    SECURITY BREACHES MAY OCCUR BECAUSE AVAILABLE SECURITY 
  2653. FEATURES ARE NOT USED OR ARE USED IMPROPERLY
  2654.  
  2655. Requirements for authentication, system and access control, 
  2656. security management, and product documentation provide a 
  2657. basis for countering this threat. Authentication requirements 
  2658. provide for password management procedures to reduce the 
  2659. possibility of easy to guess passwords and to initialize 
  2660. passwords for users. Password generation algorithms are 
  2661. provided that generate easy to remember passwords and that 
  2662. give the user a choice of passwords. In addition, CS2 provides 
  2663. for a capability to import and export objects and subjects 
  2664. with defined access control attributes. This ensures that 
  2665. access control attributes are maintained with the subject or 
  2666. object during import and export operations.
  2667.  
  2668. Security management requirements are specified for listing, 
  2669. setting, and updating all of the system security parameters 
  2670. and attributes. These parameters and attributes pertain to 
  2671. identification, authentication, system entry, access control, 
  2672. audit trail analysis and availability features for the system 
  2673. and for individual users. This allows a system administrator 
  2674. to confirm that the system is properly configured and, if 
  2675. necessary, to modify the existing configuration and 
  2676. attributes. In addition, security management requirements 
  2677. provide for routine control and maintenance of system 
  2678. resources.
  2679.  
  2680. Product documentation requirements for users and 
  2681. administrators describe how to perform security relevant 
  2682. functions in a secure manner.
  2683.  
  2684. 6.    SECURITY BREACHES MAY OCCUR BECAUSE OF TCB PENETRATION
  2685.  
  2686. TCB protection is a fundamental capability of CS compliant 
  2687. products. The security components and mechanisms described in 
  2688. this Protection Profile depend upon the integrity of the TCB 
  2689. and on the TCB being isolated and non-circumventable. CS1 
  2690. specifies requirements for a common and basic set of security 
  2691. features to protect the TCB from outside penetration.
  2692.  
  2693. This threat is also countered through product assurance. 
  2694. The TCB interface definition establishes the boundary between 
  2695. the TCB and its internal users. Security functional testing 
  2696. establishes that these TCB definitions and properties satisfy 
  2697. the requirements of the Protection Profile. 
  2698.  
  2699. 7.    USERS MAY BE ABLE TO BYPASS THE SECURITY FEATURES OF 
  2700. THE SYSTEM
  2701.  
  2702. This threat is countered by authentication, access control, 
  2703. audit, TCB isolation, TCB non-circumventability, and 
  2704. reference mediation requirements. Authentication requirements 
  2705. protect authentication data from unauthorized users. Resource 
  2706. access control requirements protect access control data.
  2707.  
  2708. Audit requirements provide for the logging of successful 
  2709. and unsuccessful accesses to resources as well as for changes 
  2710. made to the system security configuration and system software 
  2711. in the event that the system security features have been 
  2712. bypassed.
  2713.  
  2714. CS1 specifications for reference mediation protects the 
  2715. integrity of the access control mechanism and the TCB's 
  2716. functionality. Starting at CS1, requirements exist for TCB 
  2717. mediation of user references to objects and to security 
  2718. relevant services. 
  2719.  
  2720. CS1-compliant products maintain a domain for its own 
  2721. execution to protect it from external interference and 
  2722. tampering. Such requirements address TCB isolation and non-
  2723. circumventability of TCB isolation functions. 
  2724.  
  2725. This threat is also countered through product assurance. 
  2726. The definition of TCB properties assures the consistency of 
  2727. the TCB's behavior. The identification of TCB elements 
  2728. provides the set of elements that determine the protection 
  2729. characteristics of a product. The TCB interface definition 
  2730. establishes the boundary between the TCB and its internal 
  2731. users. Security functional testing establishes that these TCB 
  2732. definitions and properties satisfy the requirements of this 
  2733. Protection Profile, and provide evidence against users being 
  2734. able to bypass the security features of the system. At the CS2 
  2735. level, procedures also have to be established for developers 
  2736. to accept customer reports of protection problems and requests 
  2737. for corrections to those problems. Also, when the product is 
  2738. delivered, all security related parameters must be set to its 
  2739. fail-safe defaults.
  2740.  
  2741. 8.    SUBJECTS MAY BE DENIED CONTINUED ACCESSIBILITY TO THE 
  2742. RESOURCES OF THE SYSTEM (I.E., DENIAL OF SERVICE)
  2743.  
  2744. Reliability of service requirements promote the continued 
  2745. accessibility of system resources by authorized subjects. 
  2746. These requirements principally counter threats related to 
  2747. intentional or unintentional denial of service attacks. The 
  2748. requirements include detecting and reporting facilities, 
  2749. controls to limit systematically the disabling of user 
  2750. identifiers, mechanisms for recovery in the event of a system 
  2751. crash, resource quotas, and data backup and restoration. In 
  2752. particular, mechanisms are specified for recovery and system 
  2753. start-up, and for a maintenance mode of operation.
  2754.  
  2755. CS2 compliant systems provide the capability to detect and 
  2756. recover from discontinuity of service using some combination 
  2757. of automatic and procedural techniques. This capability is 
  2758. intended to counter the threat that subjects may be denied 
  2759. continued accessibility to the resources of the system (i.e., 
  2760. denial of service). Also, users are notified in advance to 
  2761. change their password, so that access to the system is not 
  2762. denied without warning. An advisory capability exists to allow 
  2763. an system administrator to use null passwords during system 
  2764. start-up. This allows a system administrator to access the 
  2765. system even if the password mechanism has been compromised. 
  2766. In addition, audit trails are compressed to avoid excessive 
  2767. consumption of disk space. 
  2768.  
  2769. 9.    THE INTEGRITY OF THE SYSTEM MAY BE COMPROMISED
  2770.  
  2771. At the CS2 level, requirements are specified for TCB 
  2772. recovery and start-up to promote the secure state of the 
  2773. system in the event of a system failure or discontinuity of 
  2774. service. These features are intended to minimize the 
  2775. likelihood of the loss of user objects during system recovery.
  2776.  
  2777. To protect audit trail data, a mechanism is specified to 
  2778. automatically copy the audit trail file to an alternative 
  2779. storage area. 
  2780.  
  2781. CS2 compliant products also provide the capability to 
  2782. validate the correct operation of the TCB software, firmware, 
  2783. and hardware. Such features are important to ensure that the 
  2784. software, hardware, and firmware are in working order. 
  2785.  
  2786. CS2 Functionality 
  2787.  
  2788. 3.    Introduction
  2789.  
  2790. This section provides detailed functionality requirements 
  2791. that must be satisfied by a Commercial Security 2 (CS2) 
  2792. compliant product. Note that all plain text are words taken 
  2793. directly from the Federal Criteria. Any assignments or 
  2794. refinements made to the text in the Federal Criteria's are 
  2795. indicated by bold italics. A Protection Profile requirement 
  2796. is an assignment when it is directly taken as stated from the 
  2797. Federal Criteria component without change or when a binding 
  2798. is made to a Federal Criteria threshold definition. A 
  2799. Protection Profile requirement is a refinement when the 
  2800. Federal Criteria requirement is taken to a lower level of 
  2801. abstraction. The characterization of Protection Profile 
  2802. requirements as being either assignments or refinements can 
  2803. be found at each component level. Also, note that, unlike the 
  2804. Federal Criteria, there are some items that are considered to 
  2805. be "advisory," i.e., an item marked advisory is a desirable 
  2806. feature but is not required for that component. Each advisory 
  2807. item is marked with an "(A)".
  2808.  
  2809. This Protection Profile for CS2 utilizes the following 
  2810. levels from the Federal Criteria. Note that not all the 
  2811. components from the Federal Criteria are reflected in this 
  2812. Protection Profile; there are no specific requirements for 
  2813. those components that are not listed. Also note that a "+" 
  2814. after the component level number indicates that a requirement 
  2815. was included from a higher level of that component.    
  2816.  
  2817.            CS2 Functional Component Summary
  2818. .------------------------------------------------------.
  2819. |                                  | Component |       |
  2820. | Component Name                   |   Code    | Level |
  2821. |======================================================|
  2822. | Security Policy Support:                             |
  2823. |----------------------------------+-----------+-------|
  2824. |  Identification & Authentication |    I&A    |   3   |
  2825. |----------------------------------+-----------+-------|
  2826. |  System Entry                    |    SE     |   2   |
  2827. |----------------------------------+-----------+-------|
  2828. |  Trusted Path                    |    TP     |   1   |
  2829. |----------------------------------+-----------+-------|
  2830. |  Audit                           |    AD     |   3   |
  2831. |----------------------------------+-----------+-------|
  2832. |  Access Control                  |    AC     |   2+  |
  2833. |----------------------------------+-----------+-------|
  2834. |  Security Management             |    SM     |   2   |
  2835. |----------------------------------+-----------+-------|
  2836. | Reference Mediation              |    RM     |   1   |
  2837. |----------------------------------+-----------+-------|
  2838. | TCB Protection                   |    P      |   1   |
  2839. |----------------------------------+-----------+-------|
  2840. | Self Checking                    |    SC     |   2   |
  2841. |----------------------------------+-----------+-------|
  2842. | TCB Initialization & Recovery    |    TR     |   2   |
  2843. |----------------------------------+-----------+-------|
  2844. | Privileged Operations            |    PO     |   1   |
  2845. |----------------------------------+-----------+-------|
  2846. | Ease-of-Use                      |    EU     |   2   |
  2847. `------------------------------------------------------'
  2848.  
  2849.  
  2850. 3.1    Identification & Authentication 
  2851.  
  2852. All users of the product must be identified and 
  2853. authenticated. A login process is established that interacts 
  2854. with the user in order to provide the information necessary 
  2855. for identification and authentication. The identification and 
  2856. authentication process begins the user's interaction with the 
  2857. target product. First, the user supplies a unique user 
  2858. identifier to the TCB. Then, the user is asked to authenticate 
  2859. that claimed identity by the TCB. The user identifier is used 
  2860. for both access control and also for accountability. 
  2861. Therefore, the proper maintenance and control of the 
  2862. identification mechanism and the identification databases are 
  2863. vital to TCB security. Once a user has supplied an identifier 
  2864. to the TCB, the TCB must verify that the user really 
  2865. corresponds to the claimed identifier. This is done by the 
  2866. authentication mechanism as described by the following 
  2867. requirements. 
  2868.  
  2869.  For the CS2 level, I&A-3 was assigned from the Federal 
  2870. Criteria. This I&A component level has been refined from the 
  2871. Federal Criteria by requiring that only system administrators 
  2872. perform certain actions. Password requirements have also been 
  2873. refined to reflect the importance of this protected mechanism 
  2874. to commercial products. An additional refinement was made 
  2875. regarding invalid user identification on error feedback. 
  2876. Assignments were made for default thresholds for the number 
  2877. of login attempts and login time intervals.
  2878.  
  2879.  I&A-3 Exception-Controlled Identification and 
  2880. Authentication
  2881.  
  2882. 1.     The TCB shall require users to identify 
  2883. themselves to it before beginning to perform any 
  2884. other actions that the TCB is expected to mediate. 
  2885. The TCB shall be able to enforce individual 
  2886. accountability by providing the capability to 
  2887. uniquely identify each individual user. The TCB 
  2888. shall also provide the capability of associating 
  2889. this identity with all auditable actions taken by 
  2890. that individual.
  2891.  
  2892. 2.     The TCB shall maintain authentication data that 
  2893. includes information for verifying the identity of 
  2894. individual users (e.g., passwords) as well as 
  2895. information for determining the product policy 
  2896. attributes of individual users, i.e. groups. These 
  2897. data shall be used by the TCB to authenticate the 
  2898. user's identity and to ensure that the attributes 
  2899. of subjects external to the TCB that may be 
  2900. created to act on behalf of the individual user 
  2901. satisfy the product policy. The control of user 
  2902. identification data shall be limited to system 
  2903. administrators, except that a user shall be 
  2904. allowed to modify his/her own authentication data 
  2905. within prescribed limits (e.g., changing his/her 
  2906. own password).
  2907.  
  2908. 3.     The TCB shall protect authentication data so 
  2909. that it cannot be used by any unauthorized user. 
  2910. The TCB shall appear to perform the entire user 
  2911. authentication procedure even if the user 
  2912. identification entered is invalid. Error feedback 
  2913. shall contain no information regarding which part 
  2914. of the authentication information is incorrect.
  2915.  
  2916. The TCB shall end the attempted login session if 
  2917. the user performs the authentication procedure 
  2918. incorrectly for a number of successive times 
  2919. (i.e., a threshold) specified by an authorized 
  2920. system administrator. The default threshold shall 
  2921. be three times. When the threshold is exceeded, 
  2922. the TCB shall send an alarm message to the system 
  2923. console and/or to the administrator's terminal, 
  2924. log this event in the audit trail, and delay the 
  2925. next login by an interval of time specified by the 
  2926. authorized system administrator. The default time 
  2927. interval shall be 60 seconds. The TCB shall 
  2928. provide a protected mechanism to disable the user 
  2929. identity or account when the threshold of 
  2930. successive, unsuccessful login attempts is 
  2931. violated more than a number of times specified by 
  2932. the administrator. By default, this mechanism 
  2933. shall be disabled (as it may cause unauthorized 
  2934. denial of service).
  2935.  
  2936. 4.     The TCB shall have the capability to maintain, 
  2937. protect, and display status information for all 
  2938. active users (e.g., users currently logged on, 
  2939. current policy attributes) and of all user 
  2940. accounts (i.e., enabled or disabled user identity 
  2941. or account). 
  2942.  
  2943. 5. Whenever passwords are used as a protection 
  2944. mechanism, then, at a minimum:
  2945.  
  2946. a.    The TCB shall not indicate to the user if he/she 
  2947. has chosen a password already associated with 
  2948. another user. 
  2949.  
  2950. b.    The TCB shall store passwords in a one-way 
  2951. encrypted form. 
  2952.  
  2953. (1)    The TCB shall require privilege to access 
  2954. encrypted passwords. 
  2955.  
  2956. c.    The TCB shall automatically suppress or fully 
  2957. blot out the clear-text representation of the 
  2958. password on the data entry/display device. 
  2959.  
  2960. d.    The TCB shall, by default, prohibit the use of 
  2961. null passwords during normal operation. 
  2962.  
  2963. (1)    A capability, accessible only to an system 
  2964. administrator, to allow null passwords during 
  2965. non-normal operations, such as system start-
  2966. up, manual recovery, or maintenance mode, on a 
  2967. per-user identifier or per-port basis may be 
  2968. provided. (A)
  2969.  
  2970. e.    The TCB shall provide a protected mechanism to 
  2971. allow a user to change his or her password. This 
  2972. mechanism shall require re-authentication of the 
  2973. user identity. 
  2974.  
  2975. (1)    The TCB shall provide a protected mechanism to 
  2976. set or initialize passwords for users. The use 
  2977. of this mechanism shall be limited to system 
  2978. administrators.   
  2979.  
  2980. f.    The TCB shall enforce password aging on a per-
  2981. user identifier or per-group basis (i.e., a user 
  2982. shall be required to change his or her password 
  2983. after a system-specifiable minimum time). The 
  2984. default for all non-system administrators shall 
  2985. be sixty days. 
  2986.  
  2987. (1)    The default for system administrator 
  2988. identifiers shall be thirty days. 
  2989.  
  2990. (2)    After the password aging threshold has been 
  2991. reached, the password shall no longer be 
  2992. valid, except as provided in 5 g below. 
  2993.  
  2994. The control of password aging shall be limited to 
  2995. system administrators. 
  2996.  
  2997. g.    The TCB shall provide a protected mechanism to 
  2998. notify users in advance of requiring them to 
  2999. change their passwords. This can be done by 
  3000. either:
  3001.  
  3002. (1)    Notifying users a system-specifiable period 
  3003. of time prior to their password expiring. The 
  3004. default shall be seven days. 
  3005.  
  3006. - or -
  3007.  
  3008. (2)    Upon password expiration, notifying the user 
  3009. but allowing a system-specifiable subsequent 
  3010. number of additional logons prior to requiring 
  3011. a new password. The default shall be two 
  3012. additional logons. 
  3013.  
  3014. The control of user password expiration defaults 
  3015. shall be limited to system administrators. 
  3016.  
  3017. h.    Passwords shall not be reusable by the same user 
  3018. identifier for a system-specifiable period of 
  3019. time. The default shall be six months. The 
  3020. control of password re-use shall be limited to 
  3021. system administrators. 
  3022.  
  3023. i.    The TCB shall provide an algorithm for ensuring 
  3024. the complexity of user-entered passwords that 
  3025. meets the following requirements:
  3026.  
  3027. (1)    Passwords shall meet a system-specifiable 
  3028. minimum length requirement. The default 
  3029. minimum length shall be eight characters. 
  3030.  
  3031. (2)    The password complexity-checking algorithm 
  3032. shall be modifiable by the TCB. The default 
  3033. algorithm shall require passwords to include 
  3034. at least one alphabetic character, one numeric 
  3035. character, and one special character. 
  3036.  
  3037. (3)    The TCB should provide a protected mechanism 
  3038. that allows systems to specify a list of 
  3039. excluded passwords (e.g., company acronyms, 
  3040. common surnames). (A)
  3041.  
  3042. (a)    The TCB should prevent users from selecting 
  3043. a password that matches any of those on the 
  3044. list of excluded passwords. (A)
  3045.  
  3046. The control of password complexity shall be limited 
  3047. to system administrators. 
  3048.  
  3049. j.    If password generation algorithms are present, 
  3050. they shall meet the following requirements:
  3051.  
  3052. (1)    The password generation algorithm shall 
  3053. generate passwords that are easy to remember 
  3054. (i.e., pronounceable). 
  3055.  
  3056. (2)    The TCB should give the user a choice of 
  3057. alternative passwords from which to choose. 
  3058. (A)
  3059.  
  3060. (3)    Passwords shall be reasonably resistant to 
  3061. brute-force password guessing attacks. 
  3062.  
  3063. (4)            If the "alphabet" used by the password 
  3064. generation algorithm consists of syllables 
  3065. rather than characters, the security of the 
  3066. password shall not depend on the secrecy of the 
  3067. alphabet. 
  3068.  
  3069. (5)    The generated sequence of passwords shall have 
  3070. the property of randomness (i.e., consecutive 
  3071. instances shall be uncorrelated and the 
  3072. sequences shall not display periodicity). 
  3073.  
  3074. 3.2    System Entry 
  3075.  
  3076. Once a user is authenticated, a check is made to see if the 
  3077. user is allowed to enter the product. The qualifying checks 
  3078. for system entry at the SE-2 level can include time-of-day, 
  3079. day-of-week, date, location of terminal, or means of access 
  3080. (e.g., dial-up port). 
  3081.  
  3082. For the CS2 level, SE-2 was assigned from the Federal 
  3083. Criteria. This component has been refined from the Federal 
  3084. Criteria by specifying a default advisory warning to be 
  3085. displayed before user logon, by limiting the control of system 
  3086. entry requirements to system administrators, and by further 
  3087. limiting the use of protected mechanisms to system 
  3088. administrators. Also, default values for terminal locking and 
  3089. session termination and for user policy attributes were 
  3090. assigned.
  3091.  
  3092.  SE-2 Time and Location Based Entry Control
  3093.  
  3094. 1.     Prior to initiating the system login procedure, 
  3095. the TCB shall display an advisory warning message 
  3096. to the user regarding unauthorized use of the 
  3097. system and the possible consequences of failure to 
  3098. heed this warning.
  3099.  
  3100. a.    The message shall be system-specifiable. 
  3101.  
  3102. b.    The TCB shall be able to display a message of up 
  3103. to twenty lines in length. 
  3104.  
  3105. c.    The following message shall be displayed by 
  3106. default: 
  3107.  
  3108. "NOTICE: This is a private computer system. 
  3109. All users of this system are subject to 
  3110. having their activities audited. Anyone 
  3111. using this system consents to such 
  3112. auditing. All unauthorized entries or 
  3113. activities revealed by this auditing can be 
  3114. used as evidence and may lead to criminal 
  3115. prosecution." 
  3116.  
  3117. The control of system entry messages shall be 
  3118. limited to system administrators. 
  3119.  
  3120. 2.     Before system entry is granted to a user, the 
  3121. identity of that user shall be authenticated by 
  3122. the TCB. If the TCB is designed to support 
  3123. multiple login sessions per user identity, the TCB 
  3124. shall provide a protected mechanism to enable 
  3125. limiting the number of login sessions per user 
  3126. identity or account with a default of a single 
  3127. login session. The control of this mechanism to 
  3128. limit the number of login sessions shall be 
  3129. limited to system administrators. 
  3130.  
  3131. 3.     The TCB shall grant system entry only in 
  3132. accordance with the authenticated user's policy 
  3133. attributes. The system entry conditions shall be 
  3134. expressed in terms of users' policy attributes, 
  3135. i.e., user identity and membership to groups. If 
  3136. no explicit system-entry conditions are defined, 
  3137. the system-entry default shall be used (e.g., the 
  3138. correct user authentication). The TCB shall 
  3139. provide a protected mechanism to allow or deny 
  3140. system entry based on specified ranges of time. 
  3141. Entry conditions using these ranges shall be 
  3142. specified using time-of-day, day-of-week, and 
  3143. calendar dates. The control of system entry 
  3144. conditions shall be limited to system 
  3145. administrators. 
  3146.  
  3147. The TCB shall provide a protected mechanism to 
  3148. allow or deny system entry based on location or 
  3149. port of entry. Conditions for system entry via 
  3150. dial-up lines (e.g., lists of user identities 
  3151. authorized to enter the system via dial-up lines), 
  3152. if any, shall be specified.The control of these 
  3153. mechanisms shall be limited to system 
  3154. administrators.
  3155.  
  3156. 4.     The TCB shall provide a protected mechanism that 
  3157. enables authorized administrators to display and 
  3158. modify the policy attributes used in system-entry 
  3159. control for each user. The conditions under which 
  3160. an unprivileged user may display these attributes 
  3161. shall be specified.
  3162.  
  3163. 5.    Upon a user's successful entry to the system, 
  3164. the TCB shall display the following data to the 
  3165. user and shall not remove them without user 
  3166. intervention: (1) the date, time, means of access 
  3167. and port of entry of the last successful entry to 
  3168. the system; and (2) the number of successive, 
  3169. unsuccessful attempts to access the system since 
  3170. the last successful entry by the identified user.
  3171.  
  3172. 6.     The TCB shall either lock or terminate an 
  3173. interactive session after an administrator-
  3174. specified interval of user inactivity. The default 
  3175. value for the lock interval shall be five minutes. 
  3176. The default value for session termination shall be 
  3177. fifteen minutes.   
  3178.  
  3179. 3.3    Trusted Path 
  3180.  
  3181. A Trusted Path ensures that users have direct, unencumbered 
  3182. communication with the TCB. A Trusted Path may be required at 
  3183. various times during a subject session and also may be 
  3184. initiated by a user during a TCB interaction.
  3185.  
  3186. For the CS2 level, TP-1 was assigned from the Federal 
  3187. Criteria. This level was refined by requiring that there be a 
  3188. direct Trusted Path connection to the authentication 
  3189. mechanism. 
  3190.  
  3191.  TP-1 Login Trusted Path
  3192.  
  3193. The TCB shall support a trusted communication path 
  3194. between itself and the user for initial 
  3195. identification and authentication. Communications 
  3196. via this path shall be initiated exclusively by a 
  3197. user.
  3198.  
  3199. a.    The TCB shall provide a protected mechanism by 
  3200. which a display device may force a direct 
  3201. connection between the port to which it is 
  3202. connected and the authentication mechanism. 
  3203.  
  3204. 3.4    Audit 
  3205.  
  3206. Audit supports accountability by providing a trail of user 
  3207. actions. Actions are associated with individual users for 
  3208. security-relevant events and are stored in an audit trail. 
  3209. This audit trail can be examined to determine what happened 
  3210. and what user was responsible for a security relevant event. 
  3211. The audit trail data must be protected from unauthorized 
  3212. access, modification, or destruction. In addition, the audit 
  3213. trail data must be available in a useful and timely manner for 
  3214. analysis. 
  3215.  
  3216. Audit data is recorded from several sources (such as the 
  3217. TCB or privileged applications) to produce a complete picture 
  3218. of a user's security relevant actions. Therefore, audit data 
  3219. must be correlated across audit collection systems. The 
  3220. mechanisms providing audit data recording must be tailorable 
  3221. to each product's needs. Both the audit data itself and the 
  3222. mechanisms to determine what audit data is recorded are 
  3223. protected by privileges. Once the audit data is recorded, it 
  3224. is analyzed and reported. At the CS2 level, reporting can be 
  3225. generated on request. 
  3226.  
  3227. For the CS2 level, AD-4 was assigned from the Federal 
  3228. Criteria. This level was refined from the Federal Criteria by 
  3229. specifying that: password character strings not be recorded 
  3230. in the audit trail; privileged applications be allowed to 
  3231. append data to the audit trail; audit trail files be copied 
  3232. to an alternative storage area after a system-specifiable 
  3233. period of time; the TCB provide a protected mechanism for the 
  3234. automatic deletion of security audit trail files. Assignments 
  3235. were made to subject to object access control rules so that 
  3236. they include user access to disk files, tape volumes, and tape 
  3237. files.
  3238.  
  3239. AD-3 Audit Tools
  3240.  
  3241. 1.    The TCB shall be able to create, maintain, and 
  3242. protect from modification or unauthorized access 
  3243. or destruction an audit trail of accesses to the 
  3244. objects it protects. The audit data shall be 
  3245. protected by the TCB so that read access to it is 
  3246. limited to those who are authorized for audit 
  3247. data.
  3248.  
  3249. The TCB shall support an application program 
  3250. interface that allows a privileged application to 
  3251. append data to the security audit trail or to an 
  3252. applications-specified alternative security audit 
  3253. trail. 
  3254.  
  3255. The TCB should support an option to maintain the 
  3256. security audit trail data in encrypted format. (A)
  3257.  
  3258. 2.    The TCB shall be able to record the following 
  3259. types of events:
  3260.  
  3261.     - use of the identification and authentication 
  3262. mechanisms, and system entry events;
  3263.  
  3264.     - access control events selectable on a per 
  3265. user, per subject, per object, per group, and/or 
  3266. per policy attribute basis; i.e., introduction of 
  3267. objects into a user's address space (e.g., file 
  3268. open, program initiation), creation and deletion 
  3269. of subjects and objects; distribution and 
  3270. revocation of access rights; changes of subject 
  3271. and object policy attributes; acquisition and 
  3272. deletion of system privileges. 
  3273.  
  3274.     -actions taken by computer operators and system 
  3275. administrators and/or system security officers; 
  3276. i.e., privileged operations such as the 
  3277. modification of TCB elements; accesses to TCB 
  3278. objects (at a minimum, access to an object shall 
  3279. include disk file access, tape volume, or tape 
  3280. file access); changes of policy attributes of 
  3281. users, TCB configuration and security 
  3282. characteristics, and system privileges; selection 
  3283. and modification of audited events.
  3284.  
  3285. The events that are auditable by default, and 
  3286. those that are required for successful auditing of 
  3287. other events, which may not be disabled, shall be 
  3288. defined. The TCB shall provide a protected 
  3289. mechanism that displays the currently selected 
  3290. events and their defaults. The use of this 
  3291. mechanism shall be restricted to authorized system 
  3292. administrators.
  3293.  
  3294. 3.    For each recorded event, the audit record shall 
  3295. identify: date and time of the event, user, type 
  3296. of event, and success or failure of the event. For 
  3297. identification/authentication events the origin of 
  3298. request (e.g., terminal ID) shall be included in 
  3299. the audit record. For events that introduce an 
  3300. object into a user's address space and for object 
  3301. deletion events the audit record shall include the 
  3302. name and policy attributes of the object.
  3303.  
  3304. The character strings input as a response to a 
  3305. password prompt shall not be recorded in the 
  3306. security audit trail. 
  3307.  
  3308. 4.    The TCB shall provide a protected mechanism to 
  3309. turn auditing on and off, and to select and change 
  3310. the events to be audited and their defaults, 
  3311. during the system operation. The use of this 
  3312. mechanism shall be restricted to authorized system 
  3313. administrators. The system administrator shall be 
  3314. able to selectively audit the actions of one or 
  3315. more users based on individual identity and/or 
  3316. object policy attributes. Audit review tools shall 
  3317. be available to authorized system administrators 
  3318. to assist in the inspection and review of audit 
  3319. data, and shall be protected from unauthorized 
  3320. use, modification, or destruction.
  3321.  
  3322. The TCB shall provide tools for audit data 
  3323. processing. These shall include specifically 
  3324. designed tools: for verifying the consistency of 
  3325. the audit data; for verifying the selection of 
  3326. audit events; for audit trail management. The 
  3327. audit trail management tools shall enable:
  3328.  
  3329.     - creation, destruction, and emptying of audit 
  3330. trails; use of warning points regarding the size 
  3331. of the audit data, and modification of the audit 
  3332. trail size;
  3333.  
  3334.     -formatting and compressing of event records;
  3335.  
  3336.     -displaying of formatted audit trail data; and
  3337.  
  3338.     -maintaining the consistency of the audit trail 
  3339. data after system failures and discontinuity of 
  3340. operation.
  3341.  
  3342. The TCB shall provide a protected mechanism for 
  3343. the automatic copying of security audit trail 
  3344. files to an alternative storage area after a 
  3345. system-specifiable period of time. 
  3346.  
  3347. The TCB shall provide a protected mechanism for 
  3348. the automatic deletion of security audit trail 
  3349. files after a system-specifiable period of time. 
  3350. The default shall be thirty days. 
  3351.  
  3352. (a)    It shall not be possible to delete the 
  3353. security audit trail before it gets copied 
  3354. to an alternate storage area. 
  3355.  
  3356. (b)    It shall be possible to disable this mechanism. 
  3357.  
  3358. The use of audit trail management functions shall 
  3359. be limited to system administrators. 
  3360.  
  3361. 5.     Audit review tools shall be available to 
  3362. authorized users to assist in the inspection and 
  3363. review of audit data, and shall be protected from 
  3364. unauthorized modification or destruction. The TCB 
  3365. shall also provide tools for post-collection audit 
  3366. analysis (e.g., intrusion detection) that shall be 
  3367. able to selectively review (1) the actions of one 
  3368. or more users (e.g., identification, 
  3369. authentication, system-entry, and access control 
  3370. actions); (2) the actions performed on a specific 
  3371. object or system resource; and (3) all, or a 
  3372. specified set of, audited exceptions; and (4) 
  3373. actions associated with a specific policy 
  3374. attributes. The review tools shall be able to 
  3375. operate concurrently with the system operation.
  3376.  
  3377. 3.5    Access Control 
  3378.  
  3379. Once the user has been granted access, the question of which 
  3380. objects that authenticated user may access still remains. An 
  3381. owner, or an authorized user, allows or denies to other users 
  3382. access to that object. The requirements below describe subject 
  3383. accesses to objects. 
  3384.  
  3385. For the CS2 level, AC-2+ was assigned from the Federal 
  3386. Criteria. This level is indicated as being AC-2+ because a 
  3387. requirement was included from level AC-4 (the distribution, 
  3388. revocation, and review of access control attributes rules). 
  3389. This is indicated in the text by an "[AC-4]" in front of the 
  3390. requirement.This component level was refined from the Federal 
  3391. Criteria by specifying: a protected mechanism for groups; a 
  3392. limitation on the changes an active subject can make to a 
  3393. privileged user identifier; a definition of an access control 
  3394. list; and minimum authorization rules.
  3395.  
  3396.  AC-2+ Basic Access Control
  3397.  
  3398. 1.    Definition of Access Control Attributes
  3399.  
  3400. The TCB shall define and protect access control 
  3401. attributes for subjects and objects. Subject 
  3402. attributes shall include named individuals or 
  3403. defined groups or both. Object attributes shall 
  3404. include defined access rights (i.e., read, write, 
  3405. execute) that can be assigned to subject 
  3406. attributes.
  3407.  
  3408. The TCB shall be able to assign access rights to 
  3409. group identities.
  3410.  
  3411. If multiple access control policies are supported, 
  3412. the access control attributes corresponding to 
  3413. each individual policy shall be identified. 
  3414.  
  3415. The subject and/or object attributes shall 
  3416. accurately reflect the sensitivity and integrity 
  3417. of the subject or object.
  3418.  
  3419. 2.    Administration of Access Control Attributes
  3420.  
  3421. The TCB shall define and enforce rules for 
  3422. assignment and modification of access control 
  3423. attributes for subjects and objects.
  3424.  
  3425. The TCB shall provide a protected mechanism for 
  3426. groups as follows: 
  3427.  
  3428. a.    A user identifier shall be able to be associated 
  3429. with one or more groups. 
  3430.  
  3431. b.    The TCB shall provide a protected mechanism to 
  3432. list the names of all groups. 
  3433.  
  3434. c.    The TCB shall provide a protected mechanism to 
  3435. list the membership of any group. 
  3436.  
  3437. Rules for maintaining group membership shall be 
  3438. provided. These rules shall include those for 
  3439. displaying and modifying the list of users 
  3440. belonging to a group and the group attributes of 
  3441. those users. 
  3442.  
  3443. The effect of these rules shall be that access 
  3444. permission to an object by users not already 
  3445. possessing access permission is assigned only by 
  3446. authorized users. 
  3447.  
  3448. Only the current owner or system administrators 
  3449. shall modify access control attributes on objects.
  3450.  
  3451. (a)    There should be a distinct access right to 
  3452. modify the contents of an object's access 
  3453. control list (e.g., an "ownership" or 
  3454. "control" access right). (A)
  3455.  
  3456. The TCB shall provide a protected mechanism to 
  3457. modify group membership. The use of this mechanism 
  3458. shall be under the control of system 
  3459. administrators. Authority to modify specific group 
  3460. membership may be delegated. 
  3461.  
  3462. The TCB shall provide a protected mechanism by which 
  3463. the user identifier associated with a subject 
  3464. attribute can be changed while the subject is 
  3465. active. It shall also provide a protected mechanism 
  3466. for limiting the user identifiers that may change 
  3467. to a user identifier that would provide any 
  3468. additional access rights. The control of these 
  3469. mechanisms shall be limited to system 
  3470. administrators. 
  3471.  
  3472. [AC-4]: These rules shall allow authorized users 
  3473. to specify and control sharing of objects by named 
  3474. individuals or defined groups of individuals, or 
  3475. by both, and shall provide controls to limit 
  3476. propagation of access rights, (i.e., these rules 
  3477. shall define the distribution, revocation, and 
  3478. review of access control attributes). The controls 
  3479. defined by these rules shall be capable of 
  3480. specifying for each named object, a list of 
  3481. individuals and a list of groups of named 
  3482. individuals, with their respective access rights 
  3483. to that object. Furthermore, for each named 
  3484. object, it shall be possible to specify a list of 
  3485. named individuals and a list of groups of named 
  3486. individuals for which no access to the object is 
  3487. given. These controls shall be capable of 
  3488. including or excluding access to the granularity 
  3489. of a single user.
  3490.  
  3491. The rules for assignment and modification of 
  3492. access control attributes shall include those for 
  3493. attribute assignment to objects during import and 
  3494. export operations. If different rules of 
  3495. assignment and modification of access control 
  3496. attributes apply to different subjects and/or 
  3497. objects, the totality of these rules shall be 
  3498. shown to support the defined policy.
  3499.  
  3500. 3.    Authorization of Subject References to Objects
  3501.  
  3502. The TCB shall define and enforce authorization 
  3503. rules for the mediation of subject references to 
  3504. objects. These rules shall be based on the access 
  3505. control attributes of subjects and objects. These 
  3506. rules shall, either by explicit user action or by 
  3507. default, provide that objects are protected from 
  3508. unauthorized access. 
  3509.  
  3510. For each object, the authorization rules of the TCB 
  3511. shall be based on a protected mechanism to specify 
  3512. a list of user identifiers or groups with their 
  3513. specific access rights to that object (i.e., an 
  3514. access control list). 
  3515.  
  3516. At a minimum, the authorization rules shall be 
  3517. defined as follows:
  3518.  
  3519. a.    The access rights associated with a user 
  3520. identifier shall take precedence over the access 
  3521. rights associated with any groups of which that 
  3522. user identifier is a member. 
  3523.  
  3524. b.    When a user identifier can be an active member of 
  3525. multiple groups simultaneously, or if the access 
  3526. rights associated with the user identifier 
  3527. conflict with the access rights associated with 
  3528. any group in which the user is a member, it shall 
  3529. be possible for an system administrator to 
  3530. configure rules that combine the access rights to 
  3531. make a final access control decision. 
  3532.  
  3533. c.    The TCB shall provide a protected mechanism to 
  3534. specify default access rights for user 
  3535. identifiers not otherwise specified either 
  3536. explicitly by a user identifier or implicitly by 
  3537. group membership. 
  3538.  
  3539. The scope of the authorization rules shall include 
  3540. a defined subset of the product's subjects and 
  3541. objects and associated access control attributes. 
  3542. The coverage of authorization rules shall specify 
  3543. the types of objects and subjects to which these 
  3544. rules apply. If different rules apply to different 
  3545. subjects and objects, the totality of these rules 
  3546. shall be shown to support the defined policy. 
  3547.  
  3548. If multiple policies are supported, the 
  3549. authorization rules for each policy shall be 
  3550. defined separately. The TCB shall define and 
  3551. enforce the composition of policies, including the 
  3552. enforcement of the authorization rules (e.g., 
  3553. subject and object type coverage, enforcement 
  3554. precedence).
  3555.  
  3556. 4.    Subject and Object Creation and Destruction
  3557.  
  3558. The TCB shall control the creation and destruction 
  3559. of subjects and objects. These controls shall 
  3560. include object reuse. That is, all authorizations 
  3561. to the information contained within a storage 
  3562. object shall be revoked prior to initial 
  3563. assignment, allocation or reallocation to a 
  3564. subject from the TCB's pool of unused storage 
  3565. objects; information, including encrypted 
  3566. representations of information, produced by a 
  3567. prior subjects' actions shall be unavailable to 
  3568. any subject that obtains access to an object that 
  3569. has been released back to the system.
  3570.  
  3571. 3.6    Security Management 
  3572.  
  3573. The management of security attributes and configuration 
  3574. parameters is an important aspect of a secure product. 
  3575. Mechanisms have to be provided to easily maintain the product, 
  3576. and they must be protected so that only system administrators 
  3577. can manage the security aspects of the product. 
  3578.  
  3579. For the CS2 level, SM-2 was assigned from the Federal 
  3580. Criteria. This level was refined from the Federal Criteria by 
  3581. specifying that sessions be terminated rather than locked. An 
  3582. assignment was made for the definition and maintenance of 
  3583. groups as a security policy attribute. 
  3584.  
  3585.  SM-2 Basic Security Management
  3586.  
  3587. 1.     The TCB shall provide an installation mechanism 
  3588. for the setting and updating of its configuration 
  3589. parameters, and for the initialization of its 
  3590. protection-relevant data structures before any 
  3591. user or administrator policy attributes are 
  3592. defined. It shall allow the configuration of TCB 
  3593. internal databases and tables.
  3594.  
  3595. The TCB shall distinguish between normal mode of 
  3596. operation and maintenance mode, and shall provide 
  3597. a maintenance-mode mechanism for recovery and 
  3598. system start-up.
  3599.  
  3600. 2.     The TCB shall provide protected mechanisms for 
  3601. displaying and modifying the security policy 
  3602. parameters. These parameters shall include 
  3603. identification, authentication, system entry and 
  3604. access control parameters for the entire system 
  3605. and for individual users.
  3606.  
  3607. The TCB shall have a capability to define the 
  3608. identification and authentication policy on a 
  3609. system-wide basis (e.g., password minimum and 
  3610. maximum lifetime, password length and complexity 
  3611. parameters). The TCB mechanisms shall have the 
  3612. capability to limit: (1) maximum period of 
  3613. interactive session inactivity, (2) maximum login 
  3614. or session time, and (3) successive unsuccessful 
  3615. attempts to log in to the system. In particular, 
  3616. the TCB shall provide a protected mechanism to 
  3617. specify that sessions be terminated rather than 
  3618. locked after a period of inactivity. The control 
  3619. of these mechanisms shall be limited to system 
  3620. administrators. 
  3621.  
  3622. 3.                         The TCB shall provide protected mechanisms for 
  3623. manually displaying, modifying, or deleting user 
  3624. registration and account parameters. These 
  3625. parameters shall include unique user identifiers, 
  3626. their account, and their associated user name and 
  3627. affiliation. The TCB shall allow the manual 
  3628. enabling and disabling of user identities and/or 
  3629. accounts. 
  3630.  
  3631. The TCB shall provide a means to uniquely identify 
  3632. security policy attributes. It shall also provide 
  3633. a means of listing all these attributes for a 
  3634. user, and all the users associated with an 
  3635. attribute. It shall be capable of defining and 
  3636. maintaining the security policy attributes for 
  3637. subjects including: defining and maintaining 
  3638. privileges for privileged subjects, discretionary 
  3639. (i.e., definition and maintenance of groups) and 
  3640. non-discretionary attributes and centralized 
  3641. distribution, review and revocation of policy 
  3642. attributes. 
  3643.  
  3644. 4.     The TCB shall provide protected mechanisms for 
  3645. routine control and maintenance of system 
  3646. resources. It shall allow the enabling and 
  3647. disabling of peripheral devices, mounting of 
  3648. removable storage media, backing-up and recovering 
  3649. user objects; maintaining the TCB hardware and 
  3650. software elements (e.g., on site testing); and 
  3651. starting and shutting down the system.
  3652.  
  3653. 5.      The use of the protected mechanisms for system 
  3654. administration shall be limited to authorized 
  3655. administrative users. The control of access-
  3656. control attributes shall be limited to the object 
  3657. owner and to system administrators. 
  3658.  
  3659. 3.7    Reference Mediation 
  3660.  
  3661. Reference mediation, that is, the control by the TCB of 
  3662. subject accesses to objects, must be ensured so that the users 
  3663. can have faith in the TCB's access control decisions. Also, 
  3664. users must be ensured that all access to security services are 
  3665. mediated by the TCB. 
  3666.  
  3667. For the CS2 level, RM-1 was assigned from the Federal 
  3668. Criteria. No refinements were made from the Federal Criteria.
  3669.  
  3670.  RM-1 Mediation of References to a Defined Subject/Object 
  3671. Subset
  3672.  
  3673. 1.     The TCB shall mediate all references to 
  3674. subjects, objects, resources, and services (e.g., 
  3675. TCB functions) described in the TCB 
  3676. specifications. The mediation shall ensure that 
  3677. all references are directed to the appropriate 
  3678. security-policy functions.
  3679.  
  3680. 2.    Reference mediation shall include references to 
  3681. the defined subset of subjects, objects, and 
  3682. resources protected under the TCB security policy, 
  3683. and to their policy attributes (e.g., access 
  3684. rights, security and/or integrity levels, role 
  3685. identifiers).
  3686.  
  3687. 3.     References issued by privileged subjects shall 
  3688. be mediated in accordance with the policy 
  3689. attributes defined for those subjects.
  3690.  
  3691. 3.8    Logical TCB Protection 
  3692.  
  3693. TCB protection is a fundamental requirement for a secure 
  3694. product. All of the security components and mechanisms that 
  3695. have been described depend upon the integrity of the TCB and 
  3696. on the TCB being isolated and non-circumventable. The TCB must 
  3697. be resistant to outside penetration. 
  3698.  
  3699. For the CS2 level, P-1 was assigned from the Federal 
  3700. Criteria. No refinements were made from the Federal Criteria.
  3701.  
  3702.  P-1 Basic TCB Isolation
  3703.  
  3704. The TCB shall maintain a domain for its own 
  3705. execution that protects it from external 
  3706. interference and tampering (e.g., by reading or 
  3707. modification of its code and data structures). The 
  3708. protection of the TCB shall provide TCB isolation 
  3709. and noncircumventability of TCB isolation 
  3710. functions as follows:
  3711.  
  3712.     1. TCB Isolation requires that (1) the address 
  3713. spaces of the TCB and those of unprivileged 
  3714. subjects are separated such that users, or 
  3715. unprivileged subjects operating on their behalf, 
  3716. cannot read or modify TCB data structures or code, 
  3717. (2) the transfers between TCB and non-TCB domains 
  3718. are controlled such that arbitrary entry to or 
  3719. return from the TCB are not possible; and (3) the 
  3720. user or application parameters passed to the TCB 
  3721. by addresses are validated with respect to the TCB 
  3722. address space, and those passed by value are 
  3723. validated with respect to the values expected by 
  3724. the TCB.
  3725.  
  3726.     2. Noncircumventability of TCB isolation 
  3727. functions requires that the permission to objects 
  3728. (and/or to non-TCB data) passed as parameters to 
  3729. the TCB are validated with respect to the 
  3730. permissions required by the TCB, and references to 
  3731. TCB objects implementing TCB isolation functions 
  3732. are mediated by the TCB.
  3733.  
  3734. 3.9    TCB Self-Checking 
  3735.  
  3736. Validating the correct operation of the TCB firmware and 
  3737. hardware is an important aspect of guaranteeing the integrity 
  3738. of the product. Hardware and software features that validate 
  3739. the correct operation of the product will be delivered with 
  3740. the product to ensure that the hardware and firmware are 
  3741. installed properly and are in working order.
  3742.  
  3743. For the CS2 level, SC-2 was assigned from the Federal 
  3744. Criteria.The Federal Criteria was refined to limit the 
  3745. execution of operator-controlled tests to system 
  3746. administrators.
  3747.  
  3748.  SC-2 Basic Self Checking
  3749.  
  3750. Hardware and/or software features shall be 
  3751. provided that can be used to periodically validate 
  3752. the correct operation of the on-site hardware and 
  3753. firmware elements of the TCB. These features shall 
  3754. include: power-on tests, loadable tests, and 
  3755. operator-controlled tests. 
  3756.  
  3757. The power-on tests shall test all basic components 
  3758. of the TCB hardware and firmware elements 
  3759. including memory boards and memory 
  3760. interconnections; data paths; busses; control 
  3761. logic and processor registers; disk adapters; 
  3762. communication ports; system consoles, and the 
  3763. keyboard speaker. These tests shall cover all 
  3764. components that are necessary to run the loadable 
  3765. tests and the operator-controlled tests.
  3766.  
  3767. The loadable tests shall cover: processor 
  3768. components (e.g., arithmetic and logic unit, 
  3769. floating point unit, instruction decode buffers, 
  3770. interrupt controllers, register transfer bus, 
  3771. address translation buffer, cache, and processor-
  3772. to-memory bus controller); backplane busses; 
  3773. memory controllers; and writable control memory 
  3774. for operator-controlled and remote system-
  3775. integrity testing.
  3776.  
  3777. Operator-controlled tests shall be able to 
  3778. initiate a series of one-time or repeated tests, 
  3779. to log the results of these tests and, if any fault 
  3780. is detected, to direct the integrity-test programs 
  3781. to identify and isolate the failure. The execution 
  3782. of operator-controlled tests shall be limited to 
  3783. system administrators. 
  3784.  
  3785. 3.10    TCB Initialization and Recovery 
  3786.  
  3787. The recovery and start-up of the TCB must be ensured so that 
  3788. the product always remains in a secure state, whether the 
  3789. recovery is performed manually or automatically. 
  3790.  
  3791. For the CS2 level, TR-1 was assigned from the Federal 
  3792. Criteria. No further refinements were made from the Federal 
  3793. Criteria.
  3794.  
  3795.  TR-2 Basic for Recovery or Start-up
  3796.  
  3797. 1. Procedures and/or mechanisms shall be provided 
  3798. to assure that, after a TCB failure or other 
  3799. discontinuity, recovery without protection 
  3800. compromise is obtained.
  3801.  
  3802. 2. If automated recovery and start-up is not 
  3803. possible, the TCB shall enter a state where the 
  3804. only system access method is via administrative 
  3805. interfaces, terminals, or procedures. 
  3806. Administrative procedures shall exist to restore 
  3807. the system to a secure state (i.e., a state in 
  3808. which all the security-policy properties hold).
  3809.  
  3810. 3.11    Privileged Operation 
  3811.  
  3812. Privileges are associated with functional components so 
  3813. that at any given time only those operations that are 
  3814. associated with the privilege can be performed. The privileges 
  3815. that a product needs must be identified and must cover all the 
  3816. security aspects of the product, including the secure 
  3817. administration of the product, and should be defined so that 
  3818. there is not a single privileged mode for all of the TCB's 
  3819. operations. 
  3820.  
  3821. For the CS2 level, PO-1 was assigned from the Federal 
  3822. Criteria. No refinements were made from the Federal Criteria.
  3823.  
  3824.  PO-1 Privilege Association with TCB Modules
  3825.  
  3826. 1. TCB privileges needed by individual functions, 
  3827. or groups of functions, shall be identified. 
  3828. Privileged TCB calls or access to privileged TCB 
  3829. objects, such as user and group registration 
  3830. files, password files, security and integrity-
  3831. level definition file, role definition file, or 
  3832. audit-log file shall also be identified.
  3833.  
  3834. 2. The identified privileged functions of a TCB 
  3835. functional component shall be associated only with 
  3836. the privileges necessary to complete their task.
  3837.  
  3838. 3.12    Ease-of-TCB-Use 
  3839.  
  3840. If security mechanisms are not easy to use and maintain, 
  3841. then administrative and non-system administrators may be 
  3842. tempted to disable the security mechanisms. Therefore, ease 
  3843. of use becomes an important element in the administration of 
  3844. a secure product and in the creation of privileged 
  3845. applications. It also minimizes errors on the part of both the 
  3846. administrative and non-system administrators, and can serve 
  3847. to minimize the consequences of these errors. 
  3848.  
  3849. For the CS2 level, EU-2 was assigned from the Federal 
  3850. Criteria. No refinements were made from the Federal Criteria.
  3851.  
  3852. EU-2 Ease of Application Programming
  3853.  
  3854. 1. The TCB shall provide well-defined actions to 
  3855. undertake administrative functions. Default 
  3856. options shall be provided for security parameters 
  3857. of administrative functions.
  3858.  
  3859. The TCB shall include fail-safe defaults for the 
  3860. policy attributes of the defined subjects and 
  3861. objects, as well as user-setable defaults for the 
  3862. defined subjects and objects.
  3863.  
  3864. 2. The TCB shall provide well-defined application 
  3865. programming interfaces and programming functions 
  3866. (e.g., libraries) for all its policies to support 
  3867. the development of applications that can define 
  3868. and enforce security policies on application-
  3869. controlled subjects and objects. The TCB shall 
  3870. enable user-controlled reduction of access rights 
  3871. available to applications.
  3872.  
  3873.  
  3874. CS2 Assurance 
  3875.  
  3876. 4.    Introduction
  3877.  
  3878. This chapter provides the CS2 development and evaluation 
  3879. assurance requirements package using the development and 
  3880. evaluation assurance components defined in Volume I and the 
  3881. package contained in Volume I, Appendix G of the Federal 
  3882. Criteria. The structure of each assurance package follows that 
  3883. of the assurance components (i.e., each package consists of 
  3884. development process, operational support, development 
  3885. environment, development evidence, and evaluation process 
  3886. components).
  3887.  
  3888. Assurance Package T2+
  3889.  
  3890. Assurance package T2+ was chosen for CS2. This package is 
  3891. indicated as being TS2+ since an additional component was 
  3892. included for flaw remediation and a higher level was chosen 
  3893. for trusted generation. This basic assurance level is intended 
  3894. to include most commercial computer products that are designed 
  3895. to satisfy functional requirements. Although most development 
  3896. assurance components are required at their lowest levels, the 
  3897. requirements of several product-development components are 
  3898. extended to capture (1) specific TCB properties, and (2) a 
  3899. rudimentary notion of support for product structure. The 
  3900. operational support component is also extended to enable 
  3901. systematic flaw discovery, tracking, and repair.
  3902.  
  3903. The intent of the product development assurance for this 
  3904. package is to establish that the external behavior of the 
  3905. product conforms to its user level and administrative 
  3906. documentation without analysis of the internal structure of 
  3907. the product TCB. For this reason, only the claimed TCB 
  3908. protection properties and their informal models, TCB 
  3909. interface description, and TCB element list are required to 
  3910. enable functional testing. Support for TCB structuring is 
  3911. limited to process isolation and separation of the protection 
  3912. critical TCB elements from the protection non-critical ones. 
  3913.  
  3914. The intent of the operational support assurance for this 
  3915. package is to establish a minimal level of user and 
  3916. administrative guidance and product information that enables 
  3917. the correct product installation and use of product security 
  3918. features. Similarly, the development environment assurances 
  3919. are intended to provide the a minimal level of control over 
  3920. the product configuration and production. This level of 
  3921. development environment assurance is similar to that already 
  3922. present in most established commercial development 
  3923. organizations.
  3924.  
  3925. The development evidence required for this package is 
  3926. commensurate with the assurances required. The intent of this 
  3927. package is to require the type of assurance evidence that is 
  3928. generated during the normal commercial development process. 
  3929.  
  3930. The intent of evaluation support assurance is to establish 
  3931. that the product, and the context in which it is developed and 
  3932. supported, is commensurate with the development assurance 
  3933. requirements. At the T2+ level, testing analysis and the 
  3934. requirement for independent testing determines whether the 
  3935. product meets the functional protection requirements. 
  3936. Operational support evaluation assurance determines whether 
  3937. the product documentation correctly describes the security 
  3938. relevant operations. 
  3939.  
  3940. Also for CS2, flaw remediation was included in this 
  3941. package. Flaw remediation is important for commercial 
  3942. environments since it ensures that flaws (i.e, deficiencies 
  3943. in a product that enables a user external to the TCB to violate 
  3944. the functional requirements of a protection profile) that are 
  3945. discovered by the product consumers will be tracked, 
  3946. corrected, and disseminated to the affected customers.
  3947.  
  3948. The following table  summarizes the generic assurance 
  3949. components that comprise the Basic Development Assurance 
  3950. Package (T2+). 
  3951.  
  3952.       CS2 Assurance Package Summary
  3953. .---------------------------------------.
  3954. | Assurance Components           |  T2+ |
  3955. |================================|======|
  3956. | Development Assurance Components      |     
  3957. |=======================================|
  3958. | Development Process                   |
  3959. |--------------------------------+------|
  3960. | TCB Property Definition        | PD-2 |
  3961. |--------------------------------+------|
  3962. | TCB Design                            |
  3963. |--------------------------------+------|
  3964. |   TCB Element Identification   | ID-2 |
  3965. |--------------------------------+------|
  3966. |   TCB Interface Definition     | IF-1 |
  3967. |--------------------------------+------|
  3968. |   TCB Modular Decomposition    | ---- |
  3969. |--------------------------------+------|
  3970. |   TCB Structuring Support      | SP-1 |
  3971. |--------------------------------+------|
  3972. |   TCB Design Disciplines       | ---- |
  3973. |--------------------------------+------|
  3974. | TCB Implementation Support     | ---- |
  3975. |--------------------------------+------|
  3976. | TCB Testing and Analysis              |
  3977. |--------------------------------+------|
  3978. |   Functional Testing           | FT-1 |
  3979. |--------------------------------+------|
  3980. |   Penetration Analysis         | ---- |
  3981. |--------------------------------+------|
  3982. |   Covert Channel Analysis      | ---- |
  3983. |--------------------------------+------|
  3984. | Operational Support                   |
  3985. |--------------------------------+------|
  3986. | User Security Guidance         | UG-1 |
  3987. |--------------------------------+------|
  3988. | Administrative Guidance        | AG-1 |
  3989. |--------------------------------+------|
  3990. | Flaw Remediation               | FR-1 |
  3991. |--------------------------------+------|
  3992. | Trusted Generation             | TG-2 |
  3993. |--------------------------------+------|
  3994. | Development Environment               |
  3995. |--------------------------------+------|
  3996. | Life Cycle Definition          | ---- |
  3997. |--------------------------------+------|
  3998. | Configuration Management       | ---- |
  3999. |--------------------------------+------|
  4000. | Trusted Distribution           | ---- |
  4001. |--------------------------------+------|
  4002. | Development Evidence                  |
  4003. |--------------------------------+------|
  4004. | TCB Protection Properties      | EPP2 |
  4005. |--------------------------------+------|
  4006. | Product Development            | EPD1 |
  4007. |--------------------------------+------|
  4008. | Product Testing & Analysis            |
  4009. |--------------------------------+------|
  4010. |   Functional Testing           | EFT1 |
  4011. |--------------------------------+------|
  4012. |   Penetration Analysis         | ---- |
  4013. |--------------------------------+------|
  4014. |   Covert Channel Analysis      | ---- |
  4015. |--------------------------------+------|
  4016. | Product Support                | EPS1 |
  4017. `---------------------------------------'
  4018. |=======================================|
  4019. | Evaluation Assurance Components       |
  4020. |=======================================|
  4021. | Testing                               |
  4022. |--------------------------------+------|
  4023. |   Test Analysis                | TA-1 |
  4024. |--------------------------------+------|
  4025. |   Independent Testing          | IT-1 |
  4026. |--------------------------------+------|
  4027. | Review                                |
  4028. |--------------------------------+------|
  4029. |   Development Environment      | ---- |
  4030. |--------------------------------+------|
  4031. |   Operational Support          | OSR1 |
  4032. |--------------------------------+------|
  4033. | Analysis                              |
  4034. |--------------------------------+------|
  4035. |   Protection Properties        | ---- |
  4036. |--------------------------------+------|
  4037. |   Design                       | ---- |
  4038. |--------------------------------+------|
  4039. |   Implementation               | ---- |
  4040. `---------------------------------------'
  4041.  
  4042.  
  4043. 4.1    TCB Property Definition
  4044.  
  4045. The definition of TCB properties assures the consistency of 
  4046. the TCB's behavior. It determines a baseline set of properties 
  4047. that can be used by system developers and evaluators to assure 
  4048. that the TCB satisfies the defined functional requirements.
  4049.  
  4050. For CS2, PD-2 was assigned from the Federal Criteria. No 
  4051. refinements were made from the Federal Criteria.
  4052.  
  4053. PD-2 Informal Property Identification
  4054.  
  4055. The developer shall provide informal models for 
  4056. the functional components and sub-components of 
  4057. the profile. At a minimum, an informal model of 
  4058. the access control components shall be provided. 
  4059. Each informal model shall include (abstract) data 
  4060. structures and operations defining each functional 
  4061. component or sub-component, and a description of 
  4062. the model properties. The developer shall 
  4063. interpret (e.g., trace) the informal models within 
  4064. the product TCB. For each model entity, the 
  4065. developer shall: (1) identify the TCB elements and 
  4066. their TCB interfaces (if any) that implement that 
  4067. entity; (2) define the operation of these TCB 
  4068. elements, and (3) explain why the operation of 
  4069. these elements is consistent with the model 
  4070. properties. The developer's interpretation of each 
  4071. informal model, which defines the TCB properties, 
  4072. shall identify all TCB elements that do not 
  4073. correspond to any model entity and shall explain 
  4074. why these elements do not render the TCB 
  4075. properties invalid.
  4076.  
  4077. For the components that are not informally 
  4078. modeled, the developer shall interpret the 
  4079. functional requirements of the protection profile 
  4080. within the product TCB. For each functional 
  4081. requirement, the developer shall: (1) identify the 
  4082. TCB elements and their TCB interfaces (if any) 
  4083. that implement that requirement; (2) describe the 
  4084. operation of these TCB elements, and (3) explain 
  4085. why the operation of these elements is consistent 
  4086. with the functional requirement. The developer's 
  4087. interpretation of each functional requirement, 
  4088. which describes the TCB properties, shall identify 
  4089. all TCB elements that do not correspond to any 
  4090. functional requirement and shall explain why these 
  4091. elements do not render the TCB properties invalid.
  4092.  
  4093. 4.2    TCB Element Identification
  4094.  
  4095. The identification of TCB elements (hardware, firmware, 
  4096. software, code, and data structures) provides the set of 
  4097. elements that determine the protection characteristics of a 
  4098. product. All assurance methods rely on the correct 
  4099. identification of TCB elements either directly or indirectly.
  4100.  
  4101. For CS2, ID-1 was assigned from the Federal Criteria. No 
  4102. refinements were made from the Federal Criteria.
  4103.  
  4104.  ID-1: TCB Element Identification
  4105.  
  4106. The developer shall identify the TCB elements 
  4107. (i.e., software, hardware/firmware code and data 
  4108. structures). Each element must be unambiguously 
  4109. identified by its name, type, release, and version 
  4110. number (if any).
  4111.  
  4112. 4.3    TCB Interface Definition
  4113.  
  4114. The TCB interface establishes the boundary between the TCB 
  4115. and its external users and application programs. It consists 
  4116. of several components, such as command interfaces (i.e., user 
  4117. oriented devices such as the keyboard and mouse), application 
  4118. program interfaces (system calls), and machine/processor 
  4119. interfaces (processor instructions).
  4120.  
  4121. For CS2, IF-1 was assigned from the Federal Criteria. No 
  4122. refinements were made from the Federal Criteria.
  4123.  
  4124. IF-1: Interface Description
  4125.  
  4126. The developer shall describe all external (e.g., 
  4127. command, software, and I/O) administrative (i.e., 
  4128. privileged) and non-administrative interfaces to 
  4129. the TCB. The description shall include those 
  4130. components of the TCB that are implemented as 
  4131. hardware and/or firmware if their properties are 
  4132. visible at the TCB interface.
  4133.  
  4134. The developer shall identify all call conventions 
  4135. (e.g., parameter order, call sequence 
  4136. requirements) and exceptions signaled at the TCB 
  4137. interface.
  4138.  
  4139. 4.4    TCB Structuring Support
  4140.  
  4141. Structuring the TCB into modules is necessary. However, the 
  4142. modular decomposition does not necessarily reflect the run-
  4143. time enforcement of the TCB structuring since the separation 
  4144. of modules may not necessarily be supported by run-time 
  4145. mechanisms. The run-time enforcement of internal TCB 
  4146. structuring adds a measure of assurance that the TCB elements 
  4147. that are critical to the enforcement of the protection 
  4148. functions are separate from the non-critical elements. Also, 
  4149. the use of run-time enforcement of TCB structuring helps 
  4150. separate protection-critical TCB elements from each other, 
  4151. thereby helping to enforce the separation of protection 
  4152. concerns and minimizing the common mechanisms shared between 
  4153. protection critical elements.
  4154.  
  4155. For CS3, SP-1 was assigned from the Federal Criteria. No 
  4156. refinements were made from the Federal Criteria.
  4157.  
  4158.  SP-1: Process Isolation
  4159.  
  4160. The TCB shall maintain process isolation.
  4161.  
  4162. 4.5    Developer Functional Testing
  4163.  
  4164. Functional testing establishes that the TCB interface 
  4165. exhibits the properties necessary to satisfy the requirements 
  4166. of the protection profile. It provides assurance that the TCB 
  4167. satisfies at least its functional protection requirements.
  4168.  
  4169. For CS2, FT-1 was assigned from the Federal Criteria. No 
  4170. refinements were made from the Federal Criteria.
  4171.  
  4172.  FT-1: Conformance Testing
  4173.  
  4174. The developer shall test the TCB interface to show 
  4175. that all claimed protection functions work as 
  4176. stated in the TCB interface description.
  4177.  
  4178. The developer shall correct all flaws discovered 
  4179. by testing and shall retest the TCB until the 
  4180. protection functions are shown to work as claimed.
  4181.  
  4182. 4.6    User's Guidance
  4183.  
  4184. User's guidance is an operational support assurance 
  4185. component that ensures that usage constraints assumed by the 
  4186. protection profile are understood by the users of the product. 
  4187. It is the primary means available for providing product users 
  4188. with the necessary background and specific information on how 
  4189. to correctly use the product's protection functionality.
  4190.  
  4191. For CS2, UG-1 was assigned from the Federal Criteria. No 
  4192. refinements were made from the Federal Criteria.
  4193.  
  4194.  UG-1: Users' Guide
  4195.  
  4196. The developer shall provide a Users' Guide which 
  4197. describes all protection services provided and 
  4198. enforced by the TCB. The User's Guide shall 
  4199. describe the interaction between these services 
  4200. and provide examples of their use. The User's 
  4201. Guide may be in the form of a summary, chapter or 
  4202. manual. The User's Guide shall specifically 
  4203. describe user responsibilities. These shall 
  4204. encompass any user responsibilities identified in 
  4205. the protection profile.
  4206.  
  4207. 4.7    Administrative Guidance
  4208.  
  4209. Administrative guidance is an operation support assurance 
  4210. component that ensures that the environmental constraints 
  4211. assumed by the protection profile are understood by 
  4212. administrative users and operators of the IT product. It is 
  4213. the primary means available to the developer for providing to 
  4214. administrators and operators detailed, accurate information 
  4215. on how to configure and install the product, operate the IT 
  4216. product is a secure manner, make effective use of the 
  4217. product's privileges and protection mechanisms to control 
  4218. access to administrative functions and data bases, and to 
  4219. avoid pitfalls and improper use of the administrative 
  4220. functions that would compromise the TCB and user security.
  4221.  
  4222. For CS2, AG-1 was assigned from the Federal Criteria. No 
  4223. refinements were made from the Federal Criteria.
  4224.  
  4225.  AG-1: Basic Administrative Guidance
  4226.  
  4227. The developer shall provide a Trusted Facility 
  4228. Manual intended for the product administrators 
  4229. that describes how to use the TCB security 
  4230. services (e.g., Access Control, System Entry, or 
  4231. Audit) to enforce a system security policy. The 
  4232. Trusted Facility Manual shall include the 
  4233. procedures for securely configuring, starting, 
  4234. maintaining, and halting the TCB. The Trusted 
  4235. Facility Manual shall explain how to analyze audit 
  4236. data generated by the TCB to identify and document 
  4237. user and administrator violations of this policy. 
  4238. The Trusted Facility Manual shall explain the 
  4239. privileges and functions of administrators. The 
  4240. Trusted Facility Manual shall describe the 
  4241. administrative interaction between security 
  4242. services.
  4243.  
  4244. The Trusted Facility Manual shall be distinct from 
  4245. User Guidance, and encompass any administrative 
  4246. responsibilities identified in security 
  4247. management.
  4248.  
  4249. 4.8    Flaw Remediation Procedures
  4250.  
  4251. Flaw remediation is an operational support assurance 
  4252. component that ensures that flaws (i.e, deficiencies in a 
  4253. product that enables a user external to the TCB to violate the 
  4254. functional requirements of a protection profile) that are 
  4255. discovered by the product consumers will be tracked, 
  4256. corrected, and disseminated to the affected customers.
  4257.  
  4258. For CS2, FR-1 was assigned from the Federal Criteria. No 
  4259. refinements were made from the Federal Criteria.
  4260.  
  4261.  FR-1: Basic Flaw Remediation
  4262.  
  4263. Flaw Tracking Procedures: The developer shall 
  4264. establish a procedure to track all reported 
  4265. protection flaws in each release of the product. 
  4266. The tracking system shall include a description of 
  4267. the nature and effect of each flaw and the status 
  4268. of finding a correction to the flaw.
  4269.  
  4270. Flaw Repair Procedures: The developer shall 
  4271. establish a procedure to identify corrective 
  4272. actions for protection flaws.
  4273.  
  4274. Customer Interaction Procedures: The developer 
  4275. shall provide flaw information and corrections to 
  4276. registered customers.
  4277.  
  4278. 4.9    Trusted Generation
  4279.  
  4280. Trusted generation is an operational support assurance 
  4281. component that ensures that the copy of the product's TCB that 
  4282. is configured and activated by the consumer exhibits the same 
  4283. protection properties as the master copy of the product's TCB 
  4284. that was evaluated for compliance with the protection profile. 
  4285. The trusted generation procedures must provide some 
  4286. confidence that the consumer will be aware of what product 
  4287. configuration parameters can affect the protection properties 
  4288. of the TCB. The procedures must encourage the consumer to 
  4289. choose parameter settings that are within the bounds assumed 
  4290. during the product evaluation.
  4291.  
  4292. For CS2, TG-2 was assigned from the Federal Criteria. No 
  4293. refinements were made from the Federal Criteria.
  4294.  
  4295. TG-2: Trusted Generation With Fail-Safe Defaults
  4296.  
  4297. The developer shall establish and document the 
  4298. procedures that a customer must perform to 
  4299. generate an operational TCB from the delivered 
  4300. copy of the master TCB. The customer documentation 
  4301. shall identify any system parameters, which are 
  4302. initialized or set during system generation, that 
  4303. affect the TCB's conformance to the protection 
  4304. profile and state the acceptable ranges of values 
  4305. for those parameters. The product shall be 
  4306. delivered with each of these parameters set to its 
  4307. fail-safe defaults.
  4308.  
  4309. 4.10    Evidence of TCB Protection Properties
  4310.  
  4311. The documentation of the TCB protection properties includes 
  4312. the definition of the functional component requirements, 
  4313. their modeling (if any), and their interpretation within a 
  4314. product's TCB. For each requirement of a protection profile, 
  4315. a description, definition (an informal, descriptive 
  4316. specification), or a formal specification of the TCB 
  4317. components and their operation corresponding to the 
  4318. requirement must be provided.
  4319.  
  4320. For CS2, EPP-1 was assigned from the Federal Criteria. No 
  4321. refinements were made from the Federal Criteria.
  4322.  
  4323.  EPP-1 Evidence of TCB Correspondence to the Functional 
  4324. Requirements
  4325.  
  4326. The developer shall provide documentation which 
  4327. describes the correspondence between the 
  4328. functional component requirements and the TCB 
  4329. elements and interfaces. The TCB properties, which 
  4330. are defined by this correspondence, shall be 
  4331. explained in this documentation.
  4332.  
  4333. 4.11    Evidence of Product Development
  4334.  
  4335. Product development evidence consists of the TCB design 
  4336. evidence including the documentation of the TCB interface, TCB 
  4337. elements, TCB structure, TCB structuring support, and TCB 
  4338. design disciplines. The TCB implementation evidence includes 
  4339. TCB source code, and the processor hardware and firmware 
  4340. specifications.
  4341.  
  4342. For CS2, EPD-2 was assigned from the Federal Criteria. No 
  4343. refinements were made from the Federal Criteria.
  4344.  
  4345.  EPD-2: Description Of The TCB External Interface
  4346.  
  4347. The developer shall provide documentation which 
  4348. describes the correspondence between the 
  4349. functional component requirements and the TCB 
  4350. elements and interfaces. The developer shall also 
  4351. provide an informal access control model and its 
  4352. interpretation within the TCB. The TCB properties, 
  4353. which are defined by this correspondence, shall be 
  4354. explained in this documentation.
  4355.  
  4356. 4.12    Evidence of Functional Testing
  4357.  
  4358. Functional testing evidence includes the testing itself, 
  4359. the test plans, and test documentation results. Test plans 
  4360. consist of: the description definition or specification of the 
  4361. test conditions; the test data, which consists of the test 
  4362. environment set-up; the test parameters and expected 
  4363. outcomes; and a description of the test coverage. 
  4364.  
  4365. For CS2, EFT-1 was assigned from the Federal Criteria. No 
  4366. refinements were made from the Federal Criteria.
  4367.  
  4368.  EFT-1: Evidence of Conformance Testing
  4369.  
  4370. The developer shall provide evidence of the 
  4371. functional testing that includes the test plan, 
  4372. the test procedures and the results of the 
  4373. functional testing.
  4374.  
  4375. 4.13    Evidence of Product Support
  4376.  
  4377. Product support evidence consists of the development 
  4378. environment and operational support documentation and tools. 
  4379. The development environment evidence includes the 
  4380. documentation of the product life-cycle process, 
  4381. configuration management procedures enforced, and the trusted 
  4382. distribution mechanisms and procedures used. It also 
  4383. includes: the identification of the tools used in the product 
  4384. development, configuration management, and trusted 
  4385. distribution; and the characteristics that make those tools 
  4386. suitable for the development of product protection.
  4387.  
  4388. For CS2, EPS-1 was assigned from the Federal Criteria. No 
  4389. refinements were made from the Federal Criteria.
  4390.  
  4391.  EPS-1: Evidence of Basic Product Support
  4392.  
  4393. The developer shall provide evidence that 
  4394. describes the policies, procedures, and plans 
  4395. established by the developer to satisfy the 
  4396. Operational Support and Development Environment 
  4397. requirements of the protection profile. 
  4398.  
  4399. 4.14    Test Analysis
  4400.  
  4401. Test analysis determines whether the product meets the 
  4402. functional protection requirements defined in the protection 
  4403. profile. Functional testing is based on operational product, 
  4404. the TCB's functional properties, the product's operational 
  4405. support guidance, and other producer's documentation as 
  4406. defined by the development evidence requirements. Functional 
  4407. test analysis is based on the achieved test results as 
  4408. compared to the expected results derived from the development 
  4409. evidence.
  4410.  
  4411. For CS2, TA-1 was assigned from the Federal Criteria. No 
  4412. refinements were made from the Federal Criteria.
  4413.  
  4414.  TA-1: Elementary Test Analysis
  4415.  
  4416. The evaluator shall assess whether the producer 
  4417. has performed the activities defined in the 
  4418. development assurance requirements of the 
  4419. protection profile for functional testing and 
  4420. whether the producer has documented these 
  4421. activities as defined in the development evidence 
  4422. requirements of the protection profile. The 
  4423. evaluator shall analyze the results of the 
  4424. producer's testing activities for completeness of 
  4425. coverage and consistency of results. The evaluator 
  4426. shall determine whether the product's protection 
  4427. properties, as described in the product 
  4428. documentation have been tested. The evaluator 
  4429. shall assess testing results to determine whether 
  4430. the product's TCB works as claimed.
  4431.  
  4432. 4.15    Independent Testing 
  4433.  
  4434. Independent testing determines whether the product's TCB 
  4435. meets the functional protection requirements as defined in the 
  4436. functionality chapter of this Protection Profile. Testing is 
  4437. based on the operational product, the TCB's functional 
  4438. properties, the product's operational support guidance, and 
  4439. other producer's documentation as defined by the Development 
  4440. Evidence requirements.
  4441.  
  4442. For CS2, IT-1 was assigned from the Federal Criteria. No 
  4443. refinements were made from the Federal Criteria.
  4444.  
  4445.  IT-1: Elementary Independent Testing
  4446.  
  4447. A tester, independent of the producer or 
  4448. evaluator, shall perform functional and elementary 
  4449. penetration testing. This testing shall be based 
  4450. on the product's user and administrative 
  4451. documentation, and on relevant known penetration 
  4452. flaws. Satisfactory completion consists of 
  4453. demonstrating that all user-visible security 
  4454. enforcing functions and security-relevant 
  4455. functions work as described in the product's user 
  4456. and administrative documentation and that no 
  4457. discrepancies exist between the documentation and 
  4458. the product. Test results of the producer shall be 
  4459. confirmed by the results of independent testing. 
  4460. The evaluator may selectively reconfirm any test 
  4461. result.
  4462.  
  4463. If the independent testing is performed at beta-
  4464. test sites, the producer shall supply the beta-
  4465. test plan and the test results. The evaluator 
  4466. shall review the scope and depth of beta testing 
  4467. with respect to the required protection 
  4468. functionality, and shall verify independence of 
  4469. both the test sites and the producer's and beta-
  4470. test user's test results. The evaluator shall 
  4471. confirm that the test environment of the beta-test 
  4472. site(s) adequately represents the environment 
  4473. specified in the protection profile.
  4474.  
  4475. 4.16    Operational Support Review
  4476.  
  4477. Operation support review establishes the level of review 
  4478. required to determine whether the product meets the 
  4479. requirements as defined in the protection profile's 
  4480. Development Assurance subsections for Operational Support 
  4481. including, at the CS2 level, the User and Administrative 
  4482. Guidance documents.
  4483.  
  4484. For CS2, OSR-1 was assigned from the Federal Criteria. No 
  4485. refinements were made from the Federal Criteria.
  4486.  
  4487.  OSR-1 Elementary Operational Support Review
  4488.  
  4489. The evaluator shall review all documentation 
  4490. focused on the activities of product use (e.g., 
  4491. Users Manuals) and product administration 
  4492. including installation, operation, maintenance, 
  4493. and trusted recovery (e.g., Trusted Facility 
  4494. Management Manuals). This review shall assess the 
  4495. clarity of presentation, difficulty in locating 
  4496. topics of interest, ease of understanding, and 
  4497. completeness of coverage. The need for separate 
  4498. manuals dedicated to protection-relevant aspects 
  4499. of the product should be assessed for 
  4500. effectiveness.
  4501.  
  4502. COMMERCIAL SECURITY 3 (CS3)
  4503.  
  4504. CS3 compliant products provide enhanced protection 
  4505. beyond those of the CS1 and CS2 Protection Profiles 
  4506. by providing administrative and access control 
  4507. features to centrally control access to information 
  4508. and other resources based on roles. Through the use 
  4509. of role based access controls, a variety of 
  4510. organization specific non-discretionary integrity 
  4511. and confidentiality policies can be specified and 
  4512. enforced. In addition, CS3 provides stronger 
  4513. authentication measures, more administrative tools, 
  4514. and requires a greater degree of assurance 
  4515. evidence.
  4516.  
  4517.  
  4518.  
  4519.           CS3 Functional Component Summary
  4520. .------------------------------------------------------.
  4521. |                                  | Component |       |
  4522. | Component Name                   |   Code    | Level |
  4523. |======================================================|
  4524. | Security Policy Support:                             |
  4525. |----------------------------------+-----------+-------|
  4526. |  Identification & Authentication |    I&A    |   4   |
  4527. |----------------------------------+-----------+-------|
  4528. |  System Entry                    |    SE     |   3   |
  4529. |----------------------------------+-----------+-------|
  4530. |  Trusted Path                    |    TP     |   1   |
  4531. |----------------------------------+-----------+-------|
  4532. |  Audit                           |    AD     |   3   |
  4533. |----------------------------------+-----------+-------|
  4534. |  Access Control                  |    AC     |   2+  |
  4535. |----------------------------------+-----------+-------|
  4536. |  Availability:                                       |
  4537. |----------------------------------+-----------+-------|
  4538. |    Resource Allocation           |    AR     |   1   |
  4539. |----------------------------------+-----------+-------|
  4540. |  Security Management             |    SM     |   3   |
  4541. |----------------------------------+-----------+-------|
  4542. | Reference Mediation              |    RM     |   1   |
  4543. |----------------------------------+-----------+-------|
  4544. | TCB Protection                   |    P      |   1   |
  4545. |----------------------------------+-----------+-------|
  4546. | Physical Protection              |    PP     |   1   |
  4547. |----------------------------------+-----------+-------|
  4548. | Self Checking                    |    SC     |   3   |
  4549. |----------------------------------+-----------+-------|
  4550. | TCB Initialization & Recovery    |    TR     |   3   |
  4551. |----------------------------------+-----------+-------|
  4552. | Privileged Operations            |    PO     |   2   |
  4553. |----------------------------------+-----------+-------|
  4554. | Ease-of-Use                      |    EU     |   3   |
  4555. `------------------------------------------------------'
  4556.  
  4557.     CS3 Assurance Package Summary
  4558. .---------------------------------------.
  4559. | Assurance Components           |  T3+ |
  4560. |================================|======|
  4561. | Development Assurance Components      |     
  4562. |=======================================|
  4563. | Development Process                   |
  4564. |--------------------------------+------|
  4565. | TCB Property Definition        | PD-2 |
  4566. |--------------------------------+------|
  4567. | TCB Design                            |
  4568. |--------------------------------+------|
  4569. |   TCB Element Identification   | ID-2 |
  4570. |--------------------------------+------|
  4571. |   TCB Interface Definition     | IF-1 |
  4572. |--------------------------------+------|
  4573. |   TCB Modular Decomposition    | ---- |
  4574. |--------------------------------+------|
  4575. |   TCB Structuring Support      | SP-1 |
  4576. |--------------------------------+------|
  4577. |   TCB Design Disciplines       | ---- |
  4578. |--------------------------------+------|
  4579. | TCB Implementation Support     | ---- |
  4580. |--------------------------------+------|
  4581. | TCB Testing and Analysis              |
  4582. |--------------------------------+------|
  4583. |   Functional Testing           | FT-1 |
  4584. |--------------------------------+------|
  4585. |   Penetration Analysis         | PA-1 |
  4586. |--------------------------------+------|
  4587. |   Covert Channel Analysis      | ---- |
  4588. |--------------------------------+------|
  4589. | Operational Support                   |
  4590. |--------------------------------+------|
  4591. | User Security Guidance         | UG-1 |
  4592. |--------------------------------+------|
  4593. | Administrative Guidance        | AG-2+|
  4594. |--------------------------------+------|
  4595. | Flaw Remediation               | FR-2 |
  4596. |--------------------------------+------|
  4597. | Trusted Generation             | TG-2 |
  4598. |--------------------------------+------|
  4599. | Development Environment               |
  4600. |--------------------------------+------|
  4601. | Life Cycle Definition          | LC-1 |
  4602. |--------------------------------+------|
  4603. | Configuration Management       | CM-1 |
  4604. |--------------------------------+------|
  4605. | Trusted Distribution           | ---- |
  4606. |--------------------------------+------|
  4607. | Development Evidence                  |
  4608. |--------------------------------+------|
  4609. | TCB Protection Properties      | EPP2 |
  4610. |--------------------------------+------|
  4611. | Product Development            | EPD1 |
  4612. |--------------------------------+------|
  4613. | Product Testing & Analysis            |
  4614. |--------------------------------+------|
  4615. |   Functional Testing           | EFT1 |
  4616. |--------------------------------+------|
  4617. |   Penetration Analysis         | EPA1 |
  4618. |--------------------------------+------|
  4619. |   Covert Channel Analysis      | ---- |
  4620. |--------------------------------+------|
  4621. | Product Support                | EPS1 |
  4622. `---------------------------------------'
  4623. |=======================================|
  4624. | Evaluation Assurance Components       |
  4625. |=======================================|
  4626. | Testing                               |
  4627. |--------------------------------+------|
  4628. |   Test Analysis                | TA-2 |
  4629. |--------------------------------+------|
  4630. |   Independent Testing          | IT-1 |
  4631. |--------------------------------+------|
  4632. | Review                                |
  4633. |--------------------------------+------|
  4634. |   Development Environment      | DER1 |
  4635. |--------------------------------+------|
  4636. |   Operational Support          | OSR1 |
  4637. |--------------------------------+------|
  4638. | Analysis                              |
  4639. |--------------------------------+------|
  4640. |   Protection Properties        | ---- |
  4641. |--------------------------------+------|
  4642. |   Design                       | DA-1 |
  4643. |--------------------------------+------|
  4644. |   Implementation               | ---- |
  4645. `---------------------------------------'
  4646.  
  4647. CS3 Rationale
  4648.  
  4649. 2.17    Introduction
  4650.  
  4651. As outlined in the Federal Criteria, this rationale 
  4652. describes the protection philosophy, how the security 
  4653. features are intended to be used, the assumptions about the 
  4654. environment in which a compliant product is intended to 
  4655. operate, the threats within that environment, and the security 
  4656. features and assurances that counter these threats. At the CS3 
  4657. level, the features used to counter threats and the strength 
  4658. of the assurance evidence is enhanced over CS1 and CS2 and is 
  4659. indicated in the text through bold italics.
  4660.  
  4661. 2.17.1    Protection Philosophy
  4662.  
  4663. Any discussion of protection necessarily starts from a 
  4664. protection philosophy, i.e., what it really means to call the 
  4665. product "secure." In general, products will control access to 
  4666. information and other resources through the use of specific 
  4667. security features so that only properly authorized 
  4668. individuals or processes acting on their behalf will be 
  4669. granted access. For CS1, four fundamental requirements are 
  4670. derived for this statement of protection:
  4671.  
  4672. o    Access authorization
  4673.  
  4674. o    Accountability
  4675.  
  4676. o    Assurance 
  4677.  
  4678. o    Availability of Service
  4679.  
  4680. The totality of the functionality that enforces the access 
  4681. authorization and accountability protection philosophy is 
  4682. comprised of the hardware, software, and firmware of the 
  4683. Trusted Computing Base (TCB). CS3 requires the TCB to be self-
  4684. protecting and resistant to bypass so that it is effective at 
  4685. countering identified threats. CS3 also requires effective 
  4686. management of security attributes and configuration 
  4687. parameters. The assurance protection philosophy is comprised 
  4688. of the development process, operational support, development 
  4689. environment, development evidence, and evaluation process 
  4690. assurances. Each of these are explained below.
  4691.  
  4692. 2.17.1.1    Access Authorization
  4693.  
  4694. The access authorization portion of the philosophy of 
  4695. protection for this profile addresses subject and object 
  4696. access mediation. For CS3 compliant products, access 
  4697. authorization has been further refined to include system 
  4698. entry, subject and object mediation based on system entry, 
  4699. subject and object mediation based on role identifiers, and 
  4700. privileged operations.
  4701.  
  4702. 2.17.1.1.1    System Entry
  4703.  
  4704. CS3 provides the capability for an system administrator to 
  4705. establish, maintain, and protect information from 
  4706. unauthorized access, and defines the identities of and 
  4707. conditions under which users may gain entry into the system. 
  4708. These system entry controls are based on user identification, 
  4709. role membership, time, location, and method of entry. CS3 
  4710. strengthens the requirement for locking interactive sessions 
  4711. by requiring the display device to be cleared or overwritten 
  4712. to make the current contents of the screen unreadable.
  4713.  
  4714. 2.17.1.1.2    Subject and Object Access Mediation
  4715.  
  4716. CS1 and CS2 provide protected access to resources and 
  4717. objects. CS3 compliant products also provide the capability 
  4718. of specifying and enforcing access control decisions based on 
  4719. roles [12][13]. In many organizations, the end users do not 
  4720. "own" the information and the programs for which they are 
  4721. allowed access. For these organizations, the corporation or 
  4722. agency is the actual "owner" of the system objects as well as 
  4723. the programs that process them. Control is often based on 
  4724. employee functions rather than on ownership.
  4725.  
  4726. Access control decisions are often determined by the roles 
  4727. individual users take on as part of an organization. The 
  4728. definition of a role includes the specification of duties, 
  4729. responsibilities, and qualifications. For example, the roles 
  4730. an individual associated with a hospital can assume include 
  4731. doctor, nurse, clinician, and pharmacist. Roles in a bank 
  4732. include teller, loan officer, and accountant. Roles can also 
  4733. apply to military systems; for example, target analyst, 
  4734. situation analyst, and traffic analyst are common roles in 
  4735. tactical systems. A Role Based Access Control (RBAC) policy 
  4736. bases access control decisions on the functions a user is 
  4737. allowed to perform within an organization. Under this policy, 
  4738. the users cannot pass access permissions to other users at 
  4739. their discretion.
  4740.  
  4741. For each role, a set of transactions associated with the 
  4742. role is maintained. A transaction can be thought of as a 
  4743. transformation procedure [12] (a program or a portion of a 
  4744. program) plus a set of associated data items. In addition, 
  4745. each role has an associated set of individual members. 
  4746.  
  4747. The determination of membership and the allocation of 
  4748. transactions to a role is in compliance with organization 
  4749. specific non-discretionary policies. These policies can be 
  4750. derived from existing laws, ethics, regulations, or generally 
  4751. accepted practices. These policies are non-discretionary in 
  4752. the sense that they are unavoidably imposed on all users. 
  4753.  
  4754. For subject and object access mediation, CS3 also provides 
  4755. for additional time and location access control attributes. 
  4756. At a minimum, these attributes include the user's port of 
  4757. entry.
  4758.  
  4759. 2.17.1.1.3    Privileges
  4760.  
  4761. CS3 supports and promotes the separation and use of 
  4762. privileges for TCB modules. A privilege enables a subject to 
  4763. perform a security relevant operation that, by default, is 
  4764. denied. Privileges cover all security aspects of a product, 
  4765. including TCB operations performed by system administrators. 
  4766. CS3 compliant products have tightly controlled privilege 
  4767. definitions as well as control over subjects that hold 
  4768. privileges. 
  4769.  
  4770. 2.17.1.2    Accountability
  4771.  
  4772. The accountability portion of the philosophy of protection 
  4773. for this profile addresses user identification and 
  4774. authentication (I&A), requirements for security auditing, and 
  4775. a Trusted Path between a user and the operating system. Each 
  4776. of these are explained below.
  4777.  
  4778. 2.17.1.2.1    Identification and Authentication
  4779.  
  4780. User identification is required to support access control 
  4781. and security auditing. This includes the capability to 
  4782. establish, maintain, and protect a unique identifier for each 
  4783. authorized user. User identification is functionally 
  4784. dependent on authentication. Authentication is a method of 
  4785. validating a person as a legitimate user.
  4786.  
  4787. User authentication in most computer systems has been 
  4788. provided primarily through the use of passwords. CS2 supports 
  4789. a variety of password features that give the product a great 
  4790. amount of flexibility in the generation of passwords, in 
  4791. password security, password features, and password 
  4792. administration. For most products, a great deal of confidence 
  4793. is placed on maintaining the privacy of passwords belonging 
  4794. to individuals. I&A prevents unauthorized individuals from 
  4795. logging into the product, therefore, password management is 
  4796. essential to secure product operations. The risk of losing a 
  4797. password is addressed within CS2 through promoting the use of 
  4798. stringent password management practices.
  4799.  
  4800. In addition, CS2 allows for stronger authentication 
  4801. approaches. CS2 specifies that a unique identifier be 
  4802. associated with each trusted subject such as print spoolers, 
  4803. database management system services, and transaction 
  4804. processing monitors. It also requires the TCB to maintain, 
  4805. protect, and display status information for all active users 
  4806. and all enabled or disabled user identities or accounts.
  4807.  
  4808. CS3 also provides for stronger authentication mechanisms 
  4809. for those commercial and government environments that need 
  4810. such assurance, such as law enforcement agencies, nuclear 
  4811. facilities, and commercial airports. These other approaches 
  4812. can be categorized as "something a user is," which can be 
  4813. indicated through the use of a unique characteristic that a 
  4814. person possesses, or "something a user has," such as a smart 
  4815. card. For example, biometrics is a "something you are" 
  4816. approach for identifying individuals through the use of a 
  4817. unique physical characteristic associated with a person such 
  4818. as a fingerprint or a retina pattern. In many respects, the 
  4819. biometrics approach to user identification is a cleaner and 
  4820. more secure approach than a password mechanism. This method 
  4821. eliminates the concern over the compromise of a password. 
  4822. However, while biometric devices are currently available, 
  4823. their expense makes them impractical for most applications. 
  4824. "Something a user has" requires a physical device that users 
  4825. must have in their possession at authentication time. Usually, 
  4826. these devices require the user to enter a Personal 
  4827. Identification Number (PIN) in case the device is lost or 
  4828. stolen.
  4829.  
  4830. 2.17.1.2.2    Audit
  4831.  
  4832. For most secure products, a capability must exist to audit 
  4833. the security relevant events. As each user performs security 
  4834. relevant tasks, the product must record the user identifier, 
  4835. the action performed, and the result in a security log. For 
  4836. CS31compliant products, a capability is specified to allow a 
  4837. system administrator to access and evaluate audit 
  4838. information. This capability provides a method of protection 
  4839. in the sense that all security relevant events that occur 
  4840. within a computer system can be logged and the responsible 
  4841. user held accountable for his/her actions. Audit trails are 
  4842. used to detect and deter penetration of a computer system and 
  4843. to reveal activity that identifies misuse.
  4844.  
  4845. CS3 provides for an effective audit mechanism by supporting 
  4846. the following basic security characteristics. It provides the 
  4847. ability to:
  4848.  
  4849. o    review the use of I&A mechanisms;
  4850.  
  4851. o    discover the introduction of objects into a user's 
  4852. address space;
  4853.  
  4854. o    discover the deletion of objects; 
  4855.  
  4856. o    discover actions taken by computer operators and 
  4857. system administrators;
  4858.  
  4859. o    audit attempts to violate resource allocation limits;
  4860.  
  4861. o    protect the audit data so that access to it is limited 
  4862. to system administrators that are authorized to 
  4863. examine audit information;
  4864.  
  4865. o    discover the use of privileges, such as changing the 
  4866. ownership of an object;
  4867.  
  4868. o    have the audit mechanism act as a deterrent against 
  4869. penetrators or hackers; and
  4870.  
  4871. o    to use audit reduction tools for assessing the damage 
  4872. that may result in the event of a violation of the 
  4873. implemented security policy. These tools have the 
  4874. capability of selectively reviewing the actions of one 
  4875. or more users or roles, actions performed on a 
  4876. specific object or system resource, and actions 
  4877. associated with specific access control attributes.
  4878.  
  4879. 2.17.1.3    Availability of Service
  4880.  
  4881. CS3 promotes the continuous accessibility and usability of 
  4882. resources. The TCB provides the capability to detect and 
  4883. recover from discontinuity of service using some combination 
  4884. of automatic and procedural techniques. Also, resource 
  4885. allocation requirements replace restrictions on the number of 
  4886. subjects and objects a user may have allocated at any given 
  4887. time. This prevents one individual user from denying access 
  4888. to another user's subject and object space.
  4889.  
  4890. 2.17.1.4    Assurance
  4891.  
  4892. Assurance addresses all areas of product development 
  4893. assurance and evaluation assurance. The Development assurance 
  4894. addresses the development process, operational support, the 
  4895. development environment, and the development evidence. 
  4896. Development process assurance defines the additional efforts 
  4897. that a developer must undertake to satisfy the assurance 
  4898. objectives while creating the product. It specifies how the 
  4899. TCB should be designed and supported by the implementation as 
  4900. well as how it should be tested. Operational support assurance 
  4901. defines the documentation of the security features for both 
  4902. administrative and non-administrative users as well as 
  4903. requirements for TCB flaw remediation and TCB generation. 
  4904. Development environment assurance includes requirements for 
  4905. defining the product's life cycle and specific features for 
  4906. configuration management. Development evidence assurance 
  4907. defines the TCB's protection properties, details the 
  4908. requirements for product testing and analysis, and defines the 
  4909. requirements for product support. Evaluation assurance 
  4910. establishes that the product, and the context in which it is 
  4911. developed and supported, is commensurate with the development 
  4912. assurance requirements.
  4913.  
  4914. The T3+ Assurance Package was chosen for CS3. This package 
  4915. is indicated as being TS3+ since an additional component was 
  4916. included for flaw remediation. This enhanced assurance level 
  4917. is intended to include the best of the commercial computer 
  4918. products designed to satisfy functional requirements. As 
  4919. such, this package includes several extensions to the 
  4920. assurance components of the previous two packages. 
  4921.  
  4922. The intent of product development assurance for this 
  4923. package is both to establish that the external behavior of the 
  4924. product conforms to its user level and administrative 
  4925. documentation and to provide visibility into the internal 
  4926. structure of the product's TCB. For this reason, requirements 
  4927. for Descriptive Interface Specifications (DIS) and modular 
  4928. decomposition have been added. TCB element identification and 
  4929. security functional testing have also been extended and 
  4930. penetration testing requirements have been provided to 
  4931. support the added assurances of external behavior. 
  4932.  
  4933. The intent of the operational support assurance for this 
  4934. package is to establish a level of user and administrative 
  4935. guidance and product information that enables the correct 
  4936. product installation and the use of product security features. 
  4937. The developer is required to establish and document a policy 
  4938. for responding to customer inquiries and flaw remediation. 
  4939. Similarly, the development environment assurances are 
  4940. intended to provide a level of control over the product 
  4941. configuration and production, including well-defined coding 
  4942. standards and strict configuration management processes. This 
  4943. level of development environment assurance is similar to that 
  4944. used in the most advanced commercial development 
  4945. organizations.
  4946.  
  4947. The development evidence required for this package is 
  4948. commensurate with the assurances required. The intent of this 
  4949. package is to require the type of assurance evidence that is 
  4950. generated during commercial development oriented towards of 
  4951. high-quality products. 
  4952.  
  4953. At the T3+ level, evaluation support assurance determines 
  4954. whether the product meets the functional requirements for 
  4955. testing analysis and for independent testing. Operational 
  4956. support evaluation assurance determines whether the product 
  4957. documentation correctly describes the security relevant 
  4958. operations. Development environment assurance determines 
  4959. whether the product meets the requirements as defined in the 
  4960. Protection Profile's development assurance subsections. 
  4961. Design assurance determines whether the product meets the 
  4962. design requirements as defined in the Development Process 
  4963. Assurance section of this Protection Profile.
  4964.  
  4965. Also for CS3, flaw remediation was included in this 
  4966. package. Flaw remediation is important for commercial 
  4967. environments since it ensures that flaws (i.e, deficiencies 
  4968. in a product that enables a user external to the TCB to violate 
  4969. the functional requirements of a protection profile) that are 
  4970. discovered by the product consumers will be tracked, 
  4971. corrected, and disseminated to the affected customers. 
  4972. Vendors are required to separate protection-relevant fixes 
  4973. from those that are not protection-relevant and must document 
  4974. points of contact for customer error reports.
  4975.  
  4976. 2.17.1.5    Intended Method of Use
  4977.  
  4978. All individual users (both administrative and non-
  4979. administrative users) are assigned a unique user identifier. 
  4980. This user identifier supports individual accountability. The 
  4981. operating system authenticates the claimed identity of the 
  4982. user before allowing the user to perform any further actions. 
  4983. Upon successful authentication, users are restricted to 
  4984. accessing programs, transactions, and information in a manner 
  4985. that is consistent with their assigned role(s). 
  4986.  
  4987. Products that comply with the CS3 Protection Profile are 
  4988. provided with the capability of assigning privileges to TCB 
  4989. modules. These privileges are used to control access to user 
  4990. and role registration files, password files, and audit trails. 
  4991. Privileges are associated with functional components so that 
  4992. only the privileges necessary to complete a security relevant 
  4993. task can be assigned at a given time. Also, privileges are 
  4994. associated with TCB operations performed by system 
  4995. administrators. This capability is particularly important to 
  4996. prevent a "privileged user" or "superuser" from having a wide 
  4997. set of privileges when only a subset is needed.
  4998.  
  4999. In addition, CS3 provides administrative and access control 
  5000. capabilities that allow for the central administration of a 
  5001. non-discretionary access control policy based on roles. A role 
  5002. specifies a user's set of transactions that allow the user to 
  5003. access resources through specific functions. Transactions can 
  5004. only be allocated to roles by system administrators. 
  5005. Membership to a role can only be granted and revoked by system 
  5006. administrators.
  5007.  
  5008. Products that comply with CS3 specifications are intended 
  5009. to be used within the following operational constraints:
  5010.  
  5011. o    The information system is designed to be administered 
  5012. as a unique entity by a single organization.
  5013.  
  5014. o    The information system is designed to manage 
  5015. computing, storage, input/output, and to control the 
  5016. sharing of resources among multiple users and computer 
  5017. processes.
  5018.  
  5019. o    The administrative and non-administrative users are 
  5020. identified as distinct individuals.
  5021.  
  5022. o    For role based access control, administrators are 
  5023. responsible for interpreting and enforcing 
  5024. organizational policies and protection guidelines 
  5025. that are derived from existing laws, ethics, 
  5026. regulations, or generally accepted practices.
  5027.  
  5028. o    The information system provides facilities for real-
  5029. time interaction with users that have access to input/
  5030. output devices.
  5031.  
  5032. o    System administrators are selectively assigned 
  5033. privileges that are minimally necessary to perform 
  5034. their security related task.
  5035.  
  5036. 2.17.2    Environmental Assumptions
  5037.  
  5038. A product designed to meet the CS3 Protection Profile is 
  5039. intended to be a general purpose, multi-user operating system 
  5040. that runs on either a workstation, minicomputer, or mainframe. 
  5041. CS3 compliant products are expected to be used for both 
  5042. commercial and government environments. The information being 
  5043. processed for both commercial and government environments may 
  5044. be unclassified, sensitive-but-unclassified, or single-level 
  5045. classified, but not multi-level classified information.
  5046.  
  5047. The following specific environmental conditions have been 
  5048. assumed in specifying CS3:
  5049.  
  5050. o    The product hardware base (e.g., CPU, printers, 
  5051. terminals, etc.), firmware, and software will be 
  5052. protected from unauthorized physical access.
  5053.  
  5054. o    There will be one or more personnel assigned to manage 
  5055. the product including the security of the information 
  5056. it contains.
  5057.  
  5058. o    The operational environment will be managed according 
  5059. to the operational environment documentation that is 
  5060. required in the assurance chapter of the Protection 
  5061. Profile.
  5062.  
  5063. o    Access control to information and other resources is 
  5064. determined by the roles that individual users have.
  5065.  
  5066. o    The IT product provides a cooperative environment for 
  5067. users to accomplish some task or group of tasks.
  5068.  
  5069. o    The processing resources of the IT product, including 
  5070. all terminals, are assumed to be located within user 
  5071. spaces that have physical access controls established.
  5072.  
  5073. o    The IT product provides facilities for some or all of 
  5074. the authorized users to create programs that use an 
  5075. Application Programming Interface (API) to enable them 
  5076. to protect themselves and their objects from 
  5077. unauthorized use.
  5078.  
  5079. o    Fail-safe defaults are included for the access control 
  5080. attributes for the defined subjects and objects for 
  5081. the product.
  5082.  
  5083. 2.17.3    Expected Threats
  5084.  
  5085. In general, the choice of which Protection Profile to 
  5086. choose depends upon the level of security that is required for 
  5087. that particular organizational environment. The lowest level, 
  5088. the CS1 level, is intended for those commercial and government 
  5089. environments where all the system personnel are trusted and 
  5090. all the data on the system is at the same classification 
  5091. level. For example, a government agency where all personnel 
  5092. has a government clearance, all data is unclassified, and 
  5093. there is no outside network connections would be an ideal 
  5094. candidate for CS1, i.e., the threats to be countered are such 
  5095. that only a minimal level of trust is needed. However, most 
  5096. commercial and government environments are more complex and 
  5097. require a higher degree of trust. CS2 addresses the security 
  5098. needs for the mainstream commercial and government 
  5099. environments. It provides a higher level of trust for those 
  5100. organizations that need to enforce a security policy where 
  5101. there is no need for different classifications of data. CS3 
  5102. is intended to provide the highest level of trust for 
  5103. commercial and government environments. It is intended to be 
  5104. used in those environments where a great deal of trust is 
  5105. required, such as in law enforcement agencies, nuclear 
  5106. facilities, or commercial airports. It provides the strongest 
  5107. features, mechanisms, and assurances to counter these 
  5108. threats.
  5109.  
  5110. A product that is designed to meet the CS3 Protection 
  5111. Profile and operate within its assumed environment will 
  5112. provide capabilities to counter these threats. It should be 
  5113. noted, however, that although a product may faithfully 
  5114. implement all the features and assurances specified in this 
  5115. Protection Profile, the complete elimination of any one threat 
  5116. should not be assumed. A product that is designed to meet the 
  5117. CS3 Protection Profile is generally known to be more effective 
  5118. at countering the threats than products that meet the CS1 and 
  5119. CS2 Protection Profiles. CS3 products counter all the CS1 and 
  5120. CS2 threats, and contain stronger features and more assurance 
  5121. evidence than CS1 and CS2 products. In addition to countering 
  5122. CS1 and CS2 threats, CS3 compliant products provide protection 
  5123. capabilities to counter one additional threat as follows:
  5124.  
  5125. 1.    AN UNAUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO THE 
  5126. SYSTEM
  5127.  
  5128. For CS1 compliant products, the threat of an unauthorized 
  5129. user gaining access to the system is primarily addressed by 
  5130. I&A features that allow the TCB to verify the identity of 
  5131. individuals attempting to gain access to the system. This is 
  5132. accomplished through the use of passwords.
  5133.  
  5134. Although not a direct countermeasure, auditing requirements 
  5135. are specified at the CS1 level to provide the capability to 
  5136. perform an after-the-fact analysis of unauthorized system 
  5137. entry and login attempts. This provides an opportunity for the 
  5138. system administrators to take corrective actions, such as 
  5139. strengthening existing user authentication methods or 
  5140. requiring users to change their passwords.
  5141.  
  5142. For CS2 compliant systems, the threat of an unauthorized 
  5143. user gaining access to the system is primarily addressed by 
  5144. stronger I&A features and system entry requirements. 
  5145.  
  5146. CS2 specifies password requirements that promote a strong 
  5147. organizational password management program. These 
  5148. requirements specify that: null passwords cannot be used 
  5149. during normal operations; passwords be stored in a one-way 
  5150. encrypted form; the clear text representation of a password 
  5151. be automatically suppressed; passwords have a minimum-length; 
  5152. and that the system utilize a password complexity-checking 
  5153. algorithm. An advisory capability is also provided to exclude 
  5154. a list of customer-specified passwords. Such requirements 
  5155. support the use of passwords that are effective against 
  5156. password guessing. To further reduce the probability of a 
  5157. password being guessed, requirements limit the number of 
  5158. attempted login attempts that can be made by a user associated 
  5159. with a specific user identifier. The probability of a single 
  5160. password being guessed is further reduced by requirements for 
  5161. password aging, by having limitations on password reuse, and 
  5162. by allowing users to choose a password that is already 
  5163. associated with another user identifier. 
  5164.  
  5165. CS2 also allows for a password generating capability. 
  5166. Because random passwords can be difficult to remember and 
  5167. users are tempted to write them down, requirements are 
  5168. specified for the generation of passwords that are easy to 
  5169. remember (i.e., pronounceable). Additionally, an advisory 
  5170. requirement is specified to allow users to choose from a list 
  5171. of alternative passwords.
  5172.  
  5173. To minimize the threat that a password has been 
  5174. compromised, a requirement exists to allow a user to change 
  5175. the password. Because a password can be compromised by 
  5176. observing the characters on a terminal screen as it is being 
  5177. typed, there is a requirement to blot out the clear-text 
  5178. representation of the password on the display device.
  5179.  
  5180. In addition, requirements are specified to display an 
  5181. advisory warning message to all users prior to system logon 
  5182. to discourage a would-be system penetrator from attempting an 
  5183. unauthorized system entry. Such a message can also provide a 
  5184. basis for subsequent prosecution. System entry requirements 
  5185. also specify additional controls on identified and 
  5186. authenticated users entering the system. Once a user is 
  5187. authenticated, a check is made to determine if the user is 
  5188. allowed further entry. System entry is granted only in 
  5189. accordance with the authenticated user's access control 
  5190. attributes. These conditions are in terms of a user's identity 
  5191. and his/her membership in roles. In addition, CS2 specifies 
  5192. system entry requirements to display to an authorized user, 
  5193. upon successful system entry, the date and time, method of 
  5194. access or port of entry, and the number of failed logon 
  5195. attempts since the last successful system entry by that user 
  5196. identifier. These requirements provide a user with the 
  5197. capability to detect attempted or successful system 
  5198. penetrations. In addition, requirements are specified to lock 
  5199. and terminate an interactive session after an administrator-
  5200. specified period of user inactivity, and also for the TCB to 
  5201. appear to perform the entire user authentication procedure 
  5202. even if the user identification entered is invalid. The TCB 
  5203. also provides a protected mechanism to allow or deny system 
  5204. entry based on specified ranges of time. Also, conditions for 
  5205. system entry via dial-up lines are required to be specified.
  5206.  
  5207. I&A requirements are also enhanced over those of CS1 by 
  5208. specifying requirements for the identification for each 
  5209. trusted user, and by specifying requirements for system 
  5210. administrators to disable a user's identity or account when 
  5211. the number of unsuccessful logon attempts exceeds an 
  5212. administrator specified threshold. This is intended to 
  5213. mitigate the effectiveness of successive attacks of system 
  5214. penetration. 
  5215.  
  5216. Although passwords are currently the most common method for 
  5217. authenticating users, CS3 supports the inclusion of a variety 
  5218. of additional authentication mechanisms, such as smart-cards, 
  5219. cryptographic-based authentication, and biometrics. Also, 
  5220. access control attributes have been enhanced to include time 
  5221. and location capabilities. This allows an organization to 
  5222. acquire and integrate stronger user authentication 
  5223. capabilities when penetration threats warrant such 
  5224. capabilities.
  5225.  
  5226.  Also, during system entry, users are granted entry based 
  5227. on their role. In addition, CS3 extends the system entry 
  5228. requirements of CS2 by specifying features for user-initiated 
  5229. locking of the user's interactive sessions (e.g., keyboard 
  5230. locking). 
  5231.  
  5232. 2.    AN AUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO 
  5233. RESOURCES WHEN THE USER IS NOT ALLOWED ACCESS
  5234.  
  5235. An authorized user can gain access to unauthorized 
  5236. resources by assuming the user identifier of another user and 
  5237. thus gaining their associated access rights. This is addressed 
  5238. through the use of passwords.
  5239.  
  5240. Once an authorized user has gained access to the system, 
  5241. the threat still remains for a user to gain access to 
  5242. resources when the uer is not authorized. At the resource 
  5243. level, CS2 specifies access control features to mediate (i.e., 
  5244. distribute, review, and revoke) user access to a subset of 
  5245. resources. 
  5246.  
  5247. The object reuse feature has been specified to ensure that 
  5248. resource contents are cleared before they are reused. This 
  5249. reduces the vulnerability that the resource contents can be 
  5250. read before it is overwritten. 
  5251.  
  5252. To address the vulnerability associated with passwords, CS2 
  5253. specifies password requirements that promote a strong 
  5254. organizational password management program. Besides those 
  5255. password requirements that address penetration threats from 
  5256. unauthorized users, other password requirements have been 
  5257. specified to counter the threat of an insider (authorized 
  5258. user) attack. There are password requirements that specify 
  5259. that passwords must always be stored in encrypted format and 
  5260. that passwords can never be included in audit trail data. 
  5261. Also, in the event that a user selects a password that is 
  5262. already in use by another user, requirements disallow the 
  5263. system from acknowledging the dual association.
  5264.  
  5265. In addition, CS3 specifies access control features to limit 
  5266. the roles that may change to another role that provides any 
  5267. additional privileges to that user. These controls are based 
  5268. on the role identifier. Also, administrators are provided with 
  5269. capabilities through the use of protected mechanisms to set 
  5270. and control security related parameters, defaults, 
  5271. thresholds, attributes, and other security related data. This 
  5272. provides the ability to effectively specify and control access 
  5273. to resources based on site specific protection policies. 
  5274.  
  5275. CS3 also specifies that privileges must be associated with 
  5276. TCB modules, TCB calls, and accesses to privileged TCB objects 
  5277. (e.g., user and role registration files. password files, audit 
  5278. log files), and with TCB operations performed by 
  5279. administrative users.
  5280.  
  5281. CS2 specifies requirements for a direct communication 
  5282. channel, i.e., a trusted path, between the user and the 
  5283. operating system to counter spoofing threats. This security 
  5284. feature provides confidence that a user at a terminal will 
  5285. communicate directly with the TCB rather than to malicious 
  5286. code. In particular, to counter the threat of an authorized 
  5287. user creating a spoof of legitimate user identifier 
  5288. authorization prompts, CS2 specifies requirements for a 
  5289. direct communication path between the user and the 
  5290. authentication system.
  5291.  
  5292. Requirements are also specified to display an advisory 
  5293. warning message to all users prior to system logon to 
  5294. discourage unauthorized system entry. Such a message can also 
  5295. provide a basis for subsequent prosecution.
  5296.  
  5297. Once an authorized user has been identified and 
  5298. authenticated, system entry control can help counter threats 
  5299. of inadvertent, deliberate, and coerced entry performed in an 
  5300. unauthorized manner by an authorized user. At the end of 
  5301. system entry control, the user bears the access-control 
  5302. attributes determined during the I&A process, provided that 
  5303. the system entry conditions are satisfied. These conditions 
  5304. can be specified in terms of a user's identity, role identity, 
  5305. or mode of access.
  5306.  
  5307. CS2 also provides other security features. Application 
  5308. programming interfaces are provided so that applications can 
  5309. protect themselves and their objects from unauthorized use. 
  5310. CS2 specifies lists of user identities authorized to enter the 
  5311. system via dial-up lines. CS2 also specifies general 
  5312. authentication facilities for use by application developers, 
  5313. system administrators, and users for the protection of 
  5314. resources.
  5315.  
  5316. To guard against unauthorized user access, CS3 specifies 
  5317. that TCB privileges can be associated with TCB operations 
  5318. performed by system administrators. 
  5319.  
  5320. Roles are also used as an access control attribute in that 
  5321. access to a particular object may be granted or denied based 
  5322. on a specific role. CS3 also specifies general authentication 
  5323. facilities for use by application developers, system 
  5324. administrators, and users for the enhanced protection of 
  5325. resources. CS3 specifies requirements to provide users with 
  5326. the ability to clear the content of their screens and lock 
  5327. their interactive session without having to logoff the system. 
  5328. This reduces the likelihood that a user will leave his or her 
  5329. terminal while engaged in an active session. Also at the CS3 
  5330. level, privileges are associated with TCB operations 
  5331. performed by system administrators. To further strengthen TCB 
  5332. mediation, CS3 expands the scope of authorization rules to 
  5333. include all subject and object contents and all access control 
  5334. attributes.
  5335.  
  5336. 3.    AN AUTHORIZED USER MAY ATTEMPT TO GAIN ACCESS TO A ROLE 
  5337. WHEN THE USER IS NOT ALLOWED ACCESS
  5338.  
  5339. This threat is countered by having a protected mechanism in 
  5340. the TCB that allows only authorized users to access a 
  5341. particular role. Users are prompted for the role they wish to 
  5342. assume for that login session during system entry, and entry 
  5343. will be denied if the user tries to assume a role for which 
  5344. he/she is not authorized. This is assured through security 
  5345. functional testing and through penetration testing. Also, 
  5346. only system administrators are allowed to set role 
  5347. characteristics and to include or delete users from a 
  5348. particular role. Attempts to access and use a particular role 
  5349. can be audited, and the use and definition of roles are 
  5350. explained in security documentation.
  5351.  
  5352. 4.    SECURITY RELEVANT ACTIONS MAY NOT BE TRACEABLE TO THE 
  5353. USER ASSOCIATED WITH THE EVENT
  5354.  
  5355. CS3 accountability and audit requirements are specified to 
  5356. provide the capability to track security relevant actions 
  5357. performed by users and link such actions, if possible, to the 
  5358. responsible identifier. Audit mechanisms are responsible for 
  5359. the monitoring and detecting of real or potential security 
  5360. violations or events. These audit events can include 
  5361. successful or unsuccessful: I&A events, the introduction of 
  5362. objects into a user's address space, the deletion of objects, 
  5363. and actions taken by computer operators and system 
  5364. administrators. Each audit record includes the date, time, 
  5365. location, type of event, identity of the user and object 
  5366. involved, and the success or failure of the event. 
  5367.  
  5368. Requirements are specified to protect audit trail data and 
  5369. the audit control mechanism from unauthorized access, 
  5370. modification, or destruction. Audit features are specified to 
  5371. provide post-collection audit analysis on specific data 
  5372. items, users, and privileged operations. Also, a capability 
  5373. is provided for trusted application programs to append data 
  5374. to the security audit trail. 
  5375.  
  5376. System entry control helps to enhance accountability by 
  5377. providing a time, space, and mode-of-entry context to each 
  5378. action for which the user is held accountable. These added 
  5379. constraints help to give additional assurance that the proper 
  5380. user is held responsible for a set of authorized actions.
  5381.  
  5382. At the CS2 level, tools are specified to enhance the 
  5383. effectiveness of user accountability. CS3 specifies 
  5384. requirements to provide tools to verify the consistency of the 
  5385. audit trial data and the selection of audit events. Tools are 
  5386. also specified for post-collection analysis to selectively 
  5387. review various actions. 
  5388.  
  5389. Authentication capabilities are extended to provide for 
  5390. additional authentication methods, for example, tokens or 
  5391. biometrics.
  5392.  
  5393. 5.    THE PRODUCT MAY BE DELIVERED, INSTALLED, AND THEN USED 
  5394. IN AN UNSECURED MANNER
  5395.  
  5396. This threat is countered by explicitly requiring that the 
  5397. product be delivered with all security features turned on. 
  5398. This ensures that the product is secure by default rather than 
  5399. insecure by default. This is complemented by allowing many 
  5400. security features to be configurable so that, as a specific 
  5401. organization gains experience with the actual threats in its 
  5402. environment, the organization can adjust the degree of 
  5403. security in their system. There are several requirements that 
  5404. reinforce the "security by default" perspective during 
  5405. initial installation. Requirements for security 
  5406. administrative documentation are specified to increase the 
  5407. likelihood that the administrator will install and start the 
  5408. system in a secure manner.
  5409.  
  5410. 6.    SECURITY BREACHES MAY OCCUR BECAUSE AVAILABLE SECURITY 
  5411. FEATURES ARE NOT USED OR ARE USED IMPROPERLY
  5412.  
  5413. Requirements for authentication, system and access control, 
  5414. security management, and product documentation provide a 
  5415. basis for countering this threat. Authentication requirements 
  5416. provide for password management procedures to reduce the 
  5417. possibility of easy to guess passwords and to initialize 
  5418. passwords for users. Password generation algorithms are 
  5419. provided that generate easy to remember passwords and that 
  5420. give the user a choice of passwords. In addition, CS3 provides 
  5421. for a capability to import and export objects and subjects 
  5422. with defined access control attributes. This ensures that 
  5423. access control attributes are maintained with the subject or 
  5424. object during import and export operations.
  5425.  
  5426. Security management requirements are specified for listing, 
  5427. setting, and updating all of the system security parameters 
  5428. and attributes. These parameters and attributes pertain to 
  5429. identification, authentication, system entry, access control, 
  5430. audit trail analysis and availability features for the system 
  5431. and for individual users. This allows a system administrator 
  5432. to confirm that the system is properly configured and, if 
  5433. necessary, to modify the existing configuration and 
  5434. attributes. In addition, security management requirements 
  5435. provide for routine control and maintenance of system 
  5436. resources.
  5437.  
  5438. Product documentation requirements for users, 
  5439. administrators, and operators describe how to perform 
  5440. security relevant functions in a secure manner.
  5441.  
  5442. CS3 also extends security management requirements with 
  5443. respect to policy-oriented security issues. This includes a 
  5444. means to initialize administrative privileges and 
  5445. administrative identification, authentication, and system 
  5446. entry attributes. Because CS3 compliant systems support 
  5447. multiple I&A methods, the administrator is provided with a 
  5448. capability to specify an authentication method on a per access 
  5449. control attribute basis.
  5450.  
  5451. CS3 further extends security management requirements by 
  5452. specifying tools for system administration. These tools 
  5453. include tools for verifying consistency and proper system 
  5454. installation, and for verifying that the TCB does not contain 
  5455. extraneous programs or data. 
  5456.  
  5457. 7.    SECURITY BREACHES MAY OCCUR BECAUSE OF TCB PENETRATION
  5458.  
  5459. TCB protection is a fundamental capability of CS compliant 
  5460. products. The security components and mechanisms described in 
  5461. this Protection Profile depend upon the integrity of the TCB 
  5462. and on the TCB being isolated and non-circumventable. CS1 
  5463. specifies requirements for a common and basic set of security 
  5464. features to protect the TCB from outside penetration.
  5465.  
  5466. This threat is also countered through product assurance. 
  5467. The TCB interface definition establishes the boundary between 
  5468. the TCB and its internal users. Security functional testing 
  5469. establishes that these TCB definitions and properties satisfy 
  5470. the requirements of this Protection Profile and provides 
  5471. evidence against TCB penetration.
  5472.  
  5473. This threat is also countered through penetration testing. 
  5474. The penetration analysis evidence includes, in addition to 
  5475. penetration test plans and results configured in the same 
  5476. manner as the security functional testing evidence, the 
  5477. documentation of the penetration-resistance testing methods 
  5478. and tools, conditions that were verified, the outcomes of the 
  5479. verification and, when appropriate, the scenario of the 
  5480. discovered penetration flaws. Also, the developer must show 
  5481. that all discovered flaws have been eliminated and that no new 
  5482. flaws have been introduced. The cause of every discovered 
  5483. penetration flaw, or class of penetration flaws, must also be 
  5484. documented. At the CS3 level of trust, the system developer 
  5485. also must illustrate how, in addition to system reference 
  5486. manuals and TCB interface descriptions, the DIS, source code, 
  5487. and hardware and firmware specifications are used to define 
  5488. penetration test conditions. Also, for each test, the system 
  5489. developer must document all test conditions, data, and 
  5490. coverage.
  5491.  
  5492. 8.    USERS MAY BE ABLE TO BYPASS THE SECURITY FEATURES OF THE 
  5493. SYSTEM
  5494.  
  5495. This threat is countered by authentication, access control, 
  5496. audit, TCB isolation, TCB non-circumventability, and 
  5497. reference mediation requirements. Authentication requirements 
  5498. protect authentication data from unauthorized users. Resource 
  5499. access control requirements protect access control data.
  5500.  
  5501. Audit requirements provide for the logging of successful 
  5502. and unsuccessful accesses to resources as well as for changes 
  5503. made to the system security configuration and system software 
  5504. in the event that the system security features have been 
  5505. bypassed.
  5506.  
  5507. CS1 specifications for reference mediation protects the 
  5508. integrity of the access control mechanism and the TCB's 
  5509. functionality. Starting at CS1, requirements exist for TCB 
  5510. mediation of user references to objects and to security 
  5511. relevant services. 
  5512.  
  5513. CS1-compliant products maintain a domain for its own 
  5514. execution to protect it from external interference and 
  5515. tampering. Such requirements address TCB isolation and non-
  5516. circumventability of TCB isolation functions. 
  5517.  
  5518. This threat is also countered through product assurance. 
  5519. The definition of TCB properties assures the consistency of 
  5520. the TCB's behavior. The identification of TCB elements 
  5521. provides the set of elements that determine the protection 
  5522. characteristics of a product. The TCB interface definition 
  5523. establishes the boundary between the TCB and its internal 
  5524. users. Security functional testing establishes that these TCB 
  5525. definitions and properties satisfy the requirements of the 
  5526. Protection Profile, and provide evidence against subjects 
  5527. being able to bypass the security features of the system. At 
  5528. the CS2 level, procedures also have to be established for 
  5529. developers to accept customer reports of protection problems 
  5530. and requests for corrections to those problems. Also, when the 
  5531. product is delivered, all security related parameters must be 
  5532. set to its fail-safe defaults.
  5533.  
  5534. 9.    SUBJECTS MAY BE DENIED CONTINUED ACCESSIBILITY TO THE 
  5535. RESOURCES OF THE SYSTEM (I.E., DENIAL OF SERVICE)
  5536.  
  5537. Reliability of service requirements promote the continued 
  5538. accessibility of system resources by authorized subjects. 
  5539. These requirements principally counter threats related to 
  5540. intentional or unintentional denial of service attacks. The 
  5541. requirements include detecting and reporting facilities, 
  5542. features to monitor and control the consumption of disk space 
  5543. and CPU usage, controls to limit systematically the disabling 
  5544. of user identifiers, mechanisms for recovery in the event of 
  5545. a system crash, resource quotas, destruction of errant 
  5546. processes and facilities for software, and data backup and 
  5547. restoration. In particular, mechanisms are specified for 
  5548. recovery and system start-up, and for a maintenance mode of 
  5549. operation.
  5550.  
  5551. CS3 compliant systems provide the capability to detect and 
  5552. recover from discontinuity of service using some combination 
  5553. of automatic and procedural techniques. This capability is 
  5554. intended to counter the threat that subjects may be denied 
  5555. continued accessibility to the resources of the system (i.e., 
  5556. denial of service). Also, users are notified in advance to 
  5557. change their password, so that access to the system is not 
  5558. denied without warning. An advisory capability exists to allow 
  5559. a system administrator to use null passwords during system 
  5560. start-up. This allows a system administrator to access the 
  5561. system even if the password mechanism has been compromised. 
  5562. In addition, audit trails are compressed to avoid excessive 
  5563. consumption of disk space. 
  5564.  
  5565. CS3 provides the capability to place restrictions on the 
  5566. number of subjects and objects a user may have allocated at 
  5567. any given time. Such capabilities provide protection against 
  5568. a single user denying access to another user's subject and 
  5569. object space. Resource quota requirements are extended to 
  5570. require auditing when attempts are made to violate resource 
  5571. allocation limits. 
  5572.  
  5573. At the CS3 level, an optional capability can be provided to 
  5574. detect and report conditions that degrade service below a 
  5575. system-specifiable minimum. Also, CS3 provides enhanced TCB 
  5576. checking capabilities by extending TCB checks to not only 
  5577. hardware and firmware but also to software elements (i.e., 
  5578. code and data structures). 
  5579.  
  5580. 10.    THE INTEGRITY OF THE SYSTEM MAY BE COMPROMISED
  5581.  
  5582. At the CS3 level, requirements are specified for TCB 
  5583. recovery and start-up to promote the secure state of the 
  5584. system in the event of a system failure or discontinuity of 
  5585. service. These features are intended to minimize the 
  5586. likelihood of the loss of user objects during system recovery.
  5587.  
  5588. To protect audit trail data, a mechanism is specified to 
  5589. automatically copy the audit trail file to an alternative 
  5590. storage area. Also, mechanisms that guarantee the consistency 
  5591. of the audit trail data after system failures and 
  5592. discontinuity of operation is provided.
  5593.  
  5594. CS2 compliant products provide the capability to validate 
  5595. the correct operation of the TCB software, firmware, and 
  5596. hardware. Such features are important to ensure that the 
  5597. software, hardware, and firmware are in working order. 
  5598.  
  5599. Requirements for the physical security of the TCB and of 
  5600. functions and devices that establish physical control over the 
  5601. TCB are identified and provided. In addition, power-on tests, 
  5602. loadable tests and operator-controlled tests are specified to 
  5603. validate the correct operation of the TCB hardware and 
  5604. firmware. 
  5605.  
  5606. CS3 also extends the TCB initialization and recovery 
  5607. capabilities by specifying requirements for automatic 
  5608. procedures to protect the secure state of the system in the 
  5609. event of a system failure or discontinuity of service. Also, 
  5610. automated procedures are provided to assure that after system 
  5611. failure or discontinuity of operations a secure state is 
  5612. obtained without undue loss of system or user objects. 
  5613.  
  5614. CS3 extends the TCB initialization and recovery 
  5615. capabilities by specifying automated procedures to assure 
  5616. that after system failure, other discontinuity, or start-up, 
  5617. a secure state is obtained without undue loss of system or 
  5618. user objects.
  5619.  
  5620. At the CS3 level, tools are specified to verify the 
  5621. consistency of audit data and also to check for storage medium 
  5622. and file system integrity. An optional capability is provided 
  5623. to allow for the encryption of data to preserve the integrity 
  5624. of data in an object.
  5625.  
  5626. In addition, fail-safe defaults are specified for the 
  5627. access control attributes of subjects, objects, and services 
  5628. used in common system configurations.
  5629. CS3 Functionality
  5630.  
  5631. 3.    Introduction
  5632.  
  5633. This section provides detailed functionality requirements 
  5634. that must be satisfied by an Commercial Security 3 (CS3) 
  5635. compliant product. Note that all plain text are words taken 
  5636. directly from CS2 `s functionality chapter for the components 
  5637. or, for those components not included in CS2, directly from 
  5638. the Federal Criteria. Any assignments or refinements that were 
  5639. made at CS2 are indicated by italics. Any assignments or 
  5640. refinements made to the text in CS2 or the Federal Criteria 
  5641. are indicated by bold italics. A Protection Profile 
  5642. requirement is an assignment when it is directly taken as 
  5643. stated from the component without change or when a binding is 
  5644. made to a Federal Criteria threshold definition. A Protection 
  5645. Profile requirement is a refinement when the requirement is 
  5646. taken to a lower level of abstraction.The characterization of 
  5647. Protection Profile requirements as being either assignments 
  5648. or refinements can be found at each component level. Also, 
  5649. note that, unlike the Federal Criteria, there are some items 
  5650. that are considered to be "advisory," i.e.,an item marked 
  5651. advisory is a desirable feature but is not required for that 
  5652. component. Each advisory item is marked with an "(A)".
  5653.  
  5654. This Protection Profile for CS3 utilizes the following 
  5655. levels from the Federal Criteria. Note that not all the 
  5656. components from the Federal Criteria are reflected in this 
  5657. Protection Profile; there are no specific requirements for 
  5658. those components that are not listed. Also note that a "+" 
  5659. after the component level number indicates that a requirement 
  5660. was included from a higher level of that component.       
  5661.  
  5662.           CS3 Functional Component Summary
  5663. .------------------------------------------------------.
  5664. |                                  | Component |       |
  5665. | Component Name                   |   Code    | Level |
  5666. |======================================================|
  5667. | Security Policy Support:                             |
  5668. |----------------------------------+-----------+-------|
  5669. |  Identification & Authentication |    I&A    |   4   |
  5670. |----------------------------------+-----------+-------|
  5671. |  System Entry                    |    SE     |   3   |
  5672. |----------------------------------+-----------+-------|
  5673. |  Trusted Path                    |    TP     |   1   |
  5674. |----------------------------------+-----------+-------|
  5675. |  Audit                           |    AD     |   3   |
  5676. |----------------------------------+-----------+-------|
  5677. |  Access Control                  |    AC     |   2+  |
  5678. |----------------------------------+-----------+-------|
  5679. |  Availability:                                       |
  5680. |----------------------------------+-----------+-------|
  5681. |    Resource Allocation           |    AR     |   1   |
  5682. |----------------------------------+-----------+-------|
  5683. |  Security Management             |    SM     |   3   |
  5684. |----------------------------------+-----------+-------|
  5685. | Reference Mediation              |    RM     |   1   |
  5686. |----------------------------------+-----------+-------|
  5687. | TCB Protection                   |    P      |   1   |
  5688. |----------------------------------+-----------+-------|
  5689. | Physical Protection              |    PP     |   1   |
  5690. |----------------------------------+-----------+-------|
  5691. | Self Checking                    |    SC     |   3   |
  5692. |----------------------------------+-----------+-------|
  5693. | TCB Initialization & Recovery    |    TR     |   3   |
  5694. |----------------------------------+-----------+-------|
  5695. | Privileged Operations            |    PO     |   2   |
  5696. |----------------------------------+-----------+-------|
  5697. | Ease-of-Use                      |    EU     |   3   |
  5698. `------------------------------------------------------'
  5699.  
  5700.  
  5701. 3.1    Identification & Authentication 
  5702.  
  5703. All users of the product must be identified and 
  5704. authenticated. A login process is established that interacts 
  5705. with the user in order to provide the information necessary 
  5706. for identification and authentication. The identification and 
  5707. authentication process begins the user's interaction with the 
  5708. target product. First, the user supplies a unique user 
  5709. identifier to the TCB. Then, the user is asked to authenticate 
  5710. that claimed identity by the TCB. The user identifier is used 
  5711. for accountability. Therefore, the proper maintenance and 
  5712. control of the identification mechanism and the 
  5713. identification databases are vital to TCB security. Once a 
  5714. user has supplied an identifier to the TCB, the TCB must 
  5715. verify that the user really corresponds to the claimed 
  5716. identifier. This is done by the authentication mechanism as 
  5717. described by the following requirements. 
  5718.  
  5719. For the CS3 level, I&A-4 was assigned from the Federal 
  5720. Criteria. Refinements were made from CS2 and the Federal 
  5721. Criteria to limit the enforcement of separate user 
  5722. authentication procedures to system administrators.
  5723.  
  5724.  I&A-4 Exception-Controlled Identification and 
  5725. Authentication
  5726.  
  5727. 1.    The TCB shall require users to identify 
  5728. themselves to it before beginning to perform any 
  5729. other actions that the TCB is expected to mediate. 
  5730. The TCB shall be able to enforce individual 
  5731. accountability by providing the capability to 
  5732. uniquely identify each individual user. The TCB 
  5733. shall also provide the capability of associating 
  5734. this identity with all auditable actions taken by 
  5735. that individual. Furthermore, the TCB shall have 
  5736. the capability of associating a unique identity 
  5737. with each privileged subject, i.e. transaction 
  5738. processing monitors. 
  5739.  
  5740. 2.     The TCB shall maintain authentication data that 
  5741. includes information for verifying the identity of 
  5742. individual users (e.g., passwords), as well as 
  5743. information for determining the product policy 
  5744. attributes of individual users, i.e. roles. These 
  5745. data shall be used by the TCB to authenticate the 
  5746. user's identity and to ensure that the attributes 
  5747. of subjects external to the TCB that may be 
  5748. created to act on behalf of the individual user 
  5749. satisfy the product policy. The control of user 
  5750. identification data shall be limited to system 
  5751. administrators, except that a user shall be 
  5752. allowed to modify his/her own authentication data 
  5753. within prescribed limits (e.g., changing his/her 
  5754. own password).
  5755.  
  5756. The TCB shall be able to incorporate and use 
  5757. installable authentication mechanisms, such as 
  5758. token-based cards, biometrics, or trusted third-
  5759. party mechanisms, in the place of or in addition 
  5760. to the default authentication (e.g., password-
  5761. based) mechanism, to authenticate the user. The 
  5762. TCB shall be able to enforce separate user 
  5763. authentication procedures based on specific policy 
  5764. attributes. The enforcement of separate user 
  5765. authentication procedures shall be limited to 
  5766. system administrators.
  5767.  
  5768. 3.     The TCB shall protect authentication data so 
  5769. that it cannot be used by any unauthorized user. 
  5770. The TCB shall appear to perform the entire user 
  5771. authentication procedure even if the user 
  5772. identification entered is invalid. Error feedback 
  5773. shall contain no information regarding which part 
  5774. of the authentication information is incorrect.
  5775.  
  5776. The TCB shall end the attempted login session if 
  5777. the user performs the authentication procedure 
  5778. incorrectly for a number of successive times 
  5779. (i.e., a threshold) specified by an authorized 
  5780. system administrator. The default threshold shall 
  5781. be three times. When the threshold is exceeded, 
  5782. the TCB shall send an alarm message to the system 
  5783. console and/or to the administrator's terminal, 
  5784. log this event in the audit trail, and delay the 
  5785. next login by an interval of time specified by the 
  5786. authorized system administrator. The default time 
  5787. interval shall be 60 seconds. The TCB shall 
  5788. provide a protected mechanism to disable the user 
  5789. identity or account when the threshold of 
  5790. successive, unsuccessful login attempts is 
  5791. violated more than a number of times specified by 
  5792. the administrator. By default, this mechanism 
  5793. shall be disabled (as it may cause unauthorized 
  5794. denial of service).
  5795.  
  5796. 4.     The TCB shall have the capability to maintain, 
  5797. protect, and display status information for all 
  5798. active users (e.g., users currently logged on, 
  5799. current policy attributes) and of all user 
  5800. accounts (i.e., enabled or disabled user identity 
  5801. or account). 
  5802.  
  5803. 5. Whenever passwords are used as a protection 
  5804. mechanism, then, at a minimum:
  5805.  
  5806. a.    The TCB shall not indicate to the user if he/she 
  5807. has chosen a password already associated with 
  5808. another user. 
  5809.  
  5810. b.    The TCB shall store passwords in a one-way 
  5811. encrypted form. 
  5812.  
  5813. (1)    The TCB shall require privilege to access 
  5814. encrypted passwords. 
  5815.  
  5816. c.    The TCB shall automatically suppress or fully 
  5817. blot out the clear-text representation of the 
  5818. password on the data entry/display device. 
  5819.  
  5820. d.    The TCB shall, by default, prohibit the use of 
  5821. null passwords during normal operation. 
  5822.  
  5823. (1)    A capability, accessible only to an system 
  5824. administrator, to allow null passwords during 
  5825. non-normal operations, such as system start-
  5826. up, manual recovery, or maintenance mode, on a 
  5827. per-user identifier or per-port basis may be 
  5828. provided. (A)
  5829.  
  5830. e.    The TCB shall provide a protected mechanism to 
  5831. allow a user to change his or her password. This 
  5832. mechanism shall require re-authentication of the 
  5833. user identity. 
  5834.  
  5835. (1)    The TCB shall provide a protected mechanism to 
  5836. set or initialize passwords for users. The use 
  5837. of this mechanism shall be limited to system 
  5838. administrators.   
  5839.  
  5840. f.    The TCB shall enforce password aging on a per-
  5841. user identifier or per-group basis (i.e., a user 
  5842. shall be required to change his or her password 
  5843. after a system-specifiable minimum time). The 
  5844. default for all non-system administrators shall 
  5845. be sixty days. 
  5846.  
  5847. (1)    The default for system administrator 
  5848. identifiers shall be thirty days. 
  5849.  
  5850. (2)    After the password aging threshold has been 
  5851. reached, the password shall no longer be 
  5852. valid, except as provided in 5 g below. 
  5853.  
  5854. The control of password aging shall be limited to 
  5855. system administrators. 
  5856.  
  5857. g.    The TCB shall provide a protected mechanism to 
  5858. notify users in advance of requiring them to 
  5859. change their passwords. This can be done by 
  5860. either:
  5861.  
  5862. (1)    Notifying users a system-specifiable period 
  5863. of time prior to their password expiring. The 
  5864. default shall be seven days. 
  5865.  
  5866. - or -
  5867.  
  5868. (2)    Upon password expiration, notifying the user 
  5869. but allowing a system-specifiable subsequent 
  5870. number of additional logons prior to requiring 
  5871. a new password. The default shall be two 
  5872. additional logons. 
  5873.  
  5874. The control of user password expiration defaults 
  5875. shall be limited to system administrators. 
  5876.  
  5877. h.    Passwords shall not be reusable by the same user 
  5878. identifier for a system-specifiable period of 
  5879. time. The default shall be six months. The 
  5880. control of password re-use shall be limited to 
  5881. system administrators. 
  5882.  
  5883. i.    The TCB shall provide an algorithm for ensuring 
  5884. the complexity of user-entered passwords that 
  5885. meets the following requirements:
  5886.  
  5887. (1)    Passwords shall meet a system-specifiable 
  5888. minimum length requirement. The default 
  5889. minimum length shall be eight characters. 
  5890.  
  5891. (2)    The password complexity-checking algorithm 
  5892. shall be modifiable by the TCB. The default 
  5893. algorithm shall require passwords to include 
  5894. at least one alphabetic character, one numeric 
  5895. character, and one special character. 
  5896.  
  5897. (3)    The TCB should provide a protected mechanism 
  5898. that allows systems to specify a list of 
  5899. excluded passwords (e.g., company acronyms, 
  5900. common surnames). (A)
  5901.  
  5902. (a)    The TCB should prevent users from selecting 
  5903. a password that matches any of those on the 
  5904. list of excluded passwords. (A)
  5905.  
  5906. The control of password complexity shall be limited 
  5907. to system administrators. 
  5908.  
  5909. j.    If password generation algorithms are present, 
  5910. they shall meet the following requirements:
  5911.  
  5912. (1)    The password generation algorithm shall 
  5913. generate passwords that are easy to remember 
  5914. (i.e., pronounceable). 
  5915.  
  5916. (2)    The TCB should give the user a choice of 
  5917. alternative passwords from which to choose. 
  5918. (A)
  5919.  
  5920. (3)    Passwords shall be reasonably resistant to 
  5921. brute-force password guessing attacks. 
  5922.  
  5923. (4)            If the "alphabet" used by the password 
  5924. generation algorithm consists of syllables 
  5925. rather than characters, the security of the 
  5926. password shall not depend on the secrecy of the 
  5927. alphabet. 
  5928.  
  5929. (5)    The generated sequence of passwords shall have 
  5930. the property of randomness (i.e., consecutive 
  5931. instances shall be uncorrelated and the 
  5932. sequences shall not display periodicity). 
  5933.  
  5934. 3.2    System Entry 
  5935.  
  5936. Once a user is authenticated, a check is made to see if the 
  5937. user is allowed to access the product. The qualifying checks 
  5938. for system entry can include time-of-day, day-of-week, date, 
  5939. location of terminal, or means of access (e.g., dial-up port), 
  5940. and membership in roles.
  5941.  
  5942. For the CS3 level, SE-3 was assigned from the Federal 
  5943. Criteria. An assignment was made from CS2 or the Federal 
  5944. Criteria for specifying a role as a user policy attribute.
  5945.  
  5946.  SE-3 Session Locking and Unlocking
  5947.  
  5948. 1.     Prior to initiating the system login procedure, 
  5949. the TCB shall display an advisory warning message 
  5950. to the user regarding unauthorized use of the 
  5951. system and the possible consequences of failure to 
  5952. heed this warning.
  5953.  
  5954. a.    The message shall be system-specifiable. 
  5955.  
  5956. b.    The TCB shall be able to display a message of up 
  5957. to twenty lines in length. 
  5958.  
  5959. c.    The following message shall be displayed by 
  5960. default: 
  5961.  
  5962. "NOTICE: This is a private computer system. 
  5963. All users of this system are subject to 
  5964. having their activities audited. Anyone 
  5965. using this system consents to such 
  5966. auditing. All unauthorized entries or 
  5967. activities revealed by this auditing can be 
  5968. used as evidence and may lead to criminal 
  5969. prosecution." 
  5970.  
  5971. The control of system entry messages shall be 
  5972. limited to system administrators. 
  5973.  
  5974. 2.     Before system entry is granted to a user, the 
  5975. identity of that user shall be authenticated by 
  5976. the TCB. If the TCB is designed to support 
  5977. multiple login sessions per user identity, the TCB 
  5978. shall provide a protected mechanism to enable 
  5979. limiting the number of login sessions per user 
  5980. identity or account with a default of a single 
  5981. login session. The control of this mechanism to 
  5982. limit the number of login sessions shall be 
  5983. limited to system administrators. 
  5984.  
  5985. 3.     The TCB shall grant system entry only in 
  5986. accordance with the authenticated user's policy 
  5987. attributes. The system entry conditions shall be 
  5988. expressed in terms of users' policy attributes, 
  5989. i.e., user identity and membership to roles. If no 
  5990. explicit system-entry conditions are defined, the 
  5991. system-entry default shall be used (e.g., the 
  5992. correct user authentication). The TCB shall 
  5993. provide a protected mechanism to allow or deny 
  5994. system entry based on specified ranges of time. 
  5995. Entry conditions using these ranges shall be 
  5996. specified using time-of-day, day-of-week, and 
  5997. calendar dates. The control of system entry 
  5998. conditions shall be limited to system 
  5999. administrators. 
  6000.  
  6001. The TCB shall provide a protected mechanism to 
  6002. allow or deny system entry based on location or 
  6003. port of entry. Conditions for system entry via 
  6004. dial-up lines (e.g., lists of user identities 
  6005. authorized to enter the system via dial-up lines), 
  6006. if any, shall be specified.The control of these 
  6007. mechanisms shall be limited to system 
  6008. administrators.
  6009.  
  6010. 4.     The TCB shall provide a protected mechanism that 
  6011. enables authorized administrators to display and 
  6012. modify the policy attributes used in system-entry 
  6013. control for each user. The conditions under which 
  6014. an unprivileged user may display these attributes 
  6015. shall be specified.
  6016.  
  6017. 5.    Upon a user's successful entry to the system, 
  6018. the TCB shall display the following data to the 
  6019. user and shall not remove them without user 
  6020. intervention: (1) the date, time, means of access 
  6021. and port of entry of the last successful entry to 
  6022. the system; and (2) the number of successive, 
  6023. unsuccessful attempts to access the system since 
  6024. the last successful entry by the identified user.
  6025.  
  6026. 6.     The TCB shall either lock or terminate an 
  6027. interactive session after an administrator-
  6028. specified interval of user inactivity. The default 
  6029. value for the lock interval shall be five minutes. 
  6030. The default value for session termination shall be 
  6031. fifteen minutes. The TCB shall also provide a 
  6032. mechanism for user-initiated locking of the user's 
  6033. own interactive sessions (e.g., keyboard locking) 
  6034. that includes: (1) clearing or over-writing 
  6035. display devices to make the current contents 
  6036. unreadable; (2) requiring user authentication 
  6037. prior to unlocking the session; and (3) disabling 
  6038. any activity of the user's data entry/display 
  6039. devices other than unlocking the session.
  6040.  
  6041. 3.3    Trusted Path 
  6042.  
  6043. A Trusted Path ensures that users have direct, unencumbered 
  6044. communication with the TCB. A Trusted Path may be required at 
  6045. various times during a subject session and also may be 
  6046. initiated by a user during a TCB interaction.
  6047.  
  6048. For the CS3 level, TP-1 was assigned from the Federal 
  6049. Criteria. There are no refinements from CS2 or the Federal 
  6050. Criteria. 
  6051.  
  6052.  
  6053.  
  6054.  TP-1 Login Trusted Path
  6055.  
  6056. The TCB shall support a trusted communication path 
  6057. between itself and the user for initial 
  6058. identification and authentication. Communications 
  6059. via this path shall be initiated exclusively by a 
  6060. user.
  6061.  
  6062. a.    The TCB shall provide a protected mechanism by 
  6063. which a display device may force a direct 
  6064. connection between the port to which it is 
  6065. connected and the authentication mechanism. 
  6066.  
  6067. 3.4    Audit 
  6068.  
  6069. Audit supports accountability by providing a trail of user 
  6070. actions. Actions are associated with individual users for 
  6071. security-relevant events and are stored in an audit trail. 
  6072. This audit trail can be examined to determine what happened 
  6073. and what user was responsible for a security relevant event. 
  6074. The audit trail data must be protected from unauthorized 
  6075. access, modification, or destruction. In addition, the audit 
  6076. trail data must be available in a useful and timely manner for 
  6077. analysis. 
  6078.  
  6079. Audit data is recorded from several sources (such as the 
  6080. TCB or privileged applications) to produce a complete picture 
  6081. of a user's security relevant actions. Therefore, audit data 
  6082. must be correlated across audit collection systems. The 
  6083. mechanisms providing audit data recording must be tailorable 
  6084. to each product's needs. Both the audit data itself and the 
  6085. mechanisms to determine what audit data is recorded are 
  6086. protected by privileges. Once the audit data is recorded, it 
  6087. is analyzed and reported. Reporting can be by reports 
  6088. generated on request.
  6089.  
  6090. For the CS3 level, AD-3 was assigned from the Federal 
  6091. Criteria. A refinement was made to audit attempts to 
  6092. circumvent or gain unauthorized access to resource allocation 
  6093. limits.
  6094.  
  6095. AD-3 Audit Tools
  6096.  
  6097. 1.    The TCB shall be able to create, maintain, and 
  6098. protect from modification or unauthorized access 
  6099. or destruction an audit trail of accesses to the 
  6100. objects it protects. The audit data shall be 
  6101. protected by the TCB so that read access to it is 
  6102. limited to those who are authorized for audit 
  6103. data.
  6104.  
  6105. The TCB shall support an application program 
  6106. interface that allows a privileged application to 
  6107. append data to the security audit trail or to an 
  6108. applications-specified alternative security audit 
  6109. trail. 
  6110.  
  6111. The TCB should support an option to maintain the 
  6112. security audit trail data in encrypted format. (A)
  6113.  
  6114. 2.    The TCB shall be able to record the following 
  6115. types of events:
  6116.  
  6117.     - use of the identification and authentication 
  6118. mechanisms, and system entry events;
  6119.  
  6120.     - access control events selectable on a per 
  6121. user, per subject, per object, per role, and/or 
  6122. per policy attribute basis; i.e., introduction of 
  6123. objects into a user's address space (e.g., file 
  6124. open, program initiation), creation and deletion 
  6125. of subjects and objects; distribution and 
  6126. revocation of access rights; changes of subject 
  6127. and object policy attributes; acquisition and 
  6128. deletion of system privileges. 
  6129.  
  6130.     -actions taken by computer operators and system 
  6131. administrators and/or system security officers; 
  6132. i.e., privileged operations such as the 
  6133. modification of TCB elements; accesses to TCB 
  6134. objects (at a minimum, access to an object shall 
  6135. include disk file access, tape volume, or tape 
  6136. file access); changes of policy attributes of 
  6137. users, TCB configuration and security 
  6138. characteristics, and system privileges; selection 
  6139. and modification of audited events.
  6140.  
  6141.     - attempts to circumvent or otherwise gain 
  6142. unauthorized access to resource allocation limits.
  6143.  
  6144. The events that are auditable by default, and 
  6145. those that are required for successful auditing of 
  6146. other events, which may not be disabled, shall be 
  6147. defined. The TCB shall provide a protected 
  6148. mechanism that displays the currently selected 
  6149. events and their defaults. The use of this 
  6150. mechanism shall be restricted to authorized system 
  6151. administrators.
  6152.  
  6153. 3.    For each recorded event, the audit record shall 
  6154. identify: date and time of the event, user, type 
  6155. of event, and success or failure of the event. For 
  6156. identification/authentication events the origin of 
  6157. request (e.g., terminal ID) shall be included in 
  6158. the audit record. For events that introduce an 
  6159. object into a user's address space and for object 
  6160. deletion events the audit record shall include the 
  6161. name and policy attributes of the object.
  6162.  
  6163. The character strings input as a response to a 
  6164. password prompt shall not be recorded in the 
  6165. security audit trail. 
  6166.  
  6167. 4.    The TCB shall provide a protected mechanism to 
  6168. turn auditing on and off, and to select and change 
  6169. the events to be audited and their defaults, 
  6170. during the system operation. The use of this 
  6171. mechanism shall be restricted to authorized system 
  6172. administrators. The system administrator shall be 
  6173. able to selectively audit the actions of one or 
  6174. more users based on individual identity and/or 
  6175. object policy attributes. Audit review tools shall 
  6176. be available to authorized system administrators 
  6177. to assist in the inspection and review of audit 
  6178. data, and shall be protected from unauthorized 
  6179. use, modification, or destruction.
  6180.  
  6181. The TCB shall provide tools for audit data 
  6182. processing. These shall include specifically 
  6183. designed tools: for verifying the consistency of 
  6184. the audit data; for verifying the selection of 
  6185. audit events; for audit trail management. The 
  6186. audit trail management tools shall enable:
  6187.  
  6188.     - creation, destruction, and emptying of audit 
  6189. trails; use of warning points regarding the size 
  6190. of the audit data, and modification of the audit 
  6191. trail size;
  6192.  
  6193.     -formatting and compressing of event records;
  6194.  
  6195.     -displaying of formatted audit trail data; and
  6196.  
  6197.     -maintaining the consistency of the audit trail 
  6198. data after system failures and discontinuity of 
  6199. operation.
  6200.  
  6201. The TCB shall provide a protected mechanism for 
  6202. the automatic copying of security audit trail 
  6203. files to an alternative storage area after a 
  6204. system-specifiable period of time. 
  6205.  
  6206. The TCB shall provide a protected mechanism for 
  6207. the automatic deletion of security audit trail 
  6208. files after a system-specifiable period of time. 
  6209. The default shall be thirty days. 
  6210.  
  6211. (a)    It shall not be possible to delete the 
  6212. security audit trail before it gets copied 
  6213. to an alternate storage area. 
  6214.  
  6215. (b)    It shall be possible to disable this mechanism. 
  6216.  
  6217. The use of audit trail management functions shall 
  6218. be limited to system administrators. 
  6219.  
  6220. 5.     Audit review tools shall be available to 
  6221. authorized users to assist in the inspection and 
  6222. review of audit data, and shall be protected from 
  6223. unauthorized modification or destruction. The TCB 
  6224. shall also provide tools for post-collection audit 
  6225. analysis (e.g., intrusion detection) that shall be 
  6226. able to selectively review (1) the actions of one 
  6227. or more users (e.g., identification, 
  6228. authentication, system-entry, and access control 
  6229. actions); (2) the actions performed on a specific 
  6230. object or system resource; and (3) all, or a 
  6231. specified set of, audited exceptions; and (4) 
  6232. actions associated with a specific 
  6233. policyattributes.The review tools shall be able to 
  6234. operate concurrently with the system operation.
  6235.  
  6236. 3.5    Access Control 
  6237.  
  6238. Once the user has been granted access, the question of which 
  6239. objects the authenticated user may access still remains. An 
  6240. owner, or an authorized user, allows or denies to other users 
  6241. access to that object. The requirements below describe subject 
  6242. accesses to objects. 
  6243.  
  6244. For the CS3 level, AC-2+ was assigned from the Federal 
  6245. Criteria.his level is indicated as being AC-2+ because 
  6246. requirements were included from level AC-4 (to include the 
  6247. requirements for time and location dependency conditions). 
  6248. These are indicated in the text by an "[AC-4]" in front of the 
  6249. requirement. This component level was refined from CS2 and the 
  6250. Federal Criteria by specifying access control decisions based 
  6251. on roles.
  6252.  
  6253.  AC-2+ Basic Access Control
  6254.  
  6255. 1.    Definition of Access Control Attributes
  6256.  
  6257. The TCB shall define and protect access control 
  6258. attributes for subjects and objects. Subject 
  6259. attributes shall include named individuals or 
  6260. defined roles or both. Object attributes shall 
  6261. include defined access rights (i.e., read, write, 
  6262. execute) that can be assigned to subject 
  6263. attributes.
  6264.  
  6265. The TCB shall be able to assign access rights to 
  6266. role identities.
  6267.  
  6268. If multiple access control policies are supported, 
  6269. the access control attributes corresponding to 
  6270. each individual policy shall be identified. 
  6271.  
  6272. [AC-4]: The subject and object attributes shall 
  6273. accurately reflect the sensitivity and/or 
  6274. integrity of the subject or object.The subject's 
  6275. access control attributes also shall include time 
  6276. and location attributes that can be assigned to 
  6277. authenticated user identities. 
  6278.  
  6279. 2.    Administration of Access Control Attributes
  6280.  
  6281. The TCB shall define and enforce rules for 
  6282. assignment and modification of access control 
  6283. attributes for subjects and objects.
  6284.  
  6285. The TCB shall provide a protected mechanism for 
  6286. roles as follows: 
  6287.  
  6288. a.    A user identifier shall be able to be associated 
  6289. with one or more roles. 
  6290.  
  6291. b.    The TCB shall provide a protected mechanism to 
  6292. list the names of all roles. 
  6293.  
  6294. c.    The TCB shall provide a protected mechanism to 
  6295. list the membership of any role. 
  6296.  
  6297. Rules for maintaining role membership shall be 
  6298. provided. These rules shall include those for 
  6299. displaying and modifying the list of users 
  6300. belonging to a role and the role attributes of those 
  6301. users. 
  6302.  
  6303. The effect of these rules shall be that access 
  6304. permission to an object by users not already 
  6305. possessing access permission is assigned only by 
  6306. authorized users. 
  6307.  
  6308. Only the current owner or system administrators 
  6309. shall modify access control attributes on objects.
  6310.  
  6311. The TCB shall provide a protected mechanism to 
  6312. modify role membership. The use of this mechanism 
  6313. shall be under the control of system 
  6314. administrators. Authority to modify specific role 
  6315. membership may be delegated. 
  6316.  
  6317. The TCB shall provide a protected mechanism by which 
  6318. the user identifier associated with a subject 
  6319. attribute can be changed while the subject is 
  6320. active. It shall also provide a protected mechanism 
  6321. for limiting the user identifiers that may change 
  6322. to a user identifier that would provide any 
  6323. additional access rights. The control of these 
  6324. mechanisms shall be limited to system 
  6325. administrators. 
  6326.  
  6327. [AC-4]: These rules shall allow authorized users 
  6328. to specify and control sharing of objects by named 
  6329. individuals or defined roles of individuals, or by 
  6330. both, and shall provide controls to limit 
  6331. propagation of access rights, (i.e., these rules 
  6332. shall define the distribution, revocation, and 
  6333. review of access control attributes). The controls 
  6334. defined by these rules shall be capable of 
  6335. specifying for each named object, a list of 
  6336. individuals and a list of roles of named 
  6337. individuals, with their respective access rights 
  6338. to that object. Furthermore, for each named 
  6339. object, it shall be possible to specify a list of 
  6340. named individuals and a list of roles of named 
  6341. individuals for which no access to the object is 
  6342. given. These controls shall be capable of 
  6343. including or excluding access to the granularity 
  6344. of a single user.These controls shall also be 
  6345. capable of specifying access-time dependency 
  6346. (i.e., the effect of the distribution and 
  6347. revocation of access control attributes take place 
  6348. at a certain time and shall last for a specified 
  6349. period of time), and/or access-location dependency 
  6350. (i.e., shall specify the locations from which the 
  6351. distribution and revocation of access rights shall 
  6352. take place).
  6353.  
  6354. The rules for assignment and modification of 
  6355. access control attributes shall include those for 
  6356. attribute assignment to objects during import and 
  6357. export operations. If different rules of 
  6358. assignment and modification of access control 
  6359. attributes apply to different subjects and/or 
  6360. objects, the totality of these rules shall be 
  6361. shown to support the defined policy.
  6362.  
  6363. 3.    Authorization of Subject References to Objects
  6364.  
  6365. [AC-4]: The TCB shall define and enforce 
  6366. authorization rules for the mediation of subject 
  6367. references to objects. These rules shall be based 
  6368. on the access control attributes of subjects and 
  6369. objects. These rules shall, either by explicit 
  6370. user action or by default, provide that objects 
  6371. are protected from unauthorized access. These 
  6372. rules shall include time-of-access and location-
  6373. of-access controls defined for subjects and 
  6374. objects.
  6375.  
  6376. For each object, the authorization rules of the TCB 
  6377. shall be based on a protected mechanism to specify 
  6378. roles with their specific access rights to that 
  6379. object. 
  6380.  
  6381. The authorization rules shall be defined in terms 
  6382. of subject authorization conditions for accessing 
  6383. the object (i.e., on <subject, action, object> 
  6384. tuples.
  6385.  
  6386. At a minimum, the authorization rules shall be 
  6387. defined as follows:
  6388.  
  6389. a.    The access rights associated with a user 
  6390. identifier shall take precedence over the access 
  6391. rights associated with any roles of which that 
  6392. user identifier is a member. 
  6393.  
  6394. b.    When a user identifier can be an active member of 
  6395. multiple roles simultaneously, or if the access 
  6396. rights associated with the user identifier 
  6397. conflict with the access rights associated with 
  6398. any role in which the user is a member, it shall 
  6399. be possible for an system administrator to 
  6400. configure rules that combine the access rights to 
  6401. make a final access control decision. 
  6402.  
  6403. c.    The TCB shall provide a protected mechanism to 
  6404. specify default access rights for user 
  6405. identifiers not otherwise specified either 
  6406. explicitly by a user identifier or implicitly by 
  6407. role membership. 
  6408.  
  6409. The scope of the authorization rules shall include 
  6410. a defined subset of the product's subjects and 
  6411. objects and associated access control attributes. 
  6412. The coverage of authorization rules shall specify 
  6413. the types of objects and subjects to which these 
  6414. rules apply. If different rules apply to different 
  6415. subjects and objects, the totality of these rules 
  6416. shall be shown to support the defined policy. 
  6417.  
  6418. If multiple policies are supported, the 
  6419. authorization rules for each policy shall be 
  6420. defined separately. The TCB shall define and 
  6421. enforce the composition of policies, including the 
  6422. enforcement of the authorization rules (e.g., 
  6423. subject and object type coverage, enforcement 
  6424. precedence).
  6425.  
  6426. 4.    Subject and Object Creation and Destruction
  6427.  
  6428. The TCB shall control the creation and destruction 
  6429. of subjects and objects. These controls shall 
  6430. include object reuse. That is, all authorizations 
  6431. to the information contained within a storage 
  6432. object shall be revoked prior to initial 
  6433. assignment, allocation or reallocation to a 
  6434. subject from the TCB's pool of unused storage 
  6435. objects; information, including encrypted 
  6436. representations of information, produced by a 
  6437. prior subjects' actions shall be unavailable to 
  6438. any subject that obtains access to an object that 
  6439. has been released back to the system.
  6440.  
  6441. 3.6    Security Management 
  6442.  
  6443. The management of security attributes and configuration 
  6444. parameters is an important aspect of a secure product. 
  6445. Mechanisms have to be provided to easily maintain the product, 
  6446. and they must be protected so that only system administrators 
  6447. can manage the security aspects of the product. 
  6448.  
  6449. For the CS3 level, SM-2 was assigned from the Federal 
  6450. Criteria. An assignment was made to this component from the 
  6451. Federal Criteria to limit the number of login sessions and for 
  6452. controlling the availability of system resources. A 
  6453. refinement was made to provide system administrators with a 
  6454. protected mechanism for grating and revoking role membership.
  6455.  
  6456.  SM-3 Policy-Oriented Security Management
  6457.  
  6458. 1.     The TCB shall provide an installation mechanism 
  6459. for the setting and updating of its configuration 
  6460. parameters, and for the initialization of its 
  6461. protection-relevant data structures before any 
  6462. user or administrator policy attributes are 
  6463. defined. It shall allow the configuration of TCB 
  6464. internal databases and tables.
  6465.  
  6466. The TCB shall distinguish between normal mode of 
  6467. operation and maintenance mode, and shall provide 
  6468. a maintenance-mode mechanism for recovery and 
  6469. system start-up.This mechanism shall include a 
  6470. means to initialize administrative privileges and 
  6471. administrative identification, authentication, and 
  6472. system-entry attributes.
  6473.  
  6474. 2.     The TCB shall provide protected mechanisms for 
  6475. displaying and modifying the security policy 
  6476. parameters. These parameters shall include 
  6477. identification, authentication, system entry and 
  6478. access control parameters for the entire system 
  6479. and for individual users.
  6480.  
  6481. The TCB shall have a capability to define the 
  6482. identification and authentication policy on a 
  6483. system-wide basis (e.g., password minimum and 
  6484. maximum lifetime, password length and complexity 
  6485. parameters). The TCB mechanisms shall have the 
  6486. capability to limit: (1) maximum period of 
  6487. interactive session inactivity, (2) maximum login 
  6488. or session time, and (3) successive unsuccessful 
  6489. attempts to log in to the system. In particular, 
  6490. the TCB shall provide a protected mechanism to 
  6491. specify that sessions be terminated rather than 
  6492. locked after a period of inactivity. The control 
  6493. of these mechanisms shall be limited to system 
  6494. administrators.The TCB shall provide an 
  6495. administrative capability to specify the 
  6496. authentication method on a per policy-attribute 
  6497. basis whenever multiple identification and 
  6498. authentication methods are used; e.g., via user 
  6499. passwords, tokens, or biometrics.
  6500.  
  6501.     If the TCB is designed to support multiple login 
  6502. sessions per user identity, the administrators 
  6503. shall be able to limit the number of simultaneous 
  6504. login sessions on an authorization-attribute basis. 
  6505. The system-supplied default shall limit each user 
  6506. identifier to one simultaneous logon session. 
  6507.  
  6508.     The TCB shall also have a capability to limit 
  6509. the successive unsuccessful attempts to login from 
  6510. a specific port of entry, and/or with a specific 
  6511. user identity or account.
  6512.  
  6513. The TCB shall provide a mechanism to control the 
  6514. availability of system resources via resource 
  6515. quotas and quantity-of-resources limits. 
  6516.  
  6517. 3.                         The TCB shall provide protected mechanisms for 
  6518. manually displaying, modifying, or deleting user 
  6519. registration and account parameters. These 
  6520. parameters shall include unique user identifiers, 
  6521. their account, and their associated user name and 
  6522. affiliation. The TCB shall allow the automatic 
  6523. disabling of user identities and/ or accounts, 
  6524. after a period during which the identity and/or 
  6525. account have not been used. The time period shall 
  6526. be administrator specified, with a specified 
  6527. default provided. The TCB shall allow the 
  6528. automatic re-enabling of disabled user identities 
  6529. and/or accounts after an administrator-specified 
  6530. period of time.
  6531.  
  6532. The TCB shall provide a means to uniquely identify 
  6533. security policy attributes. It shall also provide 
  6534. a means of listing all these attributes for a 
  6535. user, and all the users associated with an 
  6536. attribute. It shall be capable of defining and 
  6537. maintaining the security policy attributes for 
  6538. subjects including: defining and maintaining 
  6539. privileges for privileged subjects, discretionary 
  6540. and non-discretionary attributes, i.e., definition 
  6541. and maintenance of roles, and centralized 
  6542. distribution, review and revocation of policy 
  6543. attributes. 
  6544.  
  6545. System administrators shall be provided with a 
  6546. protected mechanism for the purposes of granting 
  6547. and revoking user membership to specific roles. 
  6548. Administrative users shall also be provided with 
  6549. tools for the creation of roles and for the 
  6550. definition of role attributes. 
  6551.  
  6552. 4.     The TCB shall support separate operator and 
  6553. administrator functions. The operator functions 
  6554. shall be restricted to those necessary for 
  6555. performing routine operations. The operator 
  6556. functions allow the enabling and disabling of 
  6557. peripheral devices, mounting of removable storage 
  6558. media, backing-up and recovering user objects; 
  6559. maintaining the TCB hardware and software elements 
  6560. (e.g., on site testing); and starting and shutting 
  6561. down the system.
  6562.  
  6563. 5.      The use of the protected mechanisms for system 
  6564. administration shall be limited to authorized 
  6565. administrative users. The control of access-
  6566. control attributes shall be limited to the object 
  6567. owner and to system administrators. 
  6568.  
  6569. 3.7    Reference Mediation 
  6570.  
  6571. Reference mediation, that is, the control by the TCB of 
  6572. subject accesses to objects, must be ensured so that the users 
  6573. can have faith in the TCB's access control decisions. Also, 
  6574. users must be ensured that all access to security services are 
  6575. mediated by the TCB.    
  6576.  
  6577. For the CS3 level, RM-1 was assigned from the Federal 
  6578. Criteria. No refinements were made from CS2 or the Federal 
  6579. Criteria.
  6580.  
  6581.  RM-1 Mediation of References to a Defined Subject/Object 
  6582. Subset
  6583.  
  6584. 1.     The TCB shall mediate all references to 
  6585. subjects, objects, resources, and services (e.g., 
  6586. TCB functions) described in the TCB 
  6587. specifications. The mediation shall ensure that 
  6588. all references are directed to the appropriate 
  6589. security-policy functions.
  6590.  
  6591. 2.    Reference mediation shall include references to 
  6592. the defined subset of subjects, objects, and 
  6593. resources protected under the TCB security policy, 
  6594. and to their policy attributes, i.e., role 
  6595. identifiers.
  6596.  
  6597. 3.     References issued by privileged subjects shall 
  6598. be mediated in accordance with the policy 
  6599. attributes defined for those subjects.
  6600.  
  6601. 3.8    Resource-Allocation Requirements
  6602.  
  6603. This component restricts the allocation of subjects and 
  6604. objects so that no one user through the exhaustion of resource 
  6605. can deny service to other users. It further enables the TCB 
  6606. to prioritize subject access to resources so that the highest 
  6607. priority subject is given preferential treatment in its access 
  6608. to objects. 
  6609.  
  6610. For CS3l, AR-1 was assigned from the Federal Criteria. This 
  6611. component was refined from the Federal Criteria by limiting 
  6612. the control of the capability to place restrictions on the 
  6613. number of subjects and objects to system administrators.
  6614.  
  6615. LEVEL - AR-1 Resource Restrictions
  6616.  
  6617. The TCB shall provide the capability to place 
  6618. restrictions on the number of subjects and objects a user 
  6619. may have allocated at any given time. The control of this 
  6620. capability shall be limited to system administrators. 
  6621. The TCB shall control a defined set of system resources 
  6622. (e.g., memory, disk space) such that no one individual 
  6623. user can deny access to another user's subject and object 
  6624. space. All subjects, objects, and resources shall be 
  6625. defined with default space or time quota and number-of-
  6626. resources attributes. 
  6627.  
  6628. 3.9    TCB Protection 
  6629.  
  6630. TCB protection is a fundamental requirement for a secure 
  6631. product. All of the security components and mechanisms that 
  6632. have been described depend upon the integrity of the TCB and 
  6633. on the TCB being isolated and non-circumventable. The TCB must 
  6634. be resistant to outside penetration. 
  6635.  
  6636. For the CS3 level, P-1 was assigned from the Federal 
  6637. Criteria. No refinements were made from CS2 or the Federal 
  6638. Criteria.
  6639.  
  6640. P-1 Basic TCB Isolation
  6641.  
  6642. The TCB shall maintain a domain for its own 
  6643. execution that protects it from external 
  6644. interference and tampering (e.g., by reading or 
  6645. modification of its code and data structures). The 
  6646. protection of the TCB shall provide TCB isolation 
  6647. and noncircumventability of TCB isolation 
  6648. functions as follows:
  6649.  
  6650.     1. TCB Isolation requires that (1) the address 
  6651. spaces of the TCB and those of unprivileged 
  6652. subjects are separated such that users, or 
  6653. unprivileged subjects operating on their behalf, 
  6654. cannot read or modify TCB data structures or code, 
  6655. (2) the transfers between TCB and non-TCB domains 
  6656. are controlled such that arbitrary entry to or 
  6657. return from the TCB are not possible; and (3) the 
  6658. user or application parameters passed to the TCB 
  6659. by addresses are validated with respect to the TCB 
  6660. address space, and those passed by value are 
  6661. validated with respect to the values expected by 
  6662. the TCB.
  6663.  
  6664.     2. Noncircumventability of TCB isolation 
  6665. functions requires that the permission to objects 
  6666. (and/or to non-TCB data) passed as parameters to 
  6667. the TCB are validated with respect to the 
  6668. permissions required by the TCB, and references to 
  6669. TCB objects implementing TCB isolation functions 
  6670. are mediated by the TCB.
  6671.  
  6672. 3.10    Physical TCB Protection 
  6673.  
  6674. Whenever the physical security of a product cannot be 
  6675. established, then all of the software controls that have been 
  6676. put into place are of no consequence. Therefore, physical TCB 
  6677. protection is just as important as software protection. 
  6678. Physical protection is based on a product's ability to 
  6679. prevent, deter, detect, and counter physical attacks against 
  6680. the product. Devices used to counter physical attacks must be 
  6681. shown to be tamper-resistant and non-circumventable. 
  6682.  
  6683. For the CS3 level, PP-1 was assigned from the Federal 
  6684. Criteria. No further refinements were made from the Federal 
  6685. Criteria.
  6686.  
  6687. PP-1 Administrative and Environment Protection
  6688.  
  6689. 1. Administrative procedures and environmental 
  6690. features necessary for establishing the physical 
  6691. security of a product's TCB shall be defined.
  6692.  
  6693. 2. Product functions and devices necessary to 
  6694. establish physical control over the product's TCB 
  6695. shall be identified and provided.
  6696.  
  6697. 3.11    TCB Self-Checking 
  6698.  
  6699. Validating the correct operation of the TCB firmware and 
  6700. hardware is an important aspect of guaranteeing the integrity 
  6701. of the product. Hardware and software features that validate 
  6702. the correct operation of the product will be delivered with 
  6703. the product to ensure that the hardware and firmware are 
  6704. installed properly and are in working order.
  6705.  
  6706. For the CS3 level, SC-2 was assigned from the Federal 
  6707. Criteria. The refinements from CS2 and the Federal Criteria 
  6708. include providing for an encryption mechanism to preserve the 
  6709. integrity of object data and providing for a tool to check for 
  6710. storage medium and file system integrity, and for having 
  6711. system operators perform operator-controlled tests. An 
  6712. assignment was made to the configurable software features to 
  6713. monitor system services and the corruption of access control 
  6714. information. 
  6715.  
  6716. SC-3 Software-Test Support
  6717.  
  6718. Hardware and/or software features shall be 
  6719. provided that can be used to periodically validate 
  6720. the correct operation of the on-site hardware and 
  6721. firmware elements of the TCB. These features shall 
  6722. include: power-on tests, loadable tests, and 
  6723. operator-controlled tests.
  6724.  
  6725. The power-on tests shall test all basic components 
  6726. of the TCB hardware and firmware elements 
  6727. including memory boards and memory 
  6728. interconnections; data paths; busses; control 
  6729. logic and processor registers; disk adapters; 
  6730. communication ports; system consoles, and the 
  6731. keyboard speaker. These tests shall cover all 
  6732. components that are necessary to run the loadable 
  6733. tests and the operator-controlled tests. 
  6734.  
  6735. The loadable tests shall cover: processor 
  6736. components (e.g., arithmetic and logic unit, 
  6737. floating point unit, instruction decode buffers, 
  6738. interrupt controllers, register transfer bus, 
  6739. address translation buffer, cache, and processor-
  6740. to-memory bus controller); backplane busses; 
  6741. memory controllers; writable control memory for 
  6742. operator-controlled and remote system-integrity 
  6743. testing. 
  6744.  
  6745. Operator-controlled tests shall be able to 
  6746. initiate a series of one-time or repeated tests, 
  6747. to log the results of these tests and, if any fault 
  6748. is detected, to direct the integrity-test programs 
  6749. to identify and isolate the failure.The execution 
  6750. of operator-controlled tests shall be limited to 
  6751. system operators. 
  6752.  
  6753. Configurable software or firmware features shall 
  6754. be provided that can be used to validate the 
  6755. correct operation of the on-site software elements 
  6756. (i.e., code and data structures) of the TCB. These 
  6757. features may include, but are not limited to, 
  6758. checksums and consistency checks for TCB elements 
  6759. stored on storage media (e.g., disk-block 
  6760. consistency invariants).
  6761.  
  6762. a.    At a minimum, these features shall also address:
  6763.  
  6764. (1)    Monitoring of system services 
  6765.  
  6766. (2)    Corruption of access control information. 
  6767.  
  6768. The TCB should provide an encryption mechanism that 
  6769. can be used to preserve the integrity of data in an 
  6770. object. (A) 
  6771.  
  6772. The TCB shall provide tools for checking storage 
  6773. medium and file system integrity. 
  6774.  
  6775. a.    The TCB shall execute these tools periodically. 
  6776.  
  6777. 3.12    TCB Initialization and Recovery 
  6778.  
  6779. The recovery and start-up of the TCB must be ensured so that 
  6780. the product always remains in a secure state, whether the 
  6781. recovery is performed manually or automatically. 
  6782.  
  6783. For the CS3 level, TR-2 was assigned from the Federal 
  6784. Criteria. An assignment was made at this component level to 
  6785. specify that audit control data shall survive system restarts.
  6786.  
  6787. TR-3 Automated Recovery or Start-up
  6788.  
  6789. 1. Procedures and/or mechanisms shall be provided 
  6790. to assure that, after a TCB failure or other 
  6791. discontinuity, recovery without protection 
  6792. compromise is obtained. At a minimum, audit 
  6793. control data (e.g., audit event masks) shall 
  6794. survive system restarts. 
  6795.  
  6796. 2. Automated procedures, under the control of the 
  6797. TCB, shall be provided to assure that after a 
  6798. system failure, other discontinuity, or start-up, 
  6799. a secure state is obtained without undue loss of 
  6800. system or user objects. The security policy 
  6801. properties, or requirements, used to determine 
  6802. that a secure state is obtained shall be defined.
  6803.  
  6804. 3.13    Privileged Operation 
  6805.  
  6806. Privileges are associated with functional components so 
  6807. that at any given time only those operations that are 
  6808. associated with the privilege can be performed. The privileges 
  6809. that a product needs must be identified and must cover all the 
  6810. security aspects of the product, including the secure 
  6811. administration of the product, and should be defined so that 
  6812. there is not a single privileged mode for all of the TCB's 
  6813. operations. 
  6814.  
  6815. For the CS3 level, PO-2 was assigned from the Federal 
  6816. Criteria. A refinement was made from CS2 and the Federal 
  6817. Criteria by specifying that privileges be associated with 
  6818. administrative roles and for controlling access to role 
  6819. registration files.
  6820.  
  6821.  PO-2 Privilege Association with TCB Modules
  6822.  
  6823. 1. TCB privileges needed by individual functions, 
  6824. or groups of functions, of a functional component 
  6825. shall be identified. Privileged TCB calls or 
  6826. access to privileged TCB objects, such as user and 
  6827. group and role registration files, password files, 
  6828. security and integrity-level definition file, role 
  6829. definition file, audit-log file shall also be 
  6830. identified. It shall be possible to associate TCB 
  6831. privileges with TCB operations performed by 
  6832. administrative users (i.e., administrative roles). 
  6833.  
  6834. 2.The modules of a TCB function shall be 
  6835. associated only with the privileges necessary to 
  6836. complete their task. 
  6837.  
  6838. 3. Support for product privilege implementation 
  6839. and association with TCB modules provided by 
  6840. lower-level mechanisms or procedures (e.g., 
  6841. operating system, processors, language) shall be 
  6842. provided.
  6843.  
  6844. 3.14    Ease-of-TCB-Use 
  6845.  
  6846. If security mechanisms are not easy to use and maintain, 
  6847. then administrative and non-system administrators may be 
  6848. tempted to disable the security mechanisms. Therefore, ease 
  6849. of use becomes an important element in the administration of 
  6850. a secure product and in the creation of privileged 
  6851. applications. It also minimizes errors on the part of both the 
  6852. administrative and non-system administrators, and can serve 
  6853. to minimize the consequences of these errors. 
  6854.  
  6855. For the CS3 level, EU-3 was assigned from the Federal 
  6856. Criteria. No refinements were made from CS2 or the Federal 
  6857. Criteria.
  6858.  
  6859. EU-3 Common Configuration Coverage
  6860.  
  6861. 1. The TCB shall provide well-defined actions to 
  6862. undertake administrative functions. Fail-safe 
  6863. default options shall be provided for security 
  6864. parameters of administrative functions.
  6865.  
  6866. The TCB shall include fail-safe defaults for the 
  6867. policy attributes of subjects, objects (e.g., 
  6868. devices) and services used in common system 
  6869. configurations, as well as user-setable defaults 
  6870. for these subjects and objects. 
  6871.  
  6872. 2. The TCB shall provide well-defined application 
  6873. programming interfaces and programming functions 
  6874. (e.g., libraries) for all its policies to support 
  6875. the development of applications that can define 
  6876. and enforce security policies on application-
  6877. controlled subjects and objects. The TCB shall 
  6878. enable user-controlled reduction of permissions 
  6879. available to applications.
  6880.  
  6881. CS3 Assurance 
  6882.  
  6883. 4.    Introduction
  6884.  
  6885. This chapter provides the CS3 development and evaluation 
  6886. assurance requirements package using the development and 
  6887. evaluation assurance components defined in Volume I and the 
  6888. package contained in Volume I, Appendix G of the Federal 
  6889. Criteria. The structure of each assurance package follows that 
  6890. of the assurance components (i.e., each package consists of 
  6891. development process, operational support, development 
  6892. environment, development evidence, and evaluation process 
  6893. components). 
  6894.  
  6895. Assurance Package T3+
  6896.  
  6897. The enhanced assurance level is intended to include the 
  6898. best of the commercial computer products designed to satisfy 
  6899. functional requirements. As such this package includes 
  6900. several extensions to the assurance components of the previous 
  6901. two packages. 
  6902.  
  6903. The intent of product development assurance for this 
  6904. package is both to establish that the external behavior of the 
  6905. product conforms to its user level and administrative 
  6906. documentation and to provide visibility into the internal 
  6907. structure of the product TCB. For this reason, requirements 
  6908. for Descriptive Interface Specifications (DIS) and modular 
  6909. decomposition have been added. The TCB element identification 
  6910. and functional testing, have also been extended and 
  6911. penetration testing requirements added to support the added 
  6912. assurances of external behavior. 
  6913.  
  6914. The intent of the operational support assurance for this 
  6915. package is to establish a level of user and administrative 
  6916. guidance and product information that enables the correct 
  6917. product installation and use of product security features. The 
  6918. developer is required to establish and document a policy for 
  6919. responding to customer inquiries and flaw remediation. 
  6920. Similarly, the development environment assurances are 
  6921. intended to provide the a level of control over the product 
  6922. configuration and production, including well-defined coding 
  6923. standards and strict configuration management processes. This 
  6924. level of development environment assurance is similar to that 
  6925. used in the most advanced commercial development 
  6926. organizations.
  6927.  
  6928. The development evidence required for this package is 
  6929. commensurate with the assurances required. The intent of this 
  6930. package is to require the type of assurance evidence that is 
  6931. generated during commercial development oriented towards of 
  6932. high-quality products.
  6933.  
  6934. The intent of evaluation support assurance is to establish 
  6935. that the product, and the context in which it is developed and 
  6936. supported, is commensurate with the development assurance 
  6937. requirements. At the T3+ level, testing analysis and the 
  6938. requirement for independent testing determines whether the 
  6939. product meets the functional protection requirements. 
  6940. Operational support evaluation assurance determines whether 
  6941. the product documentation correctly describes the security 
  6942. relevant operations. Development environment assurance 
  6943. determines whether the product meets the requirements as 
  6944. defined in the protection profile's development assurance 
  6945. subsections. Design assurance determines whether the product 
  6946. meets the design requirements as defined in the Development 
  6947. Process Assurance section of this Protection Profile. 
  6948.  
  6949. Also for CS3, flaw remediation was included in this 
  6950. package. Flaw remediation is important for commercial 
  6951. environments since it ensures that flaws (i.e, deficiencies 
  6952. in a product that enables a user external to the TCB to violate 
  6953. the functional requirements of a protection profile) that are 
  6954. discovered by the product consumers will be tracked, 
  6955. corrected, and disseminated to the affected customers.
  6956.  
  6957. The following table summarizes the assurance components 
  6958. that comprise T3+. Note that this package is indicated as 
  6959. being T3+ since an additional component was included for flaw 
  6960. remediation. Also note that the requirement for role based 
  6961. administrative guidance was included from level AG-3 and is 
  6962. indicated in the table below as "AG-2+" and in the component 
  6963. text by the insertion of "[AG-3]"at the beginning of the 
  6964. paragraph.
  6965.  
  6966.     CS3 Assurance Package Summary
  6967. .---------------------------------------.
  6968. | Assurance Components           |  T3+ |
  6969. |================================|======|
  6970. | Development Assurance Components      |     
  6971. |=======================================|
  6972. | Development Process                   |
  6973. |--------------------------------+------|
  6974. | TCB Property Definition        | PD-2 |
  6975. |--------------------------------+------|
  6976. | TCB Design                            |
  6977. |--------------------------------+------|
  6978. |   TCB Element Identification   | ID-2 |
  6979. |--------------------------------+------|
  6980. |   TCB Interface Definition     | IF-1 |
  6981. |--------------------------------+------|
  6982. |   TCB Modular Decomposition    | ---- |
  6983. |--------------------------------+------|
  6984. |   TCB Structuring Support      | SP-1 |
  6985. |--------------------------------+------|
  6986. |   TCB Design Disciplines       | ---- |
  6987. |--------------------------------+------|
  6988. | TCB Implementation Support     | ---- |
  6989. |--------------------------------+------|
  6990. | TCB Testing and Analysis              |
  6991. |--------------------------------+------|
  6992. |   Functional Testing           | FT-1 |
  6993. |--------------------------------+------|
  6994. |   Penetration Analysis         | PA-1 |
  6995. |--------------------------------+------|
  6996. |   Covert Channel Analysis      | ---- |
  6997. |--------------------------------+------|
  6998. | Operational Support                   |
  6999. |--------------------------------+------|
  7000. | User Security Guidance         | UG-1 |
  7001. |--------------------------------+------|
  7002. | Administrative Guidance        | AG-2+|
  7003. |--------------------------------+------|
  7004. | Flaw Remediation               | FR-2 |
  7005. |--------------------------------+------|
  7006. | Trusted Generation             | TG-2 |
  7007. |--------------------------------+------|
  7008. | Development Environment               |
  7009. |--------------------------------+------|
  7010. | Life Cycle Definition          | LC-1 |
  7011. |--------------------------------+------|
  7012. | Configuration Management       | CM-1 |
  7013. |--------------------------------+------|
  7014. | Trusted Distribution           | ---- |
  7015. |--------------------------------+------|
  7016. | Development Evidence                  |
  7017. |--------------------------------+------|
  7018. | TCB Protection Properties      | EPP2 |
  7019. |--------------------------------+------|
  7020. | Product Development            | EPD1 |
  7021. |--------------------------------+------|
  7022. | Product Testing & Analysis            |
  7023. |--------------------------------+------|
  7024. |   Functional Testing           | EFT1 |
  7025. |--------------------------------+------|
  7026. |   Penetration Analysis         | EPA1 |
  7027. |--------------------------------+------|
  7028. |   Covert Channel Analysis      | ---- |
  7029. |--------------------------------+------|
  7030. | Product Support                | EPS1 |
  7031. `---------------------------------------'
  7032. |=======================================|
  7033. | Evaluation Assurance Components       |
  7034. |=======================================|
  7035. | Testing                               |
  7036. |--------------------------------+------|
  7037. |   Test Analysis                | TA-2 |
  7038. |--------------------------------+------|
  7039. |   Independent Testing          | IT-1 |
  7040. |--------------------------------+------|
  7041. | Review                                |
  7042. |--------------------------------+------|
  7043. |   Development Environment      | DER1 |
  7044. |--------------------------------+------|
  7045. |   Operational Support          | OSR1 |
  7046. |--------------------------------+------|
  7047. | Analysis                              |
  7048. |--------------------------------+------|
  7049. |   Protection Properties        | ---- |
  7050. |--------------------------------+------|
  7051. |   Design                       | DA-1 |
  7052. |--------------------------------+------|
  7053. |   Implementation               | ---- |
  7054. `---------------------------------------'
  7055.  
  7056.  
  7057. 4.1    TCB Property Definition
  7058.  
  7059. The definition of TCB properties assures the consistency of 
  7060. the TCB's behavior. It determines a baseline set of properties 
  7061. that can be used by system developers and evaluators to assure 
  7062. that the TCB satisfies the defined functional requirements.
  7063.  
  7064. For CS3, PD-2 was assigned from the Federal Criteria. No 
  7065. refinements were made from the Federal Criteria.
  7066.  
  7067.  PD-2 Informal Property Definition
  7068.  
  7069. The developer shall provide informal models for 
  7070. the functional components and sub-components of 
  7071. the profile. At a minimum, an informal model of 
  7072. the access control components shall be provided. 
  7073. Each informal model shall include (abstract) data 
  7074. structures and operations defining each functional 
  7075. component or sub-component, and a description of 
  7076. the model properties. The developer shall 
  7077. interpret (e.g., trace) the informal models within 
  7078. the product TCB. For each model entity, the 
  7079. developer shall: (1) identify the TCB elements and 
  7080. their TCB interfaces (if any) that implement that 
  7081. entity; (2) define the operation of these TCB 
  7082. elements, and (3) explain why the operation of 
  7083. these elements is consistent with the model 
  7084. properties. The developer's interpretation of each 
  7085. informal model, which defines the TCB properties, 
  7086. shall identify all TCB elements that do not 
  7087. correspond to any model entity and shall explain 
  7088. why these elements do not render the TCB 
  7089. properties invalid.
  7090.  
  7091. For the components that are not informally 
  7092. modeled, the developer shall interpret the 
  7093. functional requirements of the protection profile 
  7094. within the product TCB. For each functional 
  7095. requirement, the developer shall: (1) identify the 
  7096. TCB elements and their TCB interfaces (if any) 
  7097. that implement that requirement; (2) describe the 
  7098. operation of these TCB elements, and (3) explain 
  7099. why the operation of these elements is consistent 
  7100. with the functional requirement. The developer's 
  7101. interpretation of each functional requirement, 
  7102. which describes the TCB properties, shall identify 
  7103. all TCB elements that do not correspond to any 
  7104. functional requirement and shall explain why these 
  7105. elements do not render the TCB properties invalid.
  7106.  
  7107. 4.2    TCB Element Identification
  7108.  
  7109. The identification of TCB elements (hardware, firmware, 
  7110. software, code, and data structures) provides the set of 
  7111. elements that determine the protection characteristics of a 
  7112. product. All assurance methods rely on the correct 
  7113. identification of TCB elements either directly or indirectly.
  7114.  
  7115. For CS3, ID-2 was assigned from the Federal Criteria. No 
  7116. refinements were made from the Federal Criteria.
  7117.  
  7118.  ID-2: TCB Element Justification
  7119.  
  7120. The developer shall identify the TCB elements 
  7121. (i.e., software, hardware/firmware code and data 
  7122. structures). Each element must be unambiguously 
  7123. identified by its name, type, release, and version 
  7124. number (if any).
  7125.  
  7126. The developer shall justify the protection 
  7127. relevance of the identified elements (i.e., only 
  7128. elements that can affect the correct operation of 
  7129. the protection functions shall be included in the 
  7130. TCB). If protection-irrelevant elements are 
  7131. included in the TCB, the developer shall provide a 
  7132. rationale for such inclusion.
  7133.  
  7134. 4.3    TCB Interface Definition
  7135.  
  7136. The TCB interface establishes the boundary between the TCB 
  7137. and its external users and application programs. It consists 
  7138. of several components, such as command interfaces (i.e., user 
  7139. oriented devices such as the keyboard and mouse), application 
  7140. program interfaces (system calls), and machine/processor 
  7141. interfaces (processor instructions).
  7142.  
  7143. For CS3, IF-1 was assigned from the Federal Criteria. No 
  7144. refinements were made from the Federal Criteria.
  7145.  
  7146. IF-1: Interface Description
  7147.  
  7148. The developer shall describe all external (e.g., 
  7149. command, software, and I/O) administrative (i.e., 
  7150. privileged) and non-administrative interfaces to 
  7151. the TCB. The description shall include those 
  7152. components of the TCB that are implemented as 
  7153. hardware and/or firmware if their properties are 
  7154. visible at the TCB interface.
  7155.  
  7156. The developer shall identify all call conventions 
  7157. (e.g., parameter order, call sequence 
  7158. requirements) and exceptions signaled at the TCB 
  7159. interface.
  7160.  
  7161. TCB Structuring Support
  7162.  
  7163. Structuring the TCB into modules is necessary. However, the 
  7164. modular decomposition does not necessarily reflect the run-
  7165. time enforcement of the TCB structuring since the separation 
  7166. of modules may not necessarily be supported by run-time 
  7167. mechanisms. The run-time enforcement of internal TCB 
  7168. structuring adds a measure of assurance that the TCB elements 
  7169. that are critical to the enforcement of the protection 
  7170. functions are separate from the non-critical elements. Also, 
  7171. the use of run-time enforcement of TCB structuring helps 
  7172. separate protection-critical TCB elements from each other, 
  7173. thereby helping to enforce the separation of protection 
  7174. concerns and minimizing the common mechanisms shared between 
  7175. protection critical elements.
  7176.  
  7177. For CS3, SP-1 was assigned from the Federal Criteria. No 
  7178. refinements were made from the Federal Criteria.
  7179.  
  7180.  SP-1: Process Isolation
  7181.  
  7182. The TCB shall maintain process isolation.
  7183.  
  7184. 4.4    Developer Functional Testing
  7185.  
  7186. Functional testing establishes that the TCB interface 
  7187. exhibits the properties necessary to satisfy the requirements 
  7188. of the protection profile. It provides assurance that the TCB 
  7189. satisfies at least its functional protection requirements.
  7190.  
  7191. For CS3, FT-1 was assigned from the Federal Criteria. No 
  7192. refinements were made from the Federal Criteria.
  7193.  
  7194.  FT-1: Conformance Testing
  7195.  
  7196. The developer shall test the TCB interface to show 
  7197. that all claimed protection functions work as 
  7198. stated in the TCB interface description.
  7199.  
  7200. The developer shall correct all flaws discovered 
  7201. by testing and shall retest the TCB until the 
  7202. protection functions are shown to work as claimed.
  7203.  
  7204. 4.5    Penetration Analysis
  7205.  
  7206. Penetration analysis is an important assurance component 
  7207. since the effectiveness of all security policies rely on the 
  7208. penetration resistance of the TCB. TCB penetration analysis 
  7209. consists of the identification and confirmation of flaws in 
  7210. the design and implementation of protection functions that can 
  7211. be exploited by unprivileged users or untrusted application 
  7212. programs.
  7213.  
  7214. For CS3, PA-1 was assigned from the Federal Criteria. No 
  7215. refinements were made from the Federal Criteria.
  7216.  
  7217.  PA-1 Basic Penetration Testing
  7218.  
  7219. The developer shall define the TCB configuration, 
  7220. interface, and protection functions that are 
  7221. subject to penetration testing. For each test, the 
  7222. developer shall identify the goal of the test and 
  7223. the criteria for successful penetration. The 
  7224. developer shall identify all product documentation 
  7225. (e.g., system reference manuals) used to define 
  7226. penetration-test conditions, and shall document 
  7227. all test conditions, data (e.g., test set-up, 
  7228. function call parameters, and test outcomes), and 
  7229. coverage. 
  7230.  
  7231. The penetration testing shall include, at a 
  7232. minimum, known classes of penetration flaws found 
  7233. in other TCBs (e.g., generic penetration flaws). 
  7234. For each uncovered flaw, the developer shall 
  7235. define and document scenarios of flaw 
  7236. exploitation, and shall identify all penetration 
  7237. outcomes resulting from that scenario. 
  7238.  
  7239. 4.6    User's Guidance
  7240.  
  7241. User's guidance is an operational support assurance 
  7242. component that ensures that usage constraints assumed by the 
  7243. protection profile are understood by the users of the product. 
  7244. It is the primary means available for providing product users 
  7245. with the necessary background and specific information on how 
  7246. to correctly use the product's protection functionality.
  7247.  
  7248. For CS3, UG-1 was assigned from the Federal Criteria. No 
  7249. refinements were made from the Federal Criteria.
  7250.  
  7251.  UG-1: Users' Guide
  7252.  
  7253. The developer shall provide a Users' Guide which 
  7254. describes all protection services provided and 
  7255. enforced by the TCB. The User's Guide shall 
  7256. describe the interaction between these services 
  7257. and provide examples of their use. The User's 
  7258. Guide may be in the form of a summary, chapter or 
  7259. manual. The User's Guide shall specifically 
  7260. describe user responsibilities. These shall 
  7261. encompass any user responsibilities identified in 
  7262. the protection profile.
  7263.  
  7264. 4.7    Administrative Guidance
  7265.  
  7266. Administrative guidance is an operation support assurance 
  7267. component that ensures that the environmental constraints 
  7268. assumed by the protection profile are understood by 
  7269. administrative users and operators of the IT product. It is 
  7270. the primary means available to the developer for providing to 
  7271. administrators and operators detailed, accurate information 
  7272. on how to configure and install the product, operate the IT 
  7273. product is a secure manner, make effective use of the 
  7274. product's privileges and protection mechanisms to control 
  7275. access to administrative functions and data bases, and to 
  7276. avoid pitfalls and improper use of the administrative 
  7277. functions that would compromise the TCB and user security.
  7278.  
  7279. For CS3, AG-2+ was assigned from the Federal Criteria. This 
  7280. level is indicated as being "AG-2+" because requirements were 
  7281. included from AG-3 for role based administrative guidance. 
  7282. This is indicated in the text by an "[AG-3]" in front of the 
  7283. paragraph and through the use of bold italics.
  7284.  
  7285.  AG-2+: Detailed Administrative Guidance
  7286.  
  7287. [AG-3]: The developer shall provide a Trusted 
  7288. Facility Manual intended for the product 
  7289. administrators and operators that describes how to 
  7290. use the TCB security services (e.g., Access 
  7291. Control, System Entry, or Audit) to enforce a 
  7292. system security policy. The Trusted Facility 
  7293. Manual shall include the procedures for securely 
  7294. configuring, starting, maintaining, and halting 
  7295. the TCB. The Trusted Facility Manual shall explain 
  7296. how to analyze audit data generated by the TCB to 
  7297. identify and document user and administrator 
  7298. violations of this policy. The Trusted Facility 
  7299. Manual shall explain the unique security-relevant 
  7300. privileges and functions of administrators and 
  7301. operators. The Trusted Facility Manual shall also 
  7302. explain the distinct security-relevant privileges 
  7303. and functions of the TCB and how they can be 
  7304. selectively granted to provide fine-grained, 
  7305. multi-role system and application administration 
  7306. policies. The Trusted Facility Manual shall 
  7307. describe the administrative interaction between 
  7308. security services.
  7309.  
  7310. The Trusted Facility Manual shall identify all 
  7311. hardware, firmware, software, and data structures 
  7312. comprising the TCB. The detailed audit record 
  7313. structure for each type of audit event shall be 
  7314. described. If covert channel handling is required, 
  7315. the Trusted Facility Manual shall explain how 
  7316. configure the product to mitigate, eliminate, or 
  7317. audit covert channel exploitation.The Trusted 
  7318. Facility Manual shall describe the cautions about 
  7319. and procedures for using the TCB as a base for 
  7320. site-specific secure applications. The Trusted 
  7321. Facility Manual shall describe procedures for 
  7322. securely regenerating the TCB after any part is 
  7323. changed (e.g., due to adding devices or installing 
  7324. flaw corrections to the TCB software).
  7325.  
  7326. The Trusted Facility Manual shall be distinct from 
  7327. User Guidance, and encompass any administrative 
  7328. responsibilities identified in security 
  7329. management.
  7330.  
  7331. 4.8    Flaw Remediation Procedures
  7332.  
  7333. Flaw remediation is an operational support assurance 
  7334. component that ensures that flaws (i.e, deficiencies in the 
  7335. product that enable a user external to the TCB to violate the 
  7336. functional requirements of a protection profile) that are 
  7337. discovered by the product consumers will be tracked and 
  7338. corrected while the product is supported by the developer.
  7339.  
  7340. For CS3, FR-2 was assigned from the Federal Criteria. No 
  7341. refinements were made from the Federal Criteria.
  7342.  
  7343.  FR-2: Flaw Reporting Procedures
  7344.  
  7345. Flaw Tracking Procedures: The developer shall 
  7346. establish a procedure to track all reported 
  7347. protection flaws with each release of the product. 
  7348. The tracking system shall include a description of 
  7349. the nature and effect of each flaw and the status 
  7350. of finding a correction to the flaw.
  7351.  
  7352. Flaw Repair Procedures: The developer shall 
  7353. establish a procedure to identify corrective 
  7354. actions for protection flaws. This procedure shall 
  7355. include a policy to separate protection-relevant 
  7356. from non-protection relevant corrections, changes, 
  7357. or upgrades to the product.
  7358.  
  7359. Consumer Interaction Procedures: The developer 
  7360. shall establish a procedure for accepting consumer 
  7361. reports of protection problems and requests for 
  7362. corrections to those problems. The developer shall 
  7363. designate one or more specific points of contact 
  7364. for consumer reports and inquiries about 
  7365. protection issues involving the product. This 
  7366. procedure and the designated points of contact 
  7367. shall be provided in the consumer documentation 
  7368. (e.g., the TFM or the SFUG).
  7369.  
  7370. 4.9    Trusted Generation
  7371.  
  7372. Trusted generation is an operational support assurance 
  7373. component that ensures that the copy of the product's TCB that 
  7374. is configured and activated by the consumer exhibits the same 
  7375. protection properties as the master copy of the product's TCB 
  7376. that was evaluated for compliance with the protection profile. 
  7377. The trusted generation procedures must provide some 
  7378. confidence that the consumer will be aware of what product 
  7379. configuration parameters can affect the protection properties 
  7380. of the TCB. The procedures must encourage the consumer to 
  7381. choose parameter settings that are within the bounds assumed 
  7382. during the product evaluation.
  7383.  
  7384. For CS3, TG-2 was assigned from the Federal Criteria. No 
  7385. refinements were made from the Federal Criteria.
  7386.  
  7387.  TG-2: Trusted Generation With Fail-Safe Defaults
  7388.  
  7389. The developer shall establish and document the 
  7390. procedures that a customer must perform to 
  7391. generate an operational TCB from the delivered 
  7392. copy of the master TCB. The customer documentation 
  7393. shall identify any system parameters, which are 
  7394. initialized or set during system generation, that 
  7395. affect the TCB's conformance to the protection 
  7396. profile and state the acceptable ranges of values 
  7397. for those parameters. The product shall be 
  7398. delivered with each of these parameters set to its 
  7399. fail-safe defaults.
  7400.  
  7401. 4.10    Life Cycle Definition
  7402.  
  7403. Life cycle definition is an assurance component for 
  7404. establishing that the business practices used by a developer 
  7405. to produce the product's TCB include the considerations and 
  7406. activities identified by the development process and 
  7407. operational support requirements of the protection profile. 
  7408. Consumer confidence in the correspondence between the 
  7409. protection profile requirements and the product's TCB is 
  7410. greater when security analysis and the production of evidence 
  7411. are done on a regular basis as a integral part of the 
  7412. development process and operational support activities.
  7413.  
  7414. For CS3, LC-1 was assigned from the Federal Criteria. No 
  7415. refinements were made from the Federal Criteria.
  7416.  
  7417.  LC-1: Developer-Defined Life Cycle Process
  7418.  
  7419. The developer shall describe the process used to 
  7420. develop and maintain the product. The process 
  7421. shall incorporate a security policy that states 
  7422. the technical, physical, procedural, personnel, 
  7423. and other measures used by the developer to 
  7424. protect the product and its documentation. The 
  7425. developer shall trace each development process and 
  7426. support process requirement of the protection 
  7427. profile to the part, or parts, of the developer's 
  7428. process where the requirement is satisfied. The 
  7429. developer shall identify the programming languages 
  7430. used to develop the TCB software.
  7431.  
  7432. 4.11    Configuration Management
  7433.  
  7434. Configuration management is an assurance component that 
  7435. ensures that the product's TCB configuration remains 
  7436. consistent and complete, and that changes to the TCB do not 
  7437. adversely affect the protection properties of the TCB. 
  7438. Configuration management must ensure that additions, 
  7439. deletions, or changes to the TCB do not compromise the 
  7440. correspondence between the TCB's implementation and the 
  7441. requirements of the protection profile. This is accomplished 
  7442. by requiring the developer to have procedures or tools that 
  7443. ensure that the TCB and its documents are updated properly 
  7444. with the TCB changes.
  7445.  
  7446. For CS3, CM-1 was assigned from the Federal Criteria. No 
  7447. refinements were made from the Federal Criteria.
  7448.  
  7449.  CM-1: Procedural Control and Generation
  7450.  
  7451. The developer shall establish configuration 
  7452. control and generation procedures for developing 
  7453. and maintaining the TCB. The procedures shall be 
  7454. employed to ensure that changes to the TCB are 
  7455. consistent with the product's protection 
  7456. properties and security policy. The developer 
  7457. shall employ these procedures to track changes to 
  7458. development evidence, implementation data (e.g., 
  7459. source code and hardware diagrams), executable 
  7460. versions of the TCB, test documentation and 
  7461. procedures, identified flaws, and consumer 
  7462. documentation.
  7463.  
  7464. The configuration control procedures shall permit 
  7465. the regeneration of any supported version of the 
  7466. TCB.
  7467.  
  7468. 4.12    Evidence of TCB Protection Properties
  7469.  
  7470. The documentation of the TCB protection properties includes 
  7471. the definition of the functional component requirements, 
  7472. their modeling (if any), and their interpretation within a 
  7473. product's TCB. For each requirement of a protection profile, 
  7474. a description, definition (an informal, descriptive 
  7475. specification), or a formal specification of the TCB 
  7476. components and their operation corresponding to the 
  7477. requirement must be provided.
  7478.  
  7479. For CS3, EPP-2 was assigned from the Federal Criteria. No 
  7480. refinements were made from the Federal Criteria.
  7481.  
  7482.  EPP-2 Evidence of Informal Model Interpretation in the TCB
  7483.  
  7484. The developer shall provide documentation which 
  7485. describes the correspondence between the 
  7486. functional component requirements and the TCB 
  7487. elements and interfaces. The developer shall also 
  7488. provide an informal access control model and its 
  7489. interpretation within the TCB. The TCB properties, 
  7490. which are defined by this correspondence, shall be 
  7491. explained in this documentation.
  7492.  
  7493.  
  7494.  
  7495. 4.13    Evidence of Product Development
  7496.  
  7497. Product development evidence consists of the TCB design 
  7498. evidence including the documentation of the TCB interface, TCB 
  7499. elements, TCB structure, TCB structuring support, and TCB 
  7500. design disciplines. The TCB implementation evidence includes 
  7501. TCB source code, and the processor hardware and firmware 
  7502. specifications.
  7503.  
  7504. For CS3, EPD-1 was assigned from the Federal Criteria. No 
  7505. refinements were made from the Federal Criteria.
  7506.  
  7507.  EPD-1: Description Of The TCB External Interface
  7508.  
  7509. The developer shall provide an accurate 
  7510. description of the functions, effects, exceptions 
  7511. and error messages visible at the TCB interface.
  7512.  
  7513. The developer shall provide a list of the TCB 
  7514. elements (hardware, software, and firmware).
  7515.  
  7516. 4.14    Evidence of Functional Testing
  7517.  
  7518. Functional testing evidence includes the testing itself, 
  7519. the test plans, and test documentation results. Test plans 
  7520. consist of: the description definition or specification of the 
  7521. test conditions; the test data, which consists of the test 
  7522. environment set-up; the test parameters and expected 
  7523. outcomes; and a description of the test coverage. 
  7524.  
  7525. For CS3, EFT-1 was assigned from the Federal Criteria. No 
  7526. refinements were made from the Federal Criteria.
  7527.  
  7528.  EFT-1: Evidence of Conformance Testing
  7529.  
  7530. The developer shall provide evidence of the 
  7531. functional testing that includes the test plan, 
  7532. the test procedures and the results of the 
  7533. functional testing.
  7534.  
  7535. 4.15    Evidence of Penetration Analysis
  7536.  
  7537. The penetration analysis evidence includes, in addition to 
  7538. penetration test plans and results configured in the same 
  7539. manner as the functional testing evidence, the documentation 
  7540. of the penetration-resistance testing methods and tools, 
  7541. conditions that were verified, the outcomes of the 
  7542. verification and, when appropriate, the scenario of the 
  7543. discovered penetration flaws. The cause of every discovered 
  7544. penetration flaw, or class of penetration flaws, must also be 
  7545. documented.
  7546.  
  7547. For CS3, EPA-1 was assigned from the Federal Criteria. No 
  7548. refinements were made from the Federal Criteria.
  7549.  
  7550.  EPA-1: Evidence of Penetration Testing
  7551.  
  7552. The developer shall provide evidence of 
  7553. penetration testing. The evidence shall identify 
  7554. all product documentation on which the search for 
  7555. flaws was based. The penetration evidence shall 
  7556. describe the scenarios for exploiting each 
  7557. potential flaw in the system and the penetration 
  7558. test conditions, data (e.g., test set-up, function 
  7559. call parameters, and test outcomes), coverage, and 
  7560. conclusions derived from each scenario.
  7561.  
  7562. 4.16    Evidence of Product Support
  7563.  
  7564. Product support evidence consists of the development 
  7565. environment and operational support documentation and tools. 
  7566. The development environment evidence includes the 
  7567. documentation of the product life-cycle process, 
  7568. configuration management procedures enforced, and the trusted 
  7569. distribution mechanisms and procedures used. It also 
  7570. includes: the identification of the tools used in the product 
  7571. development, configuration management, and trusted 
  7572. distribution; and the characteristics that make those tools 
  7573. suitable for the development of product protection.
  7574.  
  7575. For CS3, EPS-1 was assigned from the Federal Criteria. No 
  7576. refinements were made from the Federal Criteria.
  7577.  
  7578.  EPS-1: Evidence of Basic Product Support
  7579.  
  7580. The developer shall provide evidence that 
  7581. describes the policies, procedures, and plans 
  7582. established by the developer to satisfy the 
  7583. Operational Support and Development Environment 
  7584. requirements of the protection profile. 
  7585.  
  7586. 4.17    Test Analysis
  7587.  
  7588. Test analysis determines whether the product meets the 
  7589. functional protection requirements defined in the protection 
  7590. profile. Functional testing is based on operational product, 
  7591. the TCB's functional properties, the product's operational 
  7592. support guidance, and other producer's documentation as 
  7593. defined by the development evidence requirements. Functional 
  7594. test analysis is based on the achieved test results as 
  7595. compared to the expected results derived from the development 
  7596. evidence.
  7597.  
  7598. For CS3, TA-2 was assigned from the Federal Criteria. No 
  7599. refinements were made from the Federal Criteria.
  7600.  
  7601.  TA-2: Enhanced Test Analysis
  7602.  
  7603. The evaluator shall assess whether the producer 
  7604. has performed the activities defined in the 
  7605. development assurance requirements of the 
  7606. protection profile for functional testing and 
  7607. penetration analysis, and whether the producer has 
  7608. documented these activities as defined in the 
  7609. development evidence requirements of the 
  7610. protection profile. The evaluator shall analyze 
  7611. the results of the producer's testing activities 
  7612. for completeness of coverage and consistency of 
  7613. results, and general correctness (e.g., defect 
  7614. trend from regression testing). This analysis 
  7615. shall examine the testability of requirements, the 
  7616. adequacy of the tests to measure the required 
  7617. properties, the deviation of the actual results 
  7618. obtained from the expected results, and a general 
  7619. interpretation of what the testing results mean. 
  7620. The evaluator shall determine whether the 
  7621. product's protection properties, as described in 
  7622. the product documentation, and all relevant known 
  7623. penetration flaws have been tested. The evaluator 
  7624. shall assess testing results to determine whether 
  7625. the product's TCB works as claimed, and whether 
  7626. there are any remaining obvious ways (i.e., ways 
  7627. that are known, or that are readily apparent or 
  7628. easily discovered in product documentation) for an 
  7629. unauthorized user to bypass the policy implemented 
  7630. by the TCB or otherwise defeat the product's TCB.
  7631.  
  7632. 4.18    Independent Testing 
  7633.  
  7634. Independent testing determines whether the product's TCB 
  7635. meets the functional protection requirements as defined in the 
  7636. functionality chapter of this Protection Profile. Testing is 
  7637. based on operational product, the TCB's functional 
  7638. properties, the product's operational support guidance, and 
  7639. other producer's documentation as defined by the Development 
  7640. Evidence requirements.
  7641.  
  7642. For CS3, IT-1 was assigned from the Federal Criteria. No 
  7643. refinements were made from the Federal Criteria.
  7644.  
  7645.  IT-1: Elementary Independent Testing
  7646.  
  7647. A tester, independent of the producer or 
  7648. evaluator, shall perform functional and elementary 
  7649. penetration testing. This testing shall be based 
  7650. on the product's user and administrative 
  7651. documentation, and on relevant known penetration 
  7652. flaws. Satisfactory completion consists of 
  7653. demonstrating that all user-visible security 
  7654. enforcing functions and security-relevant 
  7655. functions work as described in the product's user 
  7656. and administrative documentation and that no 
  7657. discrepancies exist between the documentation and 
  7658. the product. Test results of the producer shall be 
  7659. confirmed by the results of independent testing. 
  7660. The evaluator may selectively reconfirm any test 
  7661. result.
  7662.  
  7663. If the independent testing is performed at beta-
  7664. test sites, the producer shall supply the beta-
  7665. test plan and the test results. The evaluator 
  7666. shall review the scope and depth of beta testing 
  7667. with respect to the required protection 
  7668. functionality, and shall verify independence of 
  7669. both the test sites and the producer's and beta-
  7670. test user's test results. The evaluator shall 
  7671. confirm that the test environment of the beta-test 
  7672. site(s) adequately represents the environment 
  7673. specified in the protection profile.
  7674.  
  7675. 4.19    Development Environment Review
  7676.  
  7677. Development environment review determines whether the 
  7678. product meets the requirements as defined in the protection 
  7679. profile's Development Assurance subsections for Development 
  7680. Environment including Life-Cycle Definition and Configuration 
  7681. Management.
  7682.  
  7683. For CS3, DER-1 was assigned from the Federal Criteria. No 
  7684. refinements were made from the Federal Criteria.
  7685.  
  7686.  DER-1: Elementary Development Environment Review 
  7687.  
  7688. The evaluator shall review the producer's 
  7689. development and maintenance process description 
  7690. documentation to determine the degree of 
  7691. discipline enforced upon and within the process, 
  7692. and to determine the protection characteristics 
  7693. associated with the product's development and 
  7694. maintenance. The results of this review shall 
  7695. establish, for the evaluator, the producer's 
  7696. development environment, its policies, and the 
  7697. degree of enforcement maintained during 
  7698. development execution.
  7699.  
  7700. 4.20    Operational Support Review
  7701.  
  7702. Operation support review establishes the level of review 
  7703. required to determine whether the product meets the 
  7704. requirements as defined in the protection profile's 
  7705. Development Assurance subsections for Operational Support 
  7706. including, at the CS3 level, the User and Administrative 
  7707. Guidance documents.
  7708.  
  7709. For CS3, OSR-1 was assigned from the Federal Criteria. No 
  7710. refinements were made from the Federal Criteria.
  7711.  
  7712.  OSR-1 Elementary Operational Support Review
  7713.  
  7714. The evaluator shall review all documentation 
  7715. focused on the activities of product use (e.g., 
  7716. Users Manuals) and product administration 
  7717. including installation, operation, maintenance, 
  7718. and trusted recovery (e.g., Trusted Facility 
  7719. Management Manuals). This review shall assess the 
  7720. clarity of presentation, difficulty in locating 
  7721. topics of interest, ease of understanding, and 
  7722. completeness of coverage. The need for separate 
  7723. manuals dedicated to protection-relevant aspects 
  7724. of the product should be assessed for 
  7725. effectiveness.
  7726.  
  7727. This component should also address flaw 
  7728. remediation and trusted generation. [[TBD.]]
  7729.  
  7730. 4.21    Design Analysis
  7731.  
  7732. Design analysis determines whether the product meets the 
  7733. design requirements as defined in the Development Process 
  7734. Assurance section of the protection profile, including the TCB 
  7735. Property Definition and TCB Design requirements. The analysis 
  7736. is based on the producer's documentation, as defined by the 
  7737. Development Evidence requirements.
  7738.  
  7739. For CS3, DA-1 was assigned from the Federal Criteria. No 
  7740. refinements were made from the Federal Criteria.
  7741.  
  7742.  DA-1: Elementary Design Analysis
  7743.  
  7744. The evaluator shall determine whether the producer 
  7745. has performed the activities defined in the 
  7746. development process assurance requirements of the 
  7747. protection profile for TCB property definition and 
  7748. TCB design. The evaluator shall determine whether 
  7749. the producer has documented these activities as 
  7750. defined in the development evidence requirements 
  7751. of the protection profile. The evaluator shall 
  7752. analyze the results of the producer's activities 
  7753. for completeness and consistency of design with 
  7754. respect to requirements.
  7755.  
  7756. CSR References
  7757.  
  7758. 1.    U.S. Department of Defense Trusted Computer System 
  7759. Evaluation Criteria (TCSEC), DoD 5200.28-STD, December 
  7760. 1985.
  7761.  
  7762.  
  7763.  
  7764. 2.    Information Technology Security Evaluation Criteria 
  7765. (ITSEC) - Provisional Harmonized Criteria, Version 1.2, 
  7766. June 1991.
  7767.  
  7768.  
  7769.  
  7770. 3.    Bellcore Standard Operating Environment Security 
  7771. Requirements, TA-STS-001080, Issue 2, June, 1991.
  7772.  
  7773.  
  7774.  
  7775. 4.    Commercial International Security Requirements (CISR), 
  7776. Cutler, K. and Jones, F., Final Draft, September 9, 1991.
  7777.  
  7778.  
  7779.  
  7780. 5.    Computers at Risk - Safe Computing in the Information 
  7781. Age, National Research Council, National Academy Press, 
  7782. 1991.
  7783.  
  7784.  
  7785.  
  7786. 6.    Information Technology - Open Systems Interconnection - 
  7787. Security Frameworks in Open Systems - Part 2: 
  7788. Authentication Framework, Draft International Standard 
  7789. DIS 10181-2, International Organization for 
  7790. Standardization, 13 May 1991
  7791.  
  7792.  
  7793.  
  7794. 7.    Assessing Federal and Commercial Information Security 
  7795. Needs, Ferraiolo, D., Gilbert, D., and Lynch, N., NIST 
  7796. Draft Internal Report, September 1992.
  7797.  
  7798.  
  7799.  
  7800. 8.    Security Controls for Computer Systems: Report of Defense 
  7801. Science Board Task Force on Computer Security, Willis 
  7802. Ware, Editor, R-609-1, 1970, Reissued October 1979.
  7803.  
  7804.  
  7805.  
  7806. 9.    Information Processing Systems - Open Systems 
  7807. Interconnection Reference Model - Part 2: Security 
  7808. Architecture, International Standard ISO 7498-2, 
  7809. International Organization for Standardization, 1988
  7810.  
  7811.  
  7812.  
  7813. 10.    Minimum Security Requirements for Multi-User Operating 
  7814. Systems: A Protection Profile for the U.S. Information 
  7815. Security Standard, National Institute of Standards and 
  7816. Technology, 1992 draft.
  7817.  
  7818.  
  7819.  
  7820. 11.    U.S. Information Technology Security Standard.
  7821.  
  7822. 12.    Role-Based Access Controls, Ferraiolo, D. and Kuhn, R., 
  7823. 15th National Computer Security Conference, October 1992.
  7824.  
  7825.  
  7826.  
  7827. 13.    A Comparison of Commercial and Military Computer 
  7828. Security Policies, IEEE Symposium on Computer Security and 
  7829. Privacy, April 1987.
  7830. DRAFT
  7831.  
  7832.  
  7833.  
  7834.  LABEL BASED PROTECTION
  7835.  
  7836.  FOR
  7837.  
  7838. MULTI-USER INFORMATION SYSTEMS
  7839.  
  7840.  
  7841.  
  7842. LEVEL 1
  7843.  
  7844. (LP-1)
  7845.  
  7846.  
  7847.  
  7848.  
  7849.  
  7850.  A Protection Profile
  7851.  
  7852. Derived from the Federal Criteria for IT Security
  7853.  
  7854.  
  7855.  
  7856. Version 1.0
  7857.  
  7858.  
  7859.  
  7860.  
  7861.  
  7862.  
  7863.  
  7864. December 1992
  7865.  
  7866.  
  7867.  
  7868. This document is undergoing review and 
  7869. is subject to modification or withdrawal.
  7870.  
  7871. The contents of this document should not 
  7872. be referenced in other publications.
  7873.  
  7874.  
  7875.  
  7876.  
  7877.  
  7878.  
  7879.  
  7880. Supersedes the
  7881.  
  7882. Trusted Computer System Evaluation Criteria
  7883.  
  7884. Class B1
  7885.  
  7886.  
  7887.  
  7888.  
  7889.  
  7890. DRAFT
  7891.  
  7892. LABEL-BASED PROTECTION - 1 (LP-1)
  7893.  
  7894. This Protection Profile has been developed to define a set of 
  7895. technical measures that can be incorporated into remote-
  7896. access, resource- and information-sharing Information 
  7897. Technology (IT) products that will be used to protect two or 
  7898. more compartments of National Security Information classified 
  7899. according to US Executive Order 12356 (EO 12356). This profile 
  7900. can also be used to protect any information that has been 
  7901. designated as sensitive information for which information 
  7902. separation and access are based on sensitivity markings 
  7903. applied to the information.
  7904.  
  7905. Compliant IT products will provide protection for a 
  7906. compartmented information processing environment with which 
  7907. an organization can construct an automated information system 
  7908. to enhance or optimize the organization's ability to perform 
  7909. its mission.
  7910.  
  7911. In LP-1 conformant systems, the TCB is based on a multi-level 
  7912. security policy model for confidentiality that requires both 
  7913. discretionary and non-discretionary access controls. In 
  7914. relation to lower levels of protection functionality, LP-1 
  7915. conformat systems have the following additional features.
  7916.  
  7917. a.    Access control enforcement includes a defined subset 
  7918. of subjects and objects in the ADP system. 
  7919.  
  7920. b.    An informal statement of the security policy model, 
  7921. data labeling, and mandatory access control over named 
  7922. subjects and objects is included.
  7923.  
  7924. c.    The supported labels accurately represent the 
  7925. sensitivity of objects and subjects, and are 
  7926. maintained on exported objects. 
  7927.  
  7928. d.    Any flaws identified by testing are removed or 
  7929. neutralized.
  7930.  
  7931.  
  7932.  
  7933. Cross References:
  7934.  
  7935. o    Existing Criteria:
  7936.  
  7937. (1)    TCSEC: B1
  7938.  
  7939. (2)    ITSEC
  7940.  
  7941. (3)    CTCPEC
  7942.  
  7943. o    Other Protection Profiles
  7944.  
  7945. (1)    TBD
  7946.  
  7947.  
  7948.  
  7949. COMPONENT SUMMARY:
  7950.  
  7951.  
  7952.  
  7953. LP-1 Functional Component Summary
  7954. .--------------------------------------------.
  7955. |                                  | Code &  |
  7956. | Functional Component             | Level   |
  7957. |============================================|
  7958. | Security Policy Support                    |
  7959. |----------------------------------+---------|
  7960. |  Accountability                  |         |
  7961. |----------------------------------+---------|
  7962. |   Identification&Authentication  |  I&A-2  |
  7963. |----------------------------------+---------|
  7964. |   System Entry                   |  ----   |
  7965. |----------------------------------+---------|
  7966. |   Trusted Path                   |  ----   |
  7967. |----------------------------------+---------|
  7968. |   Audit                          |  AD-1   |
  7969. |----------------------------------+---------|
  7970. |  Access Control                  |  AC-2   |
  7971. |----------------------------------+---------|
  7972. |   Discretionary                  |  AC-2   |
  7973. |----------------------------------+---------|
  7974. |   Non-Discretionary              |  AC-2   |
  7975. |----------------------------------+---------|
  7976. |   Covert Channel Handling        |  -----  |
  7977. |----------------------------------+---------|
  7978. |  Availability                    |  ----   |
  7979. |----------------------------------+---------|
  7980. |   Resource Allocation            |  ----   |
  7981. |----------------------------------+---------|
  7982. |   Fault Tolerance                |  ----   |
  7983. |----------------------------------+---------|
  7984. |  Security Mgmt.                  |  ----   |
  7985. |----------------------------------+---------|
  7986. | Reference Mediation              |  RM-1   |
  7987. |----------------------------------+---------|
  7988. | TCB Logical Protection           |  P-1    |
  7989. |----------------------------------+---------|
  7990. | TCB Physical Protection          |  ----   |
  7991. |----------------------------------+---------|
  7992. | TCB Self-checking                |  SC-1   |
  7993. |----------------------------------+---------|
  7994. | TCB Start-Up and Recovery        |  ----   |
  7995. |----------------------------------+---------|
  7996. | TCB Privileged Operation         |  ----   |
  7997. |----------------------------------+---------|
  7998. | TCB Ease-of-Use                  |  ----   |
  7999. `--------------------------------------------'
  8000.  
  8001.  
  8002.     LP-1 Assurance Component Summary
  8003. .---------------------------------------.
  8004. | Assurance Components           |  T2  |
  8005. |================================|======|
  8006. | Development Assurance Components      |     
  8007. |=======================================|
  8008. | Development Process                   |
  8009. |--------------------------------+------|
  8010. | TCB Property Definition        | PD-2 |
  8011. |--------------------------------+------|
  8012. | TCB Design                            |
  8013. |--------------------------------+------|
  8014. |   TCB Element Identification   | ID-2 |
  8015. |--------------------------------+------|
  8016. |   TCB Interface Definition     | IF-1 |
  8017. |--------------------------------+------|
  8018. |   TCB Modular Decomposition    | ---- |
  8019. |--------------------------------+------|
  8020. |   TCB Structuring Support      | SP-1 |
  8021. |--------------------------------+------|
  8022. |   TCB Design Disciplines       | ---- |
  8023. |--------------------------------+------|
  8024. | TCB Implementation Support     | ---- |
  8025. |--------------------------------+------|
  8026. | TCB Testing and Analysis              |
  8027. |--------------------------------+------|
  8028. |   Functional Testing           | FT-1 |
  8029. |--------------------------------+------|
  8030. |   Penetration Analysis         | ---- |
  8031. |--------------------------------+------|
  8032. |   Covert Channel Analysis      | ---- |
  8033. |--------------------------------+------|
  8034. | Operational Support                   |
  8035. |--------------------------------+------|
  8036. | User Security Guidance         | UG-1 |
  8037. |--------------------------------+------|
  8038. | Administrative Guidance        | AG-1 |
  8039. |--------------------------------+------|
  8040. | Trusted Generation             | TG-1 |
  8041. |--------------------------------+------|
  8042. | Development Environment               |
  8043. |--------------------------------+------|
  8044. | Life Cycle Definition          | ---- |
  8045. |--------------------------------+------|
  8046. | Configuration Management       | ---- |
  8047. |--------------------------------+------|
  8048. | Trusted Distribution           | ---- |
  8049. |--------------------------------+------|
  8050. | Development Evidence                  |
  8051. |--------------------------------+------|
  8052. | TCB Protection Properties      | EPP2 |
  8053. |--------------------------------+------|
  8054. | Product Development            | EPD1 |
  8055. |--------------------------------+------|
  8056. | Product Testing & Analysis            |
  8057. |--------------------------------+------|
  8058. |   Functional Testing           | EFT1 |
  8059. |--------------------------------+------|
  8060. |   Penetration Analysis         | ---- |
  8061. |--------------------------------+------|
  8062. |   Covert Channel Analysis      | ---- |
  8063. |--------------------------------+------|
  8064. | Product Support                | EPS1 |
  8065. `---------------------------------------'
  8066. |=======================================|
  8067. | Evaluation Assurance Components       |
  8068. |=======================================|
  8069. | Testing                               |
  8070. |--------------------------------+------|
  8071. |   Test Analysis                | TA-1 |
  8072. |--------------------------------+------|
  8073. |   Independent Testing          | IT-1 |
  8074. |--------------------------------+------|
  8075. | Review                                |
  8076. |--------------------------------+------|
  8077. |   Development Environment      | ---- |
  8078. |--------------------------------+------|
  8079. |   Operational Support          | OSR1 |
  8080. |--------------------------------+------|
  8081. | Analysis                              |
  8082. |--------------------------------+------|
  8083. |   Protection Properties        | ---- |
  8084. |--------------------------------+------|
  8085. |   Design                       | ---- |
  8086. |--------------------------------+------|
  8087. |   Implementation               | ---- |
  8088. `---------------------------------------'
  8089.  
  8090. RATIONALE
  8091.  
  8092. 1.    Information Protection Policy
  8093.  
  8094.  It is anticipated that organizations wishing to process 
  8095. compartmented-mode classified information will want to use IT 
  8096. products that are compliant with this profile in their 
  8097. automated information processing systems. These organizations 
  8098. should be able to trust the profile-compliant IT product to 
  8099. contribute to the protection of the compartmented information 
  8100. at least as much as they trust the properly cleared personnel 
  8101. who are using and managing the system.
  8102.  
  8103. 2.    Protection Philosophy
  8104.  
  8105. This profile presumes an environment providing control of 
  8106. access to shared resources both (1) on the basis of attributes 
  8107. that are controlled by the ordinary users of the system and 
  8108. (2) on the basis of attributes that are controlled only by the 
  8109. system administrators.
  8110.  
  8111. Profile compliant IT products will minimally meet the 
  8112. following objectives:
  8113.  
  8114. a.    Enforce an informally defined security policy that 
  8115. describes the rules for accessing and administering 
  8116. access controls.
  8117.  
  8118. b.    Associate explicit sensitivity labels with a defined 
  8119. subset of the system entities. Associate explicit 
  8120. sensitivity labels with each port through which 
  8121. information may be exported from or imported to the 
  8122. system. Maintain the accuracy of the access control 
  8123. labels as information moves within the system and 
  8124. through the ports.
  8125.  
  8126. c.    Authenticate the claimed identity of each external 
  8127. human user of the IT product prior to establishing any 
  8128. internal entity to act on behalf of that user and 
  8129. firmly bind the authenticated user identity to the 
  8130. internal entity.
  8131.  
  8132. d.    Selectively keep and protect a log of all actions or 
  8133. events that could affect system security so that they 
  8134. can be accurately attributed to the known user or 
  8135. system entity responsible for causing the action or 
  8136. event.
  8137.  
  8138. 3.    Expected Threats
  8139.  
  8140. The requirements for profile conforming IT products assume 
  8141. that these products are being used in an environment where 
  8142. there are multiple categories of classified data and users. A 
  8143. conforming IT product can be expected to protect the 
  8144. confidentiality of information in an environment where there 
  8145. are two or more levels of classified data and two or more 
  8146. levels of cleared users, but where malicious applications 
  8147. programs (e.g., Trojan Horses) and users are not present.
  8148.  
  8149. 4.    Assumed Environment
  8150.  
  8151. 4.1    Characteristics
  8152.  
  8153. IT products complying with the requirements set forth in this 
  8154. profile are expected to be used in an environment with the 
  8155. following characteristics:
  8156.  
  8157. a.    Multiple users will be accessing the operating system 
  8158. at the same time.
  8159.  
  8160. b.    The IT product hardware base (e.g., CPU, printers, 
  8161. terminals, etc.) is protected from unauthorized 
  8162. physical access.
  8163.  
  8164. c.    One or more administrators are assigned to manage the 
  8165. system in which the IT product is incorporated, 
  8166. including the security of the information it contains.
  8167.  
  8168. d.    A need to control user access to objects exists and is 
  8169. based on an explicit sensitivity marking associated 
  8170. with the information (e.g, Confidential, Secret or Top 
  8171. Secret) and on that user's identity and membership in 
  8172. organizations or groups.
  8173.  
  8174. e.    The IT product provides facilities for some or all of 
  8175. the authorized users to create programs that use the 
  8176. applications programming interface (API) and make 
  8177. those programs available to other users.
  8178.  
  8179. f.    The IT product is used to provide a cooperative 
  8180. environment for the users to accomplish some task or 
  8181. group of tasks.
  8182.  
  8183. 4.2    Environment Dependencies
  8184.  
  8185. Secure installation and operation of a product satisfying 
  8186. these profile requirements depends on provision of a number 
  8187. of elements in the installation environment. These include:
  8188.  
  8189. a.    Physical security must be provided. 
  8190.  
  8191. b.    Cabling to other devices must be shown to be 
  8192. consistent with policy implemented by the product. For 
  8193. example, a "port" in the product is required to have 
  8194. an assigned label. No device can be connected to the 
  8195. port unless it has been established externally that 
  8196. the device is allowed to receive data with the same 
  8197. label.
  8198.  
  8199. c.    Personnel allowed to access data processed by the 
  8200. installed product must already be authorized for such 
  8201. access.
  8202.  
  8203. 5.    Intended Use
  8204.  
  8205. Conforming IT products are useful in both general-purpose 
  8206. office automation environments with multiple data 
  8207. sensitivities and in specialized computing, network and 
  8208. mission environments. Examples of the office automation 
  8209. environment might include military headquarters and highly 
  8210. competitive procurement offices. An example of the 
  8211. specialized mission environment might be as a platform for a 
  8212. portable battlefield map and mission management application.
  8213.  
  8214. FUNCTIONAL REQUIREMENTS
  8215.  
  8216. I&A-2 Identification, Authentication, and Authorization
  8217.  
  8218. 1.    The TCB shall require users to identify 
  8219. themselves to it before beginning to perform any 
  8220. other actions that the TCB is expected to mediate. 
  8221. The TCB shall be able to enforce individual 
  8222. accountability by providing the capability to 
  8223. uniquely identify each individual user. The TCB 
  8224. shall also provide the capability of associating 
  8225. this identity with all auditable actions taken by 
  8226. that individual.
  8227.  
  8228. 2.     The TCB shall maintain authentication data that 
  8229. includes information for verifying the identity of 
  8230. individual users (e.g., passwords) as well as 
  8231. information for determining the clearance and 
  8232. authorization of individual users. These data 
  8233. shall be used by the TCB to authenticate the 
  8234. user's identity and to ensure that the subject 
  8235. security level and authorizations of subjects 
  8236. external to the TCB that may be created to act on 
  8237. behalf of the individual user are dominated by the 
  8238. clearance and authorization of that user).
  8239.  
  8240. 3.     The TCB shall protect authentication data so 
  8241. that it cannot be used by any unauthorized user. 
  8242.  
  8243. AD-1 - Minimal Audit
  8244.  
  8245. 1.    The TCB shall be able to create, maintain, and 
  8246. protect from modification or unauthorized access 
  8247. or destruction an audit trail of accesses to the 
  8248. objects it protects. The audit data shall be 
  8249. protected by the TCB so that read access to it is 
  8250. limited to those who are authorized for audit 
  8251. data.
  8252.  
  8253. 2.    The TCB shall be able to record the following 
  8254. types of events:
  8255.  
  8256.     - use of the identification and authentication 
  8257. mechanisms;
  8258.  
  8259.     - introduction of objects into a user's address 
  8260. space (e.g., file open, program initiation), and 
  8261. deletion of objects;
  8262.  
  8263.     - actions taken by computer operators and system 
  8264. administrators and/or system security officers.
  8265.  
  8266. The TCB shall be able to record any override of 
  8267. human-readable output markings.
  8268.  
  8269. 3.    For each recorded event, the audit record shall 
  8270. identify: date and time of the event, user, type 
  8271. of event, and success or failure of the event. For 
  8272. identification/authentication events the origin of 
  8273. request (e.g., terminal ID) shall be included in 
  8274. the audit record. For events that introduce an 
  8275. object into a user's address space and for object 
  8276. deletion events the audit record shall include the 
  8277. name and the object security level.
  8278.  
  8279. 4.    The system administrator shall be able to 
  8280. selectively audit the actions of one or more users 
  8281. based on individual identity and/or object 
  8282. security level.
  8283.  
  8284. AC-2 Basic Access Control
  8285.  
  8286. 1.    Definition of Access Control Attributes
  8287.  
  8288. The TCB shall define and protect access control 
  8289. attributes for subjects and objects. Subject 
  8290. attributes shall include named individuals or 
  8291. defined groups or both. Object attributes shall 
  8292. include defined access rights (e.g., read, write, 
  8293. execute) that can be assigned to subject 
  8294. attributes. Access control attributes 
  8295. corresponding to each individual policy shall be 
  8296. identified.
  8297.  
  8298. Sensitivity labels associated with each subject 
  8299. and object shall be maintained by the TCB. The 
  8300. sensitivity labels shall be used as the basis for 
  8301. mandatory access control decisions.
  8302.  
  8303. The subjects and objects shall be assigned 
  8304. sensitivity labels that are a combination of 
  8305. hierarchical classification levels and non-
  8306. hierarchical categories, and the labels shall be 
  8307. used as the basis for mandatory access control 
  8308. decisions. The TCB shall be able to support two or 
  8309. more such security levels.
  8310.  
  8311. The subject and object attributes shall accurately 
  8312. reflect the sensitivity and integrity of the 
  8313. subject or object. When exported by the TCB, 
  8314. sensitivity labels shall accurately and 
  8315. unambiguously represent the internal labels and 
  8316. shall be associated with the information being 
  8317. exported.
  8318.  
  8319. 2.    Administration of Access Control Attributes
  8320.  
  8321. The TCB shall define and enforce rules for 
  8322. assignment and modification of access control 
  8323. attributes for subjects and objects. The effect of 
  8324. these rules shall be that access permission to an 
  8325. object by users not already possessing access 
  8326. permission is assigned only by authorized users. 
  8327. These rules shall allow authorized users to 
  8328. specify and control sharing of objects by named 
  8329. individuals or defined groups of individuals, or 
  8330. by both, and shall provide controls to limit 
  8331. propagation of access rights. These controls shall 
  8332. be capable of including or excluding access to the 
  8333. granularity of a single user.
  8334.  
  8335. The rules for assignment and modification of 
  8336. access control attributes shall include those for 
  8337. attribute assignment to objects during import and 
  8338. export operations. 
  8339.  
  8340. Export of Labeled Information
  8341.  
  8342.     The TCB shall designate each communication 
  8343. channel and I/O device as either single-level or 
  8344. multilevel. Any change in this designation shall 
  8345. be done manually and shall be auditable by the 
  8346. TCB. The TCB shall maintain and be able to audit 
  8347. any change in the security level or levels 
  8348. associated with a communication channel or I/O 
  8349. device.
  8350.  
  8351.     1. Exportation to Multilevel Devices
  8352.  
  8353.     When the TCB exports an object to a multilevel 
  8354. I/O device, the sensitivity label associated with 
  8355. that object shall also be exported and shall 
  8356. reside on the same physical medium as the exported 
  8357. information and shall be in the same form (i.e., 
  8358. machine-readable or human-readable form). When the 
  8359. TCB exports or imports an object over a multilevel 
  8360. communication channel, the protocol used on that 
  8361. channel shall provide for the unambiguous pairing 
  8362. between the sensitivity labels and the associated 
  8363. information that is sent or received.
  8364.  
  8365.     2. Exportation to Single-Level Devices
  8366.  
  8367.     Single-level I/O devices and single-level 
  8368. communication channels are not required to 
  8369. maintain the sensitivity labels of the information 
  8370. they process. However, the TCB shall include a 
  8371. mechanism by which the TCB and an authorized user 
  8372. reliably communicate to designate the single 
  8373. security level of information imported or exported 
  8374. via single-level communication channels or I/O 
  8375. devices.
  8376.  
  8377.     3. Labeling Human-Readable Output
  8378.  
  8379.     The system administrator shall be able to 
  8380. specify the printable label names associated with 
  8381. exported sensitivity labels. The TCB shall mark 
  8382. the beginning and end of all human-readable, 
  8383. paged, hardcopy output (e.g., line printer output) 
  8384. with human-readable sensitivity labels that 
  8385. properly represent the sensitivity of the output. 
  8386. The TCB shall, by default, mark the top and bottom 
  8387. of each page of human-readable, paged, hardcopy 
  8388. output (e.g., line printer output) with human-
  8389. readable sensitivity labels that properly 
  8390. represent the overall sensitivity of the output or 
  8391. that properly represent the sensitivity of the 
  8392. information on the page. The TCB shall, by default 
  8393. and in an appropriate manner, mark other forms of 
  8394. human-readable output (e.g., maps, graphics) with 
  8395. human-readable sensitivity labels that properly 
  8396. represent the sensitivity of the output. Any 
  8397. override of these marking defaults shall be 
  8398. auditable by the TCB.
  8399.  
  8400. Import of Non-labeled Data
  8401.  
  8402.     In order to import non-labeled data, the TCB 
  8403. shall request and receive from an authorized user 
  8404. the security level of the data, and all such 
  8405. actions shall be auditable by the TCB.
  8406.  
  8407. If different rules of assignment and modification 
  8408. of access control attributes apply to different 
  8409. subjects and/or objects, the totality of these 
  8410. rules shall be shown to support the defined 
  8411. policy.
  8412.  
  8413. 3.    Authorization of Subject References to Objects
  8414.  
  8415. The TCB shall define and enforce authorization 
  8416. rules for the mediation of subject references to 
  8417. objects. These rules shall be based on the access 
  8418. control attributes of subjects and objects. These 
  8419. rules shall, either by explicit user action or by 
  8420. default, provide that objects are protected from 
  8421. unauthorized access. 
  8422.  
  8423. The authorization rules for the mandatory access 
  8424. control policy shall include:
  8425.  
  8426.     The TCB shall enforce a mandatory access control 
  8427. policy over all subjects and storage objects under 
  8428. its control (e.g., processes, files, segments, 
  8429. devices). The following requirements shall hold 
  8430. for all accesses between all subjects and objects 
  8431. controlled by the TCB: A subject can read an 
  8432. object only if the hierarchical classification in 
  8433. the subject's security level is greater than or 
  8434. equal to the hierarchical classification in the 
  8435. object's security level and the non- hierarchical 
  8436. categories in the subject's security level include 
  8437. all the non-hierarchical categories in the 
  8438. object's security level. A subject can write an 
  8439. object only if the hierarchical classification in 
  8440. the subject's security level is less than or equal 
  8441. to the hierarchical classification in the object's 
  8442. security level and all the non-hierarchical 
  8443. categories in the subject's security level are 
  8444. included in the non-hierarchical categories in the 
  8445. object's security level.
  8446.  
  8447. The scope of the authorization rules shall include 
  8448. a defined subset of the product's subjects and 
  8449. objects and associated access control attributes. 
  8450. The coverage of authorization rules shall specify 
  8451. the types of objects and subjects to which these 
  8452. rules apply. If different rules apply to different 
  8453. subjects and objects, the totality of these rules 
  8454. shall be shown to support the defined policy. 
  8455.  
  8456. The authorization rules for each policy shall be 
  8457. defined separately. The TCB shall define and 
  8458. enforce the composition of policies, including the 
  8459. enforcement of the authorization rules (e.g., 
  8460. subject and object type coverage, enforcement 
  8461. precedence).
  8462.  
  8463. 4. Subject and Object Creation and Destruction
  8464.  
  8465. The TCB shall control the creation and destruction 
  8466. of subjects and objects. These controls shall 
  8467. include object reuse. That is, all authorizations 
  8468. to the information contained within a storage 
  8469. object shall be revoked prior to initial 
  8470. assignment, allocation or reallocation to a 
  8471. subject from the TCB's pool of unused storage 
  8472. objects; information, including encrypted 
  8473. representations of information, produced by a 
  8474. prior subjects' actions shall be unavailable to 
  8475. any subject that obtains access to an object that 
  8476. has been released back to the system.
  8477.  
  8478. RM-1 Mediation of References to a Defined Subject/Object 
  8479. Subset
  8480.  
  8481. 1.     The TCB shall mediate all references to 
  8482. subjects, objects, resources, and services (e.g., 
  8483. TCB functions) described in the TCB 
  8484. specifications. The mediation shall ensure that 
  8485. all references are directed to the appropriate 
  8486. security-policy functions.
  8487.  
  8488. 2.    Reference mediation shall include references to 
  8489. the defined subset of subjects, objects, and 
  8490. resources protected under the TCB security policy, 
  8491. and to their policy attributes (i.e., access 
  8492. rights, security levels).
  8493.  
  8494. 3.     References issued by privileged subjects shall 
  8495. be mediated in accordance with the policy 
  8496. attributes defined for those subjects.
  8497.  
  8498. P-1 Basic TCB Isolation
  8499.  
  8500. The TCB shall maintain a domain for its own 
  8501. execution that protects it from external 
  8502. interference and tampering (e.g., by reading or 
  8503. modification of its code and data structures). The 
  8504. protection of the TCB shall provide TCB isolation 
  8505. and noncircumventability of TCB isolation 
  8506. functions as follows:
  8507.  
  8508.     1. TCB Isolation requires that (1) the address 
  8509. spaces of the TCB and those of unprivileged 
  8510. subjects are separated such that users, or 
  8511. unprivileged subjects operating on their behalf, 
  8512. cannot read or modify TCB data structures or code, 
  8513. (2) the transfers between TCB and non-TCB domains 
  8514. are controlled such that arbitrary entry to or 
  8515. return from the TCB are not possible; and (3) the 
  8516. user or application parameters passed to the TCB 
  8517. by addresses are validated with respect to the TCB 
  8518. address space, and those passed by value are 
  8519. validated with respect to the values expected by 
  8520. the TCB.
  8521.  
  8522.     2. Noncircumventability of TCB isolation 
  8523. functions requires that the permission to objects 
  8524. (and/or to non-TCB data) passed as parameters to 
  8525. the TCB are validated with respect to the 
  8526. permissions required by the TCB, and references to 
  8527. TCB objects implementing TCB isolation functions 
  8528. are mediated by the TCB.
  8529.  
  8530. SC-1 Minimal Self Checking
  8531.  
  8532. Hardware and/or software features shall be 
  8533. provided that can be used to periodically validate 
  8534. the correct operation of the on-site hardware and 
  8535. firmware elements of the TCB.
  8536.  
  8537. ASSURANCES 
  8538.  
  8539. Requirements for TCB Property Definition
  8540.  
  8541. PD-2 Informal Property Identification
  8542.  
  8543. The developer shall provide informal models for 
  8544. the functional components and sub-components of 
  8545. the profile. At a minimum, an informal model of 
  8546. the access control components shall be provided. 
  8547. Each informal model shall include (abstract) data 
  8548. structures and operations defining each functional 
  8549. component or sub-component, and a description of 
  8550. the model properties. The developer shall 
  8551. interpret (e.g., trace) the informal models within 
  8552. the product TCB. For each model entity, the 
  8553. developer shall: (1) identify the TCB elements and 
  8554. their TCB interfaces (if any) that implement that 
  8555. entity; (2) define the operation of these TCB 
  8556. elements, and (3) explain why the operation of 
  8557. these elements is consistent with the model 
  8558. properties. The developer's interpretation of each 
  8559. informal model, which defines the TCB properties, 
  8560. shall identify all TCB elements that do not 
  8561. correspond to any model entity and shall explain 
  8562. why these elements do not render the TCB 
  8563. properties invalid.
  8564.  
  8565. For the components that are not informally 
  8566. modeled, the developer shall interpret the 
  8567. functional requirements of the protection profile 
  8568. within the product TCB. For each functional 
  8569. requirement, the developer shall: (1) identify the 
  8570. TCB elements and their TCB interfaces (if any) 
  8571. that implement that requirement; (2) describe the 
  8572. operation of these TCB elements, and (3) explain 
  8573. why the operation of these elements is consistent 
  8574. with the functional requirement. The developer's 
  8575. interpretation of each functional requirement, 
  8576. which describes the TCB properties, shall identify 
  8577. all TCB elements that do not correspond to any 
  8578. functional requirement and shall explain why these 
  8579. elements do not render the TCB properties invalid.
  8580.  
  8581. Requirements for TCB Element Identification
  8582.  
  8583. ID-2: TCB Element Justification
  8584.  
  8585. The developer shall identify the TCB elements 
  8586. (i.e., software, hardware/firmware code and data 
  8587. structures). Each element must be unambiguously 
  8588. identified by its name, type, release, and version 
  8589. number (if any).
  8590.  
  8591. The developer shall justify the protection 
  8592. relevance of the identified elements (i.e., only 
  8593. elements that can affect the correct operation of 
  8594. the protection functions shall be included in the 
  8595. TCB).
  8596.  
  8597. Requirements for TCB Interface Definition
  8598.  
  8599. IF-1: Interface Description
  8600.  
  8601. The developer shall describe all external (e.g., 
  8602. command, software, and I/O) administrative (i.e., 
  8603. privileged) and non-administrative interfaces to 
  8604. the TCB. The description shall include those 
  8605. components of the TCB that are implemented as 
  8606. hardware and/or firmware if their properties are 
  8607. visible at the TCB interface.
  8608.  
  8609. The developer shall identify all call conventions 
  8610. (e.g., parameter order, call sequence 
  8611. requirements) and exceptions signaled at the TCB 
  8612. interface.
  8613.  
  8614. Requirements for TCB Structuring Support
  8615.  
  8616. SP-1: Process Isolation
  8617.  
  8618. The TCB shall maintain process isolation.
  8619.  
  8620.  
  8621.  
  8622. Requirements for Developer Functional Testing
  8623.  
  8624. FT-1: Conformance Testing
  8625.  
  8626. The developer shall test the TCB interface to show 
  8627. that all claimed protection functions work as 
  8628. stated in the TCB interface description.
  8629.  
  8630. The developer shall correct all flaws discovered 
  8631. by testing and shall retest the TCB until the 
  8632. protection functions are shown to work as claimed.
  8633.  
  8634.  
  8635.  
  8636. Requirements for User Guidance
  8637.  
  8638. UG-1: Users' Guide
  8639.  
  8640. The developer shall provide a User Guide which 
  8641. describes all protection services provided and 
  8642. enforced by the TCB. The User Guide shall describe 
  8643. the interaction between these services and provide 
  8644. examples of their use. The User Guide may be in the 
  8645. form of a summary, chapter or manual. The User 
  8646. Guide shall specifically describe user 
  8647. responsibilities. These shall encompass any user 
  8648. responsibilities identified in the protection 
  8649. profile.
  8650.  
  8651. Requirements for Administrative Guidance
  8652.  
  8653. AG-1: Basic Administrative Guidance
  8654.  
  8655. The developer shall provide a Trusted Facility 
  8656. Manual intended for the product administrators 
  8657. that describes how to use the TCB security 
  8658. services (e.g., Access Control, System Entry, or 
  8659. Audit) to enforce a system security policy. The 
  8660. Trusted Facility Manual shall include the 
  8661. procedures for securely configuring, starting, 
  8662. maintaining, and halting the TCB. The Trusted 
  8663. Facility Manual shall explain how to analyze audit 
  8664. data generated by the TCB to identify and document 
  8665. user and administrator violations of this policy. 
  8666. The Trusted Facility Manual shall explain the 
  8667. privileges and functions of administrators. The 
  8668. Trusted Facility Manual shall describe the 
  8669. administrative interaction between security 
  8670. services.
  8671.  
  8672. The Trusted Facility Manual shall be distinct from 
  8673. User Guidance, and encompass any administrative 
  8674. responsibilities identified in security 
  8675. management.
  8676.  
  8677.  
  8678.  
  8679. Requirements for Trusted Generation
  8680.  
  8681. TG-1: Basic Trusted Generation
  8682.  
  8683. The developer shall establish and document the 
  8684. procedures that a consumer must perform to 
  8685. generate an operational TCB from the delivered 
  8686. copy of the master TCB. The consumer documentation 
  8687. shall identify any system parameters, which are 
  8688. initialized or set during system generation, that 
  8689. affect the TCB's conformance to the protection 
  8690. profile and state the acceptable ranges of values 
  8691. for those parameters.
  8692.  
  8693. Requirements for Evidence of TCB Protection Properties
  8694.  
  8695. EPP-2 Evidence of Informal Model Interpretation in the TCB
  8696.  
  8697. The developer shall provide documentation which 
  8698. describes the correspondence between the 
  8699. functional component requirements and the TCB 
  8700. elements and interfaces. The developer shall also 
  8701. provide an informal access control model and its 
  8702. interpretation within the TCB. The TCB properties, 
  8703. which are defined by this correspondence, shall be 
  8704. explained in this documentation.
  8705.  
  8706. Requirements for Evidence of Product Development
  8707.  
  8708. EPD-1: Description Of The TCB External Interface
  8709.  
  8710. The developer shall provide an accurate 
  8711. description of the functions, effects, exceptions 
  8712. and error messages visible at the TCB interface.
  8713.  
  8714. The developer shall provide a list of the TCB 
  8715. elements (hardware, software, and firmware).
  8716.  
  8717. Requirements for Evidence of Functional Testing
  8718.  
  8719. EFT-1: Evidence of Conformance Testing
  8720.  
  8721. The developer shall provide evidence of the 
  8722. functional testing that includes the test plan, 
  8723. the test procedures and the results of the 
  8724. functional testing.
  8725.  
  8726. Requirements for Evidence of Product Support
  8727.  
  8728. EPS-1: Evidence of Basic Product Support
  8729.  
  8730. The developer shall provide evidence that 
  8731. describes the policies, procedures, and plans 
  8732. established by the developer to satisfy the 
  8733. Operational Support and Development Environment 
  8734. requirements of the protection profile. 
  8735.  
  8736. Requirements for Test Analysis
  8737.  
  8738. TA-1: ElementaryTest Analysis
  8739.  
  8740. The evaluator shall assess whether the producer 
  8741. has performed the activities defined in the 
  8742. development assurance requirements of the 
  8743. protection profile for functional testing and 
  8744. whether the producer has documented these 
  8745. activities as defined in the development evidence 
  8746. requirements of the protection profile. The 
  8747. evaluator shall analyze the results of the 
  8748. producer's testing activities for completeness of 
  8749. coverage and consistency of results. The evaluator 
  8750. shall determine whether the product's protection 
  8751. properties, as described in the product 
  8752. documentation have been tested. The evaluator 
  8753. shall assess testing results to determine whether 
  8754. the product's TCB works as claimed.
  8755.  
  8756.  
  8757.  
  8758. Requirements for Independent Testing
  8759.  
  8760. T-1: Elementary Independent Testing
  8761.  
  8762. A tester, independent of the producer or 
  8763. evaluator, shall perform functional and elementary 
  8764. penetration testing. This testing shall be based 
  8765. on the product's user and administrative 
  8766. documentation, and on relevant known penetration 
  8767. flaws. Satisfactory completion consists of 
  8768. demonstrating that all user-visible security 
  8769. enforcing functions and security-relevant 
  8770. functions work as described in the product's user 
  8771. and administrative documentation and that no 
  8772. discrepancies exist between the documentation and 
  8773. the product. Test results of the producer shall be 
  8774. confirmed by the results of independent testing. 
  8775. The evaluator may selectively reconfirm any test 
  8776. result.
  8777.  
  8778. If the independent testing is performed at beta-
  8779. test sites, the producer shall supply the beta-
  8780. test plan and the test results. The evaluator 
  8781. shall review the scope and depth of beta testing 
  8782. with respect to the required protection 
  8783. functionality, and shall verify independence of 
  8784. both the test sites and the producer's and beta-
  8785. test user's test results. The evaluator shall 
  8786. confirm that the test environment of the beta-test 
  8787. site(s) adequately represents the environment 
  8788. specified in the protection profile.
  8789.  
  8790. Requirements for Operational Support Review
  8791.  
  8792. OSR-1 Elementary Operational Support Review
  8793.  
  8794. The evaluator shall review all documentation 
  8795. focused on the activities of product use (e.g., 
  8796. Users Manuals) and product administration 
  8797. including installation, operation, maintenance, 
  8798. and trusted recovery (e.g., Trusted Facility 
  8799. Management Manuals). This review shall assess the 
  8800. clarity of presentation, difficulty in locating 
  8801. topics of interest, ease of understanding, and 
  8802. completeness of coverage. The need for separate 
  8803. manuals dedicated to protection-relevant aspects 
  8804. of the product should be assessed for 
  8805. effectiveness.
  8806. DRAFT
  8807.  
  8808.  
  8809.  
  8810.  LABEL BASED PROTECTION
  8811.  
  8812.  FOR
  8813.  
  8814. MULTI-USER INFORMATION SYSTEMS
  8815.  
  8816.  
  8817.  
  8818. LEVEL 2
  8819.  
  8820. (LP-2)
  8821.  
  8822.  
  8823.  
  8824.  
  8825.  
  8826.  A Protection Profile
  8827.  
  8828. Derived from the Federal Criteria for IT Security
  8829.  
  8830.  
  8831.  
  8832. Version 1.0
  8833.  
  8834.  
  8835.  
  8836.  
  8837.  
  8838.  
  8839.  
  8840. December 1992
  8841.  
  8842.  
  8843.  
  8844. This document is undergoing review and 
  8845. is subject to modification or withdrawal.
  8846.  
  8847. The contents of this document should not 
  8848. be referenced in other publications.
  8849.  
  8850.  
  8851.  
  8852.  
  8853.  
  8854.  
  8855.  
  8856. Supersedes the
  8857.  
  8858. Trusted Computer System Evaluation Criteria
  8859.  
  8860. Class B2
  8861.  
  8862.  
  8863.  
  8864.  
  8865.  
  8866. DRAFT
  8867.  
  8868. LABEL-BASED PROTECTION - 2 (LP-2)
  8869.  
  8870.  This Protection Profile has been developed to define a set 
  8871. of technical measures that can be incorporated into remote-
  8872. access, resource- and information-sharing Information 
  8873. Technology (IT) products that will be used to protect up to 
  8874. three levels or more than two categories of National Security 
  8875. Information classified according to US Executive Order 12356 
  8876. (EO 12356). This profile can also be used to protect any 
  8877. information that has been designated as sensitive information 
  8878. for which information separation and access are based on 
  8879. sensitivity markings applied to the information.
  8880.  
  8881. Compliant IT products will provide structured protection 
  8882. for a multi-level information processing environment with 
  8883. which an organization can construct an automated information 
  8884. system to enhance or optimize the organization's ability to 
  8885. perform its mission.
  8886.  
  8887. In LP-2 conformant systems, the TCB is based on a clearly 
  8888. defined and documented formal security policy model for 
  8889. confidentiality that requires both discretionary and non-
  8890. discretionary access controls. Also, The TCB is relatively 
  8891. resistant to penetration. In relation to lower levels of 
  8892. protection functionality, LP-2 conformat systems have the 
  8893. following additional features.
  8894.  
  8895. a.    Access control enforcement is extended to all subjects 
  8896. and objects in the ADP system. 
  8897.  
  8898. b.    Covert storage channels are identified and handled.
  8899.  
  8900. c.    The TCB is modularized and carefully structured into 
  8901. protection-critical and non-protection-critical. 
  8902.  
  8903. d.    The TCB interface is well-defined and the TCB design 
  8904. and implementation enables it to be subjected to 
  8905. thorough testing and review. Penetration testing is 
  8906. also performed, and the TCB must be found relatively 
  8907. resistant to penetration.
  8908.  
  8909. e.    Authentication mechanisms cover all policy attributes 
  8910. of a user (e.g., groups, secrecy and/or integrity 
  8911. levels, roles), not just the individual identity. 
  8912.  
  8913. f.    Security management is enhanced by the separation of 
  8914. system administrator and operator functions. 
  8915.  
  8916. g.    Configuration management controls are imposed. 
  8917.  
  8918. Cross References:
  8919.  
  8920. o    Existing Criteria:
  8921.  
  8922. (1)    TCSEC: B2
  8923.  
  8924. (2)    ITSEC
  8925.  
  8926. (3)    CTCPEC
  8927.  
  8928. o    Other Protection Profiles
  8929.  
  8930. (1)    TBD
  8931.  
  8932.  
  8933.  
  8934.  
  8935.  
  8936.  
  8937.  
  8938.  
  8939.  
  8940.  
  8941.  
  8942.  
  8943.  
  8944.  
  8945.  
  8946.  
  8947.  
  8948.  
  8949.  
  8950.  
  8951.  
  8952.  
  8953.  
  8954.  
  8955.  
  8956.  
  8957.  
  8958. COMPONENT SUMMARY:
  8959.  
  8960.  
  8961.  
  8962. LP-2 Functional Component Summary
  8963. .--------------------------------------------.
  8964. |                                  | Code &  |
  8965. | Functional Component             | Level   |
  8966. |============================================|
  8967. | Security Policy Support                    |
  8968. |----------------------------------+---------|
  8969. |  Accountability                  |         |
  8970. |----------------------------------+---------|
  8971. |   Identification  uthentication  |  I&A-2  |
  8972. |----------------------------------+---------|
  8973. |   System Entry                   |  ----   |
  8974. |----------------------------------+---------|
  8975. |   Trusted Path                   |  TP-1   |
  8976. |----------------------------------+---------|
  8977. |   Audit                          |  AD-1   |
  8978. |----------------------------------+---------|
  8979. |  Access Control                  |  AC-3   |
  8980. |----------------------------------+---------|
  8981. |   Discretionary                  |  AC-3   |
  8982. |----------------------------------+---------|
  8983. |   Non-Discretionary              |  AC-3   |
  8984. |----------------------------------+---------|
  8985. |   Covert Channel Handling        |  CCH-2  |
  8986. |----------------------------------+---------|
  8987. |  Availability                    |  ----   |
  8988. |----------------------------------+---------|
  8989. |   Resource Allocation            |  ----   |
  8990. |----------------------------------+---------|
  8991. |   Fault Tolerance                |  ----   |
  8992. |----------------------------------+---------|
  8993. |  Security Mgmt.                  |  SM-1+  |
  8994. |----------------------------------+---------|
  8995. | Reference Mediation              |  RM-3   |
  8996. |----------------------------------+---------|
  8997. | TCB Logical Protection           |  P-2    |
  8998. |----------------------------------+---------|
  8999. | TCB Physical Protection          |  ----   |
  9000. |----------------------------------+---------|
  9001. | TCB Self-checking                |  SC-1   |
  9002. |----------------------------------+---------|
  9003. | TCB Start-Up and Recovery        |  ----   |
  9004. |----------------------------------+---------|
  9005. | TCB Privileged Operation         |  PO-2   |
  9006. |----------------------------------+---------|
  9007. | TCB Ease-of-Use                  |  ----   |
  9008. `--------------------------------------------'
  9009.  
  9010.  
  9011.    LP-2 Assurance Component Summary
  9012. .---------------------------------------.
  9013. | Assurance Components           |  T5  |
  9014. |================================|======|
  9015. | Development Assurance Components      |     
  9016. |=======================================|
  9017. | Development Process                   |
  9018. |--------------------------------+------|
  9019. | TCB Property Definition        | PD-3 |
  9020. |--------------------------------+------|
  9021. | TCB Design                            |
  9022. |--------------------------------+------|
  9023. |   TCB Element Identification   | ID-2 |
  9024. |--------------------------------+------|
  9025. |   TCB Interface Definition     | IF-2 |
  9026. |--------------------------------+------|
  9027. |   TCB Modular Decomposition    | MD-2 |
  9028. |--------------------------------+------|
  9029. |   TCB Structuring Support      | SP-2 |
  9030. |--------------------------------+------|
  9031. |   TCB Design Disciplines       | ---- |
  9032. |--------------------------------+------|
  9033. | TCB Implementation Support     | IM-3 |
  9034. |--------------------------------+------|
  9035. | TCB Testing and Analysis              |
  9036. |--------------------------------+------|
  9037. |   Functional Testing           | FT-3 |
  9038. |--------------------------------+------|
  9039. |   Penetration Analysis         | PA-2 |
  9040. |--------------------------------+------|
  9041. |   Covert Channel Analysis      | CCA1 |
  9042. |--------------------------------+------|
  9043. | Operational Support                   |
  9044. |--------------------------------+------|
  9045. | User Security Guidance         | UG-1 |
  9046. |--------------------------------+------|
  9047. | Administrative Guidance        | AG-2 |
  9048. |--------------------------------+------|
  9049. | Trusted Generation             | TG-2 |
  9050. |--------------------------------+------|
  9051. | Development Environment               |
  9052. |--------------------------------+------|
  9053. | Life Cycle Definition          | LC-2 |
  9054. |--------------------------------+------|
  9055. | Configuration Management       | CM-2 |
  9056. |--------------------------------+------|
  9057. | Trusted Distribution           | ---- |
  9058. |--------------------------------+------|
  9059. | Development Evidence                  |
  9060. |--------------------------------+------|
  9061. | TCB Protection Properties      | EPP3 |
  9062. |--------------------------------+------|
  9063. | Product Development            | EPD3 |
  9064. |--------------------------------+------|
  9065. | Product Testing & Analysis            |
  9066. |--------------------------------+------|
  9067. |   Functional Testing           | EFT3 |
  9068. |--------------------------------+------|
  9069. |   Penetration Analysis         | EPA2 |
  9070. |--------------------------------+------|
  9071. |   Covert Channel Analysis      | ECC1 |
  9072. |--------------------------------+------|
  9073. | Product Support                | EPS2 |
  9074. `---------------------------------------'
  9075. |=======================================|
  9076. | Evaluation Assurance Components       |
  9077. |=======================================|
  9078. | Testing                               |
  9079. |--------------------------------+------|
  9080. |   Test Analysis                | TA-4 |
  9081. |--------------------------------+------|
  9082. |   Independent Testing          | IT-3 |
  9083. |--------------------------------+------|
  9084. | Review                                |
  9085. |--------------------------------+------|
  9086. |   Development Environment      | DER2 |
  9087. |--------------------------------+------|
  9088. |   Operational Support          | OSR2 |
  9089. |--------------------------------+------|
  9090. | Analysis                              |
  9091. |--------------------------------+------|
  9092. |   Protection Properties        | ---- |
  9093. |--------------------------------+------|
  9094. |   Design                       | DA-2 |
  9095. |--------------------------------+------|
  9096. |   Implementation               | CI-1 |
  9097. `---------------------------------------'
  9098.  
  9099. RATIONALE
  9100.  
  9101. 6.    Information Protection Policy
  9102.  
  9103.  It is anticipated that organizations wishing to process 
  9104. either one level with three or more categories or one to three 
  9105. levels with one category of classified information will want 
  9106. to use IT products that are compliant with this profile in 
  9107. their automated information processing systems. These 
  9108. organizations should be able to trust the profile-compliant 
  9109. IT product to contribute to the protection of the classified 
  9110. information at least as much as they trust the properly 
  9111. cleared personnel who are using and managing the system.
  9112.  
  9113. 7.    Protection Philosophy
  9114.  
  9115. This profile presumes a hostile environment with divided, 
  9116. aggressive users. It provides control of access to shared 
  9117. resources both (1) on the basis of attributes that are 
  9118. controlled by the ordinary users of the system and (2) on the 
  9119. basis of attributes that are controlled only by the system 
  9120. administrators.
  9121.  
  9122. Profile compliant IT products will minimally meet the 
  9123. following objectives:
  9124.  
  9125. a.    Enforce a formally defined security policy that 
  9126. describes the rules for controlling access to system 
  9127. subjects and objects. Use the access control rules to 
  9128. enforce an information flow policy that aims to 
  9129. control the use of covert storage channels.
  9130.  
  9131. b.    Associate explicit sensitivity labels with each 
  9132. subject and object in the system. Associate explicit 
  9133. sensitivity labels with each port through which 
  9134. information may be exported from or imported to the 
  9135. system. Maintain the accuracy of the sensitivity 
  9136. labels as information moves within the system and 
  9137. through the ports.
  9138.  
  9139. c.    Authenticate the claimed identity of each external 
  9140. human user of the IT product prior to establishing any 
  9141. internal entity to act on behalf of that user and 
  9142. firmly bind the authenticated user identity to the 
  9143. internal entity.
  9144.  
  9145. d.    Selectively keep and protect a log of all actions or 
  9146. events (including use of covert storage channels) that 
  9147. could affect system security so that they can be 
  9148. accurately attributed to the known user or system 
  9149. entity responsible for causing the action or event.
  9150.  
  9151. e.    Contains hardware and software mechanisms that can be 
  9152. independently evaluated to provide sufficient 
  9153. assurance that the system satisfies the previous four 
  9154. objectives.
  9155.  
  9156. f.    Implements the enforcement of objectives in such a 
  9157. fashion that the enforcing mechanisms are protected 
  9158. from tampering and unauthorized changes by the 
  9159. entities these mechanisms are supposed to control.
  9160.  
  9161. 8.    Expected Threats
  9162.  
  9163. The requirements for profile conforming IT products assume 
  9164. that these products are being used in an environment where 
  9165. there are different levels or categories of classified data 
  9166. and users of differing clearance levels. A conforming IT 
  9167. product can be expected to protect the confidentiality of 
  9168. information in an environment where there are two levels or 
  9169. categories of classified data and two or more levels of 
  9170. cleared users and where there are collaborating, malicious 
  9171. users and software at each clearance level.
  9172.  
  9173. 9.    Assumed Environment
  9174.  
  9175. 9.1    Characteristics
  9176.  
  9177. IT products complying with the requirements set forth in 
  9178. this profile are expected to be used in an environment with 
  9179. the following characteristics:
  9180.  
  9181. a.    Multiple users will be accessing the operating system 
  9182. at the same time.
  9183.  
  9184. b.    The IT product hardware base (e.g., CPU, printers, 
  9185. terminals, etc.) is protected from unauthorized 
  9186. physical access.
  9187.  
  9188. c.    One or more administrators are assigned to manage the 
  9189. system in which the IT product is incorporated, 
  9190. including the security of the information it contains.
  9191.  
  9192. d.    A need to control user access to information exists 
  9193. and is based on an explicit sensitivity marking 
  9194. associated with the information (e.g, Secret or Top 
  9195. Secret).
  9196.  
  9197. e.    A need to control user access to all subjects and 
  9198. objects exists and is based on that user's identity 
  9199. and membership in organizations or groups.
  9200.  
  9201. f.    The IT product provides facilities for some or all of 
  9202. the authorized users to create programs that use the 
  9203. applications programming interface (API) and make 
  9204. those programs available to other users.
  9205.  
  9206. g.    The IT product is used to provide a cooperative 
  9207. environment for the users to accomplish some task or 
  9208. group of tasks.
  9209.  
  9210. 9.2    Environment Dependencies
  9211.  
  9212. Secure installation and operation of a product satisfying 
  9213. these profile requirements depends on provision of a number 
  9214. of elements in the installation environment. These include:
  9215.  
  9216. a.    Physical security must be provided. 
  9217.  
  9218. b.    Cabling to other devices must be shown to be 
  9219. consistent with policy implemented by the product. For 
  9220. example, a "port" in the product is required to have 
  9221. an assigned label. No device can be connected to the 
  9222. port unless it has been established externally that 
  9223. the device is allowed to receive data with the same 
  9224. label.
  9225.  
  9226. c.    Personnel allowed to access data processed by the 
  9227. installed product must already be authorized for such 
  9228. access.
  9229.  
  9230. 10.    Intended Use
  9231.  
  9232. Conforming IT products are useful in both general-purpose 
  9233. office automation environments with multiple data 
  9234. sensitivities (or "classifications") and multiple levels of 
  9235. user authorizations (or "clearances") and in specialized 
  9236. computing, network and mission environments. Examples of the 
  9237. office automation environment might include military 
  9238. headquarters and highly competitive procurement offices. 
  9239. Examples of the network environments include use as the basis 
  9240. for a multilevel secure network management center or a trusted 
  9241. guard gateway operating between two networks processing 
  9242. different levels of information. An example of the specialized 
  9243. mission environment might be as a platform for a portable 
  9244. battlefield map and mission management application.
  9245.  
  9246. FUNCTIONAL REQUIREMENTS
  9247.  
  9248. I&A-2 Identification, Authentication, and Authorization
  9249.  
  9250. 1.    The TCB shall require users to identify 
  9251. themselves to it before beginning to perform any 
  9252. other actions that the TCB is expected to mediate. 
  9253. The TCB shall be able to enforce individual 
  9254. accountability by providing the capability to 
  9255. uniquely identify each individual user. The TCB 
  9256. shall also provide the capability of associating 
  9257. this identity with all auditable actions taken by 
  9258. that individual.
  9259.  
  9260. 2.     The TCB shall maintain authentication data that 
  9261. includes information for verifying the identity of 
  9262. individual users (e.g., passwords) as well as 
  9263. information for determining the clearance and 
  9264. authorization of individual users. These data 
  9265. shall be used by the TCB to authenticate the 
  9266. user's identity and to ensure that the subject 
  9267. security level and authorizations of subjects 
  9268. external to the TCB that may be created to act on 
  9269. behalf of the individual user are dominated by the 
  9270. clearance and authorization of that user).
  9271.  
  9272. 3.     The TCB shall protect authentication data so 
  9273. that it cannot be used by any unauthorized user. 
  9274.  
  9275. TP-1 Login Trusted Path
  9276.  
  9277. The TCB shall support a trusted communication path 
  9278. between itself and the user for initial 
  9279. identification and authentication. Communications 
  9280. via this path shall be initiated exclusively by a 
  9281. user.
  9282.  
  9283. AD-1 - Minimal Audit
  9284.  
  9285. 1.    The TCB shall be able to create, maintain, and 
  9286. protect from modification or unauthorized access 
  9287. or destruction an audit trail of accesses to the 
  9288. objects it protects. The audit data shall be 
  9289. protected by the TCB so that read access to it is 
  9290. limited to those who are authorized for audit 
  9291. data.
  9292.  
  9293. 2.    The TCB shall be able to record the following 
  9294. types of events:
  9295.  
  9296.     - use of the identification and authentication 
  9297. mechanisms;
  9298.  
  9299.     - introduction of objects into a user's address 
  9300. space (e.g., file open, program initiation), and 
  9301. deletion of objects;
  9302.  
  9303.     - actions taken by computer operators and system 
  9304. administrators and/or system security officers.
  9305.  
  9306. The TCB shall be able to record any override of 
  9307. human-readable output markings. The TCB shall also 
  9308. be able to audit the identified event that may be 
  9309. used in the exploitation of covert channels.
  9310.  
  9311. 3.    For each recorded event, the audit record shall 
  9312. identify: date and time of the event, user, type 
  9313. of event, and success or failure of the event. For 
  9314. identification/authentication events the origin of 
  9315. request (e.g., terminal ID) shall be included in 
  9316. the audit record. For events that introduce an 
  9317. object into a user's address space and for object 
  9318. deletion events the audit record shall include the 
  9319. name and the object security level.
  9320.  
  9321. 4.    The system administrator shall be able to 
  9322. selectively audit the actions of one or more users 
  9323. based on individual identity and/or object 
  9324. security level.
  9325.  
  9326. AC-3 Extended Access Control
  9327.  
  9328. 1.    Definition of Access Control Attributes
  9329.  
  9330. The TCB shall define and protect access control 
  9331. attributes for subjects and objects. Subject 
  9332. attributes shall include named individuals or 
  9333. defined groups or both. Object attributes shall 
  9334. include defined access rights (e.g., read, write, 
  9335. execute) that can be assigned to subject 
  9336. attributes. Access control attributes 
  9337. corresponding to each individual policy shall be 
  9338. identified.
  9339.  
  9340. Sensitivity labels associated with each subject 
  9341. and storage object that is directly or indirectly 
  9342. accessible by subjects external to the TCB shall 
  9343. be maintained by the TCB. The sensitivity labels 
  9344. shall be used as the basis for mandatory access 
  9345. control decisions.
  9346.  
  9347. The subjects and objects shall be assigned 
  9348. sensitivity labels that are a combination of 
  9349. hierarchical classification levels and non-
  9350. hierarchical categories, and the labels shall be 
  9351. used as the basis for mandatory access control 
  9352. decisions. The TCB shall be able to support two or 
  9353. more such security levels.
  9354.  
  9355. The subject and object attributes shall accurately 
  9356. reflect the sensitivity and integrity of the 
  9357. subject or object. When exported by the TCB, 
  9358. sensitivity labels shall accurately and 
  9359. unambiguously represent the internal labels and 
  9360. shall be associated with the information being 
  9361. exported.
  9362.  
  9363. The TCB shall immediately notify a terminal user 
  9364. of each change in the security level associated 
  9365. with that user during an interactive session. A 
  9366. terminal user shall be able to query the TCB as 
  9367. desired for a display of the subject's complete 
  9368. sensitivity label. 
  9369.  
  9370. The TCB shall support the assignment of minimum 
  9371. and maximum security levels to all attached 
  9372. physical devices. These security levels shall be 
  9373. used by the TCB to enforce constraints imposed by 
  9374. the physical environments in which the devices are 
  9375. located.
  9376.  
  9377. 2.    Administration of Access Control Attributes
  9378.  
  9379. The TCB shall define and enforce rules for 
  9380. assignment and modification of access control 
  9381. attributes for subjects and objects. The effect of 
  9382. these rules shall be that access permission to an 
  9383. object by users not already possessing access 
  9384. permission is assigned only by authorized users. 
  9385. These rules shall allow authorized users to 
  9386. specify and control sharing of objects by named 
  9387. individuals or defined groups of individuals, or 
  9388. by both, and shall provide controls to limit 
  9389. propagation of access rights. These controls shall 
  9390. be capable of including or excluding access to the 
  9391. granularity of a single user.
  9392.  
  9393. The rules for assignment and modification of 
  9394. access control attributes shall include those for 
  9395. attribute assignment to objects during import and 
  9396. export operations. 
  9397.  
  9398. Export of Labeled Information
  9399.  
  9400.     The TCB shall designate each communication 
  9401. channel and I/O device as either single-level or 
  9402. multilevel. Any change in this designation shall 
  9403. be done manually and shall be auditable by the 
  9404. TCB. The TCB shall maintain and be able to audit 
  9405. any change in the security level or levels 
  9406. associated with a communication channel or I/O 
  9407. device.
  9408.  
  9409.     1. Exportation to Multilevel Devices
  9410.  
  9411.     When the TCB exports an object to a multilevel 
  9412. I/O device, the sensitivity label associated with 
  9413. that object shall also be exported and shall 
  9414. reside on the same physical medium as the exported 
  9415. information and shall be in the same form (i.e., 
  9416. machine-readable or human-readable form). When the 
  9417. TCB exports or imports an object over a multilevel 
  9418. communication channel, the protocol used on that 
  9419. channel shall provide for the unambiguous pairing 
  9420. between the sensitivity labels and the associated 
  9421. information that is sent or received.
  9422.  
  9423.     2. Exportation to Single-Level Devices
  9424.  
  9425.     Single-level I/O devices and single-level 
  9426. communication channels are not required to 
  9427. maintain the sensitivity labels of the information 
  9428. they process. However, the TCB shall include a 
  9429. mechanism by which the TCB and an authorized user 
  9430. reliably communicate to designate the single 
  9431. security level of information imported or exported 
  9432. via single-level communication channels or I/O 
  9433. devices.
  9434.  
  9435.     3. Labeling Human-Readable Output
  9436.  
  9437.     The system administrator shall be able to 
  9438. specify the printable label names associated with 
  9439. exported sensitivity labels. The TCB shall mark 
  9440. the beginning and end of all human-readable, 
  9441. paged, hardcopy output (e.g., line printer output) 
  9442. with human-readable sensitivity labels that 
  9443. properly represent the sensitivity of the output. 
  9444. The TCB shall, by default, mark the top and bottom 
  9445. of each page of human-readable, paged, hardcopy 
  9446. output (e.g., line printer output) with human-
  9447. readable sensitivity labels that properly 
  9448. represent the overall sensitivity of the output or 
  9449. that properly represent the sensitivity of the 
  9450. information on the page. The TCB shall, by default 
  9451. and in an appropriate manner, mark other forms of 
  9452. human-readable output (e.g., maps, graphics) with 
  9453. human-readable sensitivity labels that properly 
  9454. represent the sensitivity of the output. Any 
  9455. override of these marking defaults shall be 
  9456. auditable by the TCB.
  9457.  
  9458. Import of Non-labeled Data
  9459.  
  9460.     In order to import non-labeled data, the TCB 
  9461. shall request and receive from an authorized user 
  9462. the security level of the data, and all such 
  9463. actions shall be auditable by the TCB.
  9464.  
  9465. If different rules of assignment and modification 
  9466. of access control attributes apply to different 
  9467. subjects and/or objects, the totality of these 
  9468. rules shall be shown to support the defined 
  9469. policy.
  9470.  
  9471. 3.    Authorization of Subject References to Objects
  9472.  
  9473. The TCB shall define and enforce authorization 
  9474. rules for the mediation of subject references to 
  9475. objects. These rules shall be based on the access 
  9476. control attributes of subjects and objects. These 
  9477. rules shall, either by explicit user action or by 
  9478. default, provide that objects are protected from 
  9479. unauthorized access. 
  9480.  
  9481. The scope of the authorization rules shall include 
  9482. all subjects, storage objects (e.g., processes, 
  9483. segments, devices) and associated access control 
  9484. attributes that are directly or indirectly 
  9485. accessible to subjects external to the TCB. The 
  9486. scope of the authorization rules shall also 
  9487. include all policy and status attributes of 
  9488. subjects and storage objects (e.g., quotas, object 
  9489. existence, size, access time, creation and 
  9490. modification time, locked/unlocked). If different 
  9491. rules apply to different subjects and objects, the 
  9492. totality of these rules shall be shown to support 
  9493. the defined policy. 
  9494.  
  9495. The authorization rules for the mandatory access 
  9496. control policy shall include:
  9497.  
  9498.     The TCB shall enforce a mandatory access control 
  9499. policy over all resources (i.e., subjects, storage 
  9500. objects, and I/O devices that are directly or 
  9501. indirectly accessible by subjects external to the 
  9502. TCB. The following requirements shall hold for all 
  9503. accesses between all subjects external to the TCB 
  9504. and all objects directly or indirectly accessible 
  9505. by these subjects: A subject can read an object 
  9506. only if the hierarchical classification in the 
  9507. subject's security level is greater than or equal 
  9508. to the hierarchical classification in the object's 
  9509. security level and the non- hierarchical 
  9510. categories in the subject's security level include 
  9511. all the non-hierarchical categories in the 
  9512. object's security level. A subject can write an 
  9513. object only if the hierarchical classification in 
  9514. the subject's security level is less than or equal 
  9515. to the hierarchical classification in the object's 
  9516. security level and all the non-hierarchical 
  9517. categories in the subject's security level are 
  9518. included in the non-hierarchical categories in the 
  9519. object's security level.
  9520.  
  9521. The authorization rules for each policy shall be 
  9522. defined separately. The TCB shall define and 
  9523. enforce the composition of policies, including the 
  9524. enforcement of the authorization rules (e.g., 
  9525. subject and object type coverage, enforcement 
  9526. precedence).
  9527.  
  9528. 4. Subject and Object Creation and Destruction
  9529.  
  9530. The TCB shall control the creation and destruction 
  9531. of subjects and objects. These controls shall 
  9532. include object reuse. That is, all authorizations 
  9533. to the information contained within a storage 
  9534. object shall be revoked prior to initial 
  9535. assignment, allocation or reallocation to a 
  9536. subject from the TCB's pool of unused storage 
  9537. objects; information, including encrypted 
  9538. representations of information, produced by a 
  9539. prior subjects' actions shall be unavailable to 
  9540. any subject that obtains access to an object that 
  9541. has been released back to the system.
  9542.  
  9543. CCH-2 Storage Channel Audit and Bandwidth Limitation
  9544.  
  9545. 1.     The TCB and privileged applications shall 
  9546. include functions that help audit the use of 
  9547. covert storage channels. These functions shall 
  9548. enable the identification of the transmitter, 
  9549. receiver, and specific covert channels used (e.g., 
  9550. TCB and privileged application element used to 
  9551. transmit information). TCB functions that help 
  9552. limit the bandwidth and/or eliminate covert 
  9553. storage channels shall also be provided. The 
  9554. bandwidth limits for each channel shall be 
  9555. settable by system administrators.
  9556.  
  9557. 2.     The functions added to the TCB and privileged 
  9558. applications for storage channel auditing shall be 
  9559. identified for each channel and shall be available 
  9560. in common product configurations. If audit 
  9561. functions are not added to certain storage 
  9562. channels (e.g., hardware storage channels), 
  9563. evidence must be provided to justify why these 
  9564. channels do not represent a security threat for 
  9565. the intended use of the product. TCB and 
  9566. privileged application functions that help limit 
  9567. the bandwidth and/or eliminate covert storage 
  9568. channels shall also be available in common product 
  9569. configurations.
  9570.  
  9571. If channel bandwidth limitation and channel 
  9572. elimination functions are not added to certain 
  9573. storage channels (e.g., hardware storage 
  9574. channels), evidence must be provided to justify 
  9575. why these channels do not represent a security 
  9576. threat for the intended use of the product.
  9577.  
  9578. SM-1 Minimal Security Management
  9579.  
  9580. 1.     The TCB shall provide an installation mechanism 
  9581. for the setting and updating of its configuration 
  9582. parameters, and for the initialization of its 
  9583. protection-relevant data structures before any 
  9584. user or administrator policy attributes are 
  9585. defined. It shall allow the configuration of TCB 
  9586. internal databases and tables.
  9587.  
  9588. 2.     The TCB shall provide protected mechanisms for 
  9589. displaying and modifying the security policy 
  9590. parameters. 
  9591.  
  9592. 3.     The TCB shall provide protected mechanisms for 
  9593. manually displaying, modifying, or deleting user 
  9594. registration and account parameters. These 
  9595. parameters shall include unique user identifiers, 
  9596. their account, and their associated user name and 
  9597. affiliation. The TCB shall allow the manual 
  9598. enabling and disabling of user identities and/or 
  9599. accounts.
  9600.  
  9601. 4.     The TCB shall support separate operator and 
  9602. administrator functions. The operator functions 
  9603. shall be restricted to those necessary for 
  9604. performing routine operations. The operator 
  9605. functions shall allow the enabling and disabling 
  9606. of peripheral devices, mounting removable storage 
  9607. media, backing-up and recovering user objects; 
  9608. maintaining the TCB hardware and software elements 
  9609. (e.g., on-site testing); and starting and shutting 
  9610. down the system. [SM-3]
  9611.  
  9612. 5.      The use of the protected mechanisms for system 
  9613. administration shall be limited to authorized 
  9614. administrative users.
  9615.  
  9616. RM-3 Mediation of References to Subject and Object 
  9617. Attributes
  9618.  
  9619. 1.     The TCB shall mediate all references to 
  9620. subjects, objects, resources, and services (e.g., 
  9621. TCB functions) described in the TCB 
  9622. specifications. The mediation shall ensure that 
  9623. all references are directed to the appropriate 
  9624. security-policy functions.
  9625.  
  9626. 2.      Reference mediation shall include control of 
  9627. references to all subjects, objects, and resources 
  9628. protected under the TCB security policy, to their 
  9629. policy (i.e., access rights, security levels) and 
  9630. status attributes (e.g., existence, length, 
  9631. locking state).
  9632.  
  9633. 3.     References issued by privileged subjects shall 
  9634. be mediated in accordance with the policy 
  9635. attributes defined for those subjects.
  9636.  
  9637. P-2 TCB Isolation and Consistency
  9638.  
  9639. The TCB shall maintain a domain for its own 
  9640. execution that protects it from external 
  9641. interference and tampering (e.g., by reading or 
  9642. modification of its code and data structures). The 
  9643. protection of the TCB shall provide TCB isolation 
  9644. and noncircumventability of TCB isolation 
  9645. functions as follows:
  9646.  
  9647.     1. TCB Isolation requires that (1) the address 
  9648. spaces of the TCB and those of unprivileged 
  9649. subjects are separated such that users, or 
  9650. unprivileged subjects operating on their behalf, 
  9651. cannot read or modify TCB data structures or code, 
  9652. (2) the transfers between TCB and non-TCB domains 
  9653. are controlled such that arbitrary entry to or 
  9654. return from the TCB are not possible; and (3) the 
  9655. user or application parameters passed to the TCB 
  9656. by addresses are validated with respect to the TCB 
  9657. address space, and those passed by value are 
  9658. validated with respect to the values expected by 
  9659. the TCB.
  9660.  
  9661.     2. Non-circumventability of TCB isolation 
  9662. functions requires that the permission to objects 
  9663. (and/or to non-TCB data) passed as parameters to 
  9664. the TCB are validated with respect to the 
  9665. permissions required by the TCB, and references to 
  9666. TCB objects implementing TCB isolation functions 
  9667. are mediated by the TCB.
  9668.  
  9669. TCB protection shall also maintain the consistency 
  9670. of TCB global variables and eliminate undesirable 
  9671. dependencies of the TCB on unprivileged subject or 
  9672. user actions.
  9673.  
  9674.     3. Consistency of TCB global variables requires 
  9675. that consistency conditions defined over TCB 
  9676. internal variables, objects, and functions hold 
  9677. before and after any TCB invocation.
  9678.  
  9679.     4. Elimination of undesirable dependencies of 
  9680. the TCB on unprivileged subject actions requires 
  9681. that any TCB invocation by an unprivileged subject 
  9682. (or user) input to a TCB call may not place the TCB 
  9683. in a state such that it is unable to respond to 
  9684. communication initiated by other users.
  9685.  
  9686. SC-1 Minimal Self Checking
  9687.  
  9688. Hardware and/or software features shall be 
  9689. provided that can be used to periodically validate 
  9690. the correct operation of the on-site hardware and 
  9691. firmware elements of the TCB.
  9692.  
  9693. PO-2 Privilege Association with TCB Modules
  9694.  
  9695. 1. TCB privileges needed by individual functions, 
  9696. or groups of functions, of a functional component 
  9697. shall be identified. Privileged TCB calls or 
  9698. access to privileged TCB objects, such as user and 
  9699. group registration files, password files, security 
  9700. and integrity-level definition file, role 
  9701. definition file, audit-log file shall also be 
  9702. identified. It shall be possible to associate TCB 
  9703. privileges with TCB operations performed by 
  9704. administrative users. 
  9705.  
  9706. 2.The modules of a TCB function shall be 
  9707. associated only with the privileges necessary to 
  9708. complete their task. 
  9709.  
  9710. 3. Support for product privilege implementation 
  9711. and association with TCB modules provided by 
  9712. lower-level mechanisms or procedures (e.g., 
  9713. operating system, processors, language) shall be 
  9714. provided.
  9715.  
  9716. ASSURANCES 
  9717.  
  9718. Requirements for TCB Property Definition
  9719.  
  9720. PD-3 Property Specification by Model Interpretation
  9721.  
  9722. The developer shall provide formal models for the 
  9723. functional components and sub-components of the 
  9724. profile. At a minimum, a formal model of the 
  9725. access control components shall be provided. The 
  9726. properties of the formal models shall be clearly 
  9727. stated. The developer shall provide an 
  9728. interpretation of the models in the DIS of the 
  9729. product's TCB. For each model entity, the 
  9730. developer shall: (1) identify the TCB elements and 
  9731. their DIS (if any) that implement that entity; (2) 
  9732. define the operation of these TCB elements, and 
  9733. (3) demonstrate, by coherent arguments, that the 
  9734. DIS of these elements is consistent with the model 
  9735. properties. The developer's interpretation of each 
  9736. formal model, which specifies the TCB properties, 
  9737. shall identify all TCB and DIS elements (if any) 
  9738. that do not correspond to any model entity and 
  9739. shall explain why these elements do not render the 
  9740. TCB properties invalid.
  9741.  
  9742. An informal model of reference mediation and TCB 
  9743. protection shall be provided. For the components 
  9744. that are not modeled, the developer shall 
  9745. interpret the functional requirements of the 
  9746. protection profile within the product TCB. For 
  9747. each functional requirement, the developer shall: 
  9748. (1) identify the TCB elements and their TCB 
  9749. interfaces (if any) that implement that 
  9750. requirement; (2) describe the operation of these 
  9751. TCB elements, and (3) explain why the operation of 
  9752. these elements is consistent with the functional 
  9753. requirement. The developer's interpretation of 
  9754. each functional requirement, which describes the 
  9755. TCB properties, shall include all the TCB 
  9756. elements.
  9757.  
  9758. Requirements for TCB Element Identification
  9759.  
  9760. ID-2: TCB Element Justification
  9761.  
  9762. The vendor shall identify the TCB elements (i.e., 
  9763. software, hardware/firmware code and data 
  9764. structures). Each element must be unambiguously 
  9765. identified by its name, type, release, and version 
  9766. number (if any).
  9767.  
  9768. The developer shall justify the protection 
  9769. relevance of the identified elements (i.e., only 
  9770. elements that can affect the correct operation of 
  9771. the protection functions shall be included in the 
  9772. TCB). If protection-irrelevant elements are 
  9773. included in the TCB, the developer shall provide a 
  9774. rationale for such inclusion.
  9775.  
  9776. Requirements for TCB Interface Definition
  9777.  
  9778. IF-2: Interface Descriptive Specification
  9779.  
  9780. The developer shall define all external (e.g., 
  9781. command, software, and I/O) administrative (i.e., 
  9782. privileged) and non-administrative interfaces to 
  9783. the TCB.
  9784.  
  9785. The developer shall provide and maintain a 
  9786. descriptive interface specification (DIS) of the 
  9787. TCB that completely and accurately describes the 
  9788. TCB in terms of exceptions, error messages, and 
  9789. effects. The DIS shall identify the TCB call 
  9790. conventions (e.g., parameter order, call sequence 
  9791. requirements), and exceptions signaled. The DIS 
  9792. shall also include the TCB call identifier, 
  9793. parameter types (e.g., input, output), the effect 
  9794. of the call, TCB call conventions (e.g., parameter 
  9795. order, call sequence requirements), and exceptions 
  9796. handled and signaled. It shall be shown to be an 
  9797. accurate description of the TCB interface.
  9798.  
  9799. The DIS shall include those components of the TCB 
  9800. that are implemented as hardware and/or firmware 
  9801. if their properties are visible at the TCB 
  9802. interface.
  9803.  
  9804. If the TCB consists of a kernel and privileged 
  9805. processes, the developer shall separately identify 
  9806. and define the interfaces for the kernel and each 
  9807. privileged process.
  9808.  
  9809. The TCB interface definition must also include all 
  9810. effects of a call including the direct visibility 
  9811. and alterability of internal TCB variables and 
  9812. functions.
  9813.  
  9814. Requirements for Modular Decomposition
  9815.  
  9816. MD-2: Module-level Decomposition
  9817.  
  9818. The developer shall design the TCB as a small 
  9819. number (e.g., 10 to 100) of design and 
  9820. implementation subsystems that have well-defined 
  9821. functional relationships and shared-data 
  9822. dependencies. The developer shall identify the 
  9823. specific TCB protection functions (if any) 
  9824. associated with each subsystem and the TCB 
  9825. interfaces (if any) implemented by each subsystem.
  9826.  
  9827. The developer shall design each subsystem as a set 
  9828. of modules. For each module, the developer shall 
  9829. describe: the role or purpose of the module, the 
  9830. set of related functions performed by the module, 
  9831. and the module interface (i.e., the set of 
  9832. invocable functions, calling conventions, 
  9833. parameters, global variables, and results). The 
  9834. developer shall identify the protection functions 
  9835. of, and describe the interfaces between, these 
  9836. modules. The developer shall choose the modules so 
  9837. that the set of functions implemented by the 
  9838. module, the module's contribution to the TCB 
  9839. protection properties, and the interface(s) to the 
  9840. module can be described concisely (e.g., the 
  9841. module shall have a single purpose). The TCB 
  9842. structuring into modules shall be based on well-
  9843. defined module relationships; for example, the 
  9844. contains relation (e.g., A is part of B) or the 
  9845. "uses" relation (e.g., A is correct only if B is 
  9846. correct). 
  9847.  
  9848. Requirements for TCB Structuring Support
  9849.  
  9850. SP-2: Support for Storage Objects
  9851.  
  9852. The TCB shall maintain process isolation. The TCB 
  9853. shall separate those elements that are protection-
  9854. critical from those that are not. Features in 
  9855. hardware, such as segmentation, shall be used to 
  9856. support logically distinct storage objects with 
  9857. separate access-control attributes (e.g., 
  9858. readable, writable).
  9859.  
  9860. Requirements for Implementation Support
  9861.  
  9862. IM-3: Module Correspondence Support
  9863.  
  9864. The developer shall maintain engineering diagrams 
  9865. and source code (as applicable) for all TCB 
  9866. elements. The diagrams and source code for each 
  9867. module of the TCB shall be identified and provided 
  9868. as configuration items.
  9869.  
  9870. Requirements for Developer Functional Testing
  9871.  
  9872. FT-3: Specification-Driven TCB Interface Testing
  9873.  
  9874. The developer shall test the TCB interface to show 
  9875. that all claimed protection functions work as 
  9876. stated in the TCB interface description or 
  9877. specification. The tests shall exercise the 
  9878. boundary conditions of the protection functions. 
  9879. The developer shall generate the test conditions 
  9880. and data from the Descriptive Interface 
  9881. Specification(s). The developer test procedures 
  9882. shall include the tests used to demonstrate the 
  9883. absence of all flaws discovered in previous 
  9884. versions of the TCB.
  9885.  
  9886. The developer shall correct all flaws discovered 
  9887. by testing and shall retest the TCB to show that 
  9888. all discovered flaws have been eliminated, no new 
  9889. flaws have been introduced, and the protection 
  9890. functions work as claimed.
  9891.  
  9892. Requirements for Penetration Analysis
  9893.  
  9894. PA-2 Flaw-Hypothesis Testing
  9895.  
  9896. The developer shall define the TCB configuration, 
  9897. interface, and protection functions that are 
  9898. subject to penetration testing. For each test, the 
  9899. developer shall identify the goal of the test and 
  9900. the criteria for successful penetration. The 
  9901. developer shall illustrate how, in addition to 
  9902. system reference manuals and TCB interface 
  9903. description, the DIS, source code, and hardware 
  9904. and firmware specifications are used to define 
  9905. penetration-test conditions. For each test, the 
  9906. developer shall document all test conditions, data 
  9907. (e.g., test set-up, function call parameters, and 
  9908. test outcomes), and coverage. 
  9909.  
  9910. The developer shall generate the test conditions 
  9911. from flaw-hypotheses derived by negating 
  9912. assertions of TCB design capabilities and by 
  9913. providing counter examples that show that these 
  9914. assertions are false. The developer shall confirm 
  9915. the flaw hypotheses by checking design and 
  9916. implementation documentation, by defining the test 
  9917. data and running test programs, or by referring to 
  9918. known classes of penetration flaws found in other 
  9919. TCBs. The refutation of any hypothesis shall be 
  9920. documented.
  9921.  
  9922. For each uncovered flaw, the developer shall 
  9923. define and document scenarios of flaw exploitation 
  9924. and shall identify all penetration outcomes 
  9925. resulting from that scenario. The cause of the 
  9926. flaw shall be identified and documented. 
  9927.  
  9928. Requirements for Covert-Channel Analysis
  9929.  
  9930. CCA-1 Analysis of Covert Storage Channels
  9931.  
  9932. 1. Identification: The developer shall identify 
  9933. all sources of information used in covert-storage-
  9934. channel analysis. These sources shall include TCB 
  9935. reference manuals and DIS. The developer shall 
  9936. define the identification method used. The 
  9937. developer shall demonstrate that the chosen 
  9938. identification method is sound (e.g., it leads to 
  9939. the discovery of all covert storage channels in 
  9940. the DIS or source documentation) and repeatable 
  9941. (i.e., independent evaluators can use the method 
  9942. on the same sources of covert-storage-channel 
  9943. information and can obtain the same results.) The 
  9944. developer shall define scenarios of use for each 
  9945. covert storage channel.
  9946.  
  9947. 2. Bandwidth Measurement or Engineering 
  9948. Estimation: The developer shall define the method 
  9949. used for covert-storage-channel bandwidth 
  9950. estimation. In measuring TCB performance for 
  9951. covert-channel-bandwidth estimation, the developer 
  9952. shall satisfy the following assumptions. The 
  9953. maximum bandwidth estimation shall be based on the 
  9954. assumptions that the storage channel is noiseless, 
  9955. that the senders and receivers are not delayed by 
  9956. the presence of other processes in the product, 
  9957. and that the sender-receiver synchronization time 
  9958. is negligible. The choice of informal estimation 
  9959. methods shall define and justify the coding method 
  9960. and, therefore, the distribution of "0s" and "1s" 
  9961. in all transmissions.
  9962.  
  9963. The developer shall select TCB primitives to be 
  9964. measured for bandwidth determination from real 
  9965. scenarios of covert-storage-channel use. The 
  9966. developer shall specify TCB measurement 
  9967. environment for the bandwidth measurements. This 
  9968. specification shall include: (1) the speed of the 
  9969. product functions, (2) the product configuration, 
  9970. (3) the sizes of the memory and cache components, 
  9971. and (4) the product initialization. The 
  9972. sensitivity of the measurement results to 
  9973. configuration changes shall be documented. The 
  9974. covert-storage-channel measurements shall include 
  9975. the fastest TCB function calls for altering, 
  9976. viewing, and setting up the transmission 
  9977. environment; the demonstrably fastest process 
  9978. (context) switch time shall also be included in 
  9979. the bandwidth measurements. All measurements shall 
  9980. be repeatable.
  9981.  
  9982. 3. Covert Channel Testing: The developer shall 
  9983. test all the use of all identified covert storage 
  9984. channels to determine whether the handling 
  9985. functions work as intended.
  9986.  
  9987. Requirements for User Guidance
  9988.  
  9989. UG-1: Users' Guide
  9990.  
  9991. The developer shall provide a User Guide which 
  9992. describes all protection services provided and 
  9993. enforced by the TCB. The User Guide shall describe 
  9994. the interaction between these services and provide 
  9995. examples of their use. The User Guide may be in the 
  9996. form of a summary, chapter or manual. The User 
  9997. Guide shall specifically describe user 
  9998. responsibilities. These shall encompass any user 
  9999. responsibilities identified in the protection 
  10000. profile.
  10001.  
  10002. Requirements for Administrative Guidance
  10003.  
  10004. AG-2: Detailed Administrative Guidance
  10005.  
  10006. The developer shall provide a Trusted Facility 
  10007. Manual intended for the product administrators and 
  10008. operators that describes how to use the TCB 
  10009. security services (e.g., Access Control, System 
  10010. Entry, or Audit) to enforce a system security 
  10011. policy. The Trusted Facility Manual shall include 
  10012. the procedures for securely configuring, starting, 
  10013. maintaining, and halting the TCB. The Trusted 
  10014. Facility Manual shall explain how to analyze audit 
  10015. data generated by the TCB to identify and document 
  10016. user and administrator violations of this policy. 
  10017. The Trusted Facility Manual shall explain the 
  10018. unique security-relevant privileges and functions 
  10019. of administrators and operators. The Trusted 
  10020. Facility Manual shall describe the administrative 
  10021. interaction between security services.
  10022.  
  10023. The Trusted Facility Manual shall identify all 
  10024. hardware, firmware, software, and data structures 
  10025. comprising the TCB. The detailed audit record 
  10026. structure for each type of audit event shall be 
  10027. described. The Trusted Facility Manual shall 
  10028. explain how configure the product to mitigate, 
  10029. eliminate, or audit covert channel 
  10030. exploitation.The Trusted Facility Manual shall 
  10031. describe the cautions about and procedures for 
  10032. using the TCB as a base for site-specific secure 
  10033. applications. The Trusted Facility Manual shall 
  10034. describe procedures for securely regenerating the 
  10035. TCB after any part is changed (e.g., due to adding 
  10036. devices or installing flaw corrections to the TCB 
  10037. software).
  10038.  
  10039. The Trusted Facility Manual shall be distinct from 
  10040. User Guidance, and encompass any administrative 
  10041. responsibilities identified in security 
  10042. management.
  10043.  
  10044. Requirements for Trusted Generation
  10045.  
  10046. TG-2: Trusted Generation With Fail-Safe Defaults
  10047.  
  10048. The developer shall establish and document the 
  10049. procedures that a consumer must perform to 
  10050. generate an operational TCB from the delivered 
  10051. copy of the master TCB. The consumer documentation 
  10052. shall identify any system parameters, which are 
  10053. initialized or set during system generation, that 
  10054. affect the TCB's conformance to the protection 
  10055. profile and state the acceptable ranges of values 
  10056. for those parameters. The product shall be 
  10057. delivered with each of these parameters set to its 
  10058. fail-safe defaults.
  10059.  
  10060. Requirements for Life Cycle Process
  10061.  
  10062. LC-2: Standardized Life Cycle Process
  10063.  
  10064. The developer shall develop and maintain the 
  10065. product using a well defined, standardized 
  10066. engineering process. The developer shall explain 
  10067. why the process was chosen and how the developer 
  10068. uses it to develop and maintain the product. The 
  10069. process shall incorporate a security policy that 
  10070. states the technical, physical, procedural, 
  10071. personnel, and other measures used by the 
  10072. developer to protect the product and its 
  10073. documentation. The developer shall demonstrate 
  10074. that each development process and support process 
  10075. requirement of the protection profile is satisfied 
  10076. by some part, or parts, of the developer's 
  10077. process. The developer shall identify the 
  10078. programming languages used to develop the TCB 
  10079. software and reference the definitions of those 
  10080. languages. The developer shall identify any 
  10081. implementation dependent options of the 
  10082. programming language compiler(s) used to implement 
  10083. the TCB software.
  10084.  
  10085. Requirements for Configuration Management
  10086.  
  10087. CM-2: Automated Source Code Control
  10088.  
  10089. The developer shall establish configuration 
  10090. control and generation procedures for developing 
  10091. and maintaining the TCB. The procedures shall be 
  10092. employed to ensure that changes to the TCB are 
  10093. consistent with the product's protection 
  10094. properties and security policy. The developer 
  10095. shall employ these procedures to track changes to 
  10096. development evidence, implementation data (e.g., 
  10097. source code and hardware diagrams), executable 
  10098. versions of the TCB, test documentation and 
  10099. procedures, identified flaws, and consumer 
  10100. documentation. The procedures shall include 
  10101. automated tools to control the software source 
  10102. code that comprises the TCB.
  10103.  
  10104. The configuration control procedures shall assure 
  10105. a consistent mapping among documentation and code 
  10106. associated with the current version of the TCB and 
  10107. permit the regeneration of any supported version 
  10108. of the TCB.
  10109.  
  10110. Requirements for Evidence of TCB Protection Properties
  10111.  
  10112. EPP-3 Evidence of Formal Model Interpretation in the DIS
  10113.  
  10114. The developer shall provide documentation which 
  10115. describes the correspondence between the 
  10116. functional component requirements and the TCB 
  10117. elements and interfaces. This documentation shall 
  10118. describe how the TCB implements the reference 
  10119. monitor concept. The developer shall also provide 
  10120. a formal access-control model and an informal 
  10121. reference mediation and TCB protection model. The 
  10122. TCB properties, which are defined by this 
  10123. correspondence and the interpretation of these 
  10124. models within the DIS of the TCB shall be 
  10125. documented by the product developer. 
  10126.  
  10127. Requirements for Evidence of Product Development
  10128.  
  10129. EPD-3: Analysis Of The TCB External Interface
  10130.  
  10131. The developer shall provide TCB Design 
  10132. Specifications that include: a list of the TCB 
  10133. elements (hardware, software, and firmware 
  10134. configuration items); a list of protection 
  10135. services provided to the TCB by hardware, 
  10136. software, and firmware that is not part of the 
  10137. TCB; an explanation of the techniques and criteria 
  10138. used during the modular decomposition of the TCB; 
  10139. a description of the policy allocations, 
  10140. functions, and interactions among the major TCB 
  10141. subsystems; and module level descriptions of all 
  10142. software and hardware in the TCB.
  10143.  
  10144. The developer shall provide a Descriptive 
  10145. Interface Specification (DIS) that describes the 
  10146. functions, effects, exceptions and error messages 
  10147. visible at the TCB interface. The developer shall 
  10148. show that the DIS is an accurate representation of 
  10149. the TCB's external interfaces.
  10150.  
  10151. The developer shall provide TCB Implementation 
  10152. Data consisting of the engineering diagrams for 
  10153. all hardware included in the TCB and the source 
  10154. code used to generate the TCB software and 
  10155. firmware.
  10156.  
  10157. Requirements for Evidence of Functional Testing
  10158.  
  10159. EFT-3: Evidence of Specification-Driven Testing
  10160.  
  10161. The developer shall provide evidence of the 
  10162. functional testing that includes the test plan, 
  10163. the test procedures, and the results of the 
  10164. functional testing. The test, plans, procedures, 
  10165. and results shall be maintained under the same 
  10166. configuration control as the TCB software. The 
  10167. test plans shall identify the TCB specification 
  10168. used in the derivation of the test conditions, 
  10169. data, and coverage analysis. 
  10170.  
  10171. Requirements for Evidence of Penetration Analysis
  10172.  
  10173. EPA-2: Evidence of Flaw-Hypothesis Generation and Testing
  10174.  
  10175. The developer shall provide evidence of 
  10176. penetration testing. The penetration evidence 
  10177. shall identify all product documentation and 
  10178. development evidence on which the search for flaws 
  10179. was based. The penetration evidence shall describe 
  10180. the scenarios for exploiting each potential flaw 
  10181. in the system and the penetration test conditions, 
  10182. data (e.g., test set-up, function call parameters, 
  10183. and test outcomes), coverage, and conclusions 
  10184. derived from each scenario. The penetration 
  10185. evidence shall summarize both refuted and 
  10186. confirmed flaws hypothesis.
  10187.  
  10188. Requirements for Evidence of Covert Channel Analysis
  10189.  
  10190. ECC-1: Evidence of Covert Storage Channel Analysis and 
  10191. Handling 
  10192.  
  10193. The developer's documentation shall present the 
  10194. results of the covert-storage-channel analysis and 
  10195. the trade-offs involved in restricting these 
  10196. channels. All auditable events that may be used in 
  10197. the exploitation of known covert storage channels 
  10198. shall be identified. The developer shall provide 
  10199. the bandwidths of known covert-storage-channels 
  10200. whose use is not detectable by the auditing 
  10201. mechanism. The documentation of each identified 
  10202. storage channel shall consist of the variable that 
  10203. can be viewed/altered by the channel and the TCB 
  10204. interface functions that can alter or view that 
  10205. variable. The measurements of each TCB function 
  10206. call used by covert-storage channels must be 
  10207. documented and the bandwidth computation shall be 
  10208. included for each channel. The measurement 
  10209. environment should be documented as specified. 
  10210. Test documentation shall include results of 
  10211. testing the effectiveness of the methods used to 
  10212. reduce covert-storage-channel bandwidths.
  10213.  
  10214. Requirements for Evidence of Product Support
  10215.  
  10216. EPS-2: Evidence of Defined Product Support
  10217.  
  10218. The developer shall provide documentation that 
  10219. defines the policies, procedures, plans, and tools 
  10220. established by the developer to satisfy the 
  10221. Operational Support and Development Environment 
  10222. requirements of the protection profile.
  10223.  
  10224. Requirements for Test Analysis
  10225.  
  10226. TA-4: Comprehensive Test Analysis
  10227.  
  10228. The evaluator shall assess whether the producer 
  10229. has performed the activities defined in the 
  10230. development assurance requirements of the 
  10231. protection profile for functional testing and 
  10232. penetration analysis, and whether the producer has 
  10233. documented these activities as defined in the 
  10234. development evidence requirements of the 
  10235. protection profile. The evaluator shall analyze 
  10236. the results of the producer's testing activities 
  10237. for completeness of coverage and consistency of 
  10238. results, and general correctness (e.g., defect 
  10239. trend from regression testing). This analysis 
  10240. shall examine the testability of requirements, the 
  10241. adequacy of the tests to measure the required 
  10242. properties, the deviation of the actual results 
  10243. obtained from the expected results. The analysis 
  10244. shall extend to trace all defects identified, 
  10245. corrected, and retested. The analysis shall 
  10246. include an assessment of test coverage and 
  10247. completeness, and defect frequency. The results of 
  10248. testing shall be interpreted in terms that express 
  10249. product performance and protection adequacy. The 
  10250. evaluator shall determine whether the product's 
  10251. protection properties, as defined for all 
  10252. protection-relevant modules of the TCB, and all 
  10253. relevant known penetration flaws have been tested. 
  10254. The evaluator shall independently develop, test, 
  10255. and document additional flaw hypotheses. The 
  10256. evaluator shall assess testing results to 
  10257. determine whether the product's TCB works as 
  10258. claimed, that the TCB's implementation is 
  10259. consistent with the DIS, and whether there are any 
  10260. obvious ways (i.e., ways that are known, or that 
  10261. are readily apparent or easily discovered in 
  10262. product documentation) for an unauthorized user to 
  10263. bypass the policy implemented by the TCB or 
  10264. otherwise defeat the product's TCB, and whether 
  10265. all discovered TCB flaws have been corrected and 
  10266. no new TCB flaws introduced. No design flaws and 
  10267. no more than a few correctable implementation 
  10268. flaws may be found during testing and there shall 
  10269. be reasonable confidence that few remain.   The 
  10270. testing results shall show that the methods used 
  10271. to reduce covert channel bandwidths have been 
  10272. effective for all evaluated configurations. The 
  10273. evaluator shall determine whether the product is 
  10274. relatively resistant to penetrations.
  10275.  
  10276. Requirements for Independent Testing
  10277.  
  10278. IT-3: Comprehensive Independent Testing.
  10279.  
  10280. The evaluator shall independently perform 
  10281. functional and elementary penetration testing to 
  10282. confirm test results. This testing may be 
  10283. selective and shall be based on (1) the results of 
  10284. other independent and/or producer testing, (2) the 
  10285. TCB's DIS, (3) other product design and 
  10286. implementation documentation, (4) the product's 
  10287. user and administrative documentation, (5) 
  10288. relevant known penetration flaws, and (6) 
  10289. evaluator-developed TCB penetration flaw 
  10290. hypotheses and corresponding tests that attempt to 
  10291. exploit the hypothesized flaws. Satisfactory 
  10292. completion consists of demonstrating that all TCB 
  10293. functions work as described in the product's 
  10294. relevant documentation, that test results are 
  10295. consistent, and that no discrepancies exist 
  10296. between the documentation and the product. 
  10297. Satisfactory penetration test completion shall be 
  10298. determined by the subjective judgement (which may 
  10299. be supported algorithmically) of the evaluator. 
  10300. Test duration agreements may further constrain 
  10301. this judgement. Categorization of an actual 
  10302. penetration flaw shall be based on the 
  10303. reproducibility of that flaw. Flaws that are 
  10304. discovered, but are not reproducible shall remain 
  10305. categorized as potential penetration flaws. All 
  10306. actual penetration flaws must be corrected and 
  10307. retested. 
  10308.  
  10309. The evaluator shall provide a penetration test 
  10310. plan document that describes the additional 
  10311. evaluator-developed flaw hypotheses and associated 
  10312. tests. The evaluator shall execute these tests and 
  10313. shall report any discovered flaws to the producer 
  10314. as part of the testing results. At the conclusion 
  10315. of penetration testing, the evaluator shall 
  10316. provide copies of this penetration test plan and 
  10317. its test results to the producer. The producer 
  10318. shall ensure that this test plan and its test 
  10319. results are incorporated into the rest of the 
  10320. product's testing documentation and that such 
  10321. documentation is available for further analysis 
  10322. throughout the life of the product.
  10323.  
  10324. The evaluator shall test for covert channel 
  10325. bandwidth reductions to determine the 
  10326. effectiveness of handling method(s) in reducing 
  10327. the bandwidths of identified covert channels for 
  10328. all evaluated configurations.
  10329.  
  10330. If the independent testing is performed at beta-
  10331. test sites, the producer shall supply the beta-
  10332. test plan and the test results. The evaluator 
  10333. shall review the scope and depth of beta testing 
  10334. with respect to the required protection 
  10335. functionality, and shall verify independence of 
  10336. both the test sites and the producer's and beta-
  10337. test user's test results. The evaluator shall also 
  10338. confirm that the test environment of the beta-test 
  10339. site(s) adequately represents the environment 
  10340. specified in the protection profile.
  10341.  
  10342. Requirements for Development Environment
  10343.  
  10344. DER-2: Enhanced Development Environment Review 
  10345.  
  10346. The evaluator shall review the producer's 
  10347. development and maintenance process description 
  10348. documentation and shall conduct a random audit of 
  10349. the producer's processes   using the evidence 
  10350. generated by each process to determine the degree 
  10351. of discipline enforced upon and within the 
  10352. process, and to determine the protection 
  10353. characteristics associated with the product's 
  10354. development and maintenance. The results of this 
  10355. review shall establish, for the evaluator, the 
  10356. producer's development environment, its policies, 
  10357. and the degree of enforcement maintained during 
  10358. development execution. The results of this review 
  10359. shall also confirm the producer's general 
  10360. conformance with relevant development environment 
  10361. requirements.
  10362.  
  10363. Requirements for Operational Support
  10364.  
  10365. OSR-2 Enhanced Operational Support Review
  10366.  
  10367. The evaluator shall review all documentation 
  10368. focused on the activities of product use (e.g., 
  10369. Users Manuals) and product administration 
  10370. including installation, operation, maintenance, 
  10371. and trusted recovery (e.g., Trusted Facility 
  10372. Management Manuals). This review shall assess the 
  10373. clarity of presentation, difficulty in locating 
  10374. topics of interest, ease of understanding, and 
  10375. completeness of coverage. The need for separate 
  10376. manuals dedicated to protection-relevant aspects 
  10377. of the product should be assessed for 
  10378. effectiveness. The evaluator shall randomly select 
  10379. a sample of the documented protection-relevant 
  10380. features and procedures and execute them to 
  10381. determine if their descriptions are accurate and 
  10382. correct.
  10383.  
  10384. Requirements for Design Analysis
  10385.  
  10386. DA-2: Enhanced Design Analysis
  10387.  
  10388. The evaluator shall determine whether the producer has 
  10389. performed the activities defined in the development process 
  10390. assurance requirements of the protection profile for TCB 
  10391. property definition and TCB design. The evaluator shall 
  10392. determine whether the producer has documented these 
  10393. activities as defined in the development evidence 
  10394. requirements of the protection profile. The evaluator shall 
  10395. analyze the results of the producer's activities for 
  10396. completeness, consistency, and correctness of design with 
  10397. respect to requirements.
  10398.  
  10399. Requirements for Implementation Analysis
  10400.  
  10401. CI-1: Elementary Implementation Analysis
  10402.  
  10403. The evaluator shall conduct a code inspection on a 
  10404. small sample of randomly selected product code. 
  10405. The assessment shall focus on clarity of the 
  10406. coding style, adherence to coding standards, 
  10407. coding documentation, and on possible software 
  10408. defects that may be present with respect to the 
  10409. product's informal design. The inspection shall be 
  10410. performed to obtain only a sample of possible 
  10411. software defects, not to capture all such possible 
  10412. defects. The evaluator shall report all discovered 
  10413. defects to the producer; the assessment shall 
  10414. report the number of defects found per line of 
  10415. code inspected from the random sample size. Use of 
  10416. producer-provided code inspection results can 
  10417. supplement this sample inspection. All trapdoors 
  10418. built into the product for maintenance purposes 
  10419. shall be identified by the producer and shown to 
  10420. be protected by the product.
  10421. DRAFT
  10422.  
  10423.  
  10424.  
  10425.  LABEL BASED PROTECTION
  10426.  
  10427.  FOR
  10428.  
  10429. MULTI-USER INFORMATION SYSTEMS
  10430.  
  10431.  
  10432.  
  10433. LEVEL 3
  10434.  
  10435. (LP-3)
  10436.  
  10437.  
  10438.  
  10439.  
  10440.  
  10441.  A Protection Profile
  10442.  
  10443. Derived from the Federal Criteria for IT Security
  10444.  
  10445.  
  10446.  
  10447. Version 1.0
  10448.  
  10449.  
  10450.  
  10451.  
  10452.  
  10453.  
  10454.  
  10455. December 1992
  10456.  
  10457.  
  10458.  
  10459. This document is undergoing review and 
  10460. is subject to modification or withdrawal.
  10461.  
  10462. The contents of this document should not 
  10463. be referenced in other publications.
  10464.  
  10465.  
  10466.  
  10467.  
  10468.  
  10469.  
  10470.  
  10471. Supersedes the
  10472.  
  10473. Trusted Computer System Evaluation Criteria
  10474.  
  10475. Class B3
  10476.  
  10477.  
  10478.  
  10479.  
  10480.  
  10481. DRAFT
  10482.  
  10483. LABEL-BASED PROTECTION - 3 (LP-3)
  10484.  
  10485. This Protection Profile has been developed to define a set 
  10486. of technical measures that can be incorporated into remote-
  10487. access, resource- and information-sharing Information 
  10488. Technology (IT) products that will be used to protect up to 
  10489. three levels and multiple categories of National Security 
  10490. Information classified according to US Executive Order 12356 
  10491. (EO 12356). This profile can also be used to protect any 
  10492. information that has been designated as sensitive information 
  10493. for which information separation and access are based on 
  10494. sensitivity markings applied to the information. This profile 
  10495. is intended for use in environments where the presence 
  10496. potentially malicious application software (e.g., Trojan 
  10497. Horses) mandate the use of high-assurance products.
  10498.  
  10499. Compliant IT products will provide highly-structured, 
  10500. conceptually simple protection mechanisms for a multi-level 
  10501. information processing environment with which an organization 
  10502. can construct an automated information system to enhance or 
  10503. optimize the organization's ability to perform its mission.
  10504.  
  10505. In LP-3 conformant systems, the TCB is demonstrably based 
  10506. on a clearly defined and documented formal security policy 
  10507. model (i.e., the interpretation of the policy model within the 
  10508. TCB is shown to be valid). The TCB is resistant to 
  10509. penetration. In relation to lower levels of protection 
  10510. functionality, LP-3 conformat systems have the following 
  10511. additional features.
  10512.  
  10513. a.    The TCB must satisfy all requirements of the reference 
  10514. monitor concept (i.e., TCB protection, reference 
  10515. mediation, and TCB structuring and complexity 
  10516. minimization to enhance TCB verification; viz., 
  10517. Appendix B).
  10518.  
  10519. b.    Covert storage and timing channels are analyzed and 
  10520. handled.
  10521.  
  10522. c.    The TCB includes trusted recovery functions and a 
  10523. trusted path mechanism that includes general user 
  10524. commands, not just login commands.
  10525.  
  10526. d.    The audit mechanisms include alarms that signal 
  10527. accumulation of events representing potential 
  10528. security violations.
  10529.  
  10530. e.    Security management is enhanced by the fine-grain 
  10531. separation of system administrator and operator 
  10532. functions and by the minimization of security 
  10533. irrelevant functions of security roles. 
  10534.  
  10535. f.    Stringent configuration management controls are 
  10536. imposed. 
  10537.  
  10538. g.    The TCB must be found resistant to penetration.
  10539.  
  10540. Cross References:
  10541.  
  10542. o    Existing Criteria:
  10543.  
  10544. (1)    TCSEC: B3
  10545.  
  10546. (2)    ITSEC
  10547.  
  10548. (3)    CTCPEC
  10549.  
  10550. o    Other Protection Profiles
  10551.  
  10552. (1)    TBD
  10553.  
  10554. COMPONENT SUMMARY:
  10555.  
  10556.  
  10557.  
  10558.  LP-3 Functional Component Summary
  10559.  
  10560. .--------------------------------------------.
  10561. |                                  | Code &  |
  10562. | Functional Component             | Level   |
  10563. |============================================|
  10564. | Security Policy Support                    |
  10565. |----------------------------------+---------|
  10566. |  Accountability                  |         |
  10567. |----------------------------------+---------|
  10568. |   Identification  uthentication  |  I&A-2  |
  10569. |----------------------------------+---------|
  10570. |   System Entry                   |  ----   |
  10571. |----------------------------------+---------|
  10572. |   Trusted Path                   |  TP-2   |
  10573. |----------------------------------+---------|
  10574. |   Audit                          |  AD-1+  |
  10575. |----------------------------------+---------|
  10576. |  Access Control                  |  AC-3+  |
  10577. |----------------------------------+---------|
  10578. |   Discretionary                  |  AC-3+  |
  10579. |----------------------------------+---------|
  10580. |   Non-Discretionary              |  AC-3   |
  10581. |----------------------------------+---------|
  10582. |   Covert Channel Handling        |  CCH-3  |
  10583. |----------------------------------+---------|
  10584. |  Availability                    |  ----   |
  10585. |----------------------------------+---------|
  10586. |   Resource Allocation            |  ----   |
  10587. |----------------------------------+---------|
  10588. |   Fault Tolerance                |  ----   |
  10589. |----------------------------------+---------|
  10590. |  Security Mgmt.                  |  SM-1++ |
  10591. |----------------------------------+---------|
  10592. | Reference Mediation              |  RM-3   |
  10593. |----------------------------------+---------|
  10594. | TCB Logical Protection           |  P-3    |
  10595. |----------------------------------+---------|
  10596. | TCB Physical Protection          |  ----   |
  10597. |----------------------------------+---------|
  10598. | TCB Self-checking                |  SC-1   |
  10599. |----------------------------------+---------|
  10600. | TCB Start-Up and Recovery        |  TR-1   |
  10601. |----------------------------------+---------|
  10602. | TCB Privileged Operation         |  PO-2   |
  10603. |----------------------------------+---------|
  10604. | TCB Ease-of-Use                  |  ----   |
  10605. `--------------------------------------------'
  10606.  
  10607.  
  10608.    LP-3 Assurance Component Summary
  10609. .---------------------------------------.
  10610. | Assurance Components           |  T6  |
  10611. |================================|======|
  10612. | Development Assurance Components      |     
  10613. |=======================================|
  10614. | Development Process                   |
  10615. |--------------------------------+------|
  10616. | TCB Property Definition        | PD-3 |
  10617. |--------------------------------+------|
  10618. | TCB Design                            |
  10619. |--------------------------------+------|
  10620. |   TCB Element Identification   | ID-2 |
  10621. |--------------------------------+------|
  10622. |   TCB Interface Definition     | IF-2 |
  10623. |--------------------------------+------|
  10624. |   TCB Modular Decomposition    | MD-3 |
  10625. |--------------------------------+------|
  10626. |   TCB Structuring Support      | SP-3 |
  10627. |--------------------------------+------|
  10628. |   TCB Design Disciplines       | DD-2 |
  10629. |--------------------------------+------|
  10630. | TCB Implementation Support     | IM-3 |
  10631. |--------------------------------+------|
  10632. | TCB Testing and Analysis              |
  10633. |--------------------------------+------|
  10634. |   Functional Testing           | FT-3 |
  10635. |--------------------------------+------|
  10636. |   Penetration Analysis         | PA-2 |
  10637. |--------------------------------+------|
  10638. |   Covert Channel Analysis      | CCA2 |
  10639. |--------------------------------+------|
  10640. | Operational Support                   |
  10641. |--------------------------------+------|
  10642. | User Security Guidance         | UG-1 |
  10643. |--------------------------------+------|
  10644. | Administrative Guidance        | AG-3 |
  10645. |--------------------------------+------|
  10646. | Trusted Generation             | TG-3 |
  10647. |--------------------------------+------|
  10648. | Development Environment               |
  10649. |--------------------------------+------|
  10650. | Life Cycle Definition          | LC-3 |
  10651. |--------------------------------+------|
  10652. | Configuration Management       | CM-3 |
  10653. |--------------------------------+------|
  10654. | Trusted Distribution           | ---- |
  10655. |--------------------------------+------|
  10656. | Development Evidence                  |
  10657. |--------------------------------+------|
  10658. | TCB Protection Properties      | EPP3 |
  10659. |--------------------------------+------|
  10660. | Product Development            | EPD4 |
  10661. |--------------------------------+------|
  10662. | Product Testing & Analysis            |
  10663. |--------------------------------+------|
  10664. |   Functional Testing           | EFT3 |
  10665. |--------------------------------+------|
  10666. |   Penetration Analysis         | EPA2 |
  10667. |--------------------------------+------|
  10668. |   Covert Channel Analysis      | ECC2 |
  10669. |--------------------------------+------|
  10670. | Product Support                | EPS3 |
  10671. `---------------------------------------'
  10672. |=======================================|
  10673. | Evaluation Assurance Components       |
  10674. |=======================================|
  10675. | Testing                               |
  10676. |--------------------------------+------|
  10677. |   Test Analysis                | TA-4 |
  10678. |--------------------------------+------|
  10679. |   Independent Testing          | IT-3 |
  10680. |--------------------------------+------|
  10681. | Review                                |
  10682. |--------------------------------+------|
  10683. |   Development Environment      | DER3 |
  10684. |--------------------------------+------|
  10685. |   Operational Support          | OSR3 |
  10686. |--------------------------------+------|
  10687. | Analysis                              |
  10688. |--------------------------------+------|
  10689. |   Protection Properties        | ---- |
  10690. |--------------------------------+------|
  10691. |   Design                       | DA-3 |
  10692. |--------------------------------+------|
  10693. |   Implementation               | CI-3 |
  10694. `---------------------------------------'
  10695.  
  10696. RATIONALE
  10697.  
  10698. 11.    Information Protection Policy
  10699.  
  10700. It is anticipated that organizations wishing to process two 
  10701. to three levels of classified information with multiple 
  10702. categories will want to use IT products that are compliant 
  10703. with this profile in their automated information processing 
  10704. systems. These organizations should be able to trust the 
  10705. profile-compliant IT product to contribute to the protection 
  10706. of the classified information at least as much as they trust 
  10707. the properly cleared personnel who are using and managing the 
  10708. system.
  10709.  
  10710. 12.    Protection Philosophy
  10711.  
  10712. This profile presumes a hostile environment with divided, 
  10713. aggressive users. It provides control of access to shared 
  10714. resources both (1) on the basis of attributes that are 
  10715. controlled by the ordinary users of the system and (2) on the 
  10716. basis of attributes that are controlled only by the system 
  10717. administrators.
  10718.  
  10719. Profile compliant IT products will minimally meet the 
  10720. following objectives:
  10721.  
  10722. a.    Employ a reference validation mechanism to enforce a 
  10723. formally defined security policy that describes the 
  10724. rules for controlling access to system subjects and 
  10725. objects and use the access control rules to enforce an 
  10726. information flow policy that aims to control the use 
  10727. of covert storage and timing channels.
  10728.  
  10729. b.    Associate explicit sensitivity labels with each 
  10730. subject and object in the system and each port through 
  10731. which information may be exported from or imported to 
  10732. the system. Maintain the accuracy of the sensitivity 
  10733. labels as information moves within the system and 
  10734. through the ports.
  10735.  
  10736. c.    Authenticate the claimed identity of each external 
  10737. human user of the IT product prior to establishing any 
  10738. internal entity to act on behalf of that user and 
  10739. firmly bind the authenticated user identity to the 
  10740. internal entity.
  10741.  
  10742. d.    Selectively keep and protect a log of all actions or 
  10743. events (including use of covert storage channels) that 
  10744. could affect system security so that they can be 
  10745. accurately attributed to the known user or system 
  10746. entity responsible for causing the action or event. 
  10747. Also, alert the system administrator when a series of 
  10748. events indicates an imminent violation of the security 
  10749. policy.
  10750.  
  10751. e.    Contains hardware and software mechanisms that can be 
  10752. independently evaluated to provide sufficient 
  10753. assurance that the system satisfies the previous four 
  10754. objectives.
  10755.  
  10756. f.    Implements the enforcement of objectives a through d 
  10757. in such a fashion that the enforcing mechanisms are 
  10758. protected from tampering and unauthorized changes by 
  10759. the information moving entities that the mechanisms 
  10760. are supposed to control.
  10761.  
  10762. 13.    Expected Threats
  10763.  
  10764. The requirements for profile conforming IT products assume 
  10765. that these products are being used in an environment where 
  10766. there are different levels and categories of classified data 
  10767. and users of differing clearance levels. A conforming IT 
  10768. product can be reasonably expected to protect the 
  10769. confidentiality of information in an environment where there 
  10770. are three levels and multiple categories of classified data, 
  10771. and two or more levels of cleared users and where there are 
  10772. collaborating, malicious users and software at each clearance 
  10773. level.
  10774.  
  10775. 14.    Assumed Environment
  10776.  
  10777. 14.1    Characteristics
  10778.  
  10779. IT products complying with the requirements set forth in 
  10780. this profile are expected to be used in an environment with 
  10781. the following characteristics:
  10782.  
  10783. a.    Multiple users will be accessing the operating system 
  10784. at the same time.
  10785.  
  10786. b.    The IT product hardware base (e.g., CPU, printers, 
  10787. terminals, etc.) is protected from unauthorized 
  10788. physical access.
  10789.  
  10790. c.    One or more personnel are assigned to manage the 
  10791. system in which the IT product is incorporated, 
  10792. including the security of the information it contains.
  10793.  
  10794. d.    A need to control user access to information exists 
  10795. and is based on an explicit sensitivity marking 
  10796. associated with the information (e.g, Secret or Top 
  10797. Secret).
  10798.  
  10799. e.    There is a need to control user access to information 
  10800. exists and is based on that user's identity and 
  10801. membership in organizations or groups.
  10802.  
  10803. f.    The IT product provides facilities for some or all of 
  10804. the authorized users to create programs that use the 
  10805. applications programming interface (API) and make 
  10806. those programs available to other users.
  10807.  
  10808. g.    The IT product is used to provide a cooperative 
  10809. environment for the users to accomplish some task or 
  10810. group of tasks.
  10811.  
  10812. 14.2    Environment Dependencies
  10813.  
  10814. Secure installation and operation of a product satisfying 
  10815. these profile requirements depends on provision of a number 
  10816. of elements in the installation environment. These include:
  10817.  
  10818. a.    Physical security must be provided. For US Government 
  10819. classified operation, physical security equivalent to 
  10820. PP-2 would be required.
  10821.  
  10822. b.    Cabling to other devices must be shown to be 
  10823. consistent with policy implemented by the product. For 
  10824. example, a "port" in the product is required to have 
  10825. an assigned label. No device can be connected to the 
  10826. port unless it has been established externally that 
  10827. the device is allowed to receive data with the same 
  10828. label.
  10829.  
  10830. c.    Personnel allowed to access data processed by the 
  10831. installed product must already be authorized for such 
  10832. access.
  10833.  
  10834. 15.    Intended Use
  10835.  
  10836. Conforming IT products are useful in both general-purpose 
  10837. office automation environments with multiple data 
  10838. sensitivities (or "classifications") and multiple levels of 
  10839. user authorizations (or "clearances") and in specialized 
  10840. computing, network and mission environments. Examples of the 
  10841. office automation environment might include military 
  10842. headquarters and highly competitive procurement offices. 
  10843. Examples of the network environments include use as the basis 
  10844. for a multilevel secure network management center or a trusted 
  10845. guard gateway operating between two networks processing 
  10846. different levels of information. An example of the specialized 
  10847. mission environment might be as a platform for a portable 
  10848. battlefield map and mission management application.
  10849.  
  10850. FUNCTIONAL REQUIREMENTS
  10851.  
  10852. Requirements for Identification and Authentication
  10853.  
  10854. I&A-2 Identification, Authentication, and Authorization
  10855.  
  10856. 1.    The TCB shall require users to identify 
  10857. themselves to it before beginning to perform any 
  10858. other actions that the TCB is expected to mediate. 
  10859. The TCB shall be able to enforce individual 
  10860. accountability by providing the capability to 
  10861. uniquely identify each individual user. The TCB 
  10862. shall also provide the capability of associating 
  10863. this identity with all auditable actions taken by 
  10864. that individual.
  10865.  
  10866. 2.     The TCB shall maintain authentication data that 
  10867. includes information for verifying the identity of 
  10868. individual users (e.g., passwords) as well as 
  10869. information for determining the clearance and 
  10870. authorization of individual users. These data 
  10871. shall be used by the TCB to authenticate the 
  10872. user's identity and to ensure that the subject 
  10873. security level and authorizations of subjects 
  10874. external to the TCB that may be created to act on 
  10875. behalf of the individual user are dominated by the 
  10876. clearance and authorization of that user).
  10877.  
  10878. 3.     The TCB shall protect authentication data so 
  10879. that it cannot be used by any unauthorized user. 
  10880.  
  10881. Requirements for Trusted Path
  10882.  
  10883. TP-2 Trusted User-to-TCB Communication
  10884.  
  10885. The TCB shall support a trusted communication path 
  10886. between itself and users for use whenever a 
  10887. positive user-to-TCB connection is required (e.g., 
  10888. login, change of policy attributes). 
  10889. Communications via this trusted path shall be 
  10890. activated exclusively by a user or the TCB and 
  10891. shall be logically isolated and unmistakably 
  10892. distinguishable from other communication paths.
  10893.  
  10894. Requirements for Audit
  10895.  
  10896. AD-1+ Minimal Audit
  10897.  
  10898. 1.    The TCB shall be able to create, maintain, and 
  10899. protect from modification or unauthorized access 
  10900. or destruction an audit trail of accesses to the 
  10901. objects it protects. The audit data shall be 
  10902. protected by the TCB so that read access to it is 
  10903. limited to those who are authorized for audit 
  10904. data.
  10905.  
  10906. 2.    The TCB shall be able to record the following 
  10907. types of events:
  10908.  
  10909.     - use of the identification and authentication 
  10910. mechanisms;
  10911.  
  10912.     - introduction of objects into a user's address 
  10913. space (e.g., file open, program initiation), and 
  10914. deletion of objects;
  10915.  
  10916.     - actions taken by computer operators and system 
  10917. administrators and/or system security officers.
  10918.  
  10919. The TCB shall be able to record any override of 
  10920. human-readable output markings. The TCB shall also 
  10921. be able to audit the identified event that may be 
  10922. used in the exploitation of covert channels.
  10923.  
  10924. The TCB shall contain a mechanism that is able to 
  10925. monitor the occurrence or accumulation of 
  10926. auditable events that may indicate an imminent 
  10927. violation of the product's security policy. This 
  10928. mechanism shall be able to immediately notify the 
  10929. security administrator when thresholds are 
  10930. exceeded, and, if the occurrence or accumulation 
  10931. of these security relevant events continues, the 
  10932. system shall take the least disruptive action to 
  10933. terminate the event. [AD-3]
  10934.  
  10935. 3.    For each recorded event, the audit record shall 
  10936. identify: date and time of the event, user, type 
  10937. of event, and success or failure of the event. For 
  10938. identification/authentication events the origin of 
  10939. request (e.g., terminal ID) shall be included in 
  10940. the audit record. For events that introduce an 
  10941. object into a user's address space and for object 
  10942. deletion events the audit record shall include the 
  10943. name and the object security level.
  10944.  
  10945. 4.    The system administrator shall be able to 
  10946. selectively audit the actions of one or more users 
  10947. based on individual identity and/or object 
  10948. security level.
  10949.  
  10950. Requirements for Access Control
  10951.  
  10952. AC-3 + Extended Access Control
  10953.  
  10954. 1.    Definition of Access Control Attributes
  10955.  
  10956. The TCB shall define and protect access control 
  10957. attributes for subjects and objects. Subject 
  10958. attributes shall include named individuals or 
  10959. defined groups or both. Object attributes shall 
  10960. include defined access rights (e.g., read, write, 
  10961. execute) that can be assigned to subject 
  10962. attributes. Access control attributes 
  10963. corresponding to each individual policy shall be 
  10964. identified.
  10965.  
  10966. Sensitivity labels associated with each subject 
  10967. and storage object that is directly or indirectly 
  10968. accessible by subjects external to the TCB shall 
  10969. be maintained by the TCB. The sensitivity labels 
  10970. shall be used as the basis for mandatory access 
  10971. control decisions.
  10972.  
  10973. The subjects and objects shall be assigned 
  10974. sensitivity labels that are a combination of 
  10975. hierarchical classification levels and non-
  10976. hierarchical categories, and the labels shall be 
  10977. used as the basis for mandatory access control 
  10978. decisions. The TCB shall be able to support two or 
  10979. more such security levels.
  10980.  
  10981. The subject and object attributes shall accurately 
  10982. reflect the sensitivity and integrity of the 
  10983. subject or object. When exported by the TCB, 
  10984. sensitivity labels shall accurately and 
  10985. unambiguously represent the internal labels and 
  10986. shall be associated with the information being 
  10987. exported.
  10988.  
  10989. The TCB shall immediately notify a terminal user 
  10990. of each change in the security level associated 
  10991. with that user during an interactive session. A 
  10992. terminal user shall be able to query the TCB as 
  10993. desired for a display of the subject's complete 
  10994. sensitivity label. 
  10995.  
  10996. The TCB shall support the assignment of minimum 
  10997. and maximum security levels to all attached 
  10998. physical devices. These security levels shall be 
  10999. used by the TCB to enforce constraints imposed by 
  11000. the physical environments in which the devices are 
  11001. located.
  11002.  
  11003. 2.    Administration of Access Control Attributes
  11004.  
  11005. The TCB shall define and enforce rules for 
  11006. assignment and modification of access control 
  11007. attributes for subjects and objects. The effect of 
  11008. these rules shall be that access permission to an 
  11009. object by users not already possessing access 
  11010. permission is assigned only by authorized users. 
  11011. These rules shall allow authorized users to 
  11012. specify and control sharing of objects by named 
  11013. individuals or defined groups of individuals, or 
  11014. by both, and shall provide controls to limit 
  11015. propagation of access rights. (i.e., these rules 
  11016. shall define the distribution, revocation, and 
  11017. review of access control attributes). The controls 
  11018. defined by these rules shall be capable of 
  11019. specifying for each named object, a list of 
  11020. individuals and a list of groups of named 
  11021. individuals, with their respective access rights 
  11022. to that object. Furthermore, for each named 
  11023. object, it shall be possible to specify a list of 
  11024. named individuals and a list of groups of named 
  11025. individuals for which no access to the object is 
  11026. given [AC-4}. These controls shall be capable of 
  11027. including or excluding access to the granularity 
  11028. of a single user.
  11029.  
  11030. The rules for assignment and modification of 
  11031. access control attributes shall include those for 
  11032. attribute assignment to objects during import and 
  11033. export operations. 
  11034.  
  11035. Export of Labeled Information
  11036.  
  11037.     The TCB shall designate each communication 
  11038. channel and I/O device as either single-level or 
  11039. multilevel. Any change in this designation shall 
  11040. be done manually and shall be auditable by the 
  11041. TCB. The TCB shall maintain and be able to audit 
  11042. any change in the security level or levels 
  11043. associated with a communication channel or I/O 
  11044. device.
  11045.  
  11046.     1. Exportation to Multilevel Devices
  11047.  
  11048.     When the TCB exports an object to a multilevel 
  11049. I/O device, the sensitivity label associated with 
  11050. that object shall also be exported and shall 
  11051. reside on the same physical medium as the exported 
  11052. information and shall be in the same form (i.e., 
  11053. machine-readable or human-readable form). When the 
  11054. TCB exports or imports an object over a multilevel 
  11055. communication channel, the protocol used on that 
  11056. channel shall provide for the unambiguous pairing 
  11057. between the sensitivity labels and the associated 
  11058. information that is sent or received.
  11059.  
  11060.     2. Exportation to Single-Level Devices
  11061.  
  11062.     Single-level I/O devices and single-level 
  11063. communication channels are not required to 
  11064. maintain the sensitivity labels of the information 
  11065. they process. However, the TCB shall include a 
  11066. mechanism by which the TCB and an authorized user 
  11067. reliably communicate to designate the single 
  11068. security level of information imported or exported 
  11069. via single-level communication channels or I/O 
  11070. devices.
  11071.  
  11072.     3. Labeling Human-Readable Output
  11073.  
  11074.     The system administrator shall be able to 
  11075. specify the printable label names associated with 
  11076. exported sensitivity labels. The TCB shall mark 
  11077. the beginning and end of all human-readable, 
  11078. paged, hardcopy output (e.g., line printer output) 
  11079. with human-readable sensitivity labels that 
  11080. properly represent the sensitivity of the output. 
  11081. The TCB shall, by default, mark the top and bottom 
  11082. of each page of human-readable, paged, hardcopy 
  11083. output (e.g., line printer output) with human-
  11084. readable sensitivity labels that properly 
  11085. represent the overall sensitivity of the output or 
  11086. that properly represent the sensitivity of the 
  11087. information on the page. The TCB shall, by default 
  11088. and in an appropriate manner, mark other forms of 
  11089. human-readable output (e.g., maps, graphics) with 
  11090. human-readable sensitivity labels that properly 
  11091. represent the sensitivity of the output. Any 
  11092. override of these marking defaults shall be 
  11093. auditable by the TCB.
  11094.  
  11095. Import of Non-labeled Data
  11096.  
  11097.     In order to import non-labeled data, the TCB 
  11098. shall request and receive from an authorized user 
  11099. the security level of the data, and all such 
  11100. actions shall be auditable by the TCB.
  11101.  
  11102. If different rules of assignment and modification 
  11103. of access control attributes apply to different 
  11104. subjects and/or objects, the totality of these 
  11105. rules shall be shown to support the defined 
  11106. policy.
  11107.  
  11108. 3.    Authorization of Subject References to Objects
  11109.  
  11110. The TCB shall define and enforce authorization 
  11111. rules for the mediation of subject references to 
  11112. objects. These rules shall be based on the access 
  11113. control attributes of subjects and objects. These 
  11114. rules shall, either by explicit user action or by 
  11115. default, provide that objects are protected from 
  11116. unauthorized access. 
  11117.  
  11118. The scope of the authorization rules shall include 
  11119. all subjects, storage objects (e.g., processes, 
  11120. segments, devices) and associated access control 
  11121. attributes that are directly or indirectly 
  11122. accessible to subjects external to the TCB. The 
  11123. scope of the authorization rules shall also 
  11124. include all policy and status attributes of 
  11125. subjects and storage objects (e.g., quotas, object 
  11126. existence, size, access time, creation and 
  11127. modification time, locked/unlocked). If different 
  11128. rules apply to different subjects and objects, the 
  11129. totality of these rules shall be shown to support 
  11130. the defined policy. 
  11131.  
  11132. The authorization rules for the mandatory access 
  11133. control policy shall include:
  11134.  
  11135.     The TCB shall enforce a mandatory access control 
  11136. policy over all resources (i.e., subjects, storage 
  11137. objects, and I/O devices that are directly or 
  11138. indirectly accessible by subjects external to the 
  11139. TCB. The following requirements shall hold for all 
  11140. accesses between all subjects external to the TCB 
  11141. and all objects directly or indirectly accessible 
  11142. by these subjects: A subject can read an object 
  11143. only if the hierarchical classification in the 
  11144. subject's security level is greater than or equal 
  11145. to the hierarchical classification in the object's 
  11146. security level and the non- hierarchical 
  11147. categories in the subject's security level include 
  11148. all the non-hierarchical categories in the 
  11149. object's security level. A subject can write an 
  11150. object only if the hierarchical classification in 
  11151. the subject's security level is less than or equal 
  11152. to the hierarchical classification in the object's 
  11153. security level and all the non-hierarchical 
  11154. categories in the subject's security level are 
  11155. included in the non-hierarchical categories in the 
  11156. object's security level.
  11157.  
  11158. The authorization rules for each policy shall be 
  11159. defined separately. The TCB shall define and 
  11160. enforce the composition of policies, including the 
  11161. enforcement of the authorization rules (e.g., 
  11162. subject and object type coverage, enforcement 
  11163. precedence).
  11164.  
  11165. 4. Subject and Object Creation and Destruction
  11166.  
  11167. The TCB shall control the creation and destruction 
  11168. of subjects and objects. These controls shall 
  11169. include object reuse. That is, all authorizations 
  11170. to the information contained within a storage 
  11171. object shall be revoked prior to initial 
  11172. assignment, allocation or reallocation to a 
  11173. subject from the TCB's pool of unused storage 
  11174. objects; information, including encrypted 
  11175. representations of information, produced by a 
  11176. prior subjects' actions shall be unavailable to 
  11177. any subject that obtains access to an object that 
  11178. has been released back to the system.
  11179.  
  11180. Requirements for Covert Channel Handling
  11181.  
  11182. CCH-3 Timing Channel Audit and Bandwidth Limitation
  11183.  
  11184. 1.     The TCB and privileged applications shall 
  11185. include functions that help audit the use of 
  11186. covert storage channels. These functions shall 
  11187. enable the identification of the transmitter, 
  11188. receiver, and specific covert channels used (e.g., 
  11189. TCB and privileged application element used to 
  11190. transmit information). TCB functions that help 
  11191. limit the bandwidth and/or eliminate covert 
  11192. storage channels shall also be provided. The 
  11193. bandwidth limits for each channel shall be 
  11194. settable by system administrators.
  11195.  
  11196. 2.     The functions added to the TCB and privileged 
  11197. applications for storage channel auditing shall be 
  11198. identified for each channel and shall be available 
  11199. in common product configurations. If audit 
  11200. functions are not added to certain storage 
  11201. channels (e.g., hardware storage channels), 
  11202. evidence must be provided to justify why these 
  11203. channels do not represent a security threat for 
  11204. the intended use of the product. TCB and 
  11205. privileged application functions that help limit 
  11206. the bandwidth and/or eliminate covert storage or 
  11207. timing channels shall also be available in common 
  11208. product configurations.
  11209.  
  11210. If channel bandwidth limitation and channel 
  11211. elimination functions are not added to certain 
  11212. storage or timing channels (e.g., hardware 
  11213. channels), evidence must be provided to justify 
  11214. why these channels do not represent a security 
  11215. threat for the intended use of the product.
  11216.  
  11217. Requirements for Security Management
  11218.  
  11219. SM-1++ Minimal Security Management
  11220.  
  11221. 1.     The TCB shall provide an installation mechanism 
  11222. for the setting and updating of its configuration 
  11223. parameters, and for the initialization of its 
  11224. protection-relevant data structures before any 
  11225. user or administrator policy attributes are 
  11226. defined. It shall allow the configuration of TCB 
  11227. internal databases and tables.
  11228.  
  11229. 2.     The TCB shall provide protected mechanisms for 
  11230. displaying and modifying the security policy 
  11231. parameters. 
  11232.  
  11233. 3.     The TCB shall provide protected mechanisms for 
  11234. manually displaying, modifying, or deleting user 
  11235. registration and account parameters. These 
  11236. parameters shall include unique user identifiers, 
  11237. their account, and their associated user name and 
  11238. affiliation. The TCB shall allow the manual 
  11239. enabling and disabling of user identities and/or 
  11240. accounts.
  11241.  
  11242. 4.     The TCB shall support separate operator and 
  11243. administrator functions. The operator functions 
  11244. shall be restricted to those necessary for 
  11245. performing routine operations. The operator 
  11246. functions shall allow the enabling and disabling 
  11247. of peripheral devices, mounting of removable 
  11248. storage media, backing-up and recovering user 
  11249. objects; maintaining the TCB hardware and software 
  11250. elements (e.g., on-site testing); and starting and 
  11251. shutting down the system. The administrative 
  11252. functions shall support separate security 
  11253. administrator and auditor roles. The TCB shall 
  11254. enable the administrators to perform their 
  11255. functions only after taking distinct auditable 
  11256. action to assume an administrator role. Non-
  11257. security functions that can be performed in the 
  11258. security administrative role shall be limited 
  11259. strictly to those essential to performing the 
  11260. security role effectively.[SM-4]
  11261.  
  11262. 5.      The use of the protected mechanisms for system 
  11263. administration shall be limited to authorized 
  11264. administrative users.
  11265.  
  11266. Requirements for Reference Mediation
  11267.  
  11268. RM-3 Mediation of References to Subject and Object 
  11269. Attributes
  11270.  
  11271. 1.     The TCB shall mediate all references to 
  11272. subjects, objects, resources, and services (e.g., 
  11273. TCB functions) described in the TCB 
  11274. specifications. The mediation shall ensure that 
  11275. all references are directed to the appropriate 
  11276. security-policy functions.
  11277.  
  11278. 2.      Reference mediation shall include control of 
  11279. references to all subjects, objects, and resources 
  11280. protected under the TCB security policy, to their 
  11281. policy (i.e., access rights, security levels) and 
  11282. status attributes (e.g., existence, length, 
  11283. locking state).
  11284.  
  11285. 3.     References issued by privileged subjects shall 
  11286. be mediated in accordance with the policy 
  11287. attributes defined for those subjects.
  11288.  
  11289. Requirements for Logical TCB Protection
  11290.  
  11291. P-3 TCB Isolation and Timing Consistency
  11292.  
  11293. The TCB shall maintain a domain for its own 
  11294. execution that protects it from external 
  11295. interference and tampering (e.g., by reading or 
  11296. modification of its code and data structures). The 
  11297. protection of the TCB shall provide TCB isolation 
  11298. and noncircumventability of TCB isolation 
  11299. functions as follows:
  11300.  
  11301.     1. TCB Isolation requires that (1) the address 
  11302. spaces of the TCB and those of unprivileged 
  11303. subjects are separated such that users, or 
  11304. unprivileged subjects operating on their behalf, 
  11305. cannot read or modify TCB data structures or code, 
  11306. (2) the transfers between TCB and non-TCB domains 
  11307. are controlled such that arbitrary entry to or 
  11308. return from the TCB are not possible; and (3) the 
  11309. user or application parameters passed to the TCB 
  11310. by addresses are validated with respect to the TCB 
  11311. address space, and those passed by value are 
  11312. validated with respect to the values expected by 
  11313. the TCB.
  11314.  
  11315.     2. Non-circumventability of TCB isolation 
  11316. functions requires that the permission to objects 
  11317. (and/or to non-TCB data) passed as parameters to 
  11318. the TCB are validated with respect to the 
  11319. permissions required by the TCB, and references to 
  11320. TCB objects implementing TCB isolation functions 
  11321. are mediated by the TCB.
  11322.  
  11323. TCB protection shall also maintain the consistency 
  11324. of TCB global variables and eliminate undesirable 
  11325. dependencies of the TCB on unprivileged subject or 
  11326. user actions.
  11327.  
  11328.     3. Consistency of TCB global variables requires 
  11329. that consistency conditions defined over TCB 
  11330. internal variables, objects, and functions hold 
  11331. before and after any TCB invocation.
  11332.  
  11333.     4. Elimination of undesirable dependencies of 
  11334. the TCB on unprivileged subject actions requires 
  11335. that any TCB invocation by an unprivileged subject 
  11336. (or user) input to a TCB call may not place the TCB 
  11337. in a state such that it is unable to respond to 
  11338. communication initiated by other users.
  11339.  
  11340. Furthermore, TCB protection shall maintain the 
  11341. timing consistency of condition checks.
  11342.  
  11343.     5. Timing consistency of condition checks 
  11344. requires that a validation check holds at the 
  11345. instant when the TCB action depending on that 
  11346. check is performed.
  11347.  
  11348. Requirements for TCB Self Checking
  11349.  
  11350. SC-1 Minimal Self Checking
  11351.  
  11352. Hardware and/or software features shall be 
  11353. provided that can be used to periodically validate 
  11354. the correct operation of the on-site hardware and 
  11355. firmware elements of the TCB.
  11356.  
  11357. Requirements for TCB Start-Up and Recovery
  11358.  
  11359. TR-1 Minimal Requirements for Recovery or Start-up
  11360.  
  11361. Procedures and/or mechanisms shall be provided to 
  11362. assure that, after a TCB failure or other 
  11363. discontinuity, recovery without protection 
  11364. compromise is obtained.
  11365.  
  11366. Requirements for TCB Privileged Operation
  11367.  
  11368. PO-2 Privilege Association with TCB Modules
  11369.  
  11370. 1. TCB privileges needed by individual functions, 
  11371. or groups of functions, of a functional component 
  11372. shall be identified. Privileged TCB calls or 
  11373. access to privileged TCB objects, such as user and 
  11374. group registration files, password files, security 
  11375. and integrity-level definition file, role 
  11376. definition file, audit-log file shall also be 
  11377. identified. It shall be possible to associate TCB 
  11378. privileges with TCB operations performed by 
  11379. administrative users. 
  11380.  
  11381. 2.The modules of a TCB function shall be 
  11382. associated only with the privileges necessary to 
  11383. complete their task. 
  11384.  
  11385. 3. Support for product privilege implementation 
  11386. and association with TCB modules provided by 
  11387. lower-level mechanisms or procedures (e.g., 
  11388. operating system, processors, language) shall be 
  11389. provided.
  11390.  
  11391. ASSURANCES 
  11392.  
  11393. Requirements for TCB Property Definition
  11394.  
  11395. PD-3 Property Specification by Model Interpretation
  11396.  
  11397. The developer shall provide formal models for the 
  11398. functional components and sub-components of the 
  11399. profile. At a minimum, a formal model of the 
  11400. access control components shall be provided. The 
  11401. properties of the formal models shall be clearly 
  11402. stated. The developer shall provide an 
  11403. interpretation of the models in the DIS of the 
  11404. product's TCB. For each model entity, the 
  11405. developer shall: (1) identify the TCB elements and 
  11406. their DIS (if any) that implement that entity; (2) 
  11407. define the operation of these TCB elements, and 
  11408. (3) demonstrate, by coherent arguments, that the 
  11409. DIS of these elements is consistent with the model 
  11410. properties. The developer's interpretation of each 
  11411. formal model, which specifies the TCB properties, 
  11412. shall identify all TCB and DIS elements (if any) 
  11413. that do not correspond to any model entity and 
  11414. shall explain why these elements do not render the 
  11415. TCB properties invalid.
  11416.  
  11417. An informal model of reference mediation and TCB 
  11418. protection shall be provided. For the components 
  11419. that are not modeled, the developer shall 
  11420. interpret the functional requirements of the 
  11421. protection profile within the product TCB. For 
  11422. each functional requirement, the developer shall: 
  11423. (1) identify the TCB elements and their TCB 
  11424. interfaces (if any) that implement that 
  11425. requirement; (2) describe the operation of these 
  11426. TCB elements, and (3) explain why the operation of 
  11427. these elements is consistent with the functional 
  11428. requirement. The developer's interpretation of 
  11429. each functional requirement, which describes the 
  11430. TCB properties, shall include all the TCB 
  11431. elements.
  11432.  
  11433. Requirements for TCB Element Identification
  11434.  
  11435. ID-2: TCB Element Justification
  11436.  
  11437. The vendor shall identify the TCB elements (i.e., 
  11438. software, hardware/firmware code and data 
  11439. structures). Each element must be unambiguously 
  11440. identified by its name, type, release, and version 
  11441. number (if any).
  11442.  
  11443. The developer shall justify the protection 
  11444. relevance of the identified elements (i.e., only 
  11445. elements that can affect the correct operation of 
  11446. the protection functions shall be included in the 
  11447. TCB). If protection-irrelevant elements are 
  11448. included in the TCB, the developer shall provide a 
  11449. rationale for such inclusion.
  11450.  
  11451. Requirements for TCB Interface Definition
  11452.  
  11453. IF-2: Interface Descriptive Specification
  11454.  
  11455. The developer shall define all external (e.g., 
  11456. command, software, and I/O) administrative (i.e., 
  11457. privileged) and non-administrative interfaces to 
  11458. the TCB.
  11459.  
  11460. The developer shall provide and maintain a 
  11461. descriptive interface specification (DIS) of the 
  11462. TCB that completely and accurately describes the 
  11463. TCB in terms of exceptions, error messages, and 
  11464. effects. The DIS shall identify the TCB call 
  11465. conventions (e.g., parameter order, call sequence 
  11466. requirements), and exceptions signaled. The DIS 
  11467. shall also include the TCB call identifier, 
  11468. parameter types (e.g., input, output), the effect 
  11469. of the call, TCB call conventions (e.g., parameter 
  11470. order, call sequence requirements), and exceptions 
  11471. handled and signaled. It shall be shown to be an 
  11472. accurate description of the TCB interface.
  11473.  
  11474. The DIS shall include those components of the TCB 
  11475. that are implemented as hardware and/or firmware 
  11476. if their properties are visible at the TCB 
  11477. interface.
  11478.  
  11479. If the TCB consists of a kernel and privileged 
  11480. processes, the developer shall separately identify 
  11481. and define the interfaces for the kernel and each 
  11482. privileged process.
  11483.  
  11484. The TCB interface definition must also include all 
  11485. effects of a call including the direct visibility 
  11486. and alterability of internal TCB variables and 
  11487. functions.
  11488.  
  11489. Requirements for TCB Modular Decomposition
  11490.  
  11491. MD-3: Module Relationship Analysis
  11492.  
  11493. The developer shall design the TCB as a small 
  11494. number (e.g., 10 to 100) of design and 
  11495. implementation subsystems that have well-defined 
  11496. functional relationships and shared-data 
  11497. dependencies. The developer shall identify the 
  11498. specific TCB protection properties and functions 
  11499. associated with each subsystem and the TCB 
  11500. interfaces (if any) implemented by each subsystem.
  11501.  
  11502. The developer shall design each subsystem as a set 
  11503. of modules. For each module, the developer shall 
  11504. describe: the role or purpose of the module, the 
  11505. set of related functions performed by the module, 
  11506. and the module interface (i.e., the set of 
  11507. invocable functions, calling conventions, 
  11508. parameters, global variables, and results). The 
  11509. developer shall identify the protection functions 
  11510. of, and describe the interfaces between, these 
  11511. modules. The developer shall choose the modules so 
  11512. that the set of functions implemented by the 
  11513. module, the module's contribution to the TCB 
  11514. protection properties, and the interface(s) to the 
  11515. module can be described concisely (e.g., the 
  11516. module shall have a single purpose).   The TCB 
  11517. structuring into modules shall be based on well-
  11518. defined module relationships; for example, the 
  11519. contains relation (e.g., A is part of B), the 
  11520. "uses" relation (e.g., A is correct only if B is 
  11521. correct). The developer shall analyze the 
  11522. correctness dependencies among these modules. This 
  11523. analysis may include, but is not restricted to, 
  11524. service and environmental dependencies.
  11525.  
  11526. Requirements for TCB Structuring Support
  11527.  
  11528. SP-3: Structured Protection Mechanisms
  11529.  
  11530. The TCB shall maintain process isolation. The TCB 
  11531. shall separate those elements that are protection-
  11532. critical from those that are not. Features in 
  11533. hardware, such as segmentation, shall be used to 
  11534. support logically distinct storage objects with 
  11535. separate access-control attributes (e.g., 
  11536. readable, writable). The TCB shall employ a 
  11537. complete, conceptually simple, protection 
  11538. mechanism with precisely defined semantics. This 
  11539. mechanism shall play a central role in enforcing 
  11540. the internal structuring of the TCB and the 
  11541. product.
  11542.  
  11543. Requirements for Design Disciplines
  11544.  
  11545. DD-2: Extended Disciplines for TCB Structuring
  11546.  
  11547. The developer shall design the product to minimize 
  11548. the complexity of the TCB. System engineering 
  11549. shall be directed towards excluding from the TCB 
  11550. modules that are not protection critical.
  11551.  
  11552. The TCB design shall reflect use of modern 
  11553. software engineering techniques), such as data 
  11554. hiding and abstraction (i.e., data, functional, 
  11555. and control abstractions) and well-defined 
  11556. exception-handling. The TCB design shall also 
  11557. include use of layering (including a rationale for 
  11558. each layering violation), high-level 
  11559. synchronization constructs, and multi-tasking/
  11560. multi-threading.
  11561.  
  11562. Requirements for TCB Implementation Support
  11563.  
  11564. IM-3: Module Correspondence Support
  11565.  
  11566. The developer shall maintain engineering diagrams 
  11567. and source code (as applicable) for all TCB 
  11568. elements. The diagrams and source code for each 
  11569. module of the TCB shall be identified and provided 
  11570. as configuration items.
  11571.  
  11572. Requirements for Developer Functional Testing
  11573.  
  11574. FT-3: Specification-Driven TCB Interface Testing
  11575.  
  11576. The developer shall test the TCB interface to show 
  11577. that all claimed protection functions work as 
  11578. stated in the TCB interface description or 
  11579. specification. The tests shall exercise the 
  11580. boundary conditions of the protection functions. 
  11581. The developer shall generate the test conditions 
  11582. and data from the Descriptive Interface 
  11583. Specification(s). The developer test procedures 
  11584. shall include the tests used to demonstrate the 
  11585. absence of all flaws discovered in previous 
  11586. versions of the TCB.
  11587.  
  11588. The developer shall correct all flaws discovered 
  11589. by testing and shall retest the TCB to show that 
  11590. all discovered flaws have been eliminated, no new 
  11591. flaws have been introduced, and the protection 
  11592. functions work as claimed.
  11593.  
  11594. Requirements for Penetration Analysis
  11595.  
  11596. PA-2 Flaw-Hypothesis Testing
  11597.  
  11598. The developer shall define the TCB configuration, 
  11599. interface, and protection functions that are 
  11600. subject to penetration testing. For each test, the 
  11601. developer shall identify the goal of the test and 
  11602. the criteria for successful penetration. The 
  11603. developer shall illustrate how, in addition to 
  11604. system reference manuals and TCB interface 
  11605. description, the DIS, source code, and hardware 
  11606. and firmware specifications are used to define 
  11607. penetration-test conditions. For each test, the 
  11608. developer shall document all test conditions, data 
  11609. (e.g., test set-up, function call parameters, and 
  11610. test outcomes), and coverage. 
  11611.  
  11612. The developer shall generate the test conditions 
  11613. from flaw-hypotheses derived by negating 
  11614. assertions of TCB design capabilities and by 
  11615. providing counter examples that show that these 
  11616. assertions are false. The developer shall confirm 
  11617. the flaw hypotheses by checking design and 
  11618. implementation documentation, by defining the test 
  11619. data and running test programs, or by referring to 
  11620. known classes of penetration flaws found in other 
  11621. TCBs. The refutation of any hypothesis shall be 
  11622. documented.
  11623.  
  11624. For each uncovered flaw, the developer shall 
  11625. define and document scenarios of flaw exploitation 
  11626. and shall identify all penetration outcomes 
  11627. resulting from that scenario. The cause of the 
  11628. flaw shall be identified and documented.
  11629.  
  11630. Requirements for Covert-Channel Analysis
  11631.  
  11632. CCA-2 Timing Channel Analysis
  11633.  
  11634. 1. Identification: The developer shall identify 
  11635. all sources of information used in covert-channel 
  11636. analysis. These sources shall include TCB 
  11637. reference manuals and DIS.   The sources of 
  11638. information and methods of identification shall 
  11639. include processor specifications whenever the 
  11640. identification method includes source code and 
  11641. hardware analysis. The developer shall define the 
  11642. identification method used. The developer shall 
  11643. demonstrate that the chosen identification method 
  11644. is sound (e.g., it leads to the discovery of all 
  11645. covert channels in the DIS or source 
  11646. documentation) and repeatable (i.e., independent 
  11647. evaluators can use the method on the same sources 
  11648. of covert-channel information and can obtain the 
  11649. same results.) The developer shall define 
  11650. scenarios of use for each covert channel. The 
  11651. developer shall also define timing channel 
  11652. scenarios, and shall identify all functions that 
  11653. provide independent sources of timing (e.g., CPUs, 
  11654. I/O processors). 
  11655.  
  11656.  2. Bandwidth Measurement or Engineering 
  11657. Estimation: The developer shall define the method 
  11658. used for covert-channel bandwidth estimation. In 
  11659. measuring TCB performance for covert-channel-
  11660. bandwidth estimation, the developer shall satisfy 
  11661. the following assumptions. The maximum bandwidth 
  11662. estimation shall be based on the assumptions that 
  11663. the covert channel is noiseless, that the senders 
  11664. and receivers are not delayed by the presence of 
  11665. other processes in the product, and that the 
  11666. sender-receiver synchronization time is 
  11667. negligible. The choice of informal estimation 
  11668. methods shall define and justify the coding method 
  11669. and, therefore, the distribution of "0s" and "1s" 
  11670. in all transmissions.
  11671.  
  11672. The developer shall select TCB primitives to be 
  11673. measured for bandwidth determination from real 
  11674. scenarios of covert-channel use. The developer 
  11675. shall specify TCB measurement environment for the 
  11676. bandwidth measurements. This specification shall 
  11677. include: (1) the speed of the product functions, 
  11678. (2) the product configuration, (3) the sizes of 
  11679. the memory and cache components, and (4) the 
  11680. product initialization. The sensitivity of the 
  11681. measurement results to configuration changes shall 
  11682. be documented. The covert-channel measurements 
  11683. shall include the fastest TCB function calls for 
  11684. altering, viewing, and setting up the transmission 
  11685. environment; the demonstrably fastest process 
  11686. (context) switch time shall also be included in 
  11687. the bandwidth measurements. All measurements shall 
  11688. be repeatable.
  11689.  
  11690. 3. Covert Channel Testing: The developer shall 
  11691. test all the use of all identified covert channels 
  11692. to determine whether the handling functions work 
  11693. as intended.
  11694.  
  11695. Requirements for User Guidance
  11696.  
  11697. UG-1: Users' Guide
  11698.  
  11699. The developer shall provide a User Guide which 
  11700. describes all protection services provided and 
  11701. enforced by the TCB. The User Guide shall describe 
  11702. the interaction between these services and provide 
  11703. examples of their use. The User Guide may be in the 
  11704. form of a summary, chapter or manual. The User 
  11705. Guide shall specifically describe user 
  11706. responsibilities. These shall encompass any user 
  11707. responsibilities identified in the protection 
  11708. profile.
  11709.  
  11710. Requirements for Administrative Guidance
  11711.  
  11712. AG-3: Role-Based Administrative Guidance
  11713.  
  11714. The developer shall provide a Trusted Facility 
  11715. Manual intended for the product administrators and 
  11716. operators that describes how to use the TCB 
  11717. security services (e.g., Access Control, System 
  11718. Entry, or Audit) to enforce a system security 
  11719. policy. The Trusted Facility Manual shall include 
  11720. the procedures for securely configuring, starting, 
  11721. maintaining, and halting the TCB. The Trusted 
  11722. Facility Manual shall explain how to analyze audit 
  11723. data generated by the TCB to identify and document 
  11724. user and administrator violations of this policy. 
  11725. The Trusted Facility Manual shall explain the 
  11726. unique security-relevant privileges and functions 
  11727. of administrators and operators. The Trusted 
  11728. Facility Manual shall also explain the distinct 
  11729. security-relevant privileges and functions of the 
  11730. TCB and how they can be selectively granted to 
  11731. provide fine-grained, multi-person or multi-role 
  11732. system and application administration policies. 
  11733. The Trusted Facility Manual shall describe the 
  11734. administrative interaction between security 
  11735. services.
  11736.  
  11737. The Trusted Facility Manual shall identify all 
  11738. hardware, firmware, software, and data structures 
  11739. comprising the TCB. The detailed audit record 
  11740. structure for each type of audit event shall be 
  11741. described. The Trusted Facility Manual shall 
  11742. explain how to configure the product to mitigate, 
  11743. eliminate, or audit covert channel exploitation. 
  11744. The Trusted Facility Manual shall describe the 
  11745. cautions about and procedures for using the TCB as 
  11746. a base for site-specific secure applications. The 
  11747. Trusted Facility Manual shall describe procedures 
  11748. for securely regenerating the TCB after any part 
  11749. is changed (e.g., due to adding devices or 
  11750. installing flaw corrections to the TCB software).
  11751.  
  11752. The Trusted Facility Manual shall be distinct from 
  11753. User Guidance, and encompass any administrative 
  11754. responsibilities identified in security 
  11755. management.
  11756.  
  11757. Requirements for Trusted Generation
  11758.  
  11759. TG-3: Trusted Generation With Secure State Review
  11760.  
  11761. The developer shall establish and document the 
  11762. procedures that a consumer must perform to 
  11763. generate an operational TCB from the delivered 
  11764. copy of the master TCB. The consumer documentation 
  11765. shall identify any system parameters, which are 
  11766. initialized or set during system generation, that 
  11767. affect the TCB's conformance to the protection 
  11768. profile and state the acceptable ranges of values 
  11769. for those parameters. The product shall be 
  11770. delivered with each of these parameters set to its 
  11771. fail-safe defaults. The developer shall provide 
  11772. the consumer with a capability to review the 
  11773. product security state (e.g., by providing a 
  11774. program, which could be executed after generating 
  11775. and starting the TCB, that determines the 
  11776. consistency of the protection-relevant 
  11777. parameters).
  11778.  
  11779. Requirements for Life Cycle Definition
  11780.  
  11781. LC-3: Measurable Life Cycle Process
  11782.  
  11783. The developer shall develop and maintain the 
  11784. product using a well defined, standardized, and 
  11785. measurable engineering process. The developer 
  11786. shall explain why the process was chosen and how 
  11787. the developer uses it to develop and maintain the 
  11788. product. The developer shall comply with the 
  11789. engineering process standard. The process shall 
  11790. incorporate a security policy that states the 
  11791. technical, physical, procedural, personnel, and 
  11792. other measures used by the developer to protect 
  11793. the product and its documentation. The developer 
  11794. shall demonstrate that each development process 
  11795. and support process requirement of the protection 
  11796. profile is satisfied by some part, or parts, of 
  11797. the developer's process. The developer shall 
  11798. identify the programming languages used to develop 
  11799. the TCB software and reference the definitions of 
  11800. those languages. The developer shall identify any 
  11801. implementation dependent options of the 
  11802. programming language compiler(s) used to implement 
  11803. the TCB software and reference the definitions of 
  11804. those languages.The developer shall describe 
  11805. coding standards followed during the 
  11806. implementation of the product and shall ensure 
  11807. that all source code complies with these 
  11808. standards.
  11809.  
  11810. Requirements for Configuration Management
  11811.  
  11812. CM-3: Comprehensive Automated Control
  11813.  
  11814. The developer shall establish configuration 
  11815. control and generation procedures employing 
  11816. automated tools for developing and maintaining the 
  11817. TCB. The procedures shall be employed to ensure 
  11818. that changes to the TCB are consistent with the 
  11819. product's protection properties and security 
  11820. policy. The developer shall employ these tools to 
  11821. track and control changes to development evidence, 
  11822. implementation data (e.g., source code and 
  11823. hardware diagrams), executable versions of the 
  11824. TCB, test documentation and procedures, identified 
  11825. flaws, and consumer documentation. The procedures 
  11826. shall include a formal acceptance process for 
  11827. protection-relevant changes.
  11828.  
  11829. The configuration control procedures shall assure 
  11830. a consistent mapping among documentation and code 
  11831. associated with the current version of the TCB and 
  11832. permit the regeneration of any supported version 
  11833. of the TCB. The developer shall provide tools for 
  11834. the generation of a new version of the TCB from 
  11835. source code. Also, tools shall be available for 
  11836. comparing a newly generated version with the 
  11837. previous TCB version to ascertain that only the 
  11838. intended changes have been made in the code that 
  11839. will actually be used as the new version of the 
  11840. TCB. 
  11841.  
  11842. Requirements for Evidence of TCB Protection Properties
  11843.  
  11844. EPP-3 Evidence of Formal Model Interpretation in the DIS
  11845.  
  11846. The developer shall provide documentation which 
  11847. describes the correspondence between the 
  11848. functional component requirements and the TCB 
  11849. elements and interfaces. This documentation shall 
  11850. describe how the TCB implements the reference 
  11851. monitor concept. The developer shall also provide 
  11852. a formal access-control model and an informal 
  11853. reference mediation and TCB protection model. The 
  11854. TCB properties, which are defined by this 
  11855. correspondence and the interpretation of these 
  11856. models within the DIS of the TCB shall be 
  11857. documented by the product developer.
  11858.  
  11859. Requirements for Evidence of Product Development
  11860.  
  11861. EPD-4: Policy Consistency Of The DIS
  11862.  
  11863. The developer shall provide TCB Design 
  11864. Specifications that include: a list of the TCB 
  11865. elements (hardware, software, and firmware 
  11866. configuration items); a list of protection 
  11867. services provided to the TCB by hardware, 
  11868. software, and firmware that is not part of the 
  11869. TCB; an explanation of the techniques and criteria 
  11870. used during the modular decomposition of the TCB; 
  11871. a description of the policy allocations, 
  11872. functions, and interactions among the major TCB 
  11873. subsystems; and module level descriptions of all 
  11874. software and hardware in the TCB.
  11875.  
  11876. The developer shall provide a Descriptive 
  11877. Interface Specification (DIS) that describes the 
  11878. functions, effects, exceptions and error messages 
  11879. visible at the TCB interface and includes a 
  11880. convincing argument that the DIS is consistent 
  11881. with the formal model of the policy. The developer 
  11882. shall show that the DIS is an accurate 
  11883. representation of the TCB's external interfaces.
  11884.  
  11885. The developer shall provide TCB Implementation 
  11886. Data consisting of the engineering diagrams for 
  11887. all hardware included in the TCB and the source 
  11888. code used to generate the TCB software and 
  11889. firmware. The developer shall show that the TCB 
  11890. software, firmware, and hardware implement the 
  11891. documented TCB design.
  11892.  
  11893. Requirements for Evidence of Functional Testing
  11894.  
  11895. EFT-3: Evidence of Specification-Driven Testing
  11896.  
  11897. The developer shall provide evidence of the 
  11898. functional testing that includes the test plan, 
  11899. the test procedures, and the results of the 
  11900. functional testing. The test, plans, procedures, 
  11901. and results shall be maintained under the same 
  11902. configuration control as the TCB software. The 
  11903. test plans shall identify the TCB specification 
  11904. used in the derivation of the test conditions, 
  11905. data, and coverage analysis.
  11906.  
  11907. Requirements for Evidence of Penetration Analysis
  11908.  
  11909. EPA-2: Evidence of Flaw-Hypothesis Generation and Testing
  11910.  
  11911. The developer shall provide evidence of 
  11912. penetration testing. The penetration evidence 
  11913. shall identify all product documentation and 
  11914. development evidence on which the search for flaws 
  11915. was based. The penetration evidence shall describe 
  11916. the scenarios for exploiting each potential flaw 
  11917. in the system and the penetration test conditions, 
  11918. data (e.g., test set-up, function call parameters, 
  11919. and test outcomes), coverage, and conclusions 
  11920. derived from each scenario. The penetration 
  11921. evidence shall summarize both refuted and 
  11922. confirmed flaws hypothesis.
  11923.  
  11924. Requirements for Evidence of Covert Channel Analysis
  11925.  
  11926. ECC-2: Evidence of Covert Channel Analysis and Handling
  11927.  
  11928. The developer's documentation shall present the 
  11929. results of the covert channel analysis and the 
  11930. trade-offs involved in restricting these channels. 
  11931. All auditable events that may be used in the 
  11932. exploitation of known covert channels shall be 
  11933. identified. The developer shall provide the 
  11934. bandwidths of known covert channels whose use is 
  11935. not detectable by the auditing mechanism. The 
  11936. documentation of each identified covert channel 
  11937. shall consist of the variables, timing sources, 
  11938. and the TCB interface functions that can be used 
  11939. to transmit information. The measurements of each 
  11940. TCB function call used by covert channels must be 
  11941. documented and the bandwidth computation shall be 
  11942. included for each channel. The measurement 
  11943. environment should be documented as specified. 
  11944. Test documentation shall include results of 
  11945. testing the effectiveness of the methods used to 
  11946. reduce covert-channel bandwidths.
  11947.  
  11948. Requirements for Evidence of Product Support
  11949.  
  11950. EPS-3: Evidence of Measured Product Support
  11951.  
  11952. The developer shall provide documentation that 
  11953. defines, explains, and justifies the policies, 
  11954. procedures, plans, and tools established by the 
  11955. developer to satisfy the Operational Support and 
  11956. Development Environment requirements of the 
  11957. protection profile. The documentation shall also 
  11958. explain how the developer periodically evaluates 
  11959. compliance with the established procedures, 
  11960. policies, and plans.
  11961.  
  11962. Requirements for Test Analysis
  11963.  
  11964. TA-4: Comprehensive Test Analysis
  11965.  
  11966. The evaluator shall assess whether the producer 
  11967. has performed the activities defined in the 
  11968. development assurance requirements of the 
  11969. protection profile for functional testing and 
  11970. penetration analysis, and whether the producer has 
  11971. documented these activities as defined in the 
  11972. development evidence requirements of the 
  11973. protection profile. The evaluator shall analyze 
  11974. the results of the producer's testing activities 
  11975. for completeness of coverage and consistency of 
  11976. results, and general correctness (e.g., defect 
  11977. trend from regression testing). This analysis 
  11978. shall examine the testability of requirements, the 
  11979. adequacy of the tests to measure the required 
  11980. properties, the deviation of the actual results 
  11981. obtained from the expected results. The analysis 
  11982. shall extend to trace all defects identified, 
  11983. corrected, and retested. The analysis shall 
  11984. include an assessment of test coverage and 
  11985. completeness, and defect frequency. The results of 
  11986. testing shall be interpreted in terms that express 
  11987. product performance and protection adequacy. The 
  11988. evaluator shall determine whether the product's 
  11989. protection properties, as defined for all 
  11990. protection-relevant modules of the TCB, and all 
  11991. relevant known penetration flaws have been tested. 
  11992. The evaluator shall independently develop, test, 
  11993. and document additional flaw hypotheses. The 
  11994. evaluator shall assess testing results to 
  11995. determine whether the product's TCB works as 
  11996. claimed, that the TCB's implementation is 
  11997. consistent with the DIS, and whether there are any 
  11998. obvious ways (i.e., ways that are known, or that 
  11999. are readily apparent or easily discovered in 
  12000. product documentation) for an unauthorized user to 
  12001. bypass the policy implemented by the TCB or 
  12002. otherwise defeat the product's TCB, and whether 
  12003. all discovered TCB flaws have been corrected and 
  12004. no new TCB flaws introduced. No design flaws and 
  12005. no more than a few correctable implementation 
  12006. flaws may be found during testing and there shall 
  12007. be reasonable confidence that few remain.   The 
  12008. testing results shall show that the methods used 
  12009. to reduce covert channel bandwidths have been 
  12010. effective for all evaluated configurations. The 
  12011. evaluator shall determine whether the product is 
  12012. relatively resistant to penetrations.
  12013.  
  12014. Requirements for Independent Testing
  12015.  
  12016. IT-3: Comprehensive Independent Testing.
  12017.  
  12018. The evaluator shall independently perform 
  12019. functional and elementary penetration testing to 
  12020. confirm test results. This testing may be 
  12021. selective and shall be based on (1) the results of 
  12022. other independent and/or producer testing, (2) the 
  12023. TCB's DIS, (3) other product design and 
  12024. implementation documentation, (4) the product's 
  12025. user and administrative documentation, (5) 
  12026. relevant known penetration flaws, and (6) 
  12027. evaluator-developed TCB penetration flaw 
  12028. hypotheses and corresponding tests that attempt to 
  12029. exploit the hypothesized flaws. Satisfactory 
  12030. completion consists of demonstrating that all TCB 
  12031. functions work as described in the product's 
  12032. relevant documentation, that test results are 
  12033. consistent, and that no discrepancies exist 
  12034. between the documentation and the product. 
  12035. Satisfactory penetration test completion shall be 
  12036. determined by the subjective judgement (which may 
  12037. be supported algorithmically) of the evaluator. 
  12038. Test duration agreements may further constrain 
  12039. this judgement. Categorization of an actual 
  12040. penetration flaw shall be based on the 
  12041. reproducibility of that flaw. Flaws that are 
  12042. discovered, but are not reproducible shall remain 
  12043. categorized as potential penetration flaws. All 
  12044. actual penetration flaws must be corrected and 
  12045. retested. 
  12046.  
  12047. The evaluator shall provide a penetration test 
  12048. plan document that describes the additional 
  12049. evaluator-developed flaw hypotheses and associated 
  12050. tests. The evaluator shall execute these tests and 
  12051. shall report any discovered flaws to the producer 
  12052. as part of the testing results. At the conclusion 
  12053. of penetration testing, the evaluator shall 
  12054. provide copies of this penetration test plan and 
  12055. its test results to the producer. The producer 
  12056. shall ensure that this test plan and its test 
  12057. results are incorporated into the rest of the 
  12058. product's testing documentation and that such 
  12059. documentation is available for further analysis 
  12060. throughout the life of the product.
  12061.  
  12062. The evaluator shall test for covert channel 
  12063. bandwidth reductions to determine the 
  12064. effectiveness of handling method(s) in reducing 
  12065. the bandwidths of identified covert channels for 
  12066. all evaluated configurations.
  12067.  
  12068. If the independent testing is performed at beta-
  12069. test sites, the producer shall supply the beta-
  12070. test plan and the test results. The evaluator 
  12071. shall review the scope and depth of beta testing 
  12072. with respect to the required protection 
  12073. functionality, and shall verify independence of 
  12074. both the test sites and the producer's and beta-
  12075. test user's test results. The evaluator shall also 
  12076. confirm that the test environment of the beta-test 
  12077. site(s) adequately represents the environment 
  12078. specified in the protection profile.
  12079.  
  12080. Requirements for Development Environment
  12081.  
  12082. DER-3: Comprehensive Development Environment Review
  12083.  
  12084. The evaluator shall review the producer's 
  12085. development and maintenance process description 
  12086. documentation and shall conduct a complete audit 
  12087. of the producer's processes using the evidence 
  12088. generated by each process to determine the degree 
  12089. of discipline enforced upon and within the 
  12090. process, and to determine the protection 
  12091. characteristics associated with the product's 
  12092. development and maintenance. The results of this 
  12093. review shall establish, for the evaluator, the 
  12094. producer's development environment, its policies, 
  12095. and the degree of enforcement maintained during 
  12096. development execution. The review shall also 
  12097. confirm the producer's complete conformance with 
  12098. all relevant development environment requirements.
  12099.  
  12100. Requirements for Operational Support
  12101.  
  12102. OSR-3 Comprehensive Operational Support Review
  12103.  
  12104. The evaluator shall review all documentation 
  12105. focused on the activities of product use (e.g., 
  12106. Users Manuals) and product administration 
  12107. including installation, operation, maintenance, 
  12108. and trusted recovery (e.g., Trusted Facility 
  12109. Management manuals. This review shall assess the 
  12110. clarity of presentation, difficulty in locating 
  12111. topics of interest, ease of understanding, and 
  12112. completeness of coverage. The need for separate 
  12113. manuals dedicated to protection-relevant aspects 
  12114. of the product should be assessed for 
  12115. effectiveness. The evaluator shall execute all 
  12116. documented protection-relevant features and 
  12117. procedures to determine if their descriptions are 
  12118. accurate and correct.
  12119.  
  12120. Requirements for Design Analysis
  12121.  
  12122. DA-3: Comprehensive Design Analysis
  12123.  
  12124. The evaluator shall determine whether the producer 
  12125. has performed the activities defined in the 
  12126. development process assurance requirements of the 
  12127. protection profile for TCB property definition and 
  12128. TCB design. The evaluator shall determine whether 
  12129. the producer has documented these activities as 
  12130. defined in the development evidence requirements 
  12131. of the protection profile. The evaluator shall 
  12132. analyze, with the help of formal methods and 
  12133. appropriate automated tools, the results of the 
  12134. producer's activities for completeness, 
  12135. consistency, and correctness of design with 
  12136. respect to requirements (e.g., validating the 
  12137. formal verification of the design).
  12138.  
  12139. Requirements for Implementation
  12140.  
  12141. CI-3: Comprehensive Implementation Analysis
  12142.  
  12143. The evaluator shall conduct an inspection on a 
  12144. moderate sample of randomly selected product code. 
  12145. The assessment shall focus on the clarity of the 
  12146. coding style, adherence to coding standards, 
  12147. coding documentation, and on possible software 
  12148. defects that may be present with respect to the 
  12149. product's formal design and model. The inspection 
  12150. shall be performed to obtain only a sample of 
  12151. possible software defects, not to capture all such 
  12152. possible defects. The evaluator shall report all 
  12153. discovered defects to the producer; the assessment 
  12154. shall report the number of defects found per line 
  12155. of code inspected from the random sample size. Use 
  12156. of producer-provided code inspection results can 
  12157. supplement this inspection. All trapdoors built 
  12158. into the product for maintenance purposes shall be 
  12159. identified by the producer and shown to be 
  12160. protected by the product. The producer shall 
  12161. correct all discovered defects and the corrected 
  12162. software reinspected. A rigorous analysis of the 
  12163. implementation's correspondence to the verified 
  12164. design shall be performed by the evaluator to 
  12165. validate correctness. Such analysis may be 
  12166. supported by appropriate automated tools.
  12167. DRAFT
  12168.  
  12169.  
  12170.  
  12171.  LABEL BASED PROTECTION
  12172.  
  12173.  FOR
  12174.  
  12175. MULTI-USER INFORMATION SYSTEMS
  12176.  
  12177.  
  12178.  
  12179. LEVEL 4
  12180.  
  12181. (LP-4)
  12182.  
  12183.  
  12184.  
  12185.  
  12186.  
  12187.  A Protection Profile
  12188.  
  12189. Derived from the Federal Criteria for IT Security
  12190.  
  12191.  
  12192.  
  12193. Version 1.0
  12194.  
  12195.  
  12196.  
  12197.  
  12198.  
  12199.  
  12200.  
  12201. December 1992
  12202.  
  12203.  
  12204.  
  12205. This document is undergoing review and 
  12206. is subject to modification or withdrawal.
  12207.  
  12208. The contents of this document should not 
  12209. be referenced in other publications.
  12210.  
  12211.  
  12212.  
  12213.  
  12214.  
  12215.  
  12216.  
  12217. Supersedes the
  12218.  
  12219. Trusted Computer System Evaluation Criteria
  12220.  
  12221. Class A1
  12222.  
  12223.  
  12224.  
  12225.  
  12226.  
  12227. DRAFT
  12228.  
  12229. LABEL-BASED PROTECTION - 4 (LP-4)
  12230.  
  12231. This Protection Profile has been developed to define a set 
  12232. of technical measures that can be incorporated into remote-
  12233. access, resource- and information-sharing Information 
  12234. Technology (IT) products that will be used to protect two or 
  12235. more levels of National Security Information classified 
  12236. according to US Executive Order 12356 (EO 12356). This profile 
  12237. can also be used to protect any information that has been 
  12238. designated as sensitive information for which information 
  12239. separation and access are based on sensitivity markings 
  12240. applied to the information. This profile is intended for use 
  12241. in environments where the presence potentially malicious 
  12242. application software (e.g., Trojan Horses) mandate the use of 
  12243. high-assurance products.
  12244.  
  12245. Compliant IT products will provide highly-structured, 
  12246. conceptually simple protection mechanisms for a multi-level 
  12247. information processing environment with which an organization 
  12248. can construct an automated information system to enhance or 
  12249. optimize the organization's ability to perform its mission. 
  12250. Formal assurance of security policy support and covert channel 
  12251. analysis must be available. Compliant IT products are 
  12252. maintained under very strict configuration management 
  12253. facilities and can only be distributed via a trusted 
  12254. distribution channel.
  12255.  
  12256. LP-4 compliant products are functionally equivalent to 
  12257. those satisfying profile LP3 in that no additional 
  12258. architectural features or policy requirements are added. The 
  12259. distinguishing feature of systems in this class is the 
  12260. analysis derived from formal design specifications and 
  12261. verification techniques and the resulting high degree of 
  12262. assurance that the TCB is correctly implemented. This 
  12263. assurance is developmental in nature, starting with a formal 
  12264. model of the security policy and a formal interface 
  12265. specification (FIS) of the design. Independent of the 
  12266. particular specification language or verification system 
  12267. used, there are five important criteria for profile LP-4 
  12268. design verification:
  12269.  
  12270. a.    A formal model of the security policy must be clearly 
  12271. identified and documented, including a mathematical 
  12272. proof that the model interpretation in the TCB is 
  12273. valid (i.e., the model interpretation is consistent 
  12274. with the model axioms) and is sufficient to support 
  12275. the security policy.
  12276.  
  12277. b.    A FIS must be produced that includes abstract 
  12278. definitions of the functions the TCB performs and of 
  12279. the hardware and/or firmware mechanisms that are used 
  12280. to support separate execution domains.
  12281.  
  12282. c.    The FIS of the TCB must be shown to be consistent with 
  12283. the model by formal techniques where possible (i.e., 
  12284. where verification tools exist) and informal ones 
  12285. otherwise.
  12286.  
  12287. d.    The TCB implementation (i.e., in hardware, firmware, 
  12288. and software) must be informally shown to be 
  12289. consistent with the FIS. The elements of the FIS must 
  12290. be shown, using informal techniques, to correspond to 
  12291. the elements of the TCB. The FIS must express the 
  12292. unified protection mechanism required to satisfy the 
  12293. security policy, and it is the elements of this 
  12294. protection mechanism that are mapped to the elements 
  12295. of the TCB.
  12296.  
  12297. e.    Formal analysis techniques must be used to identify 
  12298. and analyze covert channels. Informal techniques may 
  12299. be used to identify covert timing channels. the 
  12300. continued existence of identified covert channels in 
  12301. the system must be justified.
  12302.  
  12303. In keeping with the extensive design and development 
  12304. analysis of the TCB required of LP4 compliant systems, 
  12305. stringent configuration management is required and procedures 
  12306. are established for securely distributing the system to sites. 
  12307. A system security administrator is supported.
  12308.  
  12309. Cross References:
  12310.  
  12311. o    Existing Criteria:
  12312.  
  12313. (1)    TCSEC: A1
  12314.  
  12315. (2)    ITSEC
  12316.  
  12317. (3)    CTCPEC
  12318.  
  12319. o    Other Protection Profiles
  12320.  
  12321. (1)    TBD
  12322.  
  12323.  
  12324.  
  12325. COMPONENT SUMMARY:
  12326.  
  12327.      LP-4 Functional Component Summary
  12328. .--------------------------------------------.
  12329. |                                  | Code &  |
  12330. | Functional Component             | Level   |
  12331. |============================================|
  12332. | Security Policy Support                    |
  12333. |----------------------------------+---------|
  12334. |  Accountability                            |
  12335. |----------------------------------+---------|
  12336. |   Identification&Authentication  |  I&A-2  |
  12337. |----------------------------------+---------|
  12338. |   System Entry                   |  ----   |
  12339. |----------------------------------+---------|
  12340. |   Trusted Path                   |  TP-2   |
  12341. |----------------------------------+---------|
  12342. |   Audit                          |  AD-1+  |
  12343. |----------------------------------+---------|
  12344. |  Access Control                  |  AC-3+  |
  12345. |----------------------------------+---------|
  12346. |   Discretionary                  |  AC-3+  |
  12347. |----------------------------------+---------|
  12348. |   Non-Discretionary              |  AC-3   |
  12349. |----------------------------------+---------|
  12350. |   Covert Channel Handling        |  CCH-3  |
  12351. |----------------------------------+---------|
  12352. |  Availability                    |  ----   |
  12353. |----------------------------------+---------|
  12354. |   Resource Allocation            |  ----   |
  12355. |----------------------------------+---------|
  12356. |   Fault Tolerance                |  ----   |
  12357. |----------------------------------+---------|
  12358. |   Security Mgmt.                 |  SM-1++ |
  12359. |----------------------------------+---------|
  12360. | Reference Mediation              |  RM-3   |
  12361. |----------------------------------+---------|
  12362. | TCB Logical Protection           |  P-3    |
  12363. |----------------------------------+---------|
  12364. | TCB Physical Protection          |  ----   |
  12365. |----------------------------------+---------|
  12366. | TCB Self-checking                |  SC-1   |
  12367. |----------------------------------+---------|
  12368. | TCB Start-Up and Recovery        |  TR-1   |
  12369. |----------------------------------+---------|
  12370. | TCB Privileged Operation         |  PO-2   |
  12371. |----------------------------------+---------|
  12372. | TCB Ease-of-Use                  |  ----   |
  12373. `--------------------------------------------'
  12374.  
  12375.  
  12376.     LP-4 Assurance Component Summary
  12377. .---------------------------------------.
  12378. | Assurance Components           |  T7  |
  12379. |================================|======|
  12380. | Development Assurance Components      |     
  12381. |=======================================|
  12382. | Development Process                   |
  12383. |--------------------------------+------|
  12384. | TCB Property Definition        | PD-4 |
  12385. |--------------------------------+------|
  12386. | TCB Design                            |
  12387. |--------------------------------+------|
  12388. |   TCB Element Identification   | ID-2 |
  12389. |--------------------------------+------|
  12390. |   TCB Interface Definition     | IF-3 |
  12391. |--------------------------------+------|
  12392. |   TCB Modular Decomposition    | MD-3 |
  12393. |--------------------------------+------|
  12394. |   TCB Structuring Support      | SP-3 |
  12395. |--------------------------------+------|
  12396. |   TCB Design Disciplines       | DD-2 |
  12397. |--------------------------------+------|
  12398. | TCB Implementation Support     | IM-4 |
  12399. |--------------------------------+------|
  12400. | TCB Testing and Analysis              |
  12401. |--------------------------------+------|
  12402. |   Functional Testing           | FT-3 |
  12403. |--------------------------------+------|
  12404. |   Penetration Analysis         | PA-2 |
  12405. |--------------------------------+------|
  12406. |   Covert Channel Analysis      | CCA3 |
  12407. |--------------------------------+------|
  12408. | Operational Support                   |
  12409. |--------------------------------+------|
  12410. | User Security Guidance         | UG-1 |
  12411. |--------------------------------+------|
  12412. | Administrative Guidance        | AG-3 |
  12413. |--------------------------------+------|
  12414. | Trusted Generation             | TG-3 |
  12415. |--------------------------------+------|
  12416. | Development Environment               |
  12417. |--------------------------------+------|
  12418. | Life Cycle Definition          | LC-3 |
  12419. |--------------------------------+------|
  12420. | Configuration Management       | CM-4 |
  12421. |--------------------------------+------|
  12422. | Trusted Distribution           | TD-1 |
  12423. |--------------------------------+------|
  12424. | Development Evidence                  |
  12425. |--------------------------------+------|
  12426. | TCB Protection Properties      | EPP4 |
  12427. |--------------------------------+------|
  12428. | Product Development            | EPD5 |
  12429. |--------------------------------+------|
  12430. | Product Testing & Analysis            |
  12431. |--------------------------------+------|
  12432. |   Functional Testing           | EFT3 |
  12433. |--------------------------------+------|
  12434. |   Penetration Analysis         | EPA2 |
  12435. |--------------------------------+------|
  12436. |   Covert Channel Analysis      | ECC2 |
  12437. |--------------------------------+------|
  12438. | Product Support                | EPS3 |
  12439. `---------------------------------------'
  12440. |=======================================|
  12441. | Evaluation Assurance Components       |
  12442. |=======================================|
  12443. | Testing                               |
  12444. |--------------------------------+------|
  12445. |   Test Analysis                | TA-5 |
  12446. |--------------------------------+------|
  12447. |   Independent Testing          | IT-4 |
  12448. |--------------------------------+------|
  12449. | Review                                |
  12450. |--------------------------------+------|
  12451. |   Development Environment      | DER3 |
  12452. |--------------------------------+------|
  12453. |   Operational Support          | OSR3 |
  12454. |--------------------------------+------|
  12455. | Analysis                              |
  12456. |--------------------------------+------|
  12457. |   Protection Properties        | ---- |
  12458. |--------------------------------+------|
  12459. |   Design                       | DA-3 |
  12460. |--------------------------------+------|
  12461. |   Implementation               | CI-3 |
  12462. `---------------------------------------'
  12463.  
  12464. RATIONALE
  12465.  
  12466. 16.    Information Protection Policy
  12467.  
  12468.  It is anticipated that organizations wishing to process 
  12469. two to three levels of classified information with multiple 
  12470. categories will want to use IT products that are compliant 
  12471. with this profile in their automated information processing 
  12472. systems. These organizations should be able to trust the 
  12473. profile-compliant IT product to contribute to the protection 
  12474. of the classified information at least as much as they trust 
  12475. the properly cleared personnel who are using and managing the 
  12476. system.
  12477.  
  12478. 17.    Protection Philosophy
  12479.  
  12480. This profile presumes a hostile environment with divided, 
  12481. aggressive users. It provides control of access to shared 
  12482. resources both (1) on the basis of attributes that are 
  12483. controlled by the ordinary users of the system and (2) on the 
  12484. basis of attributes that are controlled only by the system 
  12485. administrators.
  12486.  
  12487. Profile compliant IT products will minimally meet the 
  12488. following objectives:
  12489.  
  12490. a.    Employ a reference validation mechanism to enforce a 
  12491. formally defined security policy that describes the 
  12492. rules for controlling access to system subjects and 
  12493. objects and use the access control rules to enforce an 
  12494. information flow policy that aims to control the use 
  12495. of covert storage and timing channels.
  12496.  
  12497. b.    Associate explicit sensitivity labels with each 
  12498. subject and object in the system and each port through 
  12499. which information may be exported from or imported to 
  12500. the system. Maintain the accuracy of the sensitivity 
  12501. labels as information moves within the system and 
  12502. through the ports.
  12503.  
  12504. c.    Authenticate the claimed identity of each external 
  12505. human user of the IT product prior to establishing any 
  12506. internal entity to act on behalf of that user and 
  12507. firmly bind the authenticated user identity to the 
  12508. internal entity.
  12509.  
  12510. d.    Selectively keep and protect a log of all actions or 
  12511. events (including use of covert storage channels) that 
  12512. could affect system security so that they can be 
  12513. accurately attributed to the known user or system 
  12514. entity responsible for causing the action or event. 
  12515. Also, alert the system administrator when a series of 
  12516. events indicates an imminent violation of the security 
  12517. policy.
  12518.  
  12519. e.    Contains hardware and software mechanisms that can be 
  12520. independently evaluated to provide sufficient 
  12521. assurance that the system satisfies the previous four 
  12522. objectives.
  12523.  
  12524. f.    Implements the enforcement of objectives a through d 
  12525. in such a fashion that the enforcing mechanisms are 
  12526. protected from tampering and unauthorized changes by 
  12527. the information moving entities that the mechanisms 
  12528. are supposed to control.
  12529.  
  12530. 18.    Expected Threats
  12531.  
  12532. The requirements for profile conforming IT products assume 
  12533. that these products are being used in an environment where 
  12534. there are different levels and categories of classified data 
  12535. and users of differing clearance levels. A conforming IT 
  12536. product can be reasonably expected to protect the 
  12537. confidentiality of information in an environment where there 
  12538. are three levels and multiple categories of classified data, 
  12539. and two or more levels of cleared users and where there are 
  12540. collaborating, malicious users and software at each clearance 
  12541. level.
  12542.  
  12543. 19.    Assumed Environment 
  12544.  
  12545. 19.1    Characteristics
  12546.  
  12547. IT products complying with the requirements set forth in 
  12548. this profile are expected to be used in an environment with 
  12549. the following characteristics:
  12550.  
  12551. a.    Multiple users will be accessing the operating system 
  12552. at the same time.
  12553.  
  12554. b.    The IT product hardware base (e.g., CPU, printers, 
  12555. terminals, etc.) is protected from unauthorized 
  12556. physical access.
  12557.  
  12558. c.    One or more personnel are assigned to manage the 
  12559. system in which the IT product is incorporated, 
  12560. including the security of the information it contains.
  12561.  
  12562. d.    A need to control user access to information exists 
  12563. and is based on an explicit sensitivity marking 
  12564. associated with the information (e.g, Secret or Top 
  12565. Secret).
  12566.  
  12567. e.    There is a need to control user access to information 
  12568. exists and is based on that user's identity and 
  12569. membership in organizations or groups.
  12570.  
  12571. f.    The IT product provides facilities for some or all of 
  12572. the authorized users to create programs that use the 
  12573. applications programming interface (API) and make 
  12574. those programs available to other users.
  12575.  
  12576. g.    The IT product is used to provide a cooperative 
  12577. environment for the users to accomplish some task or 
  12578. group of tasks.
  12579.  
  12580. 19.2    Environment Dependencies
  12581.  
  12582. Secure installation and operation of a product satisfying 
  12583. these profile requirements depends on provision of a number 
  12584. of elements in the installation environment. These include:
  12585.  
  12586. a.    Physical security must be provided. For US Government 
  12587. classified operation, physical security equivalent to 
  12588. PP-2 would be required.
  12589.  
  12590. b.    Cabling to other devices must be shown to be 
  12591. consistent with policy implemented by the product. For 
  12592. example, a "port" in the product is required to have 
  12593. an assigned label. No device can be connected to the 
  12594. port unless it has been established externally that 
  12595. the device is allowed to receive data with the same 
  12596. label.
  12597.  
  12598. c.    Personnel allowed to access data processed by the 
  12599. installed product must already be authorized for such 
  12600. access.
  12601.  
  12602. 20.    Intended Use
  12603.  
  12604. Conforming IT products are useful in both general-purpose 
  12605. office automation environments with multiple data 
  12606. sensitivities (or "classifications") and multiple levels of 
  12607. user authorizations (or "clearances") and in specialized 
  12608. computing, network and mission environments. Examples of the 
  12609. office automation environment might include military 
  12610. headquarters and highly competitive procurement offices. 
  12611. Examples of the network environments include use as the basis 
  12612. for a multilevel secure network management center or a trusted 
  12613. guard gateway operating between two networks processing 
  12614. different levels of information. An example of the specialized 
  12615. mission environment might be as a platform for a portable 
  12616. battlefield map and mission management application.
  12617.  
  12618. FUNCTIONAL REQUIREMENTS
  12619.  
  12620. Requirements for Identification and Authentication
  12621.  
  12622. I&A-2 Identification, Authentication, and Authorization
  12623.  
  12624. 1.    The TCB shall require users to identify 
  12625. themselves to it before beginning to perform any 
  12626. other actions that the TCB is expected to mediate. 
  12627. The TCB shall be able to enforce individual 
  12628. accountability by providing the capability to 
  12629. uniquely identify each individual user. The TCB 
  12630. shall also provide the capability of associating 
  12631. this identity with all auditable actions taken by 
  12632. that individual.
  12633.  
  12634. 2.     The TCB shall maintain authentication data that 
  12635. includes information for verifying the identity of 
  12636. individual users (e.g., passwords) as well as 
  12637. information for determining the clearance and 
  12638. authorization of individual users. These data 
  12639. shall be used by the TCB to authenticate the 
  12640. user's identity and to ensure that the subject 
  12641. security level and authorizations of subjects 
  12642. external to the TCB that may be created to act on 
  12643. behalf of the individual user are dominated by the 
  12644. clearance and authorization of that user).
  12645.  
  12646. 3.     The TCB shall protect authentication data so 
  12647. that it cannot be used by any unauthorized user. 
  12648.  
  12649. Requirements for Trusted Path
  12650.  
  12651. TP-2 Trusted User-to-TCB Communication
  12652.  
  12653. The TCB shall support a trusted communication path 
  12654. between itself and users for use whenever a 
  12655. positive user-to-TCB connection is required (e.g., 
  12656. login, change of policy attributes). 
  12657. Communications via this trusted path shall be 
  12658. activated exclusively by a user or the TCB and 
  12659. shall be logically isolated and unmistakably 
  12660. distinguishable from other communication paths.
  12661.  
  12662. Requirements for Audit
  12663.  
  12664. AD-1+ Minimal Audit
  12665.  
  12666. 1.    The TCB shall be able to create, maintain, and 
  12667. protect from modification or unauthorized access 
  12668. or destruction an audit trail of accesses to the 
  12669. objects it protects. The audit data shall be 
  12670. protected by the TCB so that read access to it is 
  12671. limited to those who are authorized for audit 
  12672. data.
  12673.  
  12674. 2.    The TCB shall be able to record the following 
  12675. types of events:
  12676.  
  12677.     - use of the identification and authentication 
  12678. mechanisms;
  12679.  
  12680.     - introduction of objects into a user's address 
  12681. space (e.g., file open, program initiation), and 
  12682. deletion of objects;
  12683.  
  12684.     - actions taken by computer operators and system 
  12685. administrators and/or system security officers.
  12686.  
  12687. The TCB shall be able to record any override of 
  12688. human-readable output markings. The TCB shall also 
  12689. be able to audit the identified event that may be 
  12690. used in the exploitation of covert channels.
  12691.  
  12692. The TCB shall contain a mechanism that is able to 
  12693. monitor the occurrence or accumulation of 
  12694. auditable events that may indicate an imminent 
  12695. violation of the product's security policy. This 
  12696. mechanism shall be able to immediately notify the 
  12697. security administrator when thresholds are 
  12698. exceeded, and, if the occurrence or accumulation 
  12699. of these security relevant events continues, the 
  12700. system shall take the least disruptive action to 
  12701. terminate the event. [AD-3]
  12702.  
  12703. 3.    For each recorded event, the audit record shall 
  12704. identify: date and time of the event, user, type 
  12705. of event, and success or failure of the event. For 
  12706. identification/authentication events the origin of 
  12707. request (e.g., terminal ID) shall be included in 
  12708. the audit record. For events that introduce an 
  12709. object into a user's address space and for object 
  12710. deletion events the audit record shall include the 
  12711. name and the object security level.
  12712.  
  12713. 4.    The system administrator shall be able to 
  12714. selectively audit the actions of one or more users 
  12715. based on individual identity and/or object 
  12716. security level.
  12717.  
  12718. Requirements for Access Control
  12719.  
  12720. AC-3 + Extended Access Control
  12721.  
  12722. 1.    Definition of Access Control Attributes
  12723.  
  12724. The TCB shall define and protect access control 
  12725. attributes for subjects and objects. Subject 
  12726. attributes shall include named individuals or 
  12727. defined groups or both. Object attributes shall 
  12728. include defined access rights (e.g., read, write, 
  12729. execute) that can be assigned to subject 
  12730. attributes. Access control attributes 
  12731. corresponding to each individual policy shall be 
  12732. identified.
  12733.  
  12734. Sensitivity labels associated with each subject 
  12735. and storage object that is directly or indirectly 
  12736. accessible by subjects external to the TCB shall 
  12737. be maintained by the TCB. The sensitivity labels 
  12738. shall be used as the basis for mandatory access 
  12739. control decisions.
  12740.  
  12741. The subjects and objects shall be assigned 
  12742. sensitivity labels that are a combination of 
  12743. hierarchical classification levels and non-
  12744. hierarchical categories, and the labels shall be 
  12745. used as the basis for mandatory access control 
  12746. decisions. The TCB shall be able to support two or 
  12747. more such security levels.
  12748.  
  12749. The subject and object attributes shall accurately 
  12750. reflect the sensitivity and integrity of the 
  12751. subject or object. When exported by the TCB, 
  12752. sensitivity labels shall accurately and 
  12753. unambiguously represent the internal labels and 
  12754. shall be associated with the information being 
  12755. exported.
  12756.  
  12757. The TCB shall immediately notify a terminal user 
  12758. of each change in the security level associated 
  12759. with that user during an interactive session. A 
  12760. terminal user shall be able to query the TCB as 
  12761. desired for a display of the subject's complete 
  12762. sensitivity label. 
  12763.  
  12764. The TCB shall support the assignment of minimum 
  12765. and maximum security levels to all attached 
  12766. physical devices. These security levels shall be 
  12767. used by the TCB to enforce constraints imposed by 
  12768. the physical environments in which the devices are 
  12769. located.
  12770.  
  12771. 2.    Administration of Access Control Attributes
  12772.  
  12773. The TCB shall define and enforce rules for 
  12774. assignment and modification of access control 
  12775. attributes for subjects and objects. The effect of 
  12776. these rules shall be that access permission to an 
  12777. object by users not already possessing access 
  12778. permission is assigned only by authorized users. 
  12779. These rules shall allow authorized users to 
  12780. specify and control sharing of objects by named 
  12781. individuals or defined groups of individuals, or 
  12782. by both, and shall provide controls to limit 
  12783. propagation of access rights. (i.e., these rules 
  12784. shall define the distribution, revocation, and 
  12785. review of access control attributes). The controls 
  12786. defined by these rules shall be capable of 
  12787. specifying for each named object, a list of 
  12788. individuals and a list of groups of named 
  12789. individuals, with their respective access rights 
  12790. to that object. Furthermore, for each named 
  12791. object, it shall be possible to specify a list of 
  12792. named individuals and a list of groups of named 
  12793. individuals for which no access to the object is 
  12794. given [AC-4}. These controls shall be capable of 
  12795. including or excluding access to the granularity 
  12796. of a single user.
  12797.  
  12798. The rules for assignment and modification of 
  12799. access control attributes shall include those for 
  12800. attribute assignment to objects during import and 
  12801. export operations. 
  12802.  
  12803. Export of Labeled Information
  12804.  
  12805.     The TCB shall designate each communication 
  12806. channel and I/O device as either single-level or 
  12807. multilevel. Any change in this designation shall 
  12808. be done manually and shall be auditable by the 
  12809. TCB. The TCB shall maintain and be able to audit 
  12810. any change in the security level or levels 
  12811. associated with a communication channel or I/O 
  12812. device.
  12813.  
  12814.     1. Exportation to Multilevel Devices
  12815.  
  12816.     When the TCB exports an object to a multilevel 
  12817. I/O device, the sensitivity label associated with 
  12818. that object shall also be exported and shall 
  12819. reside on the same physical medium as the exported 
  12820. information and shall be in the same form (i.e., 
  12821. machine-readable or human-readable form). When the 
  12822. TCB exports or imports an object over a multilevel 
  12823. communication channel, the protocol used on that 
  12824. channel shall provide for the unambiguous pairing 
  12825. between the sensitivity labels and the associated 
  12826. information that is sent or received.
  12827.  
  12828.     2. Exportation to Single-Level Devices
  12829.  
  12830.     Single-level I/O devices and single-level 
  12831. communication channels are not required to 
  12832. maintain the sensitivity labels of the information 
  12833. they process. However, the TCB shall include a 
  12834. mechanism by which the TCB and an authorized user 
  12835. reliably communicate to designate the single 
  12836. security level of information imported or exported 
  12837. via single-level communication channels or I/O 
  12838. devices.
  12839.  
  12840.     3. Labeling Human-Readable Output
  12841.  
  12842.     The system administrator shall be able to 
  12843. specify the printable label names associated with 
  12844. exported sensitivity labels. The TCB shall mark 
  12845. the beginning and end of all human-readable, 
  12846. paged, hardcopy output (e.g., line printer output) 
  12847. with human-readable sensitivity labels that 
  12848. properly represent the sensitivity of the output. 
  12849. The TCB shall, by default, mark the top and bottom 
  12850. of each page of human-readable, paged, hardcopy 
  12851. output (e.g., line printer output) with human-
  12852. readable sensitivity labels that properly 
  12853. represent the overall sensitivity of the output or 
  12854. that properly represent the sensitivity of the 
  12855. information on the page. The TCB shall, by default 
  12856. and in an appropriate manner, mark other forms of 
  12857. human-readable output (e.g., maps, graphics) with 
  12858. human-readable sensitivity labels that properly 
  12859. represent the sensitivity of the output. Any 
  12860. override of these marking defaults shall be 
  12861. auditable by the TCB.
  12862.  
  12863. Import of Non-labeled Data
  12864.  
  12865.     In order to import non-labeled data, the TCB 
  12866. shall request and receive from an authorized user 
  12867. the security level of the data, and all such 
  12868. actions shall be auditable by the TCB.
  12869.  
  12870. If different rules of assignment and modification 
  12871. of access control attributes apply to different 
  12872. subjects and/or objects, the totality of these 
  12873. rules shall be shown to support the defined 
  12874. policy.
  12875.  
  12876. 3.    Authorization of Subject References to Objects
  12877.  
  12878. The TCB shall define and enforce authorization 
  12879. rules for the mediation of subject references to 
  12880. objects. These rules shall be based on the access 
  12881. control attributes of subjects and objects. These 
  12882. rules shall, either by explicit user action or by 
  12883. default, provide that objects are protected from 
  12884. unauthorized access. 
  12885.  
  12886. The scope of the authorization rules shall include 
  12887. all subjects, storage objects (e.g., processes, 
  12888. segments, devices) and associated access control 
  12889. attributes that are directly or indirectly 
  12890. accessible to subjects external to the TCB. The 
  12891. scope of the authorization rules shall also 
  12892. include all policy and status attributes of 
  12893. subjects and storage objects (e.g., quotas, object 
  12894. existence, size, access time, creation and 
  12895. modification time, locked/unlocked). If different 
  12896. rules apply to different subjects and objects, the 
  12897. totality of these rules shall be shown to support 
  12898. the defined policy. 
  12899.  
  12900. The authorization rules for the mandatory access 
  12901. control policy shall include:
  12902.  
  12903.     The TCB shall enforce a mandatory access control 
  12904. policy over all resources (i.e., subjects, storage 
  12905. objects, and I/O devices that are directly or 
  12906. indirectly accessible by subjects external to the 
  12907. TCB. The following requirements shall hold for all 
  12908. accesses between all subjects external to the TCB 
  12909. and all objects directly or indirectly accessible 
  12910. by these subjects: A subject can read an object 
  12911. only if the hierarchical classification in the 
  12912. subject's security level is greater than or equal 
  12913. to the hierarchical classification in the object's 
  12914. security level and the non- hierarchical 
  12915. categories in the subject's security level include 
  12916. all the non-hierarchical categories in the 
  12917. object's security level. A subject can write an 
  12918. object only if the hierarchical classification in 
  12919. the subject's security level is less than or equal 
  12920. to the hierarchical classification in the object's 
  12921. security level and all the non-hierarchical 
  12922. categories in the subject's security level are 
  12923. included in the non-hierarchical categories in the 
  12924. object's security level.
  12925.  
  12926. The authorization rules for each policy shall be 
  12927. defined separately. The TCB shall define and 
  12928. enforce the composition of policies, including the 
  12929. enforcement of the authorization rules (e.g., 
  12930. subject and object type coverage, enforcement 
  12931. precedence).
  12932.  
  12933. 4. Subject and Object Creation and Destruction
  12934.  
  12935. The TCB shall control the creation and destruction 
  12936. of subjects and objects. These controls shall 
  12937. include object reuse. That is, all authorizations 
  12938. to the information contained within a storage 
  12939. object shall be revoked prior to initial 
  12940. assignment, allocation or reallocation to a 
  12941. subject from the TCB's pool of unused storage 
  12942. objects; information, including encrypted 
  12943. representations of information, produced by a 
  12944. prior subjects' actions shall be unavailable to 
  12945. any subject that obtains access to an object that 
  12946. has been released back to the system.
  12947.  
  12948. Requirements for Covert Channel Handling
  12949.  
  12950. CCH-3 Timing Channel Audit and Bandwidth Limitation
  12951.  
  12952. 1.     The TCB and privileged applications shall 
  12953. include functions that help audit the use of 
  12954. covert storage channels. These functions shall 
  12955. enable the identification of the transmitter, 
  12956. receiver, and specific covert channels used (e.g., 
  12957. TCB and privileged application element used to 
  12958. transmit information). TCB functions that help 
  12959. limit the bandwidth and/or eliminate covert 
  12960. storage channels shall also be provided. The 
  12961. bandwidth limits for each channel shall be 
  12962. settable by system administrators.
  12963.  
  12964. 2.     The functions added to the TCB and privileged 
  12965. applications for storage channel auditing shall be 
  12966. identified for each channel and shall be available 
  12967. in common product configurations. If audit 
  12968. functions are not added to certain storage 
  12969. channels (e.g., hardware storage channels), 
  12970. evidence must be provided to justify why these 
  12971. channels do not represent a security threat for 
  12972. the intended use of the product. TCB and 
  12973. privileged application functions that help limit 
  12974. the bandwidth and/or eliminate covert storage or 
  12975. timing channels shall also be available in common 
  12976. product configurations.
  12977.  
  12978. If channel bandwidth limitation and channel 
  12979. elimination functions are not added to certain 
  12980. storage or timing channels (e.g., hardware 
  12981. channels), evidence must be provided to justify 
  12982. why these channels do not represent a security 
  12983. threat for the intended use of the product.
  12984.  
  12985. Requirements for Security Management
  12986.  
  12987. SM-1++ Minimal Security Management
  12988.  
  12989. 1.     The TCB shall provide an installation mechanism 
  12990. for the setting and updating of its configuration 
  12991. parameters, and for the initialization of its 
  12992. protection-relevant data structures before any 
  12993. user or administrator policy attributes are 
  12994. defined. It shall allow the configuration of TCB 
  12995. internal databases and tables.
  12996.  
  12997. 2.     The TCB shall provide protected mechanisms for 
  12998. displaying and modifying the security policy 
  12999. parameters. 
  13000.  
  13001. 3.     The TCB shall provide protected mechanisms for 
  13002. manually displaying, modifying, or deleting user 
  13003. registration and account parameters. These 
  13004. parameters shall include unique user identifiers, 
  13005. their account, and their associated user name and 
  13006. affiliation. The TCB shall allow the manual 
  13007. enabling and disabling of user identities and/or 
  13008. accounts.
  13009.  
  13010. 4.     The TCB shall support separate operator and 
  13011. administrator functions. The operator functions 
  13012. shall be restricted to those necessary for 
  13013. performing routine operations. The operator 
  13014. functions shall allow the enabling and disabling 
  13015. of peripheral devices, mounting of removable 
  13016. storage media, backing-up and recovering user 
  13017. objects; maintaining the TCB hardware and software 
  13018. elements (e.g., on-site testing); and starting and 
  13019. shutting down the system. The administrative 
  13020. functions shall support separate security 
  13021. administrator and auditor roles. The TCB shall 
  13022. enable the administrators to perform their 
  13023. functions only after taking distinct auditable 
  13024. action to assume an administrator role. Non-
  13025. security functions that can be performed in the 
  13026. security administrative role shall be limited 
  13027. strictly to those essential to performing the 
  13028. security role effectively.[SM-4]
  13029.  
  13030. 5.      The use of the protected mechanisms for system 
  13031. administration shall be limited to authorized 
  13032. administrative users.
  13033.  
  13034. Requirements for Reference Mediation
  13035.  
  13036. RM-3 Mediation of References to Subject and Object 
  13037. Attributes
  13038.  
  13039. 1.     The TCB shall mediate all references to 
  13040. subjects, objects, resources, and services (e.g., 
  13041. TCB functions) described in the TCB 
  13042. specifications. The mediation shall ensure that 
  13043. all references are directed to the appropriate 
  13044. security-policy functions.
  13045.  
  13046. 2.      Reference mediation shall include control of 
  13047. references to all subjects, objects, and resources 
  13048. protected under the TCB security policy, to their 
  13049. policy (i.e., access rights, security levels) and 
  13050. status attributes (e.g., existence, length, 
  13051. locking state).
  13052.  
  13053. 3.     References issued by privileged subjects shall 
  13054. be mediated in accordance with the policy 
  13055. attributes defined for those subjects.
  13056.  
  13057. Requirements for Logical TCB Protection
  13058.  
  13059. P-3 TCB Isolation and Timing Consistency
  13060.  
  13061. The TCB shall maintain a domain for its own 
  13062. execution that protects it from external 
  13063. interference and tampering (e.g., by reading or 
  13064. modification of its code and data structures). The 
  13065. protection of the TCB shall provide TCB isolation 
  13066. and noncircumventability of TCB isolation 
  13067. functions as follows:
  13068.  
  13069.     1. TCB Isolation requires that (1) the address 
  13070. spaces of the TCB and those of unprivileged 
  13071. subjects are separated such that users, or 
  13072. unprivileged subjects operating on their behalf, 
  13073. cannot read or modify TCB data structures or code, 
  13074. (2) the transfers between TCB and non-TCB domains 
  13075. are controlled such that arbitrary entry to or 
  13076. return from the TCB are not possible; and (3) the 
  13077. user or application parameters passed to the TCB 
  13078. by addresses are validated with respect to the TCB 
  13079. address space, and those passed by value are 
  13080. validated with respect to the values expected by 
  13081. the TCB.
  13082.  
  13083.     2. Non-circumventability of TCB isolation 
  13084. functions requires that the permission to objects 
  13085. (and/or to non-TCB data) passed as parameters to 
  13086. the TCB are validated with respect to the 
  13087. permissions required by the TCB, and references to 
  13088. TCB objects implementing TCB isolation functions 
  13089. are mediated by the TCB.
  13090.  
  13091. TCB protection shall also maintain the consistency 
  13092. of TCB global variables and eliminate undesirable 
  13093. dependencies of the TCB on unprivileged subject or 
  13094. user actions.
  13095.  
  13096.     3. Consistency of TCB global variables requires 
  13097. that consistency conditions defined over TCB 
  13098. internal variables, objects, and functions hold 
  13099. before and after any TCB invocation.
  13100.  
  13101.     4. Elimination of undesirable dependencies of 
  13102. the TCB on unprivileged subject actions requires 
  13103. that any TCB invocation by an unprivileged subject 
  13104. (or user) input to a TCB call may not place the TCB 
  13105. in a state such that it is unable to respond to 
  13106. communication initiated by other users.
  13107.  
  13108. Furthermore, TCB protection shall maintain the 
  13109. timing consistency of condition checks.
  13110.  
  13111.     5. Timing consistency of condition checks 
  13112. requires that a validation check holds at the 
  13113. instant when the TCB action depending on that 
  13114. check is performed.
  13115.  
  13116. Requirements for TCB Self Checking
  13117.  
  13118. SC-1 Minimal Self Checking
  13119.  
  13120. Hardware and/or software features shall be 
  13121. provided that can be used to periodically validate 
  13122. the correct operation of the on-site hardware and 
  13123. firmware elements of the TCB.
  13124.  
  13125. Requirements for TCB Start-Up and Recovery
  13126.  
  13127. TR-1 Minimal Requirements for Recovery or Start-up
  13128.  
  13129. Procedures and/or mechanisms shall be provided to 
  13130. assure that, after a TCB failure or other 
  13131. discontinuity, recovery without protection 
  13132. compromise is obtained.
  13133.  
  13134. Requirements for TCB Privileged Operation
  13135.  
  13136. PO-2 Privilege Association with TCB Modules
  13137.  
  13138. 1. TCB privileges needed by individual functions, 
  13139. or groups of functions, of a functional component 
  13140. shall be identified. Privileged TCB calls or 
  13141. access to privileged TCB objects, such as user and 
  13142. group registration files, password files, security 
  13143. and integrity-level definition file, role 
  13144. definition file, audit-log file shall also be 
  13145. identified. It shall be possible to associate TCB 
  13146. privileges with TCB operations performed by 
  13147. administrative users. 
  13148.  
  13149. 2.The modules of a TCB function shall be 
  13150. associated only with the privileges necessary to 
  13151. complete their task. 
  13152.  
  13153. 3. Support for product privilege implementation 
  13154. and association with TCB modules provided by 
  13155. lower-level mechanisms or procedures (e.g., 
  13156. operating system, processors, language) shall be 
  13157. provided.
  13158.  
  13159. ASSURANCES 
  13160.  
  13161. Requirements for TCB Property Definition
  13162.  
  13163. PD-4 Formal Specification of TCB Properties
  13164.  
  13165. The developer shall provide formal models for the 
  13166. functional components and sub-components of the 
  13167. profile. At a minimum, a formal model of the 
  13168. access control components shall be provided. The 
  13169. properties of the formal models shall be clearly 
  13170. stated. The developer shall provide a formal 
  13171. interpretation of the models in the FIS of the 
  13172. product's TCB. For each model entity, the 
  13173. developer shall: (1) identify the TCB elements and 
  13174. their FIS (if any) that implement that entity; (2) 
  13175. specify the operation of these TCB elements, and 
  13176. (3) prove that the FIS of these elements is 
  13177. consistent with the model properties. The 
  13178. developer's interpretation of each formal model, 
  13179. which specifies the TCB properties, shall identify 
  13180. all TCB and FIS elements (if any) that do not 
  13181. correspond to any model entity and shall explain 
  13182. why these elements do not render the TCB 
  13183. properties invalid.
  13184.  
  13185. An informal model of reference mediation and TCB 
  13186. protection shall be provided. For the components 
  13187. that are not modeled, the developer shall 
  13188. interpret the functional requirements of the 
  13189. protection profile within the product TCB. For 
  13190. each functional requirement, the developer shall: 
  13191. (1) identify the TCB elements and their TCB 
  13192. interfaces (if any) that implement that 
  13193. requirement; (2) describe the operation of these 
  13194. TCB elements, and (3) explain why the operation of 
  13195. these elements is consistent with the functional 
  13196. requirement. The developer's interpretation of 
  13197. each functional requirement, which describes the 
  13198. TCB properties, shall include all the TCB 
  13199. elements.
  13200.  
  13201. Requirements for TCB Element Identification
  13202.  
  13203. ID-2: TCB Element Justification
  13204.  
  13205. The vendor shall identify the TCB elements (i.e., 
  13206. software, hardware/firmware code and data 
  13207. structures). Each element must be unambiguously 
  13208. identified by its name, type, release, and version 
  13209. number (if any).
  13210.  
  13211. The developer shall justify the protection 
  13212. relevance of the identified elements (i.e., only 
  13213. elements that can affect the correct operation of 
  13214. the protection functions shall be included in the 
  13215. TCB). If protection-irrelevant elements are 
  13216. included in the TCB, the developer shall provide a 
  13217. rationale for such inclusion.
  13218.  
  13219. Requirements for TCB Interface Definition
  13220.  
  13221. IF-3: Formal Interface Specification
  13222.  
  13223. The developer shall define all external (e.g., 
  13224. command, software, and I/O) administrative (i.e., 
  13225. privileged) and non-administrative interfaces to 
  13226. the TCB.
  13227.  
  13228. The developer shall provide and maintain a 
  13229. descriptive interface specification (DIS) of the 
  13230. TCB that completely and accurately describes the 
  13231. TCB in terms of exceptions, error messages, and 
  13232. effects. The DIS shall identify the TCB call 
  13233. conventions (e.g., parameter order, call sequence 
  13234. requirements), and exceptions signaled. The DIS 
  13235. shall also include the TCB call identifier, 
  13236. parameter types (e.g., input, output), the effect 
  13237. of the call, TCB call conventions (e.g., parameter 
  13238. order, call sequence requirements), and exceptions 
  13239. handled and signaled. It shall be shown to be an 
  13240. accurate description of the TCB interface.
  13241.  
  13242. A Formal Interface Specification (FIS) of the TCB 
  13243. shall be maintained that accurately describes the 
  13244. TCB in terms of the call identifier, parameter 
  13245. types (e.g., input, output), the effect of the 
  13246. call, TCB call conventions (e.g., parameter order, 
  13247. call sequence requirements), and exceptions 
  13248. signaled. 
  13249.  
  13250. The DIS and FIS shall include those components of 
  13251. the TCB that are implemented as hardware and/or 
  13252. firmware if their properties are visible at the 
  13253. TCB interface.
  13254.  
  13255. If the TCB consists of a kernel and privileged 
  13256. processes, the developer shall separately identify 
  13257. and define the interfaces for the kernel and each 
  13258. privileged process.
  13259.  
  13260. The TCB interface definition must also include all 
  13261. effects of a call including the direct visibility 
  13262. and alterability of internal TCB variables and 
  13263. functions.
  13264.  
  13265. Requirements for TCB Modular Decomposition
  13266.  
  13267. MD-3: Module Relationship Analysis
  13268.  
  13269. The developer shall design the TCB as a small 
  13270. number (e.g., 10 to 100) of design and 
  13271. implementation subsystems that have well-defined 
  13272. functional relationships and shared-data 
  13273. dependencies. The developer shall identify the 
  13274. specific TCB protection properties and functions 
  13275. associated with each subsystem and the TCB 
  13276. interfaces (if any) implemented by each subsystem.
  13277.  
  13278. The developer shall design each subsystem as a set 
  13279. of modules. For each module, the developer shall 
  13280. describe: the role or purpose of the module, the 
  13281. set of related functions performed by the module, 
  13282. and the module interface (i.e., the set of 
  13283. invocable functions, calling conventions, 
  13284. parameters, global variables, and results). The 
  13285. developer shall identify the protection functions 
  13286. of, and describe the interfaces between, these 
  13287. modules. The developer shall choose the modules so 
  13288. that the set of functions implemented by the 
  13289. module, the module's contribution to the TCB 
  13290. protection properties, and the interface(s) to the 
  13291. module can be described concisely (e.g., the 
  13292. module shall have a single purpose).   The TCB 
  13293. structuring into modules shall be based on well-
  13294. defined module relationships; for example, the 
  13295. contains relation (e.g., A is part of B), the 
  13296. "uses" relation (e.g., A is correct only if B is 
  13297. correct). The developer shall analyze the 
  13298. correctness dependencies among these modules. This 
  13299. analysis may include, but is not restricted to, 
  13300. service and environmental dependencies.
  13301.  
  13302. Requirements for TCB Structuring Support
  13303.  
  13304. SP-3: Structured Protection Mechanisms
  13305.  
  13306. The TCB shall maintain process isolation. The TCB 
  13307. shall separate those elements that are protection-
  13308. critical from those that are not. Features in 
  13309. hardware, such as segmentation, shall be used to 
  13310. support logically distinct storage objects with 
  13311. separate access-control attributes (e.g., 
  13312. readable, writable). The TCB shall employ a 
  13313. complete, conceptually simple, protection 
  13314. mechanism with precisely defined semantics. This 
  13315. mechanism shall play a central role in enforcing 
  13316. the internal structuring of the TCB and the 
  13317. product.
  13318.  
  13319. Requirements for Design Disciplines
  13320.  
  13321. DD-2: Extended Disciplines for TCB Structuring
  13322.  
  13323. The developer shall design the product to minimize 
  13324. the complexity of the TCB. System engineering 
  13325. shall be directed towards excluding from the TCB 
  13326. modules that are not protection critical.
  13327.  
  13328. The TCB design shall reflect use of modern 
  13329. software engineering techniques), such as data 
  13330. hiding and abstraction (i.e., data, functional, 
  13331. and control abstractions) and well-defined 
  13332. exception-handling. The TCB design shall also 
  13333. include use of layering (including a rationale for 
  13334. each layering violation), high-level 
  13335. synchronization constructs, and multi-tasking/
  13336. multi-threading.
  13337.  
  13338. Requirements for TCB Implementation Support
  13339.  
  13340. IM-4: Naming Support For Design Correspondence
  13341.  
  13342. The developer shall maintain engineering diagrams 
  13343. and source code (as applicable) for all TCB 
  13344. elements. The developer shall identify the 
  13345. programming languages used to develop the TCB 
  13346. software and reference the definitions of those 
  13347. languages. The developer shall identify any 
  13348. implementation dependent options of the 
  13349. programming language compiler(s) used in the TCB 
  13350. source code. The developer shall describe coding 
  13351. standards followed during the implementation of 
  13352. the product and shall ensure that all source code 
  13353. complies with these standards. The diagrams and 
  13354. source code for each module of the TCB shall be 
  13355. identified and provided as configuration items. 
  13356. The diagrams and source code shall be named using 
  13357. the same conventions as those used in the TCB 
  13358. design. The developer shall explain how the 
  13359. programming languages used help establish the 
  13360. correspondence between the TCB implementation and 
  13361. design.
  13362.  
  13363. Requirements for Developer Functional Testing
  13364.  
  13365. FT-3: Specification-Driven TCB Interface Testing
  13366.  
  13367. The developer shall test the TCB interface to show 
  13368. that all claimed protection functions work as 
  13369. stated in the TCB interface description or 
  13370. specification. The tests shall exercise the 
  13371. boundary conditions of the protection functions. 
  13372. The developer shall generate the test conditions 
  13373. and data from the Descriptive Interface 
  13374. Specification(s). The developer test procedures 
  13375. shall include the tests used to demonstrate the 
  13376. absence of all flaws discovered in previous 
  13377. versions of the TCB.
  13378.  
  13379. The developer shall correct all flaws discovered 
  13380. by testing and shall retest the TCB to show that 
  13381. all discovered flaws have been eliminated, no new 
  13382. flaws have been introduced, and the protection 
  13383. functions work as claimed.
  13384.  
  13385. Requirements for Penetration Analysis
  13386.  
  13387. PA-2 Flaw-Hypothesis Testing
  13388.  
  13389. The developer shall define the TCB configuration, 
  13390. interface, and protection functions that are 
  13391. subject to penetration testing. For each test, the 
  13392. developer shall identify the goal of the test and 
  13393. the criteria for successful penetration. The 
  13394. developer shall illustrate how, in addition to 
  13395. system reference manuals and TCB interface 
  13396. description, the DIS, source code, and hardware 
  13397. and firmware specifications are used to define 
  13398. penetration-test conditions. For each test, the 
  13399. developer shall document all test conditions, data 
  13400. (e.g., test set-up, function call parameters, and 
  13401. test outcomes), and coverage. 
  13402.  
  13403. The developer shall generate the test conditions 
  13404. from flaw-hypotheses derived by negating 
  13405. assertions of TCB design capabilities and by 
  13406. providing counter examples that show that these 
  13407. assertions are false. The developer shall confirm 
  13408. the flaw hypotheses by checking design and 
  13409. implementation documentation, by defining the test 
  13410. data and running test programs, or by referring to 
  13411. known classes of penetration flaws found in other 
  13412. TCBs. The refutation of any hypothesis shall be 
  13413. documented.
  13414.  
  13415. For each uncovered flaw, the developer shall 
  13416. define and document scenarios of flaw exploitation 
  13417. and shall identify all penetration outcomes 
  13418. resulting from that scenario. The cause of the 
  13419. flaw shall be identified and documented.
  13420.  
  13421. Requirements for Covert-Channel Analysis
  13422.  
  13423. CCA-3 Formal Covert Channel Analysis
  13424.  
  13425. 1. Identification: The developer shall identify 
  13426. all sources of information used in covert-channel 
  13427. analysis. These sources shall include TCB 
  13428. reference manuals, DIS, and FIS. The sources of 
  13429. information and methods of identification shall 
  13430. include processor specifications whenever the 
  13431. identification method includes source code and 
  13432. hardware analysis.    The developer shall define 
  13433. the identification method used. The developer 
  13434. shall define the identification method used. The 
  13435. developer shall demonstrate that the chosen 
  13436. identification method is sound (e.g., it leads to 
  13437. the discovery of all covert channels in the FIS or 
  13438. source documentation) and repeatable (i.e., 
  13439. independent evaluators can use the method on the 
  13440. same sources of covert-channel information and can 
  13441. obtain the same results.) The method shall be 
  13442. applied on the FIS of the TCB, and shall include 
  13443. syntactic information-flow analysis (with or 
  13444. without the use of semantic analysis) or 
  13445. noninterference analysis. The identification of 
  13446. covert channels shall include specification-to-
  13447. code correspondence.
  13448.  
  13449. The developer shall define scenarios of use for 
  13450. each cover channel. The developer shall also 
  13451. define timing channel scenarios, and shall 
  13452. identify all functions that provide independent 
  13453. sources of timing (e.g., CPUs, I/O processors). 
  13454.  
  13455.  2. Bandwidth Measurement or Engineering 
  13456. Estimation: The developer shall define the method 
  13457. used for covert-channel bandwidth estimation. The 
  13458. method shall be based on information theory 
  13459. methods. In measuring TCB performance for covert-
  13460. channel-bandwidth estimation, the developer shall 
  13461. satisfy the following assumptions. The maximum 
  13462. bandwidth estimation shall be based on the 
  13463. assumptions that the covert channel is noiseless, 
  13464. that the senders and receivers are not delayed by 
  13465. the presence of other processes in the product, 
  13466. and that the sender-receiver synchronization time 
  13467. is negligible. 
  13468.  
  13469. The developer shall select TCB primitives to be 
  13470. measured for bandwidth determination from real 
  13471. scenarios of covert channel use. The developer 
  13472. shall specify TCB measurement environment for the 
  13473. bandwidth measurements. This specification shall 
  13474. include: (1) the speed of the product functions, 
  13475. (2) the product configuration, (3) the sizes of 
  13476. the memory and cache components, and (4) the 
  13477. product initialization. The sensitivity of the 
  13478. measurement results to configuration changes shall 
  13479. be documented. The covert-channel measurements 
  13480. shall include the fastest TCB function calls for 
  13481. altering, viewing, and setting up the transmission 
  13482. environment; the demonstrably fastest process 
  13483. (context) switch time shall also be included in 
  13484. the bandwidth measurements. All measurements shall 
  13485. be repeatable.
  13486.  
  13487. 3. Covert Channel Testing: The developer shall 
  13488. test all the use of all identified covert channels 
  13489. to determine whether the handling functions work 
  13490. as intended.
  13491.  
  13492. Requirements for User Guidance
  13493.  
  13494. UG-1: Users' Guide
  13495.  
  13496. The developer shall provide a User Guide which 
  13497. describes all protection services provided and 
  13498. enforced by the TCB. The User Guide shall describe 
  13499. the interaction between these services and provide 
  13500. examples of their use. The User Guide may be in the 
  13501. form of a summary, chapter or manual. The User 
  13502. Guide shall specifically describe user 
  13503. responsibilities. These shall encompass any user 
  13504. responsibilities identified in the protection 
  13505. profile.
  13506.  
  13507. Requirements for Administrative Guidance
  13508.  
  13509. AG-3: Role-Based Administrative Guidance
  13510.  
  13511. The developer shall provide a Trusted Facility 
  13512. Manual intended for the product administrators and 
  13513. operators that describes how to use the TCB 
  13514. security services (e.g., Access Control, System 
  13515. Entry, or Audit) to enforce a system security 
  13516. policy. The Trusted Facility Manual shall include 
  13517. the procedures for securely configuring, starting, 
  13518. maintaining, and halting the TCB. The Trusted 
  13519. Facility Manual shall explain how to analyze audit 
  13520. data generated by the TCB to identify and document 
  13521. user and administrator violations of this policy. 
  13522. The Trusted Facility Manual shall explain the 
  13523. unique security-relevant privileges and functions 
  13524. of administrators and operators. The Trusted 
  13525. Facility Manual shall also explain the distinct 
  13526. security-relevant privileges and functions of the 
  13527. TCB and how they can be selectively granted to 
  13528. provide fine-grained, multi-person or multi-role 
  13529. system and application administration policies. 
  13530. The Trusted Facility Manual shall describe the 
  13531. administrative interaction between security 
  13532. services.
  13533.  
  13534. The Trusted Facility Manual shall identify all 
  13535. hardware, firmware, software, and data structures 
  13536. comprising the TCB. The detailed audit record 
  13537. structure for each type of audit event shall be 
  13538. described. The Trusted Facility Manual shall 
  13539. explain how configure the product to mitigate, 
  13540. eliminate, or audit their exploitation. The 
  13541. Trusted Facility Manual shall describe the 
  13542. cautions about and procedures for using the TCB as 
  13543. a base for site-specific secure applications. The 
  13544. Trusted Facility Manual shall describe procedures 
  13545. for securely regenerating the TCB after any part 
  13546. is changed (e.g., due to adding devices or 
  13547. installing flaw corrections to the TCB software).
  13548.  
  13549. The Trusted Facility Manual shall be distinct from 
  13550. User Guidance, and encompass any administrative 
  13551. responsibilities identified in security 
  13552. management.
  13553.  
  13554. Requirements for Trusted Generation
  13555.  
  13556. TG-3: Trusted Generation With Secure State Review
  13557.  
  13558. The developer shall establish and document the 
  13559. procedures that a consumer must perform to 
  13560. generate an operational TCB from the delivered 
  13561. copy of the master TCB. The consumer documentation 
  13562. shall identify any system parameters, which are 
  13563. initialized or set during system generation, that 
  13564. affect the TCB's conformance to the protection 
  13565. profile and state the acceptable ranges of values 
  13566. for those parameters. The product shall be 
  13567. delivered with each of these parameters set to its 
  13568. fail-safe defaults. The developer shall provide 
  13569. the consumer with a capability to review the 
  13570. product security state (e.g., by providing a 
  13571. program, which could be executed after generating 
  13572. and starting the TCB, that determines the 
  13573. consistency of the protection-relevant 
  13574. parameters).
  13575.  
  13576. Requirements for Life Cycle Definition
  13577.  
  13578. LC-3: Measurable Life Cycle Process
  13579.  
  13580. The developer shall develop and maintain the 
  13581. product using a well defined, standardized, and 
  13582. measurable engineering process. The developer 
  13583. shall explain why the process was chosen and how 
  13584. the developer uses it to develop and maintain the 
  13585. product. The developer shall comply with the 
  13586. engineering process standard. The process shall 
  13587. incorporate a security policy that states the 
  13588. technical, physical, procedural, personnel, and 
  13589. other measures used by the developer to protect 
  13590. the product and its documentation. The developer 
  13591. shall demonstrate that each development process 
  13592. and support process requirement of the protection 
  13593. profile is satisfied by some part, or parts, of 
  13594. the developer's process. The developer shall 
  13595. identify the programming languages used to develop 
  13596. the TCB software and reference the definitions of 
  13597. those languages. The developer shall identify any 
  13598. implementation dependent options of the 
  13599. programming language compiler(s) used to implement 
  13600. the TCB software and reference the definitions of 
  13601. those languages.The developer shall describe 
  13602. coding standards followed during the 
  13603. implementation of the product and shall ensure 
  13604. that all source code complies with these 
  13605. standards.
  13606.  
  13607. Requirements for Configuration Management
  13608.  
  13609. CM-4: Extended Configuration Management
  13610.  
  13611. The developer shall establish configuration 
  13612. control and generation procedures employing 
  13613. automated tools for developing and maintaining the 
  13614. TCB. The procedures shall be employed to ensure 
  13615. that all changes to the TCB are consistent with 
  13616. the product's protection properties and security 
  13617. policy. The developer shall employ these tools to 
  13618. track and control changes to development evidence, 
  13619. implementation data (e.g., source code and 
  13620. hardware diagrams), executable versions of the 
  13621. TCB, test documentation and procedures, identified 
  13622. flaws, and consumer documentation. The procedures 
  13623. shall include a formal acceptance process for 
  13624. protection-relevant changes.
  13625.  
  13626. The configuration control procedures shall assure 
  13627. a consistent mapping among documentation and code 
  13628. associated with the current version of the TCB and 
  13629. permit the regeneration of any supported version 
  13630. of the TCB. The developer shall provide tools for 
  13631. the generation of a new version of the TCB from 
  13632. source code. Also, tools shall be available for 
  13633. comparing a newly generated version with the 
  13634. previous TCB version to ascertain that only the 
  13635. intended changes have been made in the code that 
  13636. will actually be used as the new version of the 
  13637. TCB. The developer shall use a combination of 
  13638. technical, physical, and procedural safeguards to 
  13639. protect the master copy or copies of all material 
  13640. used to generate the TCB from unauthorized 
  13641. modification or destruction.
  13642.  
  13643. Requirements for Trusted Distribution
  13644.  
  13645. TD-1: TCB Modification Detection During Distribution
  13646.  
  13647. The developer shall establish procedures and 
  13648. employ appropriate technical measures to detect 
  13649. modifications to any TCB-related software, 
  13650. firmware, and hardware, including updates, that is 
  13651. transferred from the development environment to a 
  13652. consumer's site. 
  13653.  
  13654. Requirements for Evidence of TCB Protection Properties
  13655.  
  13656. EPP-4 Evidence of Formal Model Interpretation in the FIS
  13657.  
  13658. The developer shall provide documentation which 
  13659. describes the correspondence between the 
  13660. functional component requirements and the TCB 
  13661. elements and interfaces. This documentation shall 
  13662. describe how the TCB implements the reference 
  13663. monitor concept. The developer shall also provide 
  13664. a formal access-control model and an informal 
  13665. reference mediation and TCB protection model. The 
  13666. TCB properties, which are defined by this 
  13667. correspondence and the interpretation of these 
  13668. models within the DIS and FIS of the TCB shall be 
  13669. documented by the product developer.
  13670.  
  13671. Requirements for Evidence of Product Development
  13672.  
  13673. EPD-5: Policy Consistency Of The FIS
  13674.  
  13675. The developer shall provide a Descriptive 
  13676. Interface Specification (DIS) that describes the 
  13677. functions, effects, exceptions and error messages 
  13678. visible at the TCB interface and includes a 
  13679. convincing argument that the DIS is consistent 
  13680. with the formal model of the policy. The developer 
  13681. shall show that the DIS is an accurate 
  13682. representation of the TCB's external interfaces.
  13683.  
  13684. The developer shall provide a Formal Interface 
  13685. Specification (FIS) that rigorously defines the 
  13686. protection functions available at the TCB 
  13687. interface in terms of: the protection properties 
  13688. implemented by each function, the precise 
  13689. semantics for invoking each function, the effects 
  13690. of each function (i.e., returned values and effect 
  13691. on the TCB state), and the possible exceptions and 
  13692. error messages returned by each function. The FIS 
  13693. shall be accompanied by a convincing argument that 
  13694. it is consistent with the formal model of the 
  13695. product protection policy. This argument shall be 
  13696. constructed using both manual and machine-assisted 
  13697. specification and verification methods. Machine-
  13698. assisted specification and verification methods 
  13699. shall be approved by the product evaluation 
  13700. authority.
  13701.  
  13702. The developer shall provide TCB Design 
  13703. Specifications that include: a list of the TCB 
  13704. elements (hardware, software, and firmware 
  13705. configuration items); a list of protection 
  13706. services provided to the TCB by hardware, 
  13707. software, and firmware that is not part of the 
  13708. TCB; an explanation of the techniques and criteria 
  13709. used during the modular decomposition of the TCB; 
  13710. a description of the policy allocations, 
  13711. functions, and interactions among the major TCB 
  13712. subsystems; module level descriptions of all 
  13713. software and hardware in the TCB; and an argument 
  13714. that the design implements exactly the functions 
  13715. specified in the FIS.
  13716.  
  13717. The developer shall provide TCB Implementation 
  13718. Data consisting of the engineering diagrams for 
  13719. all hardware included in the TCB and the source 
  13720. code used to generate the TCB software and 
  13721. firmware. The developer shall show, through either 
  13722. manual or machine-assisted correspondence methods, 
  13723. that the TCB software, firmware, and hardware 
  13724. implement the documented TCB design.
  13725.  
  13726. Requirements for Evidence of Functional Testing
  13727.  
  13728. EFT-3: Evidence of Specification-Driven Testing
  13729.  
  13730. The developer shall provide evidence of the 
  13731. functional testing that includes the test plan, 
  13732. the test procedures, and the results of the 
  13733. functional testing. The test, plans, procedures, 
  13734. and results shall be maintained under the same 
  13735. configuration control as the TCB software. The 
  13736. test plans shall identify the TCB specification 
  13737. used in the derivation of the test conditions, 
  13738. data, and coverage analysis.
  13739.  
  13740. Requirements for Evidence of Penetration Analysis
  13741.  
  13742. EPA-2: Evidence of Flaw-Hypothesis Generation and Testing
  13743.  
  13744. The developer shall provide evidence of 
  13745. penetration testing. The penetration evidence 
  13746. shall identify all product documentation and 
  13747. development evidence on which the search for flaws 
  13748. was based. The penetration evidence shall describe 
  13749. the scenarios for exploiting each potential flaw 
  13750. in the system and the penetration test conditions, 
  13751. data (e.g., test set-up, function call parameters, 
  13752. and test outcomes), coverage, and conclusions 
  13753. derived from each scenario. The penetration 
  13754. evidence shall summarize both refuted and 
  13755. confirmed flaws hypothesis.
  13756.  
  13757. Requirements for Evidence of Covert Channel Analysis
  13758.  
  13759. ECC-2: Evidence of Covert Channel Analysis and Handling
  13760.  
  13761. The developer's documentation shall present the 
  13762. results of the covert channel analysis and the 
  13763. trade-offs involved in restricting these channels. 
  13764. All auditable events that may be used in the 
  13765. exploitation of known covert channels shall be 
  13766. identified. The developer shall provide the 
  13767. bandwidths of known covert channels whose use is 
  13768. not detectable by the auditing mechanism. The 
  13769. documentation of each identified covert channel 
  13770. shall consist of the variables, timing sources, 
  13771. and the TCB interface functions that can be used 
  13772. to transmit information. The measurements of each 
  13773. TCB function call used by covert channels must be 
  13774. documented and the bandwidth computation shall be 
  13775. included for each channel. The measurement 
  13776. environment should be documented as specified. 
  13777. Test documentation shall include results of 
  13778. testing the effectiveness of the methods used to 
  13779. reduce covert-channel bandwidths.
  13780.  
  13781. Requirements for Evidence of Product Support
  13782.  
  13783. EPS-3: Evidence of Measured Product Support
  13784.  
  13785. The developer shall provide documentation that 
  13786. defines, explains, and justifies the policies, 
  13787. procedures, plans, and tools established by the 
  13788. developer to satisfy the Operational Support and 
  13789. Development Environment requirements of the 
  13790. protection profile. The documentation shall also 
  13791. explain how the developer periodically evaluates 
  13792. compliance with the established procedures, 
  13793. policies, and plans.
  13794.  
  13795. Requirements for Test Analysis
  13796.  
  13797. TA-5: Formal Test Analysis
  13798.  
  13799. The evaluator shall assess whether the producer 
  13800. has performed the activities defined in the 
  13801. development assurance requirements of the 
  13802. protection profile for functional testing and 
  13803. penetration analysis, and whether the producer has 
  13804. documented these activities as defined in the 
  13805. development evidence requirements of the 
  13806. protection profile. The evaluator shall analyze 
  13807. the results of the producer's testing activities 
  13808. for completeness of coverage and consistency of 
  13809. results, and general correctness (e.g., defect 
  13810. trend from regression testing). This analysis 
  13811. shall examine the testability of requirements, use 
  13812. of the FIS for test derivation, the adequacy of 
  13813. the tests to measure the required properties, the 
  13814. deviation of the actual results obtained from the 
  13815. expected results. The analysis shall extend to 
  13816. trace all defects identified, corrected, and 
  13817. retested. The analysis shall include an assessment 
  13818. of test coverage and completeness, and defect 
  13819. frequency. The results of testing shall be 
  13820. interpreted in terms that express product 
  13821. performance and protection adequacy. The evaluator 
  13822. shall determine whether the product's protection 
  13823. properties, as defined for the entire TCB, and all 
  13824. relevant known penetration flaws have been tested. 
  13825. The evaluator shall independently develop, test, 
  13826. and document additional flaw hypotheses. The 
  13827. evaluator shall assess testing results to 
  13828. determine whether the product's TCB works as 
  13829. claimed, that the TCB's implementation is 
  13830. consistent with the FIS, and whether there are any 
  13831. obvious ways (i.e., ways that are known, or that 
  13832. are readily apparent or easily discovered in 
  13833. product documentation) for an unauthorized user to 
  13834. bypass the policy implemented by the TCB or 
  13835. otherwise defeat the product's TCB, and whether 
  13836. all discovered TCB flaws have been corrected and 
  13837. no new TCB flaws introduced. No design flaws and 
  13838. no more than a few correctable implementation 
  13839. flaws may be found during testing and there shall 
  13840. be reasonable confidence that few remain.   If 
  13841. covert channel handling methods have been 
  13842. implemented, the testing results shall show that 
  13843. the methods used to reduce covert channel 
  13844. bandwidths have been effective for all evaluated 
  13845. configurations. The evaluator shall determine 
  13846. whether the product is completely resistant to 
  13847. penetrations.
  13848.  
  13849.  IT-4: Formal Independent Testing.
  13850.  
  13851. The evaluator shall independently perform 
  13852. functional and elementary penetration testing to 
  13853. confirm test results. This testing shall be based 
  13854. on (1) the results of producer or other 
  13855. independent testing, (2) the TCB's FIS, (3) the 
  13856. product's design and implementation documentation, 
  13857. (4) the product's user and administrative 
  13858. documentation, (5) relevant known penetration 
  13859. flaws, and (6) evaluator-developed TCB penetration 
  13860. flaw hypotheses and corresponding tests that 
  13861. attempt to exploit the hypothesized flaws. 
  13862. Satisfactory completion consists of demonstrating 
  13863. that all TCB functions work as described in the 
  13864. product's relevant documentation, that the TCB 
  13865. functions are consistent with the FIS, that test 
  13866. results are consistent, and that no discrepancies 
  13867. exist between the documentation and the product. 
  13868. Satisfactory penetration test completion shall be 
  13869. determined by the subjective judgement of the 
  13870. evaluator (which may be supported 
  13871. algorithmically). Test duration agreements may 
  13872. further constrain this judgement. Categorization 
  13873. of an actual penetration flaw shall be based on 
  13874. the reproducibility of that flaw. Flaws that are 
  13875. discovered, but are not reproducible shall remain 
  13876. categorized as potential penetration flaws. All 
  13877. actual penetration flaws must be corrected and 
  13878. retested. 
  13879.  
  13880. The evaluator shall provide a penetration test 
  13881. plan document that describes the additional 
  13882. evaluator-developed flaw hypotheses and associated 
  13883. tests. The evaluator shall execute these tests and 
  13884. shall report any discovered flaws to the producer 
  13885. as part of the testing results. At the conclusion 
  13886. of penetration testing, the evaluator shall 
  13887. provide copies of this penetration test plan and 
  13888. its test results to the producer. The producer 
  13889. shall ensure that this test plan and its test 
  13890. results are incorporated into the rest of the 
  13891. product's testing documentation and that such 
  13892. documentation is available for further analysis 
  13893. throughout the life of the product.
  13894.  
  13895. The evaluator shall test for covert channel 
  13896. bandwidth reductions to determine the 
  13897. effectiveness of handling method(s) in reducing 
  13898. the bandwidths of identified covert channels.
  13899.  
  13900. Requirements for Development Environment
  13901.  
  13902. DER-3: Comprehensive Development Environment Review
  13903.  
  13904. The evaluator shall review the producer's 
  13905. development and maintenance process description 
  13906. documentation and shall conduct a complete audit 
  13907. of the producer's processes using the evidence 
  13908. generated by each process to determine the degree 
  13909. of discipline enforced upon and within the 
  13910. process, and to determine the protection 
  13911. characteristics associated with the product's 
  13912. development and maintenance. The results of this 
  13913. review shall establish, for the evaluator, the 
  13914. producer's development environment, its policies, 
  13915. and the degree of enforcement maintained during 
  13916. development execution. The review shall also 
  13917. confirm the producer's complete conformance with 
  13918. all relevant development environment requirements.
  13919.  
  13920. Requirements for Operational Support
  13921.  
  13922. OSR-3 Comprehensive Operational Support Review
  13923.  
  13924. The evaluator shall review all documentation 
  13925. focused on the activities of product use (e.g., 
  13926. Users Manuals) and product administration 
  13927. including installation, operation, maintenance, 
  13928. and trusted recovery (e.g., Trusted Facility 
  13929. Management manuals. This review shall assess the 
  13930. clarity of presentation, difficulty in locating 
  13931. topics of interest, ease of understanding, and 
  13932. completeness of coverage. The need for separate 
  13933. manuals dedicated to protection-relevant aspects 
  13934. of the product should be assessed for 
  13935. effectiveness. The evaluator shall execute all 
  13936. documented protection-relevant features and 
  13937. procedures to determine if their descriptions are 
  13938. accurate and correct.
  13939.  
  13940. Requirements for Design Analysis
  13941.  
  13942. DA-3: Comprehensive Design Analysis
  13943.  
  13944. The evaluator shall determine whether the producer 
  13945. has performed the activities defined in the 
  13946. development process assurance requirements of the 
  13947. protection profile for TCB property definition and 
  13948. TCB design. The evaluator shall determine whether 
  13949. the producer has documented these activities as 
  13950. defined in the development evidence requirements 
  13951. of the protection profile. The evaluator shall 
  13952. analyze, with the help of formal methods and 
  13953. appropriate automated tools, the results of the 
  13954. producer's activities for completeness, 
  13955. consistency, and correctness of design with 
  13956. respect to requirements (e.g., validating the 
  13957. formal verification of the design).
  13958.  
  13959. Requirements for Implementation
  13960.  
  13961. CI-3: Comprehensive Implementation Analysis
  13962.  
  13963. The evaluator shall conduct an inspection on a 
  13964. moderate sample of randomly selected product code. 
  13965. The assessment shall focus on the clarity of the 
  13966. coding style, adherence to coding standards, 
  13967. coding documentation, and on possible software 
  13968. defects that may be present with respect to the 
  13969. product's formal design and model. The inspection 
  13970. shall be performed to obtain only a sample of 
  13971. possible software defects, not to capture all such 
  13972. possible defects. The evaluator shall report all 
  13973. discovered defects to the producer; the assessment 
  13974. shall report the number of defects found per line 
  13975. of code inspected from the random sample size. Use 
  13976. of producer-provided code inspection results can 
  13977. supplement this inspection. All trapdoors built 
  13978. into the product for maintenance purposes shall be 
  13979. identified by the producer and shown to be 
  13980. protected by the product. The producer shall 
  13981. correct all discovered defects and the corrected 
  13982. software reinspected. A rigorous analysis of the 
  13983. implementation's correspondence to the verified 
  13984. design shall be performed by the evaluator to 
  13985. validate correctness. Such analysis may be 
  13986. supported by appropriate automated tools.
  13987.  
  13988.  
  13989.  
  13990. Downloaded From P-80 International Information Systems 304-744-2253
  13991.