IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target Revision 1.0 September 22, 2008 Prepared for: IBM Canada, Ltd. 3600 Steeles Avenue East Markham, Ontario L3R 9Z7 Canada Prepared By: Science Applications International Corporation 7125 Columbia Gateway Drive, Suite 300 Columbia, MD 21046 IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 2 TABLE OF CONTENTS 1. SECURITY TARGET INTRODUCTION...........................................................................................................5 1.1 SECURITY TARGET, TOE AND CC IDENTIFICATION........................................................................................5 1.2 CONFORMANCE CLAIMS.................................................................................................................................5 1.3 CONVENTIONS, TERMINOLOGY, ACRONYMS ..................................................................................................6 1.3.1 Conventions ...........................................................................................................................................6 1.3.2 Acronyms ...............................................................................................................................................7 1.4 SECURITY TARGET OVERVIEW AND ORGANIZATION......................................................................................7 2. TOE DESCRIPTION..........................................................................................................................................8 2.1 PRODUCT TYPE...............................................................................................................................................9 2.2 PRODUCT DESCRIPTION..................................................................................................................................9 2.2.1 DRDA Protocol Handler .......................................................................................................................9 2.2.2 SQL Processing ...................................................................................................................................10 2.2.2.1 SQL Manager...................................................................................................................................10 2.2.2.2 SQL Compiler..................................................................................................................................10 2.2.2.3 SQL Runtime...................................................................................................................................11 2.2.3 Non-SQL Processing............................................................................................................................11 2.2.4 Optional Features................................................................................................................................11 2.2.4.1 Database Partitioning Feature (DPF)...............................................................................................11 2.2.4.2 Trusted Contexts..............................................................................................................................11 2.2.4.3 SSL Client Connections...................................................................................................................12 2.2.4.4 Authentication Servers.....................................................................................................................12 2.3 PRODUCT FEATURES.....................................................................................................................................12 2.4 SECURITY ENVIRONMENT TOE BOUNDARY.................................................................................................12 2.4.1 Physical Boundaries ............................................................................................................................12 2.4.2 Logical Boundaries..............................................................................................................................13 2.4.2.1 Security Audit..................................................................................................................................13 2.4.2.2 Access Control.................................................................................................................................14 2.4.2.3 Identification & Authentication .......................................................................................................14 2.4.2.4 Security Management ......................................................................................................................14 2.4.2.5 TOE Protection ................................................................................................................................15 3. SECURITY ENVIRONMENT.........................................................................................................................16 3.1 SECURE USAGE ASSUMPTIONS .....................................................................................................................16 3.1.1 Personnel Assumptions........................................................................................................................16 3.1.2 Physical Assumptions ..........................................................................................................................16 3.1.3 Connectivity Assumptions....................................................................................................................16 3.2 THREATS ......................................................................................................................................................17 3.3 ORGANIZATION SECURITY POLICIES ............................................................................................................17 4. SECURITY OBJECTIVES ..............................................................................................................................18 4.1 SECURITY OBJECTIVES FOR THE TOE...........................................................................................................18 4.2 SECURITY OBJECTIVES FOR THE ENVIRONMENT...........................................................................................18 4.2.1 Non-IT security objectives for the environment...................................................................................18 4.2.2 IT security objectives for the environment...........................................................................................19 5. IT SECURITY REQUIREMENTS..................................................................................................................20 5.1 TOE SECURITY FUNCTIONAL REQUIREMENTS .............................................................................................20 5.1.1 Security Audit (FAU) ...........................................................................................................................21 5.1.2 User Data Protection (FDP) ...............................................................................................................22 5.1.3 Identification and authentication (FIA)...............................................................................................24 5.1.4 Security management (FMT) ...............................................................................................................25 IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 3 5.1.5 Protection of the TSF (FPT) ................................................................................................................27 5.1.6 Trusted path/channels (FTP)...............................................................................................................27 5.2 SECURITY REQUIREMENTS FOR THE IT ENVIRONMENT ................................................................................27 5.2.1 Security Audit (FAU) ...........................................................................................................................28 5.2.2 Cryptographic Support (FCS)..............................................................................................................29 5.2.3 User Data Protection (FDP) ...............................................................................................................31 5.2.4 Identification and authentication (FIA)...............................................................................................31 5.2.5 Security management (FMT) ...............................................................................................................31 5.2.6 Protection of the TSF (FPT) ................................................................................................................32 5.3 TOE SECURITY ASSURANCE REQUIREMENTS...............................................................................................32 5.3.1 Configuration Management (ACM).....................................................................................................33 5.3.2 Delivery and Operation (ADO) ...........................................................................................................35 5.3.3 Development (ADV).............................................................................................................................35 5.3.4 Guidance Documents (AGD)...............................................................................................................38 5.3.5 Life Cycle Support (ALC) ....................................................................................................................39 5.3.6 Security Testing (ATE).........................................................................................................................40 5.3.7 Vulnerability Assessment (AVA) ..........................................................................................................41 6. TOE SUMMARY SPECIFICATION..............................................................................................................44 6.1 TOE SECURITY FUNCTIONS..........................................................................................................................44 6.1.1 Security Audit.......................................................................................................................................44 6.1.2 Access Control.....................................................................................................................................46 6.1.3 Identification & Authentication ...........................................................................................................49 6.1.4 Security Management ..........................................................................................................................50 6.1.5 TOE Protection....................................................................................................................................52 6.2 TOE SECURITY ASSURANCE MEASURES......................................................................................................53 6.2.1 Process Assurance...............................................................................................................................53 6.2.1.1 Configuration Management .............................................................................................................53 6.2.1.2 Life cycle support ............................................................................................................................53 6.2.2 Delivery and Guidance........................................................................................................................54 6.2.3 Development ........................................................................................................................................54 6.2.4 Tests.....................................................................................................................................................55 6.2.5 Vulnerability Assessment.....................................................................................................................55 6.2.5.1 Evaluation of Misuse .......................................................................................................................55 6.2.5.2 Strength of TOE Security Functions................................................................................................55 6.2.5.3 Vulnerability Analysis.....................................................................................................................55 7. PROTECTION PROFILE CLAIMS...............................................................................................................56 8. RATIONALE.....................................................................................................................................................57 8.1 SECURITY OBJECTIVES RATIONALE..............................................................................................................57 8.1.1 Complete Coverage - Threats..............................................................................................................57 8.1.2 Complete Coverage - Policy................................................................................................................57 8.1.3 Complete Coverage - Environmental Assumptions..............................................................................59 8.2 SECURITY REQUIREMENTS RATIONALE........................................................................................................60 8.2.1 Internal Consistency of Requirements .................................................................................................60 8.2.2 Complete Coverage - Objectives .........................................................................................................61 8.3 ASSURANCE REQUIREMENTS RATIONALE ....................................................................................................65 8.4 REQUIREMENT DEPENDENCY RATIONALE....................................................................................................65 8.5 EXPLICITLY STATED REQUIREMENTS RATIONALE........................................................................................68 8.6 TOE SUMMARY SPECIFICATION RATIONALE................................................................................................68 8.7 STRENGTH OF FUNCTION (SOF) RATIONALE................................................................................................69 IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 4 LIST OF TABLES Table 1 TOE Functional Security Requirements.........................................................................................................20 Table 2 Auditable Events for the TOE ........................................................................................................................21 Table 3 IT Environment Functional Security Requirements .......................................................................................28 Table 4 Auditable Events for the IT Environment.......................................................................................................28 Table 5 Assurance Requirements (EAL 4 augmented)................................................................................................32 Table 6 Mapping of Organizational Security Policies to Security Objectives.............................................................57 Table 7 Mapping of Environmental Assumptions to Non-IT Security Objectives......................................................59 Table 8 Function Requirements Supporting Other Requirements ...............................................................................61 Table 9 Mapping of Security Objectives to Functional Components..........................................................................61 Table 10 TOE Security Functional Requirement Dependencies .................................................................................65 LIST OF FIGURES Figure 1 TOE Security Environment.............................................................................................................................8 IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 5 1. Security Target Introduction This Security Target (ST) describes the IT security requirements for the IBM DB2 Enterprise Server Edition Version 9.5.2 (also known as V9.5 Fix Pack 2) for Linux, Unix, and Windows; herein collectively referred to as DB2. DB2 is a Relational Database Management System (RDBMS) developed by IBM Canada, Ltd., 3600 Steeles Avenue East, Markham, Ontario L3R 9Z7, Canada and sold by IBM Corporation, Route 100, Somers, NY, USA 10589. DB2 has historically been developed with a goal of fulfilling the C2 requirements of the Trusted Computer System Evaluation Criteria (TCSEC; also known as the “Orange Book”). The Common Criteria (CC) for Information Technology Security Evaluation eventually replaced the TCSEC and the C2 TCSEC requirements have been recast in the Controlled Access Protection Profile (CAPP). As a result, the security environment, security objectives, and security requirements are derived largely from the CAPP. However, since DB2 is a RDBMS and not a complete Operating System, some of the requirements have been assigned to the IT environment (i.e., underlying operating system) and conformance cannot, therefore, be claimed in this ST. Note that while there are DBMS-specific PPs, conformance cannot be achieved due to certain requirements that could be met by few if any current DBMS products. Or particular note are the requirements dictating that the DBMS must be able to limit the number of concurrent connections a given user can have; the DBMS must store and retrieve date/time information associated with sessions, and the DBMS must be able to restrict sessions based user/group identity, time of day and day of week. 1.1 Security Target, TOE and CC Identification ST Title – IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target ST Version – Revision 1.0 ST Date – September 22, 2008 TOE Identification – IBM DB2 Enterprise Server Edition Version 9.5.2 (also known as V9.5 Fix Pack 2) for Linux, Unix, and Windows ƒ The TOE can optionally be configured with or without the IBM Base Warehouse Feature for DB2 V9.5 license option. ƒ The TOE can optionally be configured to trust other servers using Trusted Contexts. ƒ The TOE can optionally be configured to utilize SSL when connecting with Java-based clients. ƒ The TOE can alternately be configured to utilize authentication services of its underlying operating system, an external LDAP server, or an external KDC server. ƒ While the TOE can be configured to use DES to protect authentication credentials, that mechanism has not been subject to evaluation and as such should not be solely relied upon as an adequate means of protection. ƒ While the TOE can be installed using a non-root install option, that configuration does not include all the features available to DB2 and has not been subject to evaluation. As such, this evaluation applies only to a normal (root) installation of DB2. ƒ While users can employ user defined function (UDF) options to encrypt and decrypt data, this mechanism has not been subject to evaluation and as such should not be solely relied upon as an adequate means of protection. CC Identification – Common Criteria for Information Technology Security Evaluation, Version 2.3, August 2005. 1.2 Conformance Claims This TOE conforms to the following CC specifications: IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 6 • Common Criteria for Information Technology Security Evaluation Part 2: Security functional requirements, Version 2.3, August 2005. • Part 2 extended • Common Criteria for Information Technology Security Evaluation Part 3: Security assurance requirements, Version 2.3, August 2005. • Part 3 conformant • Evaluation Assurance Level 4 (EAL 4) augmented with ALC_FLR.1 1.3 Conventions, Terminology, Acronyms This section specifies the formatting information used in the ST. 1.3.1 Conventions The following conventions have been applied in this document: • All requirements in this ST are reproduced relative to the requirements defined in CC v2.3. • Security Functional Requirements – Part 2 of the CC defines the approved set of operations that may be applied to functional requirements: iteration, assignment, selection, and refinement. o Iteration: allows a component to be used more than once with varying operations. In the ST, iteration is indicated by a letter placed at the end of the component identifier. For example FDP_ACC.1a and FDP_ACC.1b indicate that the ST includes two iterations of the FDP_ACC.1 requirement, a and b. o Assignment: allows the specification of an identified parameter. Assignments are indicated using bold and are surrounded by brackets (e.g., [assignment]). Note that in cases where a selection operation is combined with an assignment operation and the assignment is null, the assignment operation is simply deleted leaving only the completed selection to identify the combination of operations. Alternately, if the assignment is not null the assignment is identified with embedded brackets which are bolded and italicized (e.g., [[selected-assignment]]). o Selection: allows the specification of one or more elements from a list. Selections are indicated using bold italics and are surrounded by brackets (e.g., [selection]). o Refinement: allows the addition of details. Refinements are indicated using bold, for additions, and strike-through, for deletions (e.g., “… all objects …” or “… some big things …”). • Explicitly stated requirements (i.e., those not taken from the CC) are identified by ‘(explicitly stated requirement)’ which will appear after the requirement label. Note that the explicitly stated requirements are also identified in section 8.5. • Other sections of the ST – Other sections of the ST use bolding to highlight text of special interest, such as captions. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 7 1.3.2 Acronyms 1.4 Security Target Overview and Organization The DB2 Target of Evaluation (TOE) is a Database System offering a wide range of database related services. This ST describes the DB2 TOE, intended environments, security objectives, security requirements (for the TOE and IT environment), security functions, and all necessary rationale. This information is organized into the following additional sections: • TOE Description (Section 2) • Security Environment (Section 3) • Security Objectives (Section 4) • IT Security Requirements (Section 5) • TOE Summary Specification (Section 6) • Protection Profile Claims (Section 7) • Rationale (Section 8) CC Common Criteria CM Configuration Management DAC Discretionary Access Control DDL Data Definition Language DML Data Manipulation Language DRDA Distributed Relational Database Architecture IBM International Business Machines LBAC Label Based Access Control OS Operating System PP Protection Profile RDBMS Relational Database Management System SQL Structured Query Language ST Security Target TCSEC Trusted Computer System Evaluation Criteria TSF TOE Security Features TSP TOE Security Policy TOE Target Of Evaluation IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 8 2. TOE Description DB2 is a relational database management system (RDBMS) provided by IBM. As a RDBMS, DB2 supports the Structured Query Language (SQL) interface from a client that is connected to the database server. From the client, commands can be entered interactively or through an executing program to the database server to create databases, database tables, and to store and retrieve information from tables. DB2 can be installed on a number of possible operating environments. Figure 1 TOE Security Environment The configuration in which the DB2 application is evaluated is described in Figure 1 TOE Security Environment. Local Client Remote Client Host OS Shared Memory TCP/IP DB2 Instance (TOE) DRDA Application Server SQL Processing • Compiler • Manager • Runtime Non-SQL Processing • Create Database • Utilities • Some APIs OS Utilities • Buffering • Drivers • Memory management • File support OS Utilities • System info • User/group services • Access to LDAP or Kerberos services IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 9 The TOE for the DB2 configuration includes all components within the lightly shaded box entitled “DB2 Instance” And the TOE includes one or more such instances. For the purposes of this ST, the TOE is at least one partition, but can be distributed across a number of logically (i.e., on the same underlying machine) or physically (i.e., on different underlying machines) separate partitions. This latter feature is known as Database Partitioning Feature (DPF). From the user perspective, there is effectively no difference, while the distributed partitions work in concert to answer user queries. In relation to the figure above, a ‘DB2 Instance’ may actually be distributed across multiple DB2 partitions acting together to form that logical view. The Host Operating System (OS), inside the darkly shaded box, is part of the IT environment (i.e., it is not part of the product or TOE). Similarly, an LDAP or KDC server could be configured to provide authentication services and those servers also would be in the IT environment. The DB2 software is tightly linked to the OS and in some cases, security functions are allocated to the OS (or other authentication servers), as appropriate. For the purposes of this ST, the OS is AIX 6, Linux RHEL 5, Linux SLES 10 with SP1, Microsoft Windows Server 2003 Enterprise Edition with SP1, or Solaris 10. Any standard-compliant LDAP or KDC server can also be used in conjunction with the TOE. The clients, inside the unshaded boxes, are client applications either operating in the context of the host OS using shared memory to communicate with the TOE or in the context of some other OS using a network connection tom communicate with the TOE. While the transport may differ, the application layer communication is the same in either case. 2.1 Product Type DB2 is a multi-user RDBMS that operates in the context of a hosting operating system and allows authorized users1 to create and manage databases. DB2 operates as a set of applications (e.g., servers) in an IT Environment consisting of all software residing on the host platform(s) but not part of the DB2 TOE. For the purposes of this discussion it is referred to as the Host OS (refer to Figure 1 TOE Security Environment). The IT Environment, including the Host OS and optionally an LDAP or KDC authentication server, provides fundamental supporting mechanisms to the TOE. In particular, it supplies a trusted authentication mechanism and utilities to manage system resources and I/O channels. 2.2 Product Description This section describes the basic functions performed within DB2. These functions are depicted as individual blocks within the DB2 Instance (TOE) box in Figure 1 TOE Security Environment. DB2 is implemented using the concept of a DB2 instance where an instance is a complete environment dictating what can be done to data and managing the system resources assigned to it. A DB2 instance has one or more databases under its control that cannot be directly accessed by any other instance. DB2 implements a Discretionary Access Control (DAC) security policy by default. This permits a confidential security mechanism to ensure data is protected against unauthorized or accidental disclosure or destruction. Auditing is supported at the DB2 instance level meaning that all modules within the TOE are capable of creating audit events. Review and analysis of the audit logs is restricted to users with system administrator authority. 2.2.1 DRDA Protocol Handler The DRDA Application Server (AS) module within DB2 allows for DB2 to act as an Application Server within the Distributed Relational Database Architecture (DRDA). DRDA is an OpenGroup standard used in the management of distributed data. The DB2 DRDA AS module architecture provides support for one or more DRDA Application Requestors (DRDA AR), commonly referred to as clients, to access a specific DB2 instance or DB2 database and issue SQL and non-SQL requests against that object. Upon initiation of communication between a client and the DB2 DRDA AS module, a common "security mechanism" is negotiated. This mechanism may be one of a number of different security protocols; for the purpose of this TOE, the only allowed security mechanism is the "Userid, 1 The term authorized user is used to generally refer to a user authorized (e.g., by access permissions) to perform a corresponding function depending on the context in which the term is used. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 10 Password" mechanism as described in the DRDA standard. If validation of the password fails, the DRDA AS terminates conversation with the client that provided the failed password. If the password is authenticated, a DRDA session, or connection, is established and the client may begin to pass requests to DB2 for processing. These requests are of two general types: SQL requests, which are handled by the DB2 SQL Processing module, and non- SQL requests, which are handled by the DB2 Non-SQL Processing module. The DRDA AS module identifies the type of request and passes it to the appropriate module for further processing. 2.2.2 SQL Processing The DB2 SQL Processing module is responsible for the analysis and execution of client requests related to the processing of Structured Query Language (SQL) statements. DB2 supports the ANSI/ISO SQL2 standard for all types of SQL statements including: • Data Definition Language (DDL) statements that create, alter, drop, rename, or transfer ownership of database objects. • Data Manipulation Language (DML) statements that are used to query or modify the data contained within database objects. Modification can occur in one of three ways: row insertion, row deletion, or row modification via column updates. These statements include SELECT, INSERT, UPDATE, and DELETE SQL statements. • GRANT and REVOKE statements that are used to control the access to database authorities as well as privileges on database objects • Transaction control statements that are use to manage the integrity of the database with respect to any modification made by a client. These statements include, among others, the ROLLBACK and COMMIT SQL statements.. • Miscellaneous statements used to perform a number of different actions on database objects or on the connection environment. The DB2 SQL Processing module is comprised of three distinct components: the SQL Manager, the SQL Compiler, and the SQL Runtime components. The responsibilities of these components as they relate to the processing of SQL statements is described in the following sections. 2.2.2.1 SQL Manager The SQL Manager is responsible for accepting SQL requests from the client, validating them, and then coordinating any subsequent processing of the request to ensure it is properly answered. The SQL Manager can accept SQL requests related to static or dynamic SQL statements. Static SQL statements have their contents made known to DB2 prior to the request arriving from the client through a process called "binding" which results in the statement being compiled by the SQL Compiler and the resultant information being stored in the DB2 system catalogs for later use. Dynamic SQL statements are unknown to DB2 until the request arrives at which time they are compiled by the SQL Compiler. The information produced by the SQL compiler contains the executable form of the statement, referred to as a section, a list of the required privileges for any client wishing to run the section as well as a list of the database objects upon which the section is dependent for its execution integrity. The SQL Manager processes SQL requests from a client by matching the request to a specific SQL statement. Once the statement has been identified and its related information acquired, either from the DB2 system catalogs or the SQL Compiler, the SQL Manager then enforces the discretionary access control policy by ensuring that the required privileges for the section are held by the primary authorization name (a specific user identifier), or by any relevant secondary authorization names (the identifiers for any relevant groups to which the primary authorization name belongs and roles to which any other authorization name belongs2 ), associated with the request from the client. If the privileges are held, then the section is passed to the SQL Runtime component for execution. 2.2.2.2 SQL Compiler The SQL Compiler is responsible for analyzing an SQL statement and producing an efficient executable form of that statement, called a “section”, as well as additional information about that section such as its object dependencies and required privileges. The SQL Compiler parses an SQL statement into an internal representation, or model, of the 2 Note that users, groups, and other roles can be assigned to roles. As such, role hierarchies are supported. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 11 statement that is then used to analyze the scope and intent of the statement. Additional information is added to the internal model, where appropriate, from the DB2 system catalogs in order to properly represent the full extent of the statement’s use of any database objects. Once complete, the internal model is then analyzed and optimized in order to produce the most efficient plan to satisfy the statement. The SQL Compiler then generates an executable form of the statement using the internal DB2 constructs and operators used by the SQL Runtime component. 2.2.2.3 SQL Runtime The SQL Runtime component is responsible for the actual execution of the section related to the request and the production of any response to the client required by the request. The success or failure of the actual execution as well as any additional response is given back to the SQL Manager for return to the client. 2.2.3 Non-SQL Processing The DB2 Non-SQL Processing module is responsible for the analysis and execution of all those client requests not concerned with SQL statements. Such requests are used to invoke a number of Application Program Interfaces (APIs) and utilities provided by DB2 that do not use SQL statements to perform their specified actions. There exist a number of these APIs and utilities at both the DB2 Instance level as well as at the individual database level within a DB2 instance. Each API and utility provided by DB2 has an assigned privilege or authority requirement as defined by DB2. The DB2 Non-SQL Processing module enforces the discretionary access control policy for these non-SQL requests by ensuring that the required privilege or authority is held by either the primary authorization name, or secondary authorization names where applicable, of the requestor. 2.2.4 Optional Features DB2 includes some additional security-relevant features that are enabled only when an applicable feature is configured. Since these features are not necessary available in every product configuration, they are considered optional. 2.2.4.1 Database Partitioning Feature (DPF) DB2 includes an optional data partitioning feature (DPF). This feature allows DB2 to be instantiated across multiple partitions (on the same or separate machines) for the purpose of scalability (e.g., more computational and storage resources). The overall security mechanisms remain the same, though processing may be spread across the partitions internally. Note that this feature is included within the IBM Base Warehouse Feature for DB2 V9.5 which can optionally be purchased as a license option in addition to the base DB2 product. 2.2.4.2 Trusted Contexts DB2 v9.5 includes a new ‘trusted context’ feature. Trusted contexts are defined by new database objects that provide a specification for a trust relationship between the database and an external entity. The trust relationship is based on three attributes: an authorization name, a data stream encryption attribute (indicating whether the connection must be made across an encrypted channel – provided by the IT environment), and an IP address (or addresses). The user associated with any connection that matches the definition of a trusted context object is considered ‘trusted’ by the database. Users trusted in this manner (e.g., ‘trusted servers’) can be configured such that they are allowed to modify some of the security attributes associated with their database connections. Specifically, they can be configured such that the ‘user’ associated with an existing connection to be changed Depending on the DB2 configuration, this may or may not require authentication of the new user identity. An additional feature of trusted contexts is role inheritance. A trusted context can define a default database role3 to be granted to trusted context users or alternately a specific database role to be assigned to specific users associated 3 The term ‘database role’ should not be confused with ‘security role’. Database roles are a DB2-implemented construct similar in function to groups where privileges and authorities can be assigned to database roles to simplify their management when assigned to users. Security roles are used to represent the notion of security-relevant user roles to distinguish administrators and users with lesser authorities. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 12 with the trusted context. In either case, the trusted context user will be associated with the defined database role which could be in addition to any database roles assigned to that user (i.e., authorization name) directly. This function is intended for multi-tier environments where the middle tier, typically an application server, might already perform authentication of end users. Trusted contexts provide a mechanism for the database to trust the middle tier and effectively establish connections on behalf of end users without necessarily supplying the credentials (password) of the end user to the database. Only a user with SECADM authority can configure this feature and as such it can be configured or not at the discretion of a DB2 security administrator. 2.2.4.3 SSL Client Connections DB2 supports the use of SSL for java-based clients. As such, users of DB2 can choose to enable that feature though it is not necessary particularly when other means of client communication protection are configured in the operating environment of the TOE. This feature is implemented using the IBM Global Security Kit (GSKit), which needs to be installed in conjunction with the DB2 product. The GSKit cryptographic services are utilized by the TOE in order to facilitate secure SSL client connections. The installation documentation for the TOE provides instructions for obtaining and installing the CC/FIPS certified version of the GSKit. 2.2.4.4 Authentication Servers While DB2 requires that an authentication server is configured, users of DB2 can alternately configure DB2 to use authentication services of its underlying operating system, an externally available LDAP server, or an externally available KDC server. In each case DB2 relies upon that server for appropriate authentication services for its users. 2.3 Product Features The DB2 TOE offers the following features: • Able to manage large volumes of data; • Provides query and update ability via ANSI standard SQL; • Provides rollback capability to preserve data integrity; • Runs on multiple operating system and hardware platforms; • DB2 provides support for both local and remote DB2 clients. 2.4 Security Environment TOE Boundary The TOE includes both physical and logical boundaries. 2.4.1 Physical Boundaries DB2 is physically a software application instantiated within the context of a host operating system, specifically IBM DB2 Enterprise Server Edition Version 9.5.2 (also known as V9.5 Fix Pack 2) for Linux, Unix, and Windows (with or without the IBM Base Warehouse Feature for DB2 V9.5 license option). While DB2 can alternately be installed using a non-root install option, that configuration limits the functions of DB2 and has not been subject to evaluation. As an application, the interfaces of DB2 are primarily logical in nature. The physical boundaries of the TOE are essentially the interfaces implemented by DB2. These interfaces can be divided into two general categories: interfaces to clients and interfaces to the hosting IT environment. DB2 interacts with clients using the DRDA standard described previously. However, while the product is shipped with libraries and programs that expose other APIs (command line, ODBC, JDBC, etc.), the libraries and programs simply serve to convert their exposed APIs to DRDA flows to the DB2 server. With the exception of those tools IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 13 and utilities identified in the TOE’s guidance documentation, these libraries and programs are outside the scope of the TOE. DB2 interacts with its IT environment using hardware instructions, operating system calls, and network protocols, just like all other applications. DB2 uses services of the hosting IT environment to instantiate itself as a set of executing processes, to store and retrieve data, to interact with remote clients, and to authenticate users. The following components are required in the IT environment: ƒ Hosting OS: AIX 6, Linux RHEL 5, Linux SLES 10 with SP1, Microsoft Windows Server 2003 Enterprise Edition with SP1, or Solaris 10. ƒ Authentication server (when not using the services of the hosting OS): Any standard-compliant LDAP or KDC server. ƒ IBM Global Security Kit 2.4.2 Logical Boundaries The logical boundaries of DB2 are realized in the security functions that it implements. Note that the following subsections represent the security functions of DB2 that have been subject to evaluation. While the entire DB2 product is included within the TOE (except for a non-root install configuration as indicated above), not all functions shipped with the product have been subject to evaluation. In addition to non-security functions, the following security-related functions have not been subject to evaluation (i.e., there are no corresponding security claims): ƒ DES: While the TOE can be configured to use DES to protect authentication credentials, this mechanism has not been subject to evaluation and as such should not be solely relied upon as an adequate means of protection. ƒ Data encryption functions (ENCRYPT, DECRYPT_BIN, DECRYPT_CHAR, and GETHINT)4 : While users can employ these functions to encrypt and decrypt data, they have not been subject to evaluation and as such should not be solely relied upon as an adequate means of protection. ƒ Unfenced routines: Fenced routines execute in processes separate from the DB2 server, while unfenced routines share the DB2 server process (see section 6.1.5). Given that the DB2 server must protect itself (e.g., from tampering) and its ability to do so is limited when users can create routines that execute within the same operating system process, unfenced routines are excluded from the evaluated configuration of the TOE. ƒ CLIENT authentication: The TOE supports a number of authentication configurations. While for the most part the TOE administrator can choose the configuration that best fits their specific environment, the configuration whereby the client is trusted to authenticate the user is excluded from the evaluated configuration. The evaluation address the configuration where the DB2 server is responsible to ensure that users are authenticated, although it relies on other configured components to do so. 2.4.2.1 Security Audit DB2 records security relevant events that occur within its scope of control. These events are associated with individual users for individual accountability and can be accessed only by authorized administrators5 . The audit log files, for DB2 instances and databases, are stored in files in the IT environment (i.e., underlying OS) configured during installation and the audit configuration file (db2audit.cfg) is located in each instance’s security subdirectory. In addition to relying on the underlying OS to store and protect audit data stored in files, DB2 relies on the OS to provide reliable time information to record in its audit records. 4 Note that this is intended to address the functions shipped with the product, but any such functions developed by end users would also not be included within the scope of evaluation. 5 The term authorized administrator is used to generally refer to an administrator authorized (e.g., by role) to perform a corresponding function depending on the context in which the term is used. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 14 2.4.2.2 Access Control DB2 associates privileges and authorities with each individual user, group of users, and database role. These privileges and authorities are associated with operations that can be performed on the objects (e.g., database) that are implemented by DB2. DB2 uses identities, privileges, authorities, and access control lists associated with users, groups, roles, and objects to determine whether specific operations will be allowed when attempted by client users. Note that while the term ‘security roles’ is used in this ST to distinguish authorized administrators from non- administrator users, DB2 implements this concept using a variety of authorities and privileges. DB2 implements a number of authorities - SYSADM, SYSCTRL, SYSMON, SYSMAINT, DBADM, or SECADM – of which only SYSADM and SECADM are particularly security relevant. SYSADM authority makes a user a system administrator that can control most of the security relevant and other operation of DB2. SECADM authority makes a user a security administrator that primarily has control over the Label-Based Access Control (LBAC) policy and roles. References to the ‘user’ security role are implemented in DB2 as any combination of lesser privileges (such as having the UPDATE or INSERT privilege on a specific database table) as well as the DBADM authority which grants a broad set of privileges for a given database. Note that DBADM is not treated specifically as a security administrator in the context of this Security Target since its authorities are based on access controls in the context of a single, specific database. In addition to using privileges and authorities to control access, DB2 implements a LBAC mechanism. The DB2 security administrator can grant (or revoke) security labels and exemptions to (or from) users as well as create and drop LBAC security objects in order to define LBAC polices for specific database tables. Once a table is configured with a LBAC policy (i.e., the table is LBAC protected relative to either rows or columns), users must additionally satisfy the LBAC access rules in order to access or modify the applicable table rows or columns. 2.4.2.3 Identification & Authentication DB2 requires all users to be identified and authenticated before allowing them access to DB2 resources. The IT Environment (i.e., host operating system, LDAP server, or KDC server) performs the actual authentication and association of users with groups and passes the result to DB2. DB2 subsequently enforces the result returned by the IT environment and uses the user identity and group memberships (i.e., list of groups) returned by the IT environment, along with its own associations of users, groups, and other database roles with database roles, to associate privileges, authorities, and security labels and exemptions with the authenticated user. Note that the association between users and groups is managed within the IT environment. IT environment user and group identities are uniquely mapped in the TOE and when a user accesses the TOE, the IT environment provides the user and all group identities associated with that user. However, database roles are defined within the TOE where users, groups, and other database roles can be associated with specific database roles. Note that servers defined as trusted via the trusted context feature must be authenticated like all other users. However, they have the ability to use alternate identities, without further authentication, in accordance with their definition in the TOE. They could be configured so that they can use only a specific set of identities or alternately so that they can use any identity known to the TOE. 2.4.2.4 Security Management DB2 includes the security roles of system administrator, security administrator, and user, implemented using DB2 authorities and privileges, and allows individual users to be assigned to those security roles by virtue of group assignments in the IT environment. Management of the DB2 TOE, including the ability to select and review audit records, is restricted to appropriate administrators based on authorities. Management of DB2 objects, including management of security labels, as well as database roles and audit policies is restricted to those users that are assigned the appropriate privileges to do so. Note that the trusted context feature effectively introduces a new security role, referred to simply as trusted context in this Security Target, since the users trusted by virtue of a trusted context configuration could have the ability to assert alternate identities without requiring authentication by the TOE. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 15 2.4.2.5 TOE Protection DB2 executes within processes provided and protected by the hosting IT environment. However, it is designed to not share its process space with non-TOE entities in order to ensure that TSF resources are protected. DB2 has been designed so that each of its interfaces performs the necessary access checks before allowing access to DB2 resources. DB2 communicates between DPF instances, when so configured, and also with clients that can be remote from the DB2 server. DB2 implements SSL, using a separate GSKit product in the IT environment for cryptographic services, which is available only to java-based clients. Otherwise, DB2 relies upon the IT environment to ensure adequate communication protections. In the case of DPF instances a dedicated network can be configured to be used exclusively by DB2. In the case of remote clients, if all the hosts on the applicable network are not adequately trusted, IPSec or other host- or network-based protection mechanisms could be configured to protect any otherwise insecure network traffic. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 16 3. Security Environment Since DB2 was developed based largely on the Trusted Computer System Evaluation Criteria (TCSEC) C2 security requirements, the security environment has been modeled after that specified in the Controlled Access Protection Profile (CAPP), which is the successor to TCSEC C2 in the context of the Common Criteria (CC). Note, however, that since DB2 is a database system and not an operating system, some additional assumptions and security objectives have been assigned to the IT environment of the TOE. 3.1 Secure Usage Assumptions The usage assumptions are organized in three categories: personnel (assumptions about administrators and users of the system as well as any threat agents), physical (assumptions about the physical location of the TOE or any attached peripheral devices), and connectivity (assumptions about other IT systems that are necessary for the secure operation of the TOE). 3.1.1 Personnel Assumptions It is assumed that the following personnel conditions will exist: A.MANAGE There will be one or more competent individuals assigned to manage the TOE and the security of the information it contains. A.NO_EVIL_ADM The system administrative personnel are not careless, willfully negligent, or hostile, and will follow and abide by the instructions provided by the administrator documentation. A.COOP Authorized users possess the necessary authorization to access at least some of the information managed by the TOE and are expected to act in a cooperating manner in a benign environment. A.CLEARANCE Procedures exist for granting users authorization for access to specific security levels. It is further assumed the TOE administrators will be cleared to the highest security level processed by the TOE. 3.1.2 Physical Assumptions The TOE is intended for application in areas that have physical control and monitoring. It is assumed that the following physical conditions will exist: A.LOCATE The processing resources of the TOE will be located within controlled access facilities, which will prevent unauthorized physical access. A.PROTECT The hardware and software critical to security policy enforcement will be protected from unauthorized physical modification. 3.1.3 Connectivity Assumptions It is assumed that the following connectivity conditions exist: A.CONNECT IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 17 All connections to peripheral devices reside within the controlled access facilities. The TOE only addresses security concerns related to the manipulation of the TOE through its authorized access points. Internal communication paths, including networks, to access points and between TOE instances are assumed to be adequately protected. A.PLATFORM The IT Environment underlying the TOE is assumed to fulfill the requirements for the IT Environment described in this ST. 3.2 Threats All security objectives, except for the non-IT security objectives for the environment, have been derived from the statement of Organizational Security Policy found in the following section. Non-IT security objectives for the environment have been drawn from the Secure Usage Assumptions detailed in Section 3.1. Therefore, there is no statement of the explicit threats countered by the TOE. 3.3 Organization Security Policies An Organizational Security Policy is a set of rules or procedures imposed by an organization upon its operations to protect its sensitive data. Although some of the organizational security policies described below are drawn from the CAPP they apply to many non-DoD environments. P.AUTHORIZED_USERS Only those users who have been authorized to access the information within the TOE may access the TOE. P.NEED_TO_KNOW The TOE must limit the access to, modification of, and destruction of the information in protected resources to those authorized users which have a “need to know” for that information. P.ACCOUNTABILITY The users of the TOE can be held accountable for their actions within the TOE. P.CLASSIFICATION The system must be able to limit the access to information based on sensitivity, as represented by a label, of the information contained in objects, and the formal clearance of users, as represented by subjects, to access that information. The access rules enforced prevent a subject from accessing information which is of higher sensitivity than it is operating at. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 18 4. Security Objectives This section defines the security objectives of the TSF and its supporting environment. Security objectives, categorized as either applying to the TOE or its environment, reflect the stated intent to comply with any assumptions and organizational security policies identified. All of the identified assumptions and organizational policies are addressed under one of the categories below. 4.1 Security Objectives for the TOE O.AUTHORIZATION The TSF must ensure that only authorized users gain access to the TOE and its resources. O.DISCRETIONARY_ACCESS The TSF must control access to resources based on identity of users. The TSF must allow authorized users to specify which users may access which resources. O.MANDATORY_ACCESS The TSF must be able to control access to resources based upon the sensitivity and categories of the information being accessed and the clearance of the subject attempting to access that information. O.AUDITING The TSF must be able to record the security relevant actions of users of the TOE. The TSF must be able to present this information only to authorized administrators. O.RESIDUAL_INFORMATION The TSF must ensure that any information contained in a protected resource is not released when the resource is recycled. O.ROLLBACK The TSF must ensure that operations performed on information contained in a protected resource can be undone before the results have been committed. O.MANAGE The TSF must provide all the functions and facilities necessary to support the authorized administrators that are responsible for the management of TOE security. O.ENFORCEMENT The TSF must be designed and implemented in a manner that ensures that the organizational policies are enforced in the target environment. 4.2 Security Objectives for the Environment The TOE is assumed to be complete and self-contained and, as such, is not dependent upon any other products to perform properly. However, certain objectives with respect to the general operating environment must be met. The following are the security objectives for the environment: 4.2.1 Non-IT security objectives for the environment O.ADMIN_GUIDANCE Appropriate guidance documentation must be provided to enable administrators to install, manage, and operate the TOE in a manner that maintains IT security objectives. O.ADMINISTRATORS IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 19 Administrators of the TOE and IT Environment must not be careless, willfully negligent or hostile, and must follow the instructions provided in the administrator guidance documentation. O.ASSIGN One or more competent individuals must be assigned to manage the TOE and the security of the information it contains. O.COOP Authorized users must possess the appropriate authorization to access at least some of the information managed by the TOE and must act in a cooperative manner in a benign environment. O.INSTALL Those responsible for the TOE must ensure that the TOE is delivered, installed, managed, and operated in a manner, which maintains IT security objectives. O.PHYSICAL Those responsible for the TOE must ensure that those parts of the physical TOE and its associated IT environment critical to security policy are protected from attack, which might compromise IT security objectives. O.CREDEN Those responsible for the TOE must ensure that all access credentials, such as passwords or other authentication information, are protected by the users in a manner that maintains IT security objectives and that credentials (e.g., clearances) are assigned appropriately, including ensuring that administrators are cleared to the highest security level processed by the TOE. O.PLATFORM Those responsible for the TOE must ensure that the components underlying the TOE fulfill the requirements and dependencies for the IT Environment described in this ST. 4.2.2 IT security objectives for the environment OE.AUTHORIZATION The IT Environment must ensure that only authorized users gain access to the IT Environment and its resources. The IT Environment must support the TOE by ensuring that users are adequately authenticated on the TOE’s behalf. OE.AUDITING The IT Environment must be able to record the security relevant actions of users of the IT Environment. OE.CRYPTO The IT Environment must provide cryptographic services suitable to allow the TOE to establish secure SSL connections. OE.RESIDUAL_INFORMATION The IT Environment must ensure that any information contained in a protected resource is not released when the resource is recycled. OE.MANAGE The IT Environment must provide all the functions and facilities necessary to support the authorized administrators that are responsible for the management of IT Environment security, including security relevant support for the TOE. OE.ENFORCEMENT The IT Environment must be designed and implemented in a manner that ensures that it can protect the operational IT Environment of the TOE. The IT Environment must provide a reliable time source for the use of both the TOE and the IT Environment. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 20 5. IT Security Requirements The following sections define the security functional and assurance requirements for the TOE and its IT environment. The security functional requirements have been drawn largely from the Controlled Access Protection Profile (CAPP) and the security assurance requirements have been drawn from EAL 4, as defined in the CC Part 3, augmented with ALC_FLR.1. Note that this ST includes the security assurance requirement AVA_SOF.1, requiring strength of function analysis to demonstrate that each probabilistic or permutational security mechanism meets the stated strength of function (SOF) claim. However, the TOE does not include any probabilistic or permutational security mechanisms and, as a result, this ST makes no SOF claim. 5.1 TOE Security Functional Requirements This section specifies the security functional requirements that are applicable to the TOE. Table 1 TOE Functional Security Requirements Security Functional Class Security Functional Components Security Audit (FAU) FAU_GEN.1a Audit data generation FAU_GEN.2 User identity association FAU_SAR.1 Audit review FAU_SAR.2 Restricted audit review FAU_SAR.3 Selectable audit review FAU_SEL.1 Selective audit FAU_STG.3 Action in case of possible audit data loss FAU_STG.4 Prevention of audit data loss User Data Protection (FDP) FDP_ACC.1 Subset access control FDP_ACF.1 Security attribute based access control FDP_IFC.1: Subset information flow control FDP_IFF.2: Hierarchical security attributes FDP_RIP.2a Full residual information protection FDP_ROL.1 Basic Rollback Identification and authentication (FIA) FIA_ATD.1a User attribute definition FIA_UAU.2a User authentication before any action (explicitly stated) FIA_UID.2a User identification before any action FIA_USB.1 User-subject binding Security management (FMT) FMT_MOF.1: Management of security functions behaviour FMT_MSA.1a Management of Security Attributes FMT_MSA.1b: Management of security attributes FMT_MSA.3a Static Attribute Initialization FMT_MSA.3b: Static attribute initialization FMT_MTD.1a Management of TSF data FMT_MTD.1b Management of TSF data FMT_MTD.1f Management of TSF data FMT_REV.1a Revocation FMT_SMF.1a Specification of Management Functions FMT_SMR.1a Security roles Protection of the TSF (FPT) FPT_RVM.1a Non-bypassability of the TSP FPT_SEP.1a Domain Separation FPT_STM.1a Reliable Time Stamps (explicitly stated) Trusted path/channels (FTP) FTP_ITC.1 Inter-TSF trusted channel IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 21 5.1.1 Security Audit (FAU) FAU_GEN.1a Audit data generation FAU_GEN.1a.1 The TSF shall be able to generate an audit record of the following auditable events: a) Start-up and shutdown of the audit functions; b) All auditable events for the [not specified] level of audit; and c) [the audit events identified in Table 2 Auditable Events]. FAU_GEN.1a.2 The TSF shall record within each audit record at least the following information: a) Date and time of the event, type of event, subject identity, and the outcome (success or failure) of the event; and b) For each audit event type, based on the auditable event definitions of the functional components included in the PP/ST, [the additional details identified in Table 2 Auditable Events]. Table 2 Auditable Events for the TOE Component Event Additional Details FAU_GEN.1a Start-up and shutdown of the audit functions FAU_SAR.1 Reading of information from the audit records FAU_SAR.2 Unsuccessful attempts to read information from the audit records. FAU_SEL.1 All modifications to the audit configuration that occur while the audit collection functions are operating FDP_ACF.1 All requests to perform an operation on an object covered by the SFP. Object name FDP_IFC.1 All requests to perform an operation on an object covered by the SFP. Object name FIA_UAU.2a All use of the authentication mechanism FIA_UID.2a All use of the user identification mechanism, including the identity provided during successful attempts FIA_USB.1 Success and failure of binding user security attributes to a subject (e.g. success and failure to create a subject) FMT_MOF.1 All modifications in the behaviour of the functions in the TSF Command issued FMT_MSA.1a All modifications of the values of security attributes Command issued FMT_MSA.1b All modifications of the values of security attributes Command issued FMT_MTD.1a All modifications to the values of TSF data Command issued FMT_MTD.1b All modifications to the values of TSF data Command issued FMT_MTD.1f All modifications to the values of TSF data Command issued FMT_REV.1a All modifications to the values of TSF data Command issued FMT_SMF.1a Use of the management functions Command issued FAU_GEN.2 User identity association FAU_GEN.2.1 The TSF shall be able to associate each auditable event with the identity of the user that caused the event. FAU_SAR.1 Audit review FAU_SAR.1.1 The TSF shall provide [system administrator] with the capability to read and archive [all audit information] from the audit records. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 22 FAU_SAR.1.2 The TSF shall provide the audit records in a manner suitable for the user to interpret the information. FAU_SAR.2 Restricted audit review FAU_SAR.2.1 The TSF shall prohibit all users read access to the audit records, except those users that have been granted explicit read-access. FAU_SAR.3 Selectable audit review FAU_SAR.3.1 The TSF shall provide the ability to perform [searches] of audit data based on [user identity]. FAU_SEL.1 Selective audit FAU_SEL.1.1 The TSF shall be able to include or exclude auditable events from the set of audited events based on the following attributes: a) [event type, user identity,] b) [group membership, database role, database instance, database table, authority, and success and/or failure]. FAU_STG.3 Action in case of possible audit data loss FAU_STG.3.1 The TSF shall take [write an entry in a separate administrator log] if the audit trail exceeds [the available space allocated to the audit log]. FAU_STG.4 Prevention of audit data loss FAU_STG.4.1 The TSF shall [‘ignore auditable events’ or ‘prevent auditable events, except those taken by the authorised user with special rights’] and [no other action] if the audit trail is full. Application Note: The system administrator must choose to configure DB2 to either discard audit events or to effectively stop once the audit trail is full. 5.1.2 User Data Protection (FDP) FDP_ACC.1 Subset access control FDP_ACC.1.1 The TSF shall enforce the [Discretionary Access Control Policy] on [user attempts to create, destroy or otherwise access databases, schemas, table spaces, tables, views, packages, procedures, functions, and methods]. FDP_ACF.1 Security attribute based access control FDP_ACF.1.1 The TSF shall enforce the [Discretionary Access Control Policy] to objects based on the following: [subject and object attributes as defined in the table below]. Controlled entity Security attributes Subjects User Authorization names and authorities Objects Database Table space Access control list6 6 Access control lists assign privileges to users via authorization names. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 23 Schema Table View Package Procedure Function Method Access control list Definer FDP_ACF.1.2 The TSF shall enforce the following rules to determine if an operation among controlled subjects and controlled objects is allowed: [a subject must have an authorization name that is assigned the privilege (per the access control list) corresponding to the requested operation of the target object in order to succeed in performing the requested operation]. FDP_ACF.1.3 The TSF shall explicitly authorise access of subjects to objects based on the following additional rules: [1) a subject that is assigned an authority defined by a system administrator can access objects as allowed by the authority regardless of privileges (per the access control list) and 2) a subject that has an authorization name that is the definer of the applicable object can access the object regardless of privileges (per the access control list)]. FDP_ACF.1.4 The TSF shall explicitly deny access of subjects to objects based on the [no rules]. FDP_IFC. 1 Subset information flow control FDP_IFC.1.1 The TSF shall enforce the [LBAC SFP] on [user read and write operations on LBAC protected database tables]. FDP_IFF.2 Hierarchical security attributes FDP_IFF.2.1 The TSF shall enforce the [LBAC SFP] based on the following types of subject and information security attributes: [user security labels and database table column or row security labels]. Application Note: Note that security labels consist of zero (0) or more of each of the three (3) available component types (array, set, and tree), but must include at least one component. ƒ Array – represents an ordered set; any element in the set is ranked higher than subsequent elements in the set. ƒ Set – represents an unordered set; there is no defined relationship among the elements in the set and there order is not important. ƒ Tree – represents a hierarchy and is used to represent organizational charts and to identify departments within an organization that owns the applicable data. An element of a tree that is higher than another element in the tree hierarchy is considered an ancestor. FDP_IFF.2.2 The TSF shall permit an information flow between a controlled subject and controlled information via a controlled operation if the following rules, based on the ordering relationships between security attributes hold: [ 1) in order to read a LBAC protected column or row in a database table: a) the array components of the user’s security label must be greater than or equal to the array components of the object’s security label, b) the set components of the user’s security label must include the set components of the object’s security label, and c) the tree components of the user’s security label must include at least one of the elements in the tree components of the object’s security label (or the ancestor of one such element) and 2) in order to write a LBAC protected column or row in a database table: IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 24 a) the array components of the user’s security label must be equal to the array components of the object’s security label, b) the set components of the user’s security label must include the set components of the object’s security label, and c) the tree components of the user’s security label must include at least one of the elements in the tree components of the object’s security label (or the ancestor of one such element) and 3) the Discretionary Access Control Policy rules must be satisfied in every case]. FDP_IFF.2.3 The TSF shall enforce the [no additional rules]. FDP_IFF.2.4 The TSF shall provide the following [only a security administrator can change security labels on users and an appropriately privileged user can change security labels on columns or rows of LBAC protected tables]. FDP_IFF.2.5 The TSF shall explicitly authorise an information flow based on the following rules: [a user with the appropriate corresponding exemption can ignore the read array, read set, read tree, write array (to lower array values), write array (to higher array values), write set, or write tree check]. FDP_IFF.2.6 The TSF shall explicitly deny an information flow based on the following rules: [none]. FDP_IFF.2.7 The TSF shall enforce the following relationships for any two valid information flow control security attributes: a) There exists an ordering function that, given two valid security attributes, determines if the security attributes are equal, if one security attribute is greater than the other, or if the security attributes are incomparable; and b) There exists a 'least upper bound' in the set of security attributes, such that, given any two valid security attributes, there is a valid security attribute that is greater than or equal to the two valid security attributes; and c) There exists a 'greatest lower bound' in the set of security attributes, such that, given any two valid security attributes, there is a valid security attribute that is not greater than the two valid security attributes. FDP_RIP.2a Full residual information protection FDP_RIP.2a.1 The TSF shall ensure that any previous information content of a resource is made unavailable upon the [allocation of the resource to] all objects. FDP_ROL.1 Basic Rollback FDP_ROL.1.1 The TSF shall enforce the [Discretionary Access Control Policy and LBAC SFP] to permit the rollback of the [operations that can be expressed as SQL] on the [databases, schemas, tables spaces, tables, views, packages, procedures, functions, and methods]. FDP_ROL.1.2 The TSF shall permit operations to be rolled back within the [set of uncommitted statements]. 5.1.3 Identification and authentication (FIA) FIA_ATD.1a User attribute definition FIA_ATD.1a.1 The TSF shall maintain the following list of security attributes belonging to individual users: [authorization names, authorities, database roles, security labels, exemptions, and in the case of trusted contexts the trusted context object including a list of authorized authorization names, database roles, encryption attribute, and IP addresses]. FIA_UAU.2a User authentication before any action (explicitly stated requirement) FIA_UAU.2a.1 The TSF shall require each user to be successfully authenticated using support from the IT environment before allowing any other TSF-mediated actions on behalf of that user. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 25 FIA_UID.2a User identification before any action FIA_UID.2a.1 The TSF shall require each user to identify itself before allowing any other TSF-mediated actions on behalf of that user. FIA_USB.1 User-subject binding FIA_USB.1.1 The TSF shall associate the following user security attributes with subjects acting on the behalf of that user: [authorization name, authorities, database roles, security labels, exemptions, and in the case of trusted contexts the trusted context object and IP address of the trusted user connection]. FIA_USB.1.2 The TSF shall enforce the following rules on the initial association of user security attributes with subjects acting on the behalf of users: [when user is successfully identified and authenticated, authorization names associated with the user, the user’s groups, and the roles to which those user, groups, or other roles belong are assigned to the session as are authorities, security labels, and exemptions associated with those authorization names; additionally, in the case of trusted contexts if the trusted context definition defines a database role for the authorization name, that database role is assigned to the resulting session ELSE if the trusted context definition defines a default database role, that database role is assigned to the resulting session]. FIA_USB.1.3 The TSF shall enforce the following rules governing changes to the user security attributes associated with subjects acting on the behalf of users: [once a session is created its attributes do not change except as follows: a user in the trusted context role can change the authorization name of any of its connections to any authorization name authorized for that trusted context – depending on TOE configuration a password could be required for authentication of the new authorization name AND – once the authorization name is changed FIA_USB.1.2 is applied to the connection as though it is an initial association (including the association of authorities, roles, security labels, and exemptions associated with the new authorization name) AND – if the trusted context definition defines a database role for the new authorization name, that database role is assigned to the resulting session ELSE if the trusted context definition defines a default database role, that database role is assigned to the resulting session]. 5.1.4 Security management (FMT) FMT_MOF.1 Management of security functions behaviour FMT_MOF.1.1 The TSF shall restrict the ability to [modify the behaviour of] the functions [LBAC SFP] to [the security administrator]. FMT_MSA.1a Management of Security Attributes FMT_MSA.1a.1 The TSF shall enforce the [Discretionary Access Control Policy] to restrict the ability to [modify] the security attributes [specifically, access control attributes, associated with a protected object and database role assignments] to [users authorized by the Discretionary Access Control rules]. Application Note: Note that the Discretionary Access Control rules encompass authorities. While access control attributes and role assignments can be granted and revoked by users with appropriate privileges, system administrators are not subject to access privilege restrictions and security administrators can always grant and revoke database roles. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 26 FMT_MSA.1b Management of security attributes FMT_MSA.1b.1 The TSF shall enforce the [LBAC SFP] to restrict the ability to [[assign]] the security attributes [security labels] to [users authorized by the LBAC Rules]. Application Note: Note that the LBAC policy allows users to assign labels to objects depending on their privileges, but labels can be granted or revoked t and from users only by a security administrator. FMT_MSA.3a Static Attribute Initialization FMT_MSA.3a.1 The TSF shall enforce the [Discretionary Access Control Policy] to provide [restrictive] default values for security attributes that are used to enforce the SFP Discretionary Access Control Policy. FMT_MSA.3a.2 The TSF shall allow the [no role] to specify alternative initial values to override the default values when an object or information is created. FMT_MSA.3b Static attribute initialization FMT_MSA.3b.1 The TSF shall enforce the [LBAC SFP] to provide [[no]] default values for security attributes that are used to enforce the SFP. FMT_MSA.3b.2 The TSF shall allow the [users authorized by the LBAC Rules] to specify alternative initial values to override the default values when an object or information is created. Application Note: In most cases LBAC security attributes are not assigned to objects by default, but can be specified when the object is created. The exception is when rows are added to an already labeled table. In that case, if the user adding the row does not specify a security label, the user’s security label will be used by default. In either case, the security label must conform with the LBAC policy rules in order for the operation to succeed. FMT_MTD.1a Management of TSF data FMT_MTD.1a.1 The TSF shall restrict the ability to [delete and [create]] the [audit trail] to [system administrators]. FMT_MTD.1b Management of TSF data FMT_MTD.1b.1 The TSF shall restrict the ability to [modify and [observe]] the [set of audited events] to [security and system administrators]. FMT_MTD.1f Management of TSF data FMT_MTD.1f.1 The TSF shall restrict the ability to [[create and drop]] the [roles] to [security administrators]. FMT_REV.1a Revocation FMT_REV.1a.1 The TSF shall restrict the ability to revoke security attributes associated with the [objects] within the TSC to [users authorised to modify the Discretionary Access Control security attributes by the Discretionary Access Control policy and security administrators in the case of LBAC security attributes]. Application Note: Note that the Discretionary Access Control rules encompass authorities. While access control attributes can be granted and revoked by users with appropriate privileges, system administrators can always modify them. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 27 FMT_REV.1a.2 The TSF shall enforce the rules [the access rights associated with an object shall be enforced when an access check is made]. FMT_SMF.1a Specification of Management Functions FMT_SMF.1a.1 The TSF shall be capable of performing the following security management functions: [ start and stop auditing; select audited events; create, delete, and review the audit trail; create and drop LBAC policies and labels; grant and revoke LBAC security labels and exemptions; create, drop, grant, and revoke database roles; and grant and revoke DAC access attributes]. FMT_SMR.1a Security Roles FMT_SMR.1a.1 The TSF shall maintain the roles [system administrator, security administrator, trusted context, and user]. FMT_SMR.1a.2 The TSF shall be able to associate users with roles. 5.1.5 Protection of the TSF (FPT) FPT_RVM.1a Non-bypassability of the TSP FPT_RVM.1a.1 The TSF shall ensure that TSP enforcement functions are invoked and succeed before each function within the TSC is allowed to proceed. FPT_SEP.1a Domain Separation FPT_SEP.1a.1 The TSF shall maintain a security domain for its own execution that protects it from interference and tampering by untrusted subjects. FPT_SEP.1a.2 The TSF shall enforce separation between the security domains of subjects in the TSC. FPT_STM.1a Reliable Time Stamps (explicitly stated requirement) FPT_STM.1a.1 The TSF shall be able to provide reliable time stamps based on information provided by the IT environment for its own use. 5.1.6 Trusted path/channels (FTP) FTP_ITC.1 Inter-TSF trusted channel FTP_ITC.1a.1 The TSF shall provide a communication channel between itself and a remote trusted IT product that is logically distinct from other communication channels and provides assured identification of its end points and protection of the channel data from modification or disclosure. FTP_ITC.1a.2 The TSF shall permit [the remote trusted IT product] to initiate communication via the trusted channel. FTP_ITC.1a.2 The TSF shall initiate communication via the trusted channel for [no required functions]. 5.2 Security Requirements for the IT Environment This section specifies the security requirements that are applicable to IT environment of the TOE. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 28 Table 3 IT Environment Functional Security Requirements Security Functional Class Security Functional Components Security Audit (FAU) FAU_GEN.1b Audit data generation FAU_STG.1 Guarantees of Audit Data Availability Cryptographic Support (FCS) FCS_CKM.1a Cryptographic key generation FCS_CKM.1b Cryptographic key generation FCS_COP.1a Cryptographic operation FCS_COP.1b Cryptographic operation FCS_COP.1c Cryptographic operation FCS_COP.1d Cryptographic operation FCS_COP.1e Cryptographic operation FCS_COP.1f Cryptographic operation FCS_COP.1g Cryptographic operation User Data Protection (FDP) FDP_RIP.2b Full residual information protection Identification and authentication (FIA) FIA_ATD.1b User attribute definition FIA_SOS.1 Verification of secrets FIA_UAU.2b User authentication before any action FIA_UAU.7 Protected authentication feedback FIA_UID.2b User identification before any action Security management (FMT) FMT_MTD.1c Management of TSF data FMT_MTD.1d Management of TSF data FMT_MTD.1e Management of TSF data FMT_REV.1b Revocation FMT_SMF.1b Specification of Management Functions FMT_SMR.1b Security Management Roles Protection of the TSF (FPT) FPT_RVM.1b Reference Mediation FPT_SEP.1b Domain Separation FPT_STM.1b Reliable Time Stamps 5.2.1 Security Audit (FAU) FAU_GEN.1b Audit data generation FAU_GEN.1b.1 The TSF IT Environment shall be able to generate an audit record of the following auditable events: a) Start-up and shutdown of the audit functions; b) All auditable events for the [not specified] level of audit; and c) [the audit events identified in Table 4 Auditable Events]. FAU_GEN.1b.2 The TSF IT Environment shall record within each audit record at least the following information: a) Date and time of the event, type of event, subject identity, and the outcome (success or failure) of the event; and b) For each audit event type, based on the auditable event definitions of the functional components included in the PP/ST, [no additional details]. Table 4 Auditable Events for the IT Environment Component Event FAU_GEN.1b Start-up and shutdown of the audit functions IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 29 Component Event FIA_SOS.1 Rejection or acceptance by the TSF of any tested secret FIA_UAU.2b All use of the authentication mechanism FIA_UID.2b All use of the user identification mechanism, including the identity provided during successful attempts FMT_MTD.1c All modifications to the values of TSF data FMT_MTD.1d All modifications to the values of TSF data FMT_MTD.1e All modifications to the values of TSF data FMT_REV.1b All attempts to revoke security attributes FMT_SMR.1b Modifications to the group of users that are part of a role FMT_REV.1b All modifications to the values of TSF data FMT_SMF.1b Use of the management functions FMT_SMR.1b Modifications to the group of users that are part of a role FPT_STM.1b Changes to the time FAU_STG.1Guarantees of Audit Data Availability FAU_STG.1.1 The TSF IT Environment shall protect the stored audit records from unauthorized deletion. FAU_STG.1.2 The TSF IT Environment shall be able to prevent unauthorised modifications to the audit records in the audit trail. 5.2.2 Cryptographic Support (FCS) FCS_CKM.1a Cryptographic key generation FCS_CKM.1a.1 The TSF IT Environment shall generate symmetric cryptographic keys in accordance with a specified cryptographic key generation algorithm [ a. SSLv3 symmetric key and secret generation, b. TLSv1 symmetric key and secret generation] and specified cryptographic key sizes [ a) 168 bits (three independent TDEA keys), b) 128 and 256 bits (AES key), c) 160 bits (HMAC SHA-1 secret)] that meet the following: [ a) conformant to SSLv3 (SSLv3 symmetric key and secret generation), b) conformant to RFC 2246 with RFC 3268 (TLSv1 symmetric key and secret generation)]. FCS_CKM.1b Cryptographic key generation FCS_CKM.1b.1 The TSF IT Environment shall generate asymmetric cryptographic keys in accordance with a specified cryptographic key generation algorithm [RSA] and specified cryptographic key sizes [1024 and 2048 bits] that meet the following: [conformant to RCF 2313]. FCS_COP.1a Cryptographic operation FCS_COP.1a.1 The TSF IT Environment shall perform [symmetric encryption and symmetric decryption] in accordance with a specified cryptographic algorithm [ a) TDEA with three independent keys (CBC mode), b) AES (CBC mode)] and cryptographic key sizes [ a) 168 Bits (TDEA), b) 128, 256 Bits (AES)] that meet the following: [ a) conformant to FIPS 46-3 (TDEA), conformant to FIPS 81 (CBC mode), IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 30 b) conformant to FIPS 197 (AES, CBC mode), and FIPS 140-2 approved]. FCS_COP.1b Cryptographic operation FCS_COP.1b.1 The TSF IT Environment shall perform [digest generation and verification] in accordance with a specified cryptographic algorithm [ a) SHA-1 b) MD5] and cryptographic key sizes [none] that meet the following: [ a) conformant to the Secure Hash Standard (SHS) as defined in FIPS 180-2 and FIPS 140-2 approved (SHA-1), b) conformant to RFC 1321 (MD5)]. FCS_COP.1c Cryptographic operation FCS_COP.1c.1 The TSF IT Environment shall perform [data authentication] in accordance with a specified cryptographic algorithm [HMAC SHA-1] and cryptographic key sizes [160 bits (HMAC SHA-1)] that meet the following: [conformant to FIPS 198 (HMAC) and FIPS 180- (SHA-1)]. FCS_COP.1d Cryptographic operation FCS_COP.1d.1 The TSF IT Environment shall perform [encryption and decryption of session key related data] in accordance with a specified cryptographic algorithm [RSA] and cryptographic key sizes [1024 or 2048 bits] that meet the following: [conformant to RFC 2437 and RFC 2313 (RSA) and encryption/decryption of session key related data as defined in The SSL Protocol, Version 3 and RFC 2246]. FCS_COP.1e Cryptographic operation FCS_COP.1e.1 The TSF IT Environment shall perform [generation of random numbers] in accordance with a specified cryptographic algorithm [Universal Software Base True Random Number Generator algorithm] and cryptographic key sizes [none] that meet the following: [the requirements in FIPS 186-2, Appendix 3.2 as required in FIPS 140-2 annex C and FIPS 140-2 level 1 approved]. FCS_COP.1f Cryptographic operation FCS_COP.1f.1 The TSF IT Environment shall perform [digital signature generation] in accordance with a specified cryptographic algorithm [RSA with SHA-1 message digest] and cryptographic key sizes [1024 or 2048 bits (RSA)] that meet the following: [conformant to RFC 2437 and RFC 2313 (RSA) and FIPS 180-2 (SHA- 1)]. FCS_COP.1g Cryptographic operation FCS_COP.1g.1 The TSF IT Environment shall perform [digital signature verification] in accordance with a specified cryptographic algorithm [ a) RSA with MD2 message digest, b) RSA with MD5 message digest, c) RSA with SHA-224, SHA-256, SHA-384 or SHA-512 message digest, d) RSA with SHA-1 message digest, e) DSA with SHA-1 message digest,] and cryptographic key sizes [ a) 1024 or 2048 or 4096 bits (RSA), b) 1024 or 2048 or 4096 bits (RSA), c) 1024 or 2048 or 4096 bits (RSA), d) 1024 or 2048 or 4096 bits (RSA), e) 1024 Bits (DSA),] that meet the following: [ a) conformant to RFC 2437 and RFC 2313 (RSA) and RFC 1319 (MD2), b) conformant to RFC 2437 and RFC 2313 [RFC2313] (RSA) and RFC 1321 (MD5), c) conformant to RFC 2437 and RFC 2313 (RSA) and FIPS 180-2 (SHA-224, SHA-256, SHA- 384, SHA-512), IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 31 d) conformant to RFC 2437 and RFC 2313 (RSA) and FIPS 180-2 (SHA-1), e) conformant to FIPS 186-2 (DSA) and FIPS 180-2 (SHA-1)]. 5.2.3 User Data Protection (FDP) FDP_RIP.2b Full residual information protection FDP_RIP.2b.1 The TSF IT Environment shall ensure that any previous information content of a resource is made unavailable upon the [allocation of the resource to] all objects. 5.2.4 Identification and authentication (FIA) FIA_ATD.1b User attribute definition FIA_ATD.1b.1 The TSF IT Environment shall maintain the following list of security attributes belonging to individual users: [user identifier, group memberships, roles, and authentication data]. FIA_SOS.1 Verification of secrets FIA_SOS.1.1 The TSF IT Environment shall provide a mechanism to verify that secrets meet [the following a) for each attempt to use the authentication mechanism, the probability that a random attempt will succeed is less than one in 1,000,000; b) for multiple attempts to use the authentication mechanism during a one minute period, the probability that a random attempt during that minute will succeed is less than one in 100,000; and c) any feedback given during an attempt to use the authentication mechanism will not reduce the probability below the above metrics]. FIA_UAU.2b User authentication before any action FIA_UAU.2b.1 The TSF IT Environment shall require each user to be successfully authenticated before allowing any other TSF-mediated actions on behalf of that user and when requested by the TOE. FIA_UAU.7 Protected authentication feedback FIA_UAU.7.1 The TSF IT Environment shall provide only [obscured feedback] to the user while the authentication is in progress. FIA_UID.2b User identification before any action FIA_UID.2b.1 The TSF IT Environment shall require each user to identify itself before allowing any other TSF- mediated actions on behalf of that user. 5.2.5 Security management (FMT) FMT_MTD.1c Management of TSF data FMT_MTD.1c.1 The TSF IT Environment shall restrict the ability to [modify and [initialize]] the [user security attributes other than authentication data] to [authorised administrators]. FMT_MTD.1d Management of TSF data FMT_MTD.1d.1 The TSF IT Environment shall restrict the ability to [[initialize]] the [authentication data] to [authorised administrators]. FMT_MTD.1e Management of TSF data IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 32 FMT_MTD.1e.1 The TSF IT Environment shall restrict the ability to [modify] the [authentication data] to [the following: authorised administrators and users authorised to modify their own authentication data]. FMT_REV.1b Revocation FMT_REV.1b.1 The TSF IT Environment shall restrict the ability to revoke security attributes associated with the [users] within the TSC to [authorised administrators]. FMT_REV.1b.2 The TSF IT Environment shall enforce the rules [the attributes associated with users shall be applied when a user is identified and authenticated]. FMT_SMF.1b Specification of Management Functions FMT_SMF.1b.1 The TSF IT Environment shall be capable of performing the following security management functions: [create, modify, and delete user accounts]. FMT_SMR.1b Security Management Roles FMT_SMR.1b.1 The TSF IT Environment shall maintain the roles [authorised administrator]. FMT_SMR.1b.2 The TSF IT Environment shall be able to associate users with roles. 5.2.6 Protection of the TSF (FPT) FPT_RVM.1b Reference Mediation FPT_RVM.1b.1 The TSF IT Environment shall ensure the TSP enforcement functions are invoked and succeed before each function within the TSC is allowed to proceed. FPT_SEP.1b Domain Separation FPT_SEP.1b.1 The TSF IT Environment shall maintain a security domain for its own execution that protects it from interference and tampering by untrusted subjects. FPT_SEP.1b.2 The TSF IT Environment shall enforce separation between the security domains of subjects in the TSC. FPT_STM.1b Reliable Time Stamps FPT_STM.1b.1 The TSF IT Environment shall be able to provide reliable time stamps for its own use and for use by its subjects. 5.3 TOE Security Assurance Requirements The security assurance requirements for the TOE are the Evaluation Assurance Level 4 (EAL 4) components as specified in Part 3 of the Common Criteria, augmented with ALC_FLR.1 as indicated in bold the following table. No operations are applied to the assurance components. Table 5 Assurance Requirements (EAL 4 augmented) Assurance Class Assurance Components Configuration Management (ACM) ACM_AUT.1 Partial CM automation IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 33 Assurance Class Assurance Components ACM_CAP.4 Generation support and acceptance procedures ACM_SCP.2 Problem tracking CM coverage Delivery and Operation (ADO) ADO_DEL.2 Detection of modification ADO_IGS.1 Installation, generation, and start-up procedures Development (ADV) ADV_FSP.2 Fully defined external interfaces ADV_HLD.2 Security enforcing high-level design ADV_IMP.1 Subset of the implementation of the TSF ADV_LLD.1 Descriptive low-level design ADV_RCR.1 Informal correspondence demonstration ADV_SPM.1 Informal TOE security policy model Guidance Documents (AGD) AGD_ADM.1 Administrator guidance AGD_USR.1 User guidance Life cycle support (ALC) ALC_DVS.1 Identification of security measures ALC_FLR.1 Basic flaw remediation ALC_LCD.1 Developer defined life-cycle model ALC_TAT.1 Well-defined development tools Tests (ATE) ATE_COV.2 Analysis of Coverage ATE_DPT.1 Testing: high-level design ATE_FUN.1 Functional testing ATE_IND.2 Independent testing - sample Vulnerability assessment (AVA) AVA_MSU.2 Validation of analysis AVA_SOF.1 Strength of TOE security function evaluation AVA_VLA.2 Independent vulnerability analysis 5.3.1 Configuration Management (ACM) ACM_AUT.1 Partial CM automation ACM_AUT.1.1D The developer shall use a CM system. ACM_AUT.1.2D The developer shall provide a CM plan. ACM_AUT.1.1C The CM system shall provide an automated means by which only authorized changes are made to the TOE implementation representation. ACM_AUT.1.2C The CM system shall provide an automated means to support the generation of the TOE. ACM_AUT.1.3C The CM plan shall describe the automated tools used in the CM system. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 34 ACM_AUT.1.4C The CM plan shall describe how the automated tools are used in the CM system. ACM_AUT.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ACM_CAP.4 Generation support and acceptance procedures ACM_CAP.4.1D The developer shall provide a reference for the TOE. ACM_CAP.4.2D The developer shall use a CM system. ACM_CAP.4.3D The developer shall provide CM documentation. ACM_CAP.4.1C The reference for the TOE shall be unique to each version of the TOE. ACM_CAP.4.2C The TOE shall be labelled with its reference. ACM_CAP.4.3C The CM documentation shall include a configuration list and a CM plan, and an acceptance plan. ACM_CAP.4.4C The configuration list shall uniquely identify all configuration items that comprise the TOE. ACM_CAP.4.5C The configuration list shall describe the configuration items that comprise the TOE. ACM_CAP.4.6C The CM documentation shall describe the method used to uniquely identify the configuration items. ACM_CAP.4.7C The CM system shall uniquely identify all configuration items. ACM_CAP.4.8C The CM plan shall describe how the CM system is used. ACM_CAP.4.9C The evidence shall demonstrate that the CM system is operating in accordance with the CM plan. ACM_CAP.4.10C The CM documentation shall provide evidence that all configuration items have been and are being effectively maintained under the CM system. ACM_CAP.4.11C The CM system shall provide measures such that only authorised changes are made to the configuration items. ACM_CAP.4.12C The CM system shall support the generation of the TOE. ACM_CAP.4.13C The acceptance plan shall describe the procedures used to accept modified or newly created configuration items as part of the TOE. ACM_CAP.4.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ACM_SCP.2 Problem tracking CM coverage ACM_SCP.2.1D The developer shall provide a list of configuration items for the TOE. ACM_SCP.2.1C The list of configuration items shall include the following: implementation representation; security flaws; and the evaluation evidence required by the assurance components in the ST. ACM_SCP.2.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 35 5.3.2 Delivery and Operation (ADO) ADO_DEL.2 Detection of modification ADO_DEL.2.1D The developer shall document procedures for delivery of the TOE or parts of it to the user. ADO_DEL.2.2D The developer shall use the delivery procedures. ADO_DEL.2.1C The delivery documentation shall describe all procedures that are necessary to maintain security when distributing versions of the TOE to a user’s site. ADO_DEL.2.2C The delivery documentation shall describe how the various procedures and technical measures provide for the detection of modifications, or any discrepancy between the developer’s master copy and the version received at the user site. ADO_DEL.2.3C The delivery documentation shall describe how the various procedures allow detection of attempts to masquerade as the developer, even in cases in which the developer has sent nothing to the user’s site. ADO_DEL.2.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ADO_IGS.1 Installation, generation, and start-up procedures ADO_IGS.1.1D The developer shall document procedures necessary for the secure installation, generation, and start-up of the TOE. ADO_IGS.1.1C The installation, generation and start-up documentation shall describe all the steps necessary for secure installation, generation and start-up of the TOE. ADO_IGS.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ADO_IGS.1.2E The evaluator shall determine that the installation, generation, and start-up procedures result in a secure configuration. 5.3.3 Development (ADV) ADV_FSP.2 Fully defined external interfaces ADV_FSP.2.1D The developer shall provide a functional specification. ADV_FSP.2.1C The functional specification shall describe the TSF and its external interfaces using an informal style. ADV_FSP.2.2C The functional specification shall be internally consistent. ADV_FSP.2.3C The functional specification shall describe the purpose and method of use of all external TSF interfaces, providing complete details of all effects, exceptions and error messages. ADV_FSP.2.4C The functional specification shall completely represent the TSF. ADV_FSP.2.5C The functional specification shall include rationale that the TSF is completely represented. ADV_FSP.2.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 36 ADV_FSP.2.2E The evaluator shall determine that the functional specification is an accurate and complete instantiation of the TOE security functional requirements. ADV_HLD.2 Security enforcing high-level design ADV_HLD.2.1D The developer shall provide the high-level design of the TSF. ADV_HLD.2.1C The presentation of the high-level design shall be informal. ADV_HLD.2.2C The high-level design shall be internally consistent. ADV_HLD.2.3C The high-level design shall describe the structure of the TSF in terms of subsystems. ADV_HLD.2.4C The high-level design shall describe the security functionality provided by each subsystem of the TSF. ADV_HLD.2.5C The high-level design shall identify any underlying hardware, firmware, and/or software required by the TSF with a presentation of the functions provided by the supporting protection mechanisms implemented in that hardware, firmware, or software. ADV_HLD.2.6C The high-level design shall identify all interfaces to the subsystems of the TSF. ADV_HLD.2.7C The high-level design shall identify which of the interfaces to the subsystems of the TSF are externally visible. ADV_HLD.2.8C The high-level design shall describe the purpose and method of use of all interfaces to the subsystems of the TSF, providing details of effects, exceptions and error messages, as appropriate. ADV_HLD.2.9C The high-level design shall describe the separation of the TOE into TSP-enforcing and other subsystems. ADV_HLD.2.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ADV_HLD.2.2E The evaluator shall determine that the high-level design is an accurate and complete instantiation of the TOE security functional requirements. ADV_IMP.1 Subset of the implementation of the TSF ADV_IMP.1.1D The developer shall provide the implementation representation for a selected subset of the TSF. ADV_IMP.1.1C The implementation representation shall unambiguously define the TSF to a level of detail such that the TSF can be generated without further design decisions. ADV_IMP.1.2C The implementation representation shall be internally consistent. ADV_IMP.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ADV_IMP.1.2E The evaluator shall determine that the least abstract TSF representation provided is an accurate and complete instantiation of the TOE security functional requirements. ADV_LLD.1 Descriptive low-level design ADV_LLD.1.1D The developer shall provide the low-level design of the TSF. ADV_LLD.1.1C The presentation of the low-level design shall be informal. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 37 ADV_LLD.1.2C The low-level design shall be internally consistent. ADV_LLD.1.3C The low-level design shall describe the TSF in terms of modules. ADV_LLD.1.4C The low-level design shall describe the purpose of each module. ADV_LLD.1.5C The low-level design shall define the interrelationships between the modules in terms of provided security functionality and dependencies on other modules. ADV_LLD.1.6C The low-level design shall describe how each TSP-enforcing function is provided. ADV_LLD.1.7C The low-level design shall identify all interfaces to the modules of the TSF. ADV_LLD.1.8C The low-level design shall identify which of the interfaces to the modules of the TSF are externally visible. ADV_LLD.1.9C The low-level design shall describe the purpose and method of use of all interfaces to the modules of the TSF, providing details of effects, exceptions and error messages, as appropriate. ADV_LLD.1.10C The low-level design shall describe the separation of the TOE into TSP enforcing and other modules. ADV_LLD.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ADV_LLD.1.2E The evaluator shall determine that the low-level design is an accurate and complete instantiation of the TOE security functional requirements. ADV_RCR.1 Informal correspondence demonstration ADV_RCR.1.1D The developer shall provide an analysis of correspondence between all adjacent pairs of TSF representations that are provided. ADV_RCR.1.1C For each adjacent pair of provided TSF representations, the analysis shall demonstrate that all relevant security functionality of the more abstract TSF representation is correctly and completely refined in the less abstract TSF representation. ADV_RCR.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ADV_SPM.1 Informal TOE security policy model ADV_SPM.1.1D The developer shall provide a TSP model. ADV_SPM.1.2D The developer shall demonstrate correspondence between the functional specification and the TSP model. ADV_SPM.1.1C The TSP model shall be informal. ADV_SPM.1.2C The TSP model shall describe the rules and characteristics of all policies of the TSP that can be modeled. ADV_SPM.1.3C The TSP model shall include a rationale that demonstrates that it is consistent and complete with respect to all policies of the TSP that can be modeled. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 38 ADV_SPM.1.4C The demonstration of correspondence between the TSP model and the functional specification shall show that all of the security functions in the functional specification are consistent and complete with respect to the TSP model. ADV_SPM.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. 5.3.4 Guidance Documents (AGD) AGD_ADM.1 Administrator guidance AGD_ADM.1.1D The developer shall provide administrator guidance addressed to system administrative personnel. AGD_ADM.1.1C The administrator guidance shall describe the administrative functions and interfaces available to the administrator of the TOE. AGD_ADM.1.2C The administrator guidance shall describe how to administer the TOE in a secure manner. AGD_ADM.1.3C The administrator guidance shall contain warnings about functions and privileges that should be controlled in a secure processing environment. AGD_ADM.1.4C The administrator guidance shall describe all assumptions regarding user behaviour that are relevant to secure operation of the TOE. AGD_ADM.1.5C The administrator guidance shall describe all security parameters under the control of the administrator, indicating secure values as appropriate. AGD_ADM.1.6C The administrator guidance shall describe each type of security-relevant event relative to the administrative functions that need to be performed, including changing the security characteristics of entities under the control of the TSF. AGD_ADM.1.7C The administrator guidance shall be consistent with all other documentation supplied for evaluation. AGD_ADM.1.8C The administrator guidance shall describe all security requirements for the IT environment that are relevant to the administrator. AGD_ADM.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. AGD_USR.1 User guidance AGD_USR.1.1D The developer shall provide user guidance. AGD_USR.1.1C The user guidance shall describe the functions and interfaces available to the non-administrative users of the TOE. AGD_USR.1.2C The user guidance shall describe the use of user-accessible security functions provided by the TOE. AGD_USR.1.3C The user guidance shall contain warnings about user-accessible functions and privileges that should be controlled in a secure processing environment. AGD_USR.1.4C The user guidance shall clearly present all user responsibilities necessary for secure operation of the TOE, including those related to assumptions regarding user behaviour found in the statement of TOE security environment. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 39 AGD_USR.1.5C The user guidance shall be consistent with all other documentation supplied for evaluation. AGD_USR.1.6C The user guidance shall describe all security requirements for the IT environment that are relevant to the user. AGD_USR.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. 5.3.5 Life Cycle Support (ALC) ALC_DVS.1 Identification of security measures ALC_DVS.1.1D The developer shall produce development security documentation. ALC_DVS.1.1C The development security documentation shall describe all the physical, procedural, personnel, and other security measures that are necessary to protect the confidentiality and integrity of the TOE design and implementation in its development environment. ALC_DVS.1.2C The development security documentation shall provide evidence that these security measures are followed during the development and maintenance of the TOE. ALC_DVS.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ALC_DVS.1.2E The evaluator shall confirm that the security measures are being applied. ALC_FLR.1 Basic flaw remediation ALC_FLR.1.1D The developer shall provide flaw remediation procedures addressed to TOE developers. (per Common Methodology for Information Technology Security Evaluation, Part 2: Evaluation Methodology, Supplement: ALC_FLR - Flaw Remediation (CEM-2001/0015R), Annex A: Flaw Remediation evaluation criteria) ALC_FLR.1.1C The flaw remediation procedures documentation shall describe the procedures used to track all reported security flaws in each release of the TOE. ALC_FLR.1.2C The flaw remediation procedures shall require that a description of the nature and effect of each security flaw be provided, as well as the status of finding a correction to that flaw. ALC_FLR.1.3C The flaw remediation procedures shall require that corrective actions be identified for each of the security flaws. ALC_FLR.1.4C The flaw remediation procedures documentation shall describe the methods used to provide flaw information, corrections and guidance on corrective actions to TOE users. ALC_FLR.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ALC_LCD.1 Developer defined life-cycle model ALC_LCD.1.1D The developer shall establish a life-cycle model to be used in the development and maintenance of the TOE. ALC_LCD.1.2D The developer shall provide life-cycle definition documentation. ALC_LCD.1.1C The life-cycle definition documentation shall describe the model used to develop and maintain the TOE. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 40 ALC_LCD.1.2C The life-cycle model shall provide for the necessary control over the development and maintenance of the TOE. ALC_LCD.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ALC_TAT.1 Well-defined development tools ALC_TAT.1.1D The developer shall identify the development tools being used for the TOE. ALC_TAT.1.2D The developer shall document the selected implementation-dependent options of the development tools. ALC_TAT.1.1C All development tools used for implementation shall be well-defined. ALC_TAT.1.2C The documentation of the development tools shall unambiguously define the meaning of all statements used in the implementation. ALC_TAT.1.3C The documentation of the development tools shall unambiguously define the meaning of all implementation-dependent options. ALC_TAT.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. 5.3.6 Security Testing (ATE) ATE_COV.2 Analysis of Coverage ATE_COV.2.1D The developer shall provide an analysis of the test coverage. ATE_COV.2.1C The analysis of the test coverage shall demonstrate the correspondence between the tests identified in the test documentation and the TSF as described in the functional specification. ATE_COV.2.2C The analysis of the test coverage shall demonstrate that the correspondence between the TSF as described in the functional specification and the tests identified in the test documentation is complete. ATE_COV.2.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ATE_DPT.1 Testing: high-level design ATE_DPT.1.1D The developer shall provide the analysis of the depth of testing. ATE_DPT.1.1C The depth analysis shall demonstrate that the tests identified in the test documentation are sufficient to demonstrate that the TSF operates in accordance with its high-level design. ATE_DPT.1.2E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ATE_FUN.1 Functional testing ATE_FUN.1.1D The developer shall test the TSF and document the results. ATE_FUN.1.2D The developer shall provide test documentation. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 41 ATE_FUN.1.1C The test documentation shall consist of test plans, test procedure descriptions, expected test results and actual test results. ATE_FUN.1.2C The test plans shall identify the security functions to be tested and describe the goal of the tests to be performed. ATE_FUN.1.3C The test procedure descriptions shall identify the tests to be performed and describe the scenarios for testing each security function. These scenarios shall include any ordering dependencies on the results of other tests. ATE_FUN.1.4C The expected test results shall show the anticipated outputs from a successful execution of the tests. ATE_FUN.1.5C The test results from the developer execution of the tests shall demonstrate that each tested security function behaved as specified. ATE_FUN.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ATE_IND.2 Independent testing – sample ATE_IND.2.1D The developer shall provide the TOE for testing. ATE_IND.2.1C The TOE shall be suitable for testing. ATE_IND.2.2C The developer shall provide an equivalent set of resources to those that were used in the developer’s functional testing of the TSF. ATE_IND.2.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. ATE_IND.2.2E The evaluator shall test a subset of the TSF as appropriate to confirm that the TOE operates as specified. ATE_IND.2.3E The evaluator shall execute a sample of tests in the test documentation to verify the developer test results. 5.3.7 Vulnerability Assessment (AVA) AVA_MSU.2 Validation of analysis AVA_MSU.2.1D The developer shall provide guidance documentation. AVA_MSU.2.2D The developer shall document an analysis of the guidance documentation. AVA_MSU.2.1C The guidance documentation shall identify all possible modes of operation of the TOE (including operation following failure or operational error), their consequences and implications for maintaining secure operation. AVA_MSU.2.2C The guidance documentation shall be complete, clear, consistent and reasonable. AVA_MSU.2.3C The guidance documentation shall list all assumptions about the intended environment. AVA_MSU.2.4C The guidance documentation shall list all requirements for external security measures (including external procedural, physical and personnel controls). AVA_MSU.2.5C The analysis documentation shall demonstrate that the guidance documentation is complete. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 42 AVA_MSU.2.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. AVA_MSU.2.2E The evaluator shall repeat all configuration and installation procedures, and other procedures selectively, to confirm that the TOE can be configured and used securely using only the supplied guidance documentation. AVA_MSU.2.3E The evaluator shall determine that the use of the guidance documentation allows all insecure states to be detected. AVA_MSU.2.4E The evaluator shall confirm that the analysis documentation shows that guidance is provided for secure operation in all modes of operation of the TOE. AVA_SOF.1 Strength of TOE security function evaluation AVA_SOF.1.1D The developer shall perform a strength of TOE security function analysis for each mechanism identified in the ST as having a strength of TOE security function claim. AVA_SOF.1.1C For each mechanism with a strength of TOE security function claim the strength of TOE security function analysis shall show that it meets or exceeds the minimum strength level defined in the PP/ST. AVA_SOF.1.2C For each mechanism with a specific strength of TOE security function claim the strength of TOE security function analysis shall show that it meets or exceeds the specific strength of function metric defined in the PP/ST. AVA_SOF.1.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. AVA_SOF.1.2E The evaluator shall confirm that the strength claims are correct. AVA_VLA.2 Independent vulnerability analysis AVA_VLA.2.1D The developer shall perform a vulnerability analysis. AVA_VLA.2.2D The developer shall provide vulnerability analysis documentation. AVA_VLA.2.1C The vulnerability analysis documentation shall describe the analysis of the TOE deliverables performed to search for ways in which a user can violate the TSP. AVA_VLA.2.2C The vulnerability analysis documentation shall describe the disposition of identified vulnerabilities. AVA_VLA.2.3C The vulnerability analysis documentation shall show, for all identified vulnerabilities, that the vulnerability cannot be exploited in the intended environment for the TOE. AVA_VLA.2.4C The vulnerability analysis documentation shall justify that the TOE, with the identified vulnerabilities, is resistant to obvious penetration attacks. AVA_VLA.2.1E The evaluator shall confirm that the information provided meets all requirements for content and presentation of evidence. AVA_VLA.2.2E The evaluator shall conduct penetration testing, building on the developer vulnerability analysis, to ensure the identified vulnerabilities have been addressed. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 43 AVA_VLA.2.3E The evaluator shall perform an independent vulnerability analysis. AVA_VLA.2.4E The evaluator shall perform independent penetration testing, based on the independent vulnerability analysis, to determine the exploitability of additional identified vulnerabilities in the intended environment. AVA_VLA.2.5E The evaluator shall determine that the TOE is resistant to penetration attacks performed by an attacker possessing a low attack potential. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 44 6. TOE Summary Specification This chapter describes the security functions and associated assurance measures. 6.1 TOE Security Functions 6.1.1 Security Audit The DB2 audit facility acts both at an instance level, recording all instance level activities, and at the database level for database specific activities. The audit log files, for instances and databases, are stored in file locations configured during installation and the audit configuration file (db2audit.cfg) is located in each instance’s security subdirectory. Users of the audit facility administrator tool, db2audit, must have SYSADM authority/privileges (i.e., they must be a system administrator). The audit facility must be stopped and started explicitly, within the context of an instance, by a system administrator using db2audit which will perform its function only if the user has the SYSADM authority. When starting, the audit facility uses the instance’s existing audit configuration information. Since the audit facility is independent of the DB2 server (i.e., it runs in a separate OS-provided process), it will remain active even if the corresponding instance is stopped. In fact, when the instance is stopped, an audit record may be generated in the instance’s audit log. System administrators using the audit facility tool can control the following actions within the audit facility: • Start recording auditable events within the DB2 instance. • Stop recording auditable events within the DB2 instance. • Flush any pending audit records from the instance and write them to the audit log. • Configure the behavior of the audit facility, including selecting the categories of the auditable events to be recorded. • Configure whether the audit facility should prevent auditable events or ignore auditable events in the event that the audit log becomes full. • Request a description of the current audit configuration. • Extract audit records by formatting and copying them from the audit log to a flat file or ASCII delimited files. Extraction is done in preparation for analysis of log records. • Archive the current audit log for either an individual database or the instance to a new location for archiving and later extraction. The current timestamp will be appended to the filename. All records that are currently being written to the audit log will complete before the log is archived to ensure full records are not split apart. All records that are created while the archive is in progress will be written to the current audit log, and not the archived log, once the archive has finished. Note that these commands serve to manipulate the audit service directly, manage the audit configuration file, and manage the audit log as applicable. When a DB2 instance records audit records, they contain the following information although some of the audit categories will contain more: • Timestamp – date and time of the audit event • Category – general type for the audit event • Audit Event – specific audit event identifier • Event Correlator – correlation identifier for the operation audited (Can be used to associate multiple records resulting from a single event.) • Event Status – success or failure of the event. Unsuccessful audit events are represented by a SQLCODE. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 45 • User ID – user identifier associated with the audit event • Authorization ID – authorization identifier (or name) associated with the audit record In addition, object names associated with access and information flow decisions and the specific commands issued to perform security management functions are identified in applicable audit records. DB2 provides only the system administrator with a capability to search the audit records by user identity in order to ensure accountability of actions to the appropriate individual. To achieve this, audit records can be extracted, by an authorized administrator, in ASCII format and loaded into a DB2 relational table for a rich set of query capabilities. The system administrator can configure DB2 to audit any or all of the available audit categories: • Audit (AUDIT) – Generates records when audit settings are changed or when the audit log is accessed. • Statement Execution (EXECUTE) – Generates records of just the SQL statement that is being executed. Note that the CONTEXT audit category can be used to audit the use of statements, but it captures much more information which may not be necessary for a given application. • Authorization Checking (CHECKING) – Generates records during authorization checking of attempts to access, transfer, or manipulate DB2 objects or functions. • Object Maintenance (OBJMAINT) – Generates records when creating or dropping data objects. • Security Maintenance (SECMAINT) – Generates records when granting or revoking: object or database privileges or authorities, database roles, security labels, or (LBAC) exemptions, or transfer ownership of objects Records are also generated when the database manager security configuration parameters SYSADM_GROUP, SYSCTRL_GROUP, SYSMON_GROUP, or SYSMAINT_GROUP are modified. • System Administration (SYSADMIN) – Generates records when operations requiring SYSADM, SYSMAINT, or SYSCTRL authority are performed. • User Validation (VALIDATE) – Generates records when authenticating users or retrieving system security information. • Operation Context (CONTEXT) – Generates records to show the operation context when a database operation is performed. This category allows for better interpretation of the audit log file. When used with the log's event correlator field, a group of events can be associated back to a single database operation. For example, an SQL statement for dynamic SQL, a package identifier for static SQL, or an indicator of the type of operation being performed, such as CONNECT, can provide needed context when analyzing audit results. In addition, the security administrator (i.e., SECADM) can configure DB2 to make use of audit policies to audit events based on categories - identifying whether they should never or always be audited or just when they succeed or fail. The audit policies can be associated with specific users, groups of users, database roles, authorities (SYSADM, SYSCTRL, SYSMAINT, SYSMON, DBADM, and SECADM), database tables, and database instances so that audit selection can be fined-tuned to target the success and/or failure of specific events, user, groups, database roles, authorities, database tables, and database instances at the discretion of the security administrator. DB2 does not provide any ability within the TOE to modify the audit records. Due to role restrictions, DB2 offers functions allowing only a system administrator to delete stored audit records. Should the audit trail exceed a pre- defined limit (the available space on the file system containing the audit log) a message is inserted in the administrator’s log, which is not part of the audit log. Furthermore, a system administrator can configure DB2 to stop auditing or stop the current SQL statement or other auditable event (effectively preventing auditable events) when the audit trail becomes full. The Security Audit security function satisfies the following security requirements: FAU_GEN.1a Audit data generation – DB2 fulfills this requirement by generating the necessary events associated with each of its security functions (and security functional requirements) and by including the IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 46 date and time, event type, user and authorization identities, and results in each event along with object names and security management commands where applicable. FAU_GEN.2 User identity association – DB2 fulfills this requirement by including the applicable user identity in each audit record. FAU_SAR.1 Audit review – DB2 fulfills this requirement by providing interfaces for the review and archival of audit records. FAU_SAR.2 Restricted audit review – DB2 fulfills this requirement by ensuring that the user is a system administrator (per their role) before allowing access to the audit records. FAU_SAR.3 Selectable audit review – DB2 fulfills this requirement by providing search capabilities that can be realized by first exporting the audit trail and then importing back into a database where arbitrary queries could be made. FAU_SEL.1 Selective audit – DB2 fulfills this requirement by allowing system and security (see above) administrators to configure DB2 to audit any or all of the available audit categories as well as successful and/or failed events, specific user identities, groups, database roles, authorities, database tables, and database instances. FAU_STG.3 Action in case of possible audit data loss – DB2 fulfills this requirement by writing a record in the administrator log indicating when the audit trail is full. FAU_STG.4 Prevention of audit data loss – DB2 fulfills this requirement by allowing a system administrator to configure DB2 to either simply throw away new audit events (i.e., stop auditing) or to stop processing auditable SQL commands when the audit trail becomes full. 6.1.2 Access Control Authorization (see Section 6.1.3) is the process whereby DB2 obtains information about an authenticated DB2 user, indicating the database operations that user may perform, and what data objects may be accessed. With each user request, there may be more than one authorization check, depending on the objects and operations involved. DB2 logically associates access control lists and a ‘definer’7 with each object using tables and configuration files to record the access permissions associated with each authorization name. The authorization name of an authenticated user, and those of groups and database roles to which the user belongs, are compared with access control list entries to find matches. Based on this comparison, DB2 identifies available permissions that indicate whether to allow the requested access. There are two types of permissions managed by DB2: privileges and authority levels. A privilege defines a single permission for an authorization name, enabling a user to create or access database resources. Privileges are stored in the database catalogs. Authority levels provide a method of grouping privileges and control over higher-level database manager maintenance and utility operations. Database-specific authorities are stored in the database catalogs. Both privileges and database authorities can be associated with group and database role memberships. System authorities are associated with group memberships, and are stored in the database manager configuration file for a given instance. Groups and database roles provide convenient means of performing authorization for a collection of users without having to grant or revoke privileges for each user individually. Unless otherwise specified, group and database role authorization names can be used anywhere that authorization names are used for authorization purposes. In general, group membership is considered for dynamic SQL and non-database object authorizations (such as instance level commands and utilities), but while group membership is not considered for static SQL database role membership is applicable. The exception to this general case occurs when privileges are granted to PUBLIC: these are considered when static SQL is processed. 7 Note that a definer is associated only with the following database objects: Schema, Table, View, Package, Procedure, Function, and Method. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 47 Information about each database is automatically maintained in a set of views called the system catalog, which is created when the database is generated. This system catalog describes tables, columns, indexes, programs, privileges, and other objects and some of their attributes. DB2 supports a number of Specific Privileges. They are: • Database privileges, which involve actions on a database as a whole. • Schema privileges, which involve actions on schemas in a database. • Table space privileges, which involve actions on table spaces • Table and view privileges, which involve actions on tables or views in a database. • Package privileges, which involve actions on packages. • Procedure, function, and method privileges, which involve actions on routines such as functions, procedures and methods. In order for a user to access (including create and destroy) any of the objects mentioned in conjunction with the privileges identified above (i.e., databases, schemas, table spaces, tables, views, packages, procedures, functions, or methods), the user must be assigned the privilege corresponding with the action they are attempting to perform. Otherwise, the operation will be denied. Note that authorities can be used to access objects without explicitly having the necessary privilege. The SYSADM authority, for example, implicitly has many privileges. Similarly, an object definer is not subject the privilege restrictions on the objects they defined (i.e., created). Authorized administrators have the ability to grant authorities, privileges, and database roles (associated with their specific administrative role) to other users, groups, and database roles. The administrator may optionally grant a privilege to a user WITH GRANT OPTION. Non-administrator users who hold a privilege WITH GRANT OPTION have the ability to grant that privilege to (but not to revoke that privilege from) other non-administrator users. The administrator may optionally grant a database role to a user WITH ADMIN OPTION. This option would grant the user the authority to grant the database role to other users. In addition to controlling access using permissions, when a LBAC is properly configured, security administrators can define LBAC security labels and authorized users can assign LBAC policies to tables. Once a LBAC policy is assigned to a table (the notion of ‘protecting’ a table), if the table contains a column of type ‘DB2SECURITYLABEL’ the table is protected with row level granularity, also if the table has a column protected with a security label (per the table definition) the table is protected with column level granularity. Subsequently, when a user attempts to create, modify, or otherwise access data in the table their access is restricted, in addition to the Discretionary Access Control rules, based on the security label associated with their session, the security label(s) associated with the table, and the LBAC access rules. Hence, the requested access to specific rows or columns is subject to the LBAC constraints. Note that if a table is protected with both column- and row-level granularity, first the column check must succeed and then each applicable row check must succeed. Note that when a new row is introduced in a table, if the table is protected with row level granularity, the user may specify a security label for that row in accordance with the LBAC rules. If they do not explicitly specify a security label, the user’s security label is used. LBAC labels have zero (0) or more of each of the three available component types (but must always have at least one component): Array – represents an ordered set; any element in the set is ranked higher than subsequent elements in the set. Set – represents an unordered set; there is no defined relationship among the elements in the set and there order is not important. Tree – represents a hierarchy and is used to represent organizational charts and to identify departments within an organization that owns the applicable data. There are two sets of three rules that determine the allowed access based on LBAC labels: IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 48 Read Access Rules apply when data is retrieved. Data is retrieved during SELECT, UPDATE, and DELETE operations. DB2LBACREADARRAY – Each array component of the user’s security label must be greater than or equal to the corresponding array component of the data (row or column) security label. DB2LBACREADTREE – Each tree component of the user’s security label must include at least one of the elements in the corresponding tree component of the data (row or column) security label (or the ancestor of one such element). DB2LBACREADSET – Each set component of the user’s security label must include the corresponding set component of the data (row or column) security label. Write Access Rules apply for INSERT, UPDATE, and DELETE operations. DB2LBACWRITEARRAY – Each array component of the user’s security label must be equal to the corresponding array component of the data (row or column) security label. DB2LBACWRITETREE – Each tree component of the user’s security label must include at least one of the corresponding elements in the tree component of the data (row or column) security label (or the ancestor of one such element). DB2LBACWRITESET – Each set component of the user’s security label must include the corresponding set component of the data (row or column) security label. In addition to the rules cited above, DB2 offers specific exemptions that can be assigned to users to bypass one or more of the read and write rules summarized above. Inappropriate reuse of data in allocated resources is prevented by allowing data to be read only after it has been written thereby allocating resources. This prevents the leakage of information from an authorized user to one that does not have the proper access privileges. In order to protect against inadvertent database operations, a user can rollback the statements (i.e., operations that can be expressed as SQL) they have issued as long as they haven’t been committed. The user can only roll back all of the statements that have occurred since the last time they were committed. The Access Control security function satisfies the following security requirements: FDP_ACC.1 Subset access control – DB2 fulfills this requirement by associating privileges with all operations applicable to each identified DB2 object and requiring that a user have the privilege or authority, directly or indirectly through group or database role membership, when attempting to perform the corresponding operation. FDP_ACF.1 Security attribute based access control – DB2 fulfills this requirement by associating privileges with all operations applicable to each identified DB2 object and requiring that a user have the privilege or authority when attempting to perform the corresponding operation. FDP_IFC.1 Subset information flow control – DB2 fulfills this requirement by allowing tables to be assigned LBAC policies that will control subsequent read and write operations. FDP_IFF.2 Hierarchical security attributes – DB2 fulfills this requirements by enforcing the LBAC information flows rules as summarized above. FDP_RIP.2a Full residual information protection – DB2 fulfills this requirement by ensuring that data can only be read after it has first been written. FDP_ROL.1 Basic Rollback – DB2 fulfills this requirement by allowing users to rollback any uncommitted statements in the reverse order that they occurred. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 49 6.1.3 Identification & Authentication If a user attempts to access DB2 without a user ID and password while logged on to the DB2 host operating system (i.e., IT Environment), DB2 will derive an authorization name (“authid”) from the user ID of the user’s host process. This is based on the assumption that the host has already identified and authenticated the user. An authid is the name DB2 uses to identify users, groups, and database roles. When a user attempts to access DB2 remotely (i.e., while not logged onto the DB2 host operating system), they must provide a user identity and password. The user identity and password are provided to the DB2 host operating system, configured LDAP server, or configured KDC server (using Kerberos) – depending on the TOE configuration - for authentication. If the configured authentication server determines that the user identity exists and the password is valid8 , it will respond to DB2 with the authenticated user identity and any applicable group memberships. Otherwise, it will return a failed result that will cause DB2 to reject the request. Once authenticated: • The user must be identified to DB2 using a SQL authorization name or authorization ID (authid). This name can be the same as the user ID, or a mapped value. For example, DB2 authids are usually derived by transforming the user ID to all uppercase letters. If the resulting authid fails to follow any DB2 naming conventions (e.g., allowed characters or size), then DB2 will reject the access request. Note that the DB2 name requirements vary depending on the underlying authentication server (operating system, LDAP, or Kerberos). This is necessary to make sure that the names are uniquely mapped. These restrictions are fully explained in the administrator guidance. • A list of groups to which the user belongs is obtained. Groups are DB2 host operating system constructs that must also map to DB2 authorization names. This mapping is done in a method similar to that used for user IDs. However, any groups that fail to follow DB2 naming conventions will be ignored, but the access attempt will not be rejected on this basis. • Once the user identity and groups are established, DB2 will examine its role configuration and assign the roles associated with the user identity, all groups, and other roles (in a potentially hierarchical manner) the user is a member of to the resulting user session. If an authid is resolved for the user, it becomes the initial user identity used, for example, to enforce the DAC Policy (i.e., the initial “session authorization id”). The authid for the user is used to determine the security label and any LBAC-related exemptions for the session. Authids derived from group and database role memberships are also used for access control. Once the identification and authentication process successfully yields one or more authids, DB2 instantiates a session with those authids for DB2 to allow mediated DB2 operations. Furthermore, DB2 associates specific authorities with the authids available to the user – this is also known as “Authorization.” Trusted users defined by trusted context objects are handled a little differently. Initially they connect essentially like any other client. They must be identified an authenticated as indicated above, but they are additionally identified by their associated trusted context object. A trusted context object can be associated with a user only if they satisfy the conditions defined within the trusted context object (i.e., authorization name, encryption attribute, and IP address). After connecting, trusted users can change the authorization name of any of their connections to any other authorization name that is authorized within the trusted context object associated with that trusted user. If no such list is defined, then the trusted user cannot change authorization names. In either case, the TOE can be configured to require a password in which case the password must allow the TOE to ensure the new authorization name is successfully authenticated (using the configured user authentication mechanism) or the change will fail. If the authorization name is not valid, the change will simply fail and the connection will remain unchanged. Once the authorization name is changed on a connection, the connection is treated as though the user just authenticated – see Once authenticated, above. As such, the connection will subsequently be associated with the new authorization name and the security attributes (including authorizations, roles, security labels, and exemptions) associated with that authorization name. 8 Note that in addition to the password being correct, it must also not be expired. Additionally, some authentication servers (e.g., host operating systems) have additional identification and authentication conditions that can cause additional authentication failures (account locked, time of day restrictions, workstation restrictions, etc.). IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 50 In addition, the trusted context object can define a default role and also define specific roles for any of its defined authorization names. During initial trusted context connection and also during subsequent authorization name changes within a trusted context, if the applicable authorization name has a database role defined within the trusted context object that database role will be assigned to the session. Otherwise, if there is a default database role defined within the trusted context object that database role will be assigned to the session. If neither are defined, then no additional database role will be assigned to the session. Note that DB2 includes a set session authorization which allows users with that authorization to change their session identity. This authorization can be granted only by a Security Administrator who is instructed not to grant this authority to any non-administrative users and administrative users are expected not to use this function in the evaluated configuration. The Identification & Authentication security function satisfies the following security requirements: FIA_ATD.1a User attribute definition – DB2 fulfills this requirement by maintaining a correspondence between authids, authorities, security labels, and exemptions associated with users. FIA_UAU.2a User authentication before any action – DB2 fulfills this requirement by rejecting access to DB2 resources when the user cannot be authenticated using support from the IT environment. Note that requirements are also instantiated in the IT environment such that it similarly protects itself and ensures appropriate strength of this mechanism. FIA_UID.2a User identification before any action – DB2 fulfills this requirement by rejecting access to DB2 resources when the user cannot be identified. FIA_USB.1 User-subject binding – DB2 fulfills this requirement by associating authids as well as authorities, security labels, and exemptions with user sessions. While in most cases users cannot change their identities, trusted contexts allow associated trusted users to change their connection identity to other users in accordance with their trusted context definition. 6.1.4 Security Management All access control to objects subject to the Discretionary Access Control (DAC) security policy as well as to TSF data and functions are controlled using authorities and privileges. DB2 defines a number of authorities and privileges, which allow authorized users and administrators to perform specific functions or access specific resources. These authorities and privileges are assigned to objects using DB2 tables and configuration files (i.e., access control lists) that are similarly controlled with authorities and privileges. Members of the “user” role are most directly subject to the DAC policy and prevented from modifying the behavior of the TSF. Privileges enable users to create, modify, or access database resources. Authority levels provide a method of grouping privileges and higher-level database manager maintenance and utility operations. Together, these act to control access to the database manager and its database objects. Users can access (including attribute modification and revocation) only those objects for which they have the appropriate authorization, that is, the required privilege or authority. Note that every object that can be created in DB2 will be assigned a default set of security attributes; however, the specific value of the attributes may vary from object to object. However, the default security attributes are predefined by DB2 and cannot be modified by any user. Note that of all of the protected DB2 objects, only databases assign default privileges to users other than the creator (e.g., public). Even so, other users have only limited access to the database. Once another user connects to the database, they can create tables, packages, and schemas within it. Given that databases don’t actually store information, but rather store other objects that contain information and those do not grant any access by default, the overall default access is considered ’restrictive’. LBAC security attributes (i.e., security labels) for users can only be assigned and modified by a user with SECADM authority (i.e., a security administrator) and only when the TOE has been properly configured with LBAC. Note that generally LBAC policies (i.e., LBAC protection applied a table) are not assigned to objects by default, but rather must be explicitly assigned to each applicable object (i.e., table). The exception to this is when a new row is added to a labeled table. In that case, the new role will be assigned the security label of the user adding the row unless that subject explicitly provides a label in accordance with the LBAC policy rules. DB2 provides the administrator functions to create and drop LBAC policies and labels and to grant and revoke security labels and exemptions to IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 51 users and to create security policies and security labels (and security label components) that can be used to control access (i.e., protect) to either rows or columns within the table. Once a table is protected, access and modification to specific rows or columns is based on the user security label, security labels within the table, and the LBAC access rules. DB2 allows users with SECADM authority to create and drop database roles. Database roles are similar to groups, except that they are defined and managed within DB2 rather than its underlying operating system. Users with SECADM authority can grant and revoke roles without restriction. Roles can be granted with an admin option that allows the granted user to also grant and revoke that role, but without the admin option. For privileges associated with a user identity or with a group or database role membership, the privilege may be revoked from the user. In some cases, specifically when the privilege is granted via group membership, the change in privilege may not be immediately effective. To make the change effective immediately, any existing database connections associated with the user may be “forced” (disconnected) by a system administrator. Changes to privileges granted directly to a user or via a database role membership are effective immediately after the change. Changes to access rights associated with an object are not effective until the next access check that would normally be required.9 As described in Section 6.1.1, Security Audit, DB2 provides system administrators with the functions necessary to start and stop the audit security function, as well as the tools necessary to create and delete audit files and to configure the audit security function to control specifically which auditable events will be audited and also to export and subsequently review the collected audit records. Furthermore, DB2 allows security administrators to define audit policies to fine tune the audit selection function. In addition to system administrators, security administrators and other users, DB2 recognizes trusted users defined by trusted context objects. Trusted users have the unique ability to change their identity outside the scope of TOE authentication and as such ‘trusted context’ is treated as a security role within this ST. The Security Management security function satisfies the following security requirements: FMT_MOF.1 Management of security functions behaviour – DB2 fulfills this requirement by restricting the abilities to create and drop LBAC security labels, label components and policies as well as to grant and revoke security policies and LBAC exemptions to the security administrator. FMT_MSA.1a Management of Security Attributes – DB2 fulfills this requirement by allowing only users with the appropriate privilege to modify the Discretionary Access Control security attributes of any DB2 object, including database role assignments. FMT_MSA.1b Management of Security Attributes – DB2 fulfills this requirement by allowing only LBAC security attributes of rows and columns within DB2 tables to be assigned according to the LBAC access rules. FMT_MSA.3a Static Attribute Initialization – DB2 fulfills this requirement by ensuring that objects are assigned restrictive default security attributes when created. FMT_MSA.3b Static Attribute Initialization – DB2 fulfills this requirement by not assigning LBAC security policies to (i.e., ‘protecting’) tables by default; the LBAC policy on a given table must be explicitly assigned. However, once a table is protected rows added to the label will be labeled by default with the user’s security label unless they explicitly provide a security label in accordance with the LBAC policy rules. FMT_MTD.1a Management of TSF data – DB2 fulfills this requirement by allowing only system administrators to start the audit service (thereby creating an audit trail) or delete audit records. 9 Note that when a user creates a package with static data manipulation statements, authorization checks are made to ensure the user is allowed to perform all of the included statements. Subsequently, when a user executes the package, the only authorization check is whether they are authorized to execute the package – the included statements execute based on the authorities of the user that created the package. However, if any revoke operations affect any statements in any defined package, the affected packages are invalidated and are no longer available for execution. Packages already being executed at that time would complete, but would then no longer be accessible. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 52 FMT_MTD.1b Management of TSF data – DB2 fulfills this requirement by allowing only system and security administrators to define and access the audit selection criteria (at a broad level for system administrators and via audit policies for security administrators). FMT_MTD.1f Management of TSF data – DB2 fulfills this requirement by allowing only security administrators to create database roles. FMT_REV.1a Revocation – DB2 fulfills this requirement by allowing only users with the appropriate privilege or authority to modify (including revoke) the security attributes of any DB2 object. FMT_SMF.1a Specification of Management Functions – DB2 fulfills this requirement by providing functions that allow an authorized administrator to start and stop the audit function; select audited events; create, delete, and review the audit trail; create LBAC policies and labels; grant and revoke LBAC security labels and exemptions; create, drop, grant, and revoke database roles; and grant and revoke DAC access attributes. FMT_SMR.1a Security Management Roles – DB2 fulfills this requirement by defining system and security administrator and user roles. There is also a trusted context role which serves to differentiate trusted users from other TOE clients. 6.1.5 TOE Protection DB2 is designed to operate within a set of processes provided by the hosting operating system. DB2 does not support the ability to share its processes with non-TOE entities. Note that DB2 supports both ‘fenced’ and ‘unfenced’ routines. Fenced routines execute in their own process distinct from that of the DB2 server, while unfenced routines share the process with the DB2 server. Given that such routines are created by users and as such cannot be subject to evaluation, the evaluated configuration does not include any provisions for unfenced routines (i.e., they are not included in the evaluated configuration of the TOE). Furthermore, DB2 is designed in a manner that ensures that its interfaces do not offer unauthorized users any functions that might be used to corrupt, or otherwise inappropriately access, the TSF. As is the case with many application-only TOEs such as DB2, its protection mechanisms could be bypassed through the underlying environment should the assumptions (e.g., A.Platform) and requirements (e.g., FPT_SEP.1b) for the IT environment not be fulfilled. Note that determination of fulfillment of those assumptions and IT environment requirements is not within the scope of the TOE. DB2 has been designed to implement a number of DB2-specific objects and functions. Each DB2 object and function is available via interfaces provided by DB2, and each interface has been carefully designed to ensure that it only provides appropriate capabilities or access after necessary security checks have been made and approved. DB2 has been designed to collect current time information from its hosting operating system in a correct and consistent manner. Once it has been collected, DB2 ensures that it is not corrupted as it is being used by the DB2 TSF, thereby ensuring that it remains reliable. DB2 utilizes the IBM Global Security Kit (GSKit), which offers several cryptographic functions. In particular, when appropriately configured, DB2 can use the functions of GSKit to establish SSL connections initiated by java-based clients. These connections serve to protect all network communication of sensitive user credentials and user data between the client and DB2 server. The TOE Protection security function satisfies the following security requirements: FPT_RVM.1a Reference Mediation – DB2 fulfills this requirement by making sure that all applicable access checks are made by each of its interfaces before allowing access to DB2 resources. FPT_SEP.1a Domain separation – DB2 fulfills this requirement by being instantiated in its own processes, separate from any other potentially untrusted processes or executable code, and by managing distinct contexts for each of its users. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 53 FPT_STM.1a Reliable Time Stamps – DB2 fulfills this requirement by consistently collecting time information from the IT environment and then by protecting it while it is being used. Note that a similar requirement is levied on the IT environment to ensure that it also has access reliable timestamps. FTP_ITC.1 Inter-TSF trusted channel – DB2 fulfills this requirement by being able to establish a secure SSL connection between itself and java-based clients at the request of the client. 6.2 TOE Security Assurance Measures The following assurance measures are applied to satisfy the Common Criteria EAL 4 (augmented with ALC_FLR.1) assurance requirements: • Process Assurance, • Delivery and Guidance, • Design Documentation, • Tests, and • Vulnerability Assessment. 6.2.1 Process Assurance 6.2.1.1 Configuration Management The configuration management measures applied by IBM ensure that configuration items are uniquely identified, and that documented procedures are used to control and track changes that are made to the TOE. IBM ensures changes to the implementation representation are controlled with the support of automated tools and that TOE associated configuration item modifications are properly controlled. IBM performs configuration management on the TOE implementation representation, design, tests, user and administrator guidance, the CM documentation, and security flaws. These activities are documented in: • IBM DB2 Configuration Management Plan 6.2.1.2 Life cycle support IBM ensures the adequacy of the procedures used during the development and maintenance of the TOE through the use of a comprehensive life-cycle management plan. IBM includes security controls on the development environment that are adequate to provide the confidentiality and integrity of the TOE design and implementation that is necessary to ensure the secure operation of the TOE. IBM achieves this through the use of a documented model of the TOE life-cycle and well-defined development tools that yield consistent and predictable results. IBM has procedures for accepting and addressing identified flaws, including tracking, describing, correcting, and taking other remedial actions such as producing guidance related to such flaws. These procedures are documented in: • IBM DB2 Life-Cycle Plan The Process Assurance measures satisfy the following assurance requirements: • ACM_AUT.1 • ACM_CAP.4, • ACM_SCP.2, • ALC_DVS.1, • ALC_FLR.1, • ALC_LCD.1, and IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 54 • ALC_TAT.1. 6.2.2 Delivery and Guidance IBM provides delivery documentation and procedures to identify the TOE, allow detection of unauthorized modifications of the TOE and installation and generation instructions at start-up. IBM’s delivery procedures describe the electronic and non-electronic procedures to be used to detect modification to the TOE. IBM provides administrator and user guidance on how to utilize the TOE security functions and warnings to authorized administrators and users about actions that can compromise the security of the TOE. The installation and generation procedures, included in the administrator guidance, describe the steps necessary to install DB2 in accordance with the evaluated configuration. All of the delivery and installation procedures, as well as administrator and user guidance is documented in: • IBM DB2 Delivery Procedures document • IBM DB2 Common Criteria Certification: Administration and User Documentation • IBM DB2 Common Criteria Certification: Installing DB2 Enterprise Server Edition The Delivery and Guidance assurance measure satisfies the following assurance requirements: • ADO_DEL.2, • ADO_IGS.1, • AGD_ADM.1, and • AGD_USR.1. 6.2.3 Development The Design Documentation security assurance measure satisfies the following security assurance requirement: • ADV_FSP.2: The IBM DB2 Functional Specification fully describes all interfaces to the TSF. • ADV_HLD.2: The IBM DB2 High-level Design satisfies the requirement for decomposing the TOE into subsystems and fully describes each subsystem, including inter-subsytem interfaces. • ADV_LLD.1: The IBM DB2 Low-level Design satisfies the requirement to decompose each subsystem into modules and fully describes each module. • ADV_IMP.1: A subset of the source code used to generate the TOE satisfies this requirement. • ADV_RCR.1: Most of the correspondence between the various design documentation is implicit to the way in which the documentation is structured. The way that this correspondence is evident within the design documentation is: o ST-TSS to FSP: The IBM DB2 Functional Specification describes how the interfaces correspond with the security functions in the ST. o FSP to HLD: The IBM DB2 High-level Design describes how the various security behavior in the IBM DB2 Functional Specification are further refined. o HLD to LLD: The IBM DB2 Low-level Design describes how the various security behavior in the IBM DB2 High-level Design are further refined. o LLD to IMP: The IBM DB2 Low-level Design also serves to correspond modules with their specific implementations. • ADV_SPM.1: The IBM DB2 Security Model models the entities and rules related to the policies for identification and authentication, audit, and all of the information flow policies. Additionally, correspondence with the IBM DB2 Functional Specification is described. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 55 6.2.4 Tests The Tests assurance measure satisfies the following assurance requirements: • ATE_COV.2: The test case descriptions (in the IBM DB2 Functional Specification ) describe the test cases for each of the security-relevant interfaces of the TOE. The descriptions indicate which tests are used to satisfy the test cases identified for each interface. • ATE_DPT.1: The test case descriptions (in the IBM DB2 High-level Design) include more detailed test case descriptions that demonstrate that all of the corresponding interfaces are appropriately exercised. • ATE_FUN.1: The IBM DB2 Test Plan, describes the security functions to be tested, how to successfully test all of them, the expected results, and the actual test results after exercising all of the tests. • ATE_IND.2: The TOE and test documentation will be available for independent testing. 6.2.5 Vulnerability Assessment 6.2.5.1 Evaluation of Misuse The IBM DB2 Common Criteria Certification Guide describes the operation of DB2 and how to maintain a secure state. This guide also describes all operating assumptions and security requirements outside the scope of control of the TOE. It has been developed to serve as complete, clear, consistent, and reasonable administrator and user references. This guide is documented in: • IBM DB2 Common Criteria Certification: Administration and User Documentation The misuse analysis shows that the administrative and user guidance completely addresses managing the TOE in a secure configuration. • IBM DB2 Misuse Analysis 6.2.5.2 Strength of TOE Security Functions There are no strength of function claims associated with the DB2 TOE. Therefore, there is no strength of function analysis document. 6.2.5.3 Vulnerability Analysis IBM performs vulnerability analyses of the entire TOE (including documentation) to identify weaknesses that can be exploited in the TOE. The vulnerability analysis is documented in: • IBM DB2 Vulnerability Analysis The Vulnerability Assessment assurance measure satisfies the following assurance requirements: • AVA_MSU.2, • AVA_SOF.1, and • AVA_VLA.2. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 56 7. Protection Profile Claims There are no Protection Profile claims in this Security Target. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 57 8. Rationale This section includes the rationale for the functional and assurance requirements specified for the TOE. The rationale is based on specified objectives, threats, assumptions, and policies. 8.1 Security Objectives Rationale This section provides a rationale for the existence of each threat, policy statement, security objective, and component that comprise the protection profile. 8.1.1 Complete Coverage - Threats The TOE security objectives have been derived exclusively from statements of organizational security policy, and therefore, there are no explicitly defined threats countered by this profile. 8.1.2 Complete Coverage - Policy This section provides evidence demonstrating coverage of the Organizational Security Policy by both the IT and Non-IT security objectives. The following table shows this objective to policy mapping, and the table is followed by a discussion of the coverage for each Security Policy. Table 6 Mapping of Organizational Security Policies to Security Objectives Organizational Security Policy Security Objectives P.AUTHORIZED_USERS O.AUTHORIZATION OE.AUTHORIZATION O.MANAGE OE.MANAGE O.ENFORCEMENT OE.ENFORCEMENT OE.CRYPTO P.NEED_TO_KNOW O.DISCRETIONARY_ACCESS O.RESIDUAL_INFORMATION OE.RESIDUAL_INFORMATION O.ROLLBACK O.MANAGE OE.MANAGE O.ENFORCEMENT OE.ENFORCEMENT OE.CRYPTO P.ACCOUNTABILITY O.AUDITING OE.AUDITING O.MANAGE OE.MANAGE O.ENFORCEMENT OE.ENFORCEMENT OE.CRYPTO P.CLASSIFICATION O.MANDATORY_ACCESS O.RESIDUAL_INFORMATION O.MANAGE O.ENFORCEMENT OE.CRYPTO IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 58 The following discussion provides detailed evidence of coverage for each statement of organizational security policy: P.AUTHORIZED_USERS Only those users who have been authorized to access the information within the TOE may access the TOE. This policy is primarily realized by the O.AUTHORIZATION and OE.AUTHORIZATION objectives. The O.AUTHORIZATION and OE.AUTHORIZATION objectives require that the TOE and IT environment provide access only to authorized users. The O.MANAGE and OE.MANAGE objectives support this policy by requiring that an authorized administrator is able to manage the functions. The O.ENFORCEMENT and OE.ENFORCEMENT objectives ensure that functions are invoked and operate correctly. The OE.CRYPTO objective helps to protect sensitive data from disclosure when sent between remote clients and the TOE. P.NEED_TO_KNOW The TOE must limit the access to, modification of, and destruction of the information in protected resources to those authorized users which have a “need to know” for that information. This policy is primarily realized by the O.DISCRETIONARY_ACCESS objective, which allows authorized users to control access to resources based on user identities. The O.RESIDUAL_INFORMATION and OE.RESIDUAL_INFORMATION objectives ensure that information will not be given to users that do not have a need-to-know when resources are reused. The O.MANAGE and OE.MANAGE objectives support this policy by requiring that an authorized administrator is able to manage the functions. The O.ENFORCEMENT and OE.ENFORCEMENT objectives ensure that functions are invoked and operate correctly. The O.ROLLBACK objective ensures that any inadvertent operations performed on protected resources can be undone. The OE.CRYPTO objective helps to protect sensitive data from disclosure when sent between remote clients and the TOE. P.ACCOUNTABILITY The users of the TOE can be held accountable for their actions within the TOE. This policy is primarily realized by the O.AUDITING and OE.AUDITING objectives by requiring that actions can be recorded in an audit trail. The O.MANAGE and OE.MANAGE objectives support this policy by requiring that an authorized administrator is able to manage the functions. The O.ENFORCEMENT and OE.ENFORCEMENT objectives ensure that functions are invoked and operate correctly. The OE.CRYPTO objective helps to protect sensitive data from disclosure when sent between remote clients and the TOE. Note that while user can be held accountability when audit records are recorded, the TOE only must be able to record audit events. This feature is configurable and, at the discretion of the administrator, selectively audits user activity. Furthermore, the TOE could experience a failure, such as disk space exhaustion, that might prevent audit events from being recorded, but under normal circumstances the TOE will record the events selected by the administrator. P.CLASSIFICATION The system must be able to limit the access to information based on sensitivity, as represented by a label, of the information contained in objects, and the formal clearance of users, as represented by subjects, to access that information. The access rules enforced prevent a subject from accessing information which is of higher sensitivity than it is operating at. This policy is implemented by the O.MANDATORY_ACCESS objective. The O.RESIDUAL_INFORMATION objective ensures that information will not given to users which do not have a cleared access, when resources are reused. The O.MANAGE supports this policy by requiring authorized administrator be able to manage the functions and O.ENFORCEMENT ensures that functions are invoked and operate correctly. The OE.CRYPTO objective helps to protect sensitive data from disclosure when sent between remote clients and the TOE. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 59 8.1.3 Complete Coverage - Environmental Assumptions This section provides evidence demonstrating coverage of the Non-IT security objectives by the environmental assumptions. The following table shows this assumption to objective mapping. Table 7 Mapping of Environmental Assumptions to Non-IT Security Objectives Environmental Assumptions Non-IT Security Objectives A.MANAGE O.ASSIGN O.INSTALL A.NO_EVIL_ADM O.ADMIN_GUIDANCE O.ADMINISTRATORS O.INSTALL A.LOCATE O.PHYSICAL A.PROTECT A.CONNECT A.COOP O.COOP O.CREDEN A.PLATFORM O.PLATFORM A.CLEARANCE O.CREDEN A.MANAGE There will be one or more competent individuals assigned to manage the TOE and the security of the information it contains. This is addressed by O.ASSIGN, which ensures that competent individuals are assigned to manage the TOE and the security of its information, and by O.INSTALL, which ensures that the TOE is delivered, installed, managed and operated in a manner that maintains IT security. A.NO_EVIL_ADM The system administrative personnel are not careless, willfully negligent, or hostile, and will follow and abide by the instructions provided by the administrator documentation. This is primarily addressed by O.ADMINISTRATORS, which ensures that Administrators of the TOE and IT Environment must not be careless, willfully negligent or hostile, and must follow the instructions provided in the administrator guidance documentation. The O.ADMIN_GUIDANCE objective ensures that administrators receive guidance documentation enabling them to install, manage, and operate the TOE securely. This assumption is also addressed by O.INSTALL, which ensures that the TOE is delivered, installed, managed and operated in a manner that maintains IT security. A.LOCATE The processing resources of the TOE will be located within controlled access facilities, which will prevent unauthorized physical access. This is addressed by O.PHYSICAL which addresses those parts of the TOE which are critical to security policy are protected from physical attack. A.PROTECT The hardware and software critical to security policy enforcement will be protected from unauthorized physical modification. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 60 This is addressed by O.PHYSICAL which addresses those parts of the TOE which are critical to security policy are protected from physical attack. A.CONNECT All connections to peripheral devices reside within the controlled access facilities. The TOE only addresses security concerns related to the manipulation of the TOE through its authorized access points. Internal communication paths, including networks, to access points and between TOE instances are assumed to be adequately protected. This is addressed by O.PHYSICAL which ensures that those parts of the physical TOE and its associated IT environment critical to security policy are protected from attack that might compromise IT security objectives. A.COOP Authorized users possess the necessary authorization to access at least some of the information managed by the TOE and are expected to act in a cooperating manner in a benign environment. This is addressed by O.COOP, which ensures that authorized users possess the appropriate authorization to access at least some of the information managed by the TOE and act in a cooperative manner in a benign environment. This is also addressed by O.CREDEN that states that those responsible for the TOE must ensure that all access credentials such as passwords or other authentication information are protected by the users in a manner that maintains IT security objectives. A.PLATFORM The IT Environment underlying the TOE is assumed to fulfill the requirements for the IT Environment described in this Security Target. This is addressed by O.PLATFORM that basically reiterates the assumption to expect the IT Environment to provide a suitable and effective environment for the operation of the TOE. A.CLEARANCE Procedures exist for granting users authorization for access to specific security levels. It is further assumed the TOE administrators will be cleared to the highest security level processed by the TOE. This is addressed by O.CREDEN that states that credentials such as clearances, perhaps represented by security labels, must be associated with user appropriately. 8.2 Security Requirements Rationale This section provides evidence supporting the combined internal consistency and completeness of the requirements in this Security Target. 8.2.1 Internal Consistency of Requirements This section describes the mutual support and internal consistency of the components selected for this Security Target. These properties are discussed for both functional and assurance components. The functional components were selected from pre-defined CC components. Assignment, selection, and refinement operations were carried out among components using consistent computer security terminology. This helps to avoid the ambiguity associated with interpretations of meanings of terms between related components. Multiple instantiation of components was used to clearly state the required functionality that must exist in the TOE. Each security functional requirement in the ST was selected to avoid conflicts with other security functional requirements in the ST. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 61 The IT security functional requirements form a mutually supportive whole. Table 8 in Section 8.2.2 maps the functional components to security objectives. Table 9 in Section 8.4 demonstrates that the TOE security functional requirement dependencies have been satisfied. Additionally, Section 5 of the ST contains several security functional requirements that support other requirements, as detailed in the following table. Table 8 Function Requirements Supporting Other Requirements Security functional requirement Effect FAU_GEN.1 Detect attempts to bypass or tamper with other security functional requirements FAU_GEN.2 FAU_SAR.1 FAU_STG.4 FPT_RVM.1 Prevent other security functional requirements from being bypassed FPT_SEP.1b FAU_STG.1 Prevent other security functional requirements from being tampered with 8.2.2 Complete Coverage - Objectives This section demonstrates that the functional components selected for this Security Target provide complete coverage of the defined IT security objectives. The mapping of components to IT security objectives is depicted in the following table. Table 9 Mapping of Security Objectives to Functional Components Security Objective Functional Component O.AUTHORIZATION FIA_ATD.1a FIA_UAU.2a FIA_UID.2a OE.AUTHORIZATION FIA_ATD.1b FIA_SOS.1 FIA_UAU.2b FIA_UAU.7 FIA_UID.2b FMT_MTD.1d FMT_MTD.1e O.DISCRETIONARY_ACCESS FDP_ACC.1 FDP_ACF.1 FIA_ATD.1a FIA_USB.1 FMT_MSA.1a FMT_MSA.3a FMT_MTD.1f FMT_REV.1a O.MANDATORY_ACCESS FDP_IFC.1 FDP_IFF.2 FIA_ATD.1a FIA_USB.1 FMT_MOF.1 FMT_MSA.1b IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 62 Security Objective Functional Component FMT_MSA.3b O.AUDITING FAU_GEN.1a FAU_GEN.2 FAU_SAR.1 FAU_SAR.2 FAU_SAR.3 FAU_SEL.1 FAU_STG.1 FAU_STG.3 FAU_STG.4 FIA_USB.1 FMT_MTD.1a FMT_MTD.1b FMT_SMF.1a FPT_STM.1a OE.AUDITING FAU_GEN.1b FPT_STM.1b OE.CRYPTO FCS_CKM.1a FCS_CKM.1b FCS_COP.1a FCS_COP.1b FCS_COP.1c FCS_COP.1d FCS_COP.1e FCS_COP.1f FCS_COP.1g O.RESIDUAL_INFORMATION FDP_RIP.2a OE.RESIDUAL_INFORMATION FDP_RIP.2b O.ROLLBACK FDP_ROL.1 O.MANAGE FAU_SAR.1 FAU_SAR.3 FAU_SEL.1 FAU_STG.3 FAU_STG.4 FMT_SMF.1a FMT_SMR.1a OE.MANAGE FMT_MTD.1c FMT_MTD.1d FMT_MTD.1e FMT_REV.1b FMT_SMF.1b FMT_SMR.1b O.ENFORCEMENT FPT_RVM.1a FPT_SEP.1a FTP_ITC.1 OE.ENFORCEMENT FPT_RVM.1b FPT_SEP.1b The following discussion provides detailed evidence of coverage for each security objective: O.AUTHORIZATION The TSF must ensure that only authorized users gain access to the TOE and its resources. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 63 Users must be identified [FIA_UID.2a], authenticated [FIA_UAU.2a], and associated with available authorities and privileges [FIA_ATD.1a] before they can access the TOE and the resources it protects. OE.AUTHORIZATION The IT Environment must ensure that only authorized users gain access to the IT Environment and its resources. The IT Environment must support the TOE by ensuring that users are adequately authenticated on the TOE’s behalf. Users must be identified [FIA_UID.2b], authenticated [FIA_UAU.2b], and associated with available roles and privileges [FIA_ATD.1b] before they can access the IT Environment and the resources it protects. Furthermore, the authentication data must be protected [FIA_UAU.7, FMT_MTD.1d, FMT_MTD.1e] and the authentication mechanism must have suitable strength [FIA_SOS.1]. O.DISCRETIONARY_ACCESS The TSF must control access to resources based on identity of users. The TSF must allow authorized users to specify which users may access which resources. Discretionary access control must have a defined scope of control [FDP_ACC.1]. The rules of the DAC policy must be defined [FDP_ACF.1]. The security attributes of objects used to enforce the DAC policy must be defined [FDP_ACF.1]. Authorized users must be able to control who has access to objects [FMT_MSA.1a and FMT_MTD.1f] and be able to revoke that access [FMT_REV.1a]. Default protection must be available from an object’s creation [FMT_MSA.3a]. O.MANDATORY_ACCESS The TSF must be able to control access to resources based upon the sensitivity and categories of the information being accessed and the clearance of the subject attempting to access that information. Mandatory access control attributes and rules must be definable [FDP_IFF.2] and must have a definable scope of control [FDP_IFC.1]. Finally, if the MAC policy is to be enforced, it is required that it can be enabled and that attributes be associated with each object [FMT_MOF.1, FMT_MSA.1b, FMT_MSA.3b], and that the binding between processes and the attributes of the user on whose behalf they operate be correct and unforgable [FIA_ATD.1a, FIA_USB.1]. O.AUDITING The TSF must be able to record the security relevant actions of users of the TOE. The TSF must be able to present this information only to authorized administrators. Security-relevant actions must be defined, auditable [FAU_GEN.1], and capable of being associated with individual users [FAU_GEN.2, FIA_USB.1]. The audit trail must be protected so that only authorized users may access it [FAU_STG.1, FAU_SAR.2]. The TSF must provide the capability to audit specific types of actions [FAU_SEL.1] and the actions of individual users [FAU_SAR.3, FIA_USB.1]. The audit facility must have some defined behavior if the audit trail becomes full [FAU_STG.4]. The time stamp associated must be reliable [FPT_STM.1a]. An authorized administrator must be able to review [FAU_SAR.1], manage [FAU_STG.3, FMT_SMF.1a], and protect [FMT_MTD.1a, FMT_MTD.1b] the audit trail. OE.AUDITING The IT Environment must be able to record the security relevant actions of users of the IT Environment. Security-relevant actions must be defined and auditable in the IT Environment [FAU_GEN.1b] and the audit records must have reliable time stamps [FPT_STM.1b]. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 64 OE.CRYPTO The IT Environment must provide cryptographic services suitable to allow the TOE to establish secure SSL connections. Cryptographic keys must be generated in accordance with applicable standards [FCS_CKM.1a and FCS_CKM.1b] and cryptographic operations must be provided in a manner suitable to ensure that SSL connections can be instantiated [FCS_COP.1a through FCS_COP.1g]. O.RESIDUAL_INFORMATION The TSF must ensure that any information contained in a protected resource is not released when the resource is recycled. Residual information associated with defined objects in the TOE must be inaccessible during reuse of the object containing the residual information [FDP_RIP.2a]. OE.RESIDUAL_INFORMATION The IT Environment must ensure that any information contained in a protected resource is not released when the resource is recycled. Residual information associated with defined objects in the TOE must be purged prior to the reuse of the object containing the residual information [FDP_RIP.2b]. O.ROLLBACK The TSF must ensure that operations performed on information contained in a protected resource can be undone before the results have been committed. The TOE must provide a mechanism to undo any operation that can be expressed as SQL performed on a protected resources so long as it has not yet been committed [FDP_ROL.1]. O.MANAGE The TSF must provide all the functions and facilities necessary to support the authorized administrators that are responsible for the management of TOE security. The TSF must provide for an authorized administrator to manage the TOE [FMT_SMR.1a]. The administrator must be able to review and manage the audit trail [FAU_SAR.1, FAU_SAR.3, FAU_SEL.1, FAU_STG.3, FAU_STG.4, FMT_SMF.1a] along with all other security functions of the TOE [FMT_SMF.1a]. OE.MANAGE The IT Environment must provide all the functions and facilities necessary to support the authorized administrators that are responsible for the management of IT Environment security, including security relevant support for the TOE. The IT Environment must provide for an authorized administrator to manage the IT Environment [FMT_SMR.1b]. The administrator must be able to administer user accounts [FMT_MTD.1c, FMT_MTD.1d, FMT_MTD.1e, FMT_REV.1b, FMT_SMF.1b]. O.ENFORCEMENT IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 65 The TSF must be designed and implemented in a manner that ensures that the organizational policies are enforced in the target environment. The TSF must make and enforce the decisions of its security policies [FPT_RVM.1a]. The TSF must protect itself from interference that would prevent it from performing its functions [FPT_SEP.1a]. The correctness of this objective is further met through the assurance requirements defined in this Security Target. This objective provides global support to other security objectives for the TOE by protecting the parts of the TOE, which implement policies and ensures that policies are enforced. The TSF must be able to protect network communication that might otherwise allow one of its policies to be subverted [FTP_ITC.1]. OE.ENFORCEMENT The IT Environment must be designed and implemented in a manner that ensures that it can protect the operational IT Environment of the TOE. The IT Environment must provide a reliable time source for the use of both the TOE and the IT Environment. The IT Environment must make and enforce the decisions of its security policies [FPT_RVM.1b]. It must be protected from interference that would prevent it from performing its security functions [FPT_SEP.1b]. The IT Environment must also supply reliable time stamps [FPT_STM.1b]. 8.3 Assurance Requirements Rationale The TOE was developed based on the C2 requirements of the Trusted Computer System Evaluation Criteria (TCSEC). Those requirements have been reproduced in the Controlled Access Protection Profile (CAPP) using Common Criteria conventions. While the CAPP demands only EAL 3, this Security Target claims EAL 4 augmented with ALC_FLR.1. This added assurance is intended to provide consumers more confidence in the security features of the TOE so that the product may be used in a wider variety of environments. 8.4 Requirement Dependency Rationale The following table shows the security functional and assurance requirement dependencies that exist based on the security functional and assurance requirements (and iterations thereof) included in this Security Target. As indicated in the following table all of the dependencies are satisfied with the exception of those of FCS_CKM.1* and FCS_COP.1*. The dependencies for FMT_MSA.2 and FCS_CKM.4 are unresolved. Given that the depending functions are implemented in the IT environment it is assumed that those dependencies would be resolved in the IT environment in an appropriate manner. Note that in the left column TOE security functional requirements are identified normally, IT environment security functional requirements are italicized, and assurance requirements are underlined. Table 10 TOE Security Functional Requirement Dependencies ST Requirement CC Dependencies ST Dependencies FAU_GEN.1a FPT_STM.1 FPT_STM.1a/FPT_STM.1b FAU_GEN.2 FAU_GEN.1 and FIA_UID.1 FAU_GEN.1a and FIA_UID.2a FAU_SAR.1 FAU_GEN.1 FAU_GEN.1a FAU_SAR.2 FAU_SAR.1 FAU_SAR.1 FAU_SAR.3 FAU_SAR.1 FAU_SAR.1 FAU_SEL.1 FAU_GEN.1 and FMT_MTD.1 FAU_GEN.1a and FMT_MTD.1b FAU_STG.3 FAU_STG.1 FAU_STG.1 FAU_STG.4 FAU_STG.1 FAU_STG.1 FDP_ACC.1 FDP_ACF.1 FDP_ACF.1 IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 66 ST Requirement CC Dependencies ST Dependencies FDP_ACF.1 FDP_ACC.1 and FMT_MSA.3 FDP_ACC.1 and FMT_MSA.3a FDP_IFC.1 FDP_IFF.1 FDP_IFF.2 FDP_IFF.2 FDP_IFC.1 and FMT_MSA.3 FDP_IFC.1 and FMT_MSA.3b FDP_RIP.2a none none FDP_ROL.1 none none FIA_ATD.1a none none FIA_UAU.2a FIA_UID.1 FIA_UID.2a/FIA_UID.2b FIA_UID.2a none none FIA_USB.1 FIA_ATD.1 FIA_ATD.1a FMT_MOF.1 FMT_SMR.1 and FMT_SMF.1 FMT_SMR.1a and FMT_SMF.1a FMT_MSA.1a FMT_SMR.1 and FMT_SMF.1 and (FDP_ACC.1 or FDP_IFC.1) FMT_SMR.1a and FMT_SMF.1a and FDP_ACC.1 FMT_MSA.1b FMT_SMR.1 and FMT_SMF.1 and (FDP_ACC.1 or FDP_IFC.1) FMT_SMR.1a and FMT_SMF.1a and FDP_IFC.1 FMT_MSA.3a FMT_MSA.1 and FMT_SMR.1 FMT_MSA.1a and FMT_SMR.1a FMT_MSA.3b FMT_MSA.1 and FMT_SMR.1 FMT_MSA.1b and FMT_SMR.1a FMT_MTD.1a FMT_SMR.1 and FMT_SMF.1 FMT_SMR.1a and FMT_SMF.1a FMT_MTD.1b FMT_SMR.1 and FMT_SMF.1 FMT_SMR.1a and FMT_SMF.1a FMT_MTD.1f FMT_SMR.1 and FMT_SMF.1 FMT_SMR.1a and FMT_SMF.1a FMT_REV.1a FMT_SMR.1 FMT_SMR.1a FMT_SMF.1a none none FMT_SMR.1a FIA_UID.1 FIA_UID.2a FPT_RVM.1a none none FPT_SEP.1a none none FTP_ITC.1 none none FPT_STM.1a none none FAU_GEN.1b FPT_STM.1 FPT_STM.1b FAU_STG.1 FAU_GEN.1 FAU_GEN.1a/FAU_GEN.1b FCS_CKM.1a (FCS_CKM.2 or FCS_COP.1) and FCS_CKM.4 and FMT_MSA.2 FCS_COP.1a and FCS_COP.1c See note above regarding FCS_CKM.4 and FMT_MSA.2. FCS_CKM.1b (FCS_CKM.2 or FCS_COP.1) and FCS_CKM.4 and FMT_MSA.2 FCS_COP1.d, FCS_COP.1f, and FCS_COP.1g See note above regarding FCS_CKM.4 and FMT_MSA.2. FCS_COP.1a (FDP_ITC.1 or FCS_CKM.1) and FCS_CKM.4 and FMT_MSA.2 FCS_CKM.1a See note above regarding FCS_CKM.4 and FMT_MSA.2. FCS_COP.1b (FDP_ITC.1 or FCS_CKM.1) and FCS_CKM.4 and FMT_MSA.2 None – note that the applicable cryptogrpahic operation requires no key and hence the dependency on FDP_ITC.1 or FCS_CKM.1 is not applicable. See note above regarding FCS_CKM.4 and FMT_MSA.2. FCS_COP.1c (FDP_ITC.1 or FCS_CKM.1) and FCS_CKM.4 and FMT_MSA.2 FCS_CKM.1a See note above regarding FCS_CKM.4 and FMT_MSA.2. IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 67 ST Requirement CC Dependencies ST Dependencies FCS_COP.1d (FDP_ITC.1 or FCS_CKM.1) and FCS_CKM.4 and FMT_MSA.2 FCS_CKM.1b See note above regarding FCS_CKM.4 and FMT_MSA.2. FCS_COP.1e (FDP_ITC.1 or FCS_CKM.1) and FCS_CKM.4 and FMT_MSA.2 None – note that the applicable cryptogrpahic operation requires no key and hence the dependency on FDP_ITC.1 or FCS_CKM.1 is not applicable. See note above regarding FCS_CKM.4 and FMT_MSA.2. FCS_COP.1f (FDP_ITC.1 or FCS_CKM.1) and FCS_CKM.4 and FMT_MSA.2 FCS_CKM.1b See note above regarding FCS_CKM.4 and FMT_MSA.2. FCS_COP.1g (FDP_ITC.1 or FCS_CKM.1) and FCS_CKM.4 and FMT_MSA.2 FCS_CKM.1b See note above regarding FCS_CKM.4 and FMT_MSA.2. FDP_RIP.2b none none FIA_ATD.1b none none FIA_SOS.1 none none FIA_UAU.2b FIA_UID.1 FIA_UID.2b FIA_UAU.7 FIA_UAU.1 FIA_UAU.2b FIA_UID.2b none none FMT_MTD.1c FMT_SMR.1 and FMT_SMF.1 FMT_SMR.1b and FMT_SMF.1b FMT_MTD.1d FMT_SMR.1 and FMT_SMF.1 FMT_SMR.1b and FMT_SMF.1b FMT_MTD.1e FMT_SMR.1 and FMT_SMF.1 FMT_SMR.1b and FMT_SMF.1b FMT_REV.1b FMT_SMR.1 FMT_SMR.1b FMT_SMF.1b none none FMT_SMR.1b FIA_UID.1 FIA_UID.2b FPT_RVM.1b none none FPT_SEP.1b none none FPT_STM.1b none none ACM_AUT.1 ACM_CAP.3 ACM_CAP.4 ACM_CAP.4 ALC_DVS.1 ALC_DVS.1 ACM_SCP.2 ACM_CAP.3 ACM_CAP.4 ADO_DEL.2 ACM_CAP.3 ACM_CAP.4 ADO_IGS.1 AGD_ADM.1 AGD_ADM.1 ADV_FSP.2 ADV_RCR.1 ADV_RCR.1 ADV_HLD.2 ADV_FSP.1 and ADV_RCR.1 ADV_FSP.2 and ADV_RCR.1 ADV_IMP.1 ADV_LLD.1 and ADV_RCR.1 and ALC_TAT.1 ADV_LLD.1 and ADV_RCR.1 and ALC_TAT.1 ADV_LLD.1 ADV_HLD.2 and ADV_RCR.1 ADV_HLD.2 and ADV_RCR.1 ADV_RCR.1 none none ADV_SPM.1 ADV_FSP.1 ADV_FSP.2 AGD_ADM.1 ADV_FSP.1 ADV_FSP.2 AGD_USR.1 ADV_FSP.1 ADV_FSP.2 ALC_DVS.1 none none ALC_FLR.1 none none ALC_LCD.1 none none ALC_TAT.1 ADV_IMP.1 ADV_IMP.1 IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 68 ST Requirement CC Dependencies ST Dependencies ATE_COV.2 ADV_FSP.1 and ATE_FUN.1 ADV_FSP.2 and ATE_FUN.1 ATE_DPT.1 ADV_HLD.1 and ATE_FUN.1 ADV_HLD.2 and ATE_FUN.1 ATE_FUN.1 none none ATE_IND.2 ADV_FSP.1 and AGD_ADM.1 and AGD_USR.1 and ATE_FUN.1 ADV_FSP.2 and AGD_ADM.1 and AGD_USR.1 and ATE_FUN.1 AVA_MSU.2 ADO_IGS.1 and ADV_FSP.1 and AGD_ADM.1 and AGD_USR.1 ADO_IGS.1 and ADV_FSP.2 and AGD_ADM.1 and AGD_USR.1 AVA_SOF.1 ADV_FSP.1 and ADV_HLD.1 ADV_FSP.2 and ADV_HLD.2 AVA_VLA.2 ADV_FSP.1 and ADV_HLD.2 and ADV_IMP.1 and ADV_LLD.1 and AGD_ADM.1 and AGD_USR.1 ADV_FSP.2 and ADV_HLD.2 and ADV_IMP.1 and ADV_LLD.1 and AGD_ADM.1 and AGD_USR.1 While the FAU_GEN.2, FIA_UAU.2a, FMT_SMR.1a, FIA_UAU.2b, and FMT_SMR.1b requirements are dependent upon the FIA_UID.1 requirement, the FIA_UID.2 requirement is used in this ST. Note that FIA_UID.2 is hierarchical to FIA_UID.1. 8.5 Explicitly Stated Requirements Rationale This Security Target contains two explicitly stated requirements: FIA_UAU.2a and FPT_STM.1a. Each of these requirements is based on the CC versions of FIA_UAU.2 and FPT_STM.1, except that these explicitly stated versions specifically allow the IT environment to perform some aspect of the requirement which is not allowed in the original requirements. In the case of FIA_UAU.2a, the authentication function while the TOE enforces restrictions on services until the IT environment confirms the authenticity of applicable users. In the case of FPT_STM.1a, the IT environment provides timestamps that are subsequently collected, protected, and used by the TOE. Note that the functions implied by these requirements are completely fulfilled by a combination of the TOE and its IT environment and as such should be considered to satisfy any dependencies levied on FIA_UAU.2 or FPT_STM.1. 8.6 TOE Summary Specification Rationale The following table describes the association between the TOE Security Functions and the TOE Security Functional Requirements. This table in conjunction with rationale provided in Section 6.1 demonstrates that the TOE Security Functional Requirements are satisfied. Table 10 Security Function to TOE SFR Mapping Security Function Security Functional Components Security Audit FAU_GEN.1a Audit data generation FAU_GEN.2 User identity association FAU_SAR.1 Audit review FAU_SAR.2 Restricted audit review FAU_SAR.3 Selectable audit review FAU_SEL.1 Selective audit FAU_STG.3 Action in case of possible audit data loss FAU_STG.4 Prevention of audit data loss Access Control FDP_ACC.1 Subset access control FDP_ACF.1 Security attribute based access control FDP_IFC.1 Subset information flow control IBM DB2 Version 9.5.2 Enterprise Server Edition for Linux, Unix, and Windows Security Target September 22, 2008 Revision 1.0 69 Security Function Security Functional Components FDP_IFF.2 Hierarchical security attributes FDP_RIP.2a Full residual information protection FDP_ROL.1 Basic Rollback Identification & authentication FIA_ATD.1a User attribute definition FIA_UAU.2a User authentication before any action FIA_UID.2a User identification before any action FIA_USB.1 User-subject binding Security management FMT_MOF.1 Management of security functions behaviour FMT_MSA.1a Management of Security Attributes FMT_MSA.1b Management of Security Attributes FMT_MSA.3a Static Attribute Initialization FMT_MSA.3b Static Attribute Initialization FMT_MTD.1a Management of TSF data FMT_MTD.1b Management of TSF data FMT_MTD.1f Management of TSF data FMT_REV.1a Revocation FMT_SMF.1a Specification of Management Functions FMT_SMR.1a Security Management Roles TOE Protection FPT_RVM.1a Reference Mediation FPT_SEP.1a Domain Separation FPT_STM.1a Reliable Time Stamps FTP_ITC.1 Inter-TSF trusted channel Section 6.2 provides descriptions of how the TOE Security Assurance requirements are satisfied. 8.7 Strength of Function (SOF) Rationale Although an explicit requirement for the strength of secrets (FIA_SOS.1) is assigned to the IT environment, there are no TOE security functional requirements or security mechanisms that are permutational or probabilistic in nature. Therefore, no strength of function claim is made in this Security Target.