Information security technology-Security technical requirements and testing and evaluation approaches for application software of smart mobile terminals
Codeofchina.com is in charge of this English translation. In case of any doubt about the English translation, the Chinese original shall be considered authoritative.
This standard is developed in accordance with the rules given in GB/T 1.1-2009.
This standard was proposed by and is under the jurisdiction of the National Technical Committee on Information Security of Standardization Administration of China (SAC/TC 260).
Information security technology — Security technical requirements and testing and evaluation approaches for application software of smart mobile terminals
1 Scope
This standard specifies the security technical requirements and test assessment methods for application software of smart mobile terminal.
This standard is applicable to the security protection and test evaluation of the development, operation and maintenance of application software of smart mobile terminal, but not applicable to the evaluation of malicious application software of smart mobile terminal.
2 Normative references
The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
GB/T 18336.3-2015 Information technology ― Security techniques ― Evaluation criteria for IT security ― Part 3: Security assurance components
GB/T 25069-2010 Information security technology ― Glossary
3 Terms and definitions
For the purposes of this document, the terms and definitions given in GB 18336.3-2015 and GB 25069-2010 and the following apply.
3.1
smart mobile terminal
terminal mobile communication products that access the public mobile communication network, have an operating system, and may be installed and uninstalled applications by users
3.2
operating system of smart mobile terminal
most basic system software of smart mobile terminal used to control and manage various hardware and software resources of smart mobile terminal, and provided with application software development interface
3.3
application software of smart mobile terminal
application software developed for smart mobile terminal includes the preset third-party application software of smart mobile terminal and the application software provided by Internet information service providers that can be downloaded, installed and upgraded through mobile application distribution platforms such as websites and application stores
4 Security technical requirements
4.1 Security functional requirements
4.1.1 Security of installation and uninstallation
4.1.1.1 Installation requirements
The installation of terminal application software needs to be explicitly authorized. Its installation process can only run in a specific environment, and its running environment cannot be damaged. The specific technical requirements are as follows:
a) Include signature information and software attribute information that may effectively characterize the identity of the supplier or developer;
b) Correctly install it on relevant smart mobile terminal and generate corresponding icons;
c) Terminal operating system users shall be prompted to confirm the terminal resources and terminal data they use during installation;
d) The normal operation of terminal operating system and other application software shall not be affected.
4.1.1.2 Uninstallation requirements
The normal use of the smart mobile terminal will be not affected after the terminal application software is uninstalled. The specific technical requirements are as follows:
a) The resource files, configuration files and user data generated in installation and use shall be able to deleted;
b) Prompt shall be given when deleting the data generated in use;
c) The functions of terminal operating system and other application software shall not be affected.
4.1.2 Identification mechanism
4.1.2.1 Identity authentication
If the terminal application software involves user sensitive data, an effective identity authentication mechanism shall be provided for the visiting user. The specific technical requirements are as follows:
a) Before a user accesses an application service, the terminal application software authenticates his identity and provides measures for authentication failure;
b) Have the function of locking or logout after login timeout.
4.1.2.2 Password security mechanism
If the user password is involved in the use of terminal application software, the specific technical requirements are as follows:
a) It shall not be displayed and stored in plaintext during use;
b) The user name and password with which the user last logged in shall not be saved by default;
c) Have password strength checking mechanism;
d) Have password timeliness checking mechanism;
e) When modifying or retrieving passwords, there is a verification mechanism;
f) Keyboard anti-hijacking mechanism shall be provided during use.
4.1.2.3 Verification code security mechanism
If the verification codes involved in the use of terminal application software include graphic and SMS verification codes, the specific technical requirements are as follows:
a) The verification code shall be generated on the terminal application software server;
b) The graphic verification code shall be able to resist machine recognition to some extent;
c) Anti-replay attack mechanism with SMS verification code shall be provided.
4.1.3 Access control
4.1.3.1 User-based control
If the terminal application software involves user sensitive data, an effective authorization mechanism shall be provided for accessing users. The specific technical requirements are as follows:
a) Authorized users cannot access the content beyond the scope of authorization;
b) Restrict multiple concurrent sessions with user accounts.
4.1.3.2 Application software restriction
Terminal application software shall access terminal data and terminal resources with explicit permission from terminal operating system users. The specific technical requirements are as follows:
a) Terminal data and terminal resources shall not be accessed without permission;
b) Terminal data shall not be modified or deleted without permission; terminal resource configuration shall not be modified without permission.
4.1.4 Data security
4.1.4.1 Data storage security
Terminal application software shall not store user sensitive data in plaintext to prevent unauthorized access to data.
4.1.4.2 Data transmission security
Terminal application software shall not transmit user sensitive data in plaintext through the network to prevent unauthorized access to data.
4.1.4.3 Data deletion
If the terminal application software has the data deletion function, it shall be clearly prompted before the data is deleted, and the user shall reconfirm the deletion.
4.1.4.4 Data backup and recovery
If the terminal application software has backup and recovery functions, the specific technical requirements are as follows:
a) The backup mechanism shall be complete and effective, and the backup data shall be protected;
b) The availability and integrity of the recovered data shall be verified before use.
4.1.5 Operational security
4.1.5.1 Security implementation
Terminal application software shall ensure the security of the program itself:
a) There shall be no entrance of any type that violates or bypasses the security rules and entrance of any mode not described in the document;
b) There shall be a security mechanism to prevent the program from being decompiled and anti-debugged;
c) There shall be no published high-risk loopholes.
4.1.5.2 Stability
Terminal application software shall ensure its stable operation and avoid similar phenomena such as function failure. The specific requirements are as follows:
a) It shall not cause terminal collapse or abnormal situation;
b) avoid the phenomenon of losing response and flashback;
c) It is allowed to stop and exit at any time.
4.1.5.3 Error tolerance
Terminal application software shall be able to handle predictable error operation and shall not let this affect the normal operation of the program.
4.1.5.4 Resource occupation
The operation of terminal application software shall not occupy terminal resources permanently or unlimitedly, and shall not affect legal user login and resource access to the terminal.
4.1.5.5 Upgrade
Terminal application software shall support software update, with specific technical requirements as follows:
a) Adopt at least one security mechanism to ensure the timeliness and accuracy of upgrade;
b) Ensure the effectiveness of the security mechanism of terminal application software.
4.1.6 Other security requirements
The terminal application software server shall at least meet the following requirements:
a) Sensitive information of user shall not be stored in plaintext in database or file system;
b) Passwords in plaintext shall not be saved in Cookie;
c) Session protection measures shall be taken to ensure that the session between the terminal application software and the server is not eavesdropped, tampered, forged or replayed;
d) The sensitive information of user shall not be recorded in the server-side log. If it is really necessary to record sensitive information in server-side log, it shall be fuzzified;
e) Ensure the safe storage of log data on the server side and strictly limit the access authority of log data;
f) If open-source-third-party application components and codes are used, patches shall be updated in time for published security vulnerabilities;
g) There shall be no published high-risk vulnerabilities on the server side.
4.2 Security assurance requirements
4.2.1 Development
4.2.1.1 Security architecture
The developer shall provide the security architecture description of the security function of the terminal application software, which shall meet the following requirements:
a) It shall comply with the abstract description level of security functions in product design documents;
b) Describe the security domain of the security function of terminal application software consistent with the security function requirements;
c) Describe why the initialization process of security function of terminal application software is safe;
d) Verify that the security function of terminal application software can be prevented from being destroyed;
e) Verify that the security function of terminal application software can prevent the security features from being bypassed.
4.2.1.2 Function specification
The developer shall provide complete functional specification, which shall meet the following requirements:
a) Fully describe the security functions of terminal application software;
b) Describe the purpose and usage of all security function interfaces;
c) Identify and describe the parameters related to security functions of terminal application software;
d) Describe the security function demand implementation related to security function interfaces;
e) Describe direct error messages caused by security function execution behavior and abnormality;
f) Verify traceability of security function requirements to security function interfaces.
4.2.1.3 Product design
The developer shall provide product design documents, which shall meet the following requirements:
a) Describe the structure of terminal application software base on subsystem;
b) Identify and describe all subsystems of terminal application software security function;
c) Describe the interaction among all subsystems of the security functions;
d) The provided mapping relationship shall demonstrate that all of the behaviors described in the design can be mapped to the security function interface that calls it.
4.2.2 Guidance documents
4.2.2.1 User operation guide
The developer shall provide clear and reasonable user operation guide, which is consistent with all other documents provided for evaluation. The description of each user role shall meet the following requirements:
a) Describe the functions and privileges that are accessible for controlled users in a secure processing environment, including proper warning messages;
b) Describe how to securely use the available interface provided by the product;
c) Describe the available functions and interfaces, especially all security parameters controlled by users; if necessary, indicate security values;
d) Clearly explain each security-related event related to the user-accessible function to be executed, including changing the security characteristics of the entity controlled by the security function;
e) Identify all possible states of terminal application software operation (including failure or operational error caused by operation), and their causal relationship and connection with maintaining safe operation;
f) Fully achieve security policies that are implemented for security purposes.
4.2.2.2 Preparation procedure
The developer shall provide terminal application software and its preparation program, and the preparation program description shall meet the following requirements:
a) Describe all steps required for safely receiving the terminal application software delivered, which shall be consistent with developer’s delivery procedures;
b) Describe all steps required by safe terminal application software installation and operational environment.
4.2.3 Life cycle support
Foreword i
1 Scope
2 Normative references
3 Terms and definitions
4 Security technical requirements
4.1 Security functional requirements
4.2 Security assurance requirements
5 Test and evaluation methods
5.1 Security requirement test
5.2 Security assurance test
ICS 35.040
L 80
GB
中华人民共和国国家标准
GB/T 34975—2017
_______________________________________
信息安全技术 移动智能终端应用软件
安全技术要求和测试评价方法
Information security technology—Security technical requirements and testing and
evaluation approaches for application software of smart mobile terminals
2017-11-01发布 2018-05-01实施
中华人民共和国国家质量监督检验检疫总局
中国国家标准化管理委员会 发布
前 言
本标准按照GB/T 1.1—2009给出的规则起草。
本标准由全国信息安全标准化技术委员会(SAC/TC 260)提出并归口。
信息安全技术 移动智能终端应用软件
安全技术要求和测试评价方法
1 范围
本标准规定了移动智能终端应用软件的安全技术要求和测试评价方法。
本标准适用于移动智能终端应用软件的开发、运作与维护等生存周期过程的安全保护与测试评估,不适用于移动智能终端恶意软件的评估。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 18336.3—2015 信息技术 安全技术 信息技术安全评估准则 第3部分:安全保障组件
GB/T 25069—2010 信息安全技术 术语
3 术语和定义
GB/T 18336.3—2015和GB/T 25069—2010界定的以及下列术语和定义适用于本文件。
3.1 移动智能终端 smart mobile terminal
接入公众移动通信网络、具有操作系统、可由用户自行安装和卸载应用软件的移动通信终端产品。
3.2 移动智能终端操作系统 operating system of smart mobile terminal
移动智能终端最基本的系统软件,用于控制和管理移动智能终端各种硬件和软件资源,并提供应用程序开发接口。
3.3 移动智能终端应用软件 application software of smart mobile terminal
针对移动智能终端开发的应用软件,包括移动智能终端预置的第三方应用软件,以及互联网信息服务提供者提供的可以通过网站、应用商店等移动应用分发平台下载、安装和升级的应用软件。
4 安全技术要求
4.1 安全功能要求
4.1.1 安装及卸载安全
4.1.1.1 安装要求
终端应用软件的安装需得到明确授权,其安装过程只能运行在特定环境中且不能破坏其运行环境。具体技术要求如下:
a) 包含可有效表征供应者或开发者身份的签名信息、软件属性信息;
b) 正确安装到相关移动智能终端上,并生成相应的图标;
c) 安装时应提示终端操作系统用户对其使用的终端资源和终端数据进行确认;
d) 不应对终端操作系统和其他应用软件的正常运行造成影响。
4.1.1.2 卸载要求
终端应用软件卸载后,不影响移动智能终端的正常使用。具体技术要求如下:
a) 应能删除安装和使用过程中产生的资源文件、配置文件和用户数据;
b) 删除用户使用过程中生成的数据时应有提示;
c) 不应影响终端操作系统和其他应用软件的功能。
4.1.2 鉴别机制
4.1.2.1 身份认证
若终端应用软件涉及用户敏感数据,则应对访问用户提供有效的身份认证机制。具体技术要求如下:
a) 在用户访问应用业务前,终端应用软件对其身份进行鉴别,并提供鉴别失败处理措施;
b) 具备登录超时后的锁定或注销功能。
4.1.2.2 口令安全机制
若终端应用软件使用过程中涉及用户口令,则具体技术要求如下:
a) 在使用过程中不应以明文形式显示和存储;
b) 不应默认保存用户上次的账号及口令信息;
c) 具备口令强度检查机制;
d) 具备口令时效性检查机制;
e) 修改或找回口令时,具备验证机制;
f) 在使用过程中应具备防键盘劫持机制。
4.1.2.3 验证码安全机制
若终端应用软件使用过程中涉及验证码包括图形和手机短信验证码,则具体技术要求如下:
a) 验证码应在终端应用软件服务端生成;
b) 图形验证码应具备一定的抗机器识别能力;
c) 应具有短信验证码防重放攻击机制。
4.1.3 访问控制
4.1.3.1 基于用户的控制
若终端应用软件涉及用户敏感数据,则应对访问用户提供有效的授权机制。具体技术要求如下:
a) 授权用户访问的内容不能超出授权的范围;
b) 限制应用用户账号的多重并发会话。
4.1.3.2 对应用软件的限制
终端应用软件访问终端数据和终端资源应经过终端操作系统用户明确的许可。具体技术要求如下:
a) 未得到许可前不应访问终端数据和终端资源;
b) 未得到许可前不应修改和删除终端数据,不应修改终端资源的配置。
4.1.4 数据安全
4.1.4.1 数据存储安全
终端应用软件不应以明文形式存储用户敏感数据,以防止数据被未授权获取。
4.1.4.2 数据传输安全
终端应用软件不应以明文形式通过网络传输用户敏感数据,以防止数据被未授权获取。
4.1.4.3 数据删除
终端应用软件若具备数据删除功能,在删除数据前应明确提示用,并由用户再次确认是否删除数据。
4.1.4.4 备份和恢复
终端应用软件若具备备份和恢复功能,具体技术要求如下:
a) 备份机制应完整有效,且应对备份数据进行保护;
b) 恢复数据在使用前应校验其可用性、完整性。
4.1.5 运行安全
4.1.5.1 实现安全
终端应用软件应保证程序自身的安全性:
a) 不应设计有违反或绕过安全规则的任何类型的入口和文档中未说明的任何模式的入口;
b) 应具备安全机制防止程序被反编译、反调试;
c) 应不存在已公布的高危风险漏洞。
4.1.5.2 稳定性
终端应用软件应保证其稳定运行,避免出现功能失效等类似现象。具体要求如下:
a) 不应造成终端崩溃或异常的情况;
b) 避免出现失去响应、闪退等现象;
c) 允许随时停止、退出。
4.1.5.3 容错性
终端应用软件应能处理可预知的错误操作,不应影响程序的正常工作。
4.1.5.4 资源占用
终端应用软件的运行对终端资源,不应长时间固定或无限制占用,不应影响对终端合法的用户登录和资源访问。
4.1.5.5 升级
终端应用软件应支持软件的更新,具体技术要求如下:
a) 至少采取一种安全机制,保证升级的时效性和准确性;
b) 保证终端应用软件安全机制的有效性。
4.1.6 其他安全要求
终端应用软件服务端应至少满足如下要求:
a) 不应在数据库或文件系统中明文存储用户敏感信息;
b) 不应在Cookie中保存明文口令;
c) 应采取会话保护措施保障终端应用软件与服务端之间的会话不被窃听、篡改、伪造和重放;
d) 不应在服务器端日志中记录用户敏感信息,如果确实需要记录敏感信息,则应进行模糊化处理;
e) 应确保服务器端日志数据的安全存储,并严格限制日志数据的访问权限;
f) 如使用开源第三方应用组件及代码,应对已公布的安全漏洞及时更新补丁;
g) 服务器端应不存在已公布的高危风险漏洞。
4.2 安全保障要求
4.2.1 开发
4.2.1.1 安全架构
开发者应提供终端应用软件安全功能的安全架构描述,安全架构描述应满足以下要求:
a) 与产品设计文档中对安全功能实施抽象描述的级别一致;
b) 描述与安全功能要求一致的终端应用软件安全功能的安全域;
c) 描述终端应用软件安全功能初始化过程为何是安全的;
d) 证实终端应用软件安全功能能够防止被破坏;
e) 证实终端应用软件安全功能能够防止安全特性被旁路。
4.2.1.2 功能规范
开发者应提供完备的功能规范说明,功能规范说明应满足以下要求:
a) 完全描述终端应用软件的安全功能;
b) 描述所有安全功能接口的目的与使用方法;
c) 标识和描述每个安全功能接口相关的所有参数;
d) 描述安全功能接口相关的安全功能实施行为;
e) 描述由安全功能实施行为处理而引起的直接错误消息;
f) 证实安全功能要求到安全功能接口的追溯。
4.2.1.3 产品设计
开发者应提供产品设计文档,产品设计文档应满足以下要求:
a) 根据子系统描述终端应用软件结构;
b) 标识和描述终端应用软件安全功能的所有子系统;
c) 描述安全功能所有子系统间的相互作用;
d) 提供的映射关系能够证实设计中描述的所有行为能够映射到调用它的安全功能接口。
4.2.2 指导性文档
4.2.2.1 操作用户指南
开发者应提供明确和合理的操作用户指南,操作用户指南与为评估而提供的其他所有文档保持一致,对每一种用户角色的描述应满足以下要求:
a) 描述在安全处理环境中被控制的用户可访问的功能和特权,包含适当的警示信息;
b) 描述如何以安全的方式使用终端应用软件提供的可用接口;
c) 描述可用功能和接口,尤其是受用户控制的所有安全参数,适当时指明安全值;
d) 明确说明与需要执行的用户可访问功能有关的每一种安全相关事件,包括改变安全功能所控制实体的安全特性;
e) 标识终端应用软件运行的所有可能状态(包括操作导致的失败或者操作性错误),以及它们与维持安全运行之间的因果关系和联系;
f) 充分实现安全目的所执行的安全策略。
4.2.2.2 准备程序
开发者应提供终端应用软件及其准备程序,准备程序描述应满足以下要求:
a) 描述与开发者交付程序相一致的安全接收所交付终端应用软件必需的所有步骤;
b) 描述安全安装终端应用软件及其运行环境必需的所有步骤。
4.2.3 生命周期支持
4.2.3.1 配置管理能力
开发者的配置管理能力应满足以下要求:
a) 为终端应用软件的不同版本提供唯一的标识;
b) 使用配置管理系统对组成终端应用软件的所有配置项进行维护,并唯一标识配置项;
c) 提供配置管理文档,配置管理文档描述用于唯一标识配置项的方法。
4.2.3.2 配置管理范围
开发者应提供终端应用软件配置项列表,并说明配置项的开发者。配置项列表至少包含终端应用软件、安全保障要求的评估证据和终端应用软件的组成部分。
4.2.3.3 交付程序
开发者应使用一定的交付程序交付终端应用软件,并将交付过程文档化。在给用户方交付终端应用软件的各版本时,交付文档应描述为维护安全所必需的所有程序。
4.2.4 测试
4.2.4.1 覆盖
开发者应提供测试覆盖文档,测试覆盖描述应表明测试文档中所标识的测试与功能规范中所描述的终端应用软件的安全功能间的对应性。
4.2.4.2 功能测试
开发者应测试终端应用软件安全功能,将结果文档化并提供测试文档。测试文档应包括以下内容:
a) 测试计划,标识要执行的测试,并描述执行每个测试的方案,这些方案包括对于其他测试结果的任何顺序依赖性;
b) 预期的测试结果,表明测试成功后的预期输出;
c) 实际测试结果和预期的测试结果一致。
4.2.4.3 独立测试
开发者应提供一组与其自测安全功能时使用的同等资源,以用于安全功能的抽样测试。
4.2.5 脆弱性评定
基于已标识的潜在脆弱性,终端应用软件能够抵抗具有基本攻击潜力攻击者的攻击。
5 测试评价方法
5.1 安全要求测试
5.1.1 安装及卸载安全
5.1.1.1 安装要求
安装要求的测试评价方法如下:
a) 测试方法:
1) 在移动智能终端上指定位置安装终端应用软件;
2) 检查应用软件是否包含供应者或开发者的签名信息、软件属性信息(如名称、版本信息和描述等);
3) 检查终端应用软件是否提示操作系统用户对其使用的终端资源(如网络通信模块、摄像头、导航定位等)和终端数据(如相册、通讯录等)进行确认;
4) 运行终端应用软件,检查是否对终端操作系统、其他应用软件(包括预置应用软件)的使用造成影响。
b) 预期结果:
1) 能够安装到移动智能终端上,并生成相应图标;
2) 包含供应者或开发者的签名信息、软件属性信息;
3) 提示终端操作系统用户对其使用的终端资源和终端数据进行确认;
4) 终端应用软件安装后,终端操作系统和其他应用软件仍能正常使用。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.1.2 卸载要求
卸载要求的测试评价方法如下:
a) 测试方法:
1) 卸载终端应用软件,检查其安装及使用生成的文件和数据是否能完全删除;
2) 检查删除用户数据时(如业务数据)是否有提示;
3) 检查是否对终端操作系统、其他应用软件(包括预置应用软件)的使用造成影响。
b) 预期结果:
1) 卸载时能够将其安装及使用过程产生的数据全部删除;
2) 删除用户数据时能够提示用户;
3) 卸载后系统软件和其他应用软件仍能正常使用。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.2 鉴别机制
5.1.2.1 身份认证
身份认证的测试评价方法如下:
a) 测试方法:
1) 检查在用户访问应用业务前,终端应用软件是否对其身份进行鉴别;
2) 连续尝试登录失败时,检查终端应用软件是否具备鉴别失败处理措施(如锁定账号等);
3) 用户登录后长时间不进行任何操作。
b) 预期结果:
1) 只有身份认证成功的应用用户才能使用终端应用软件;
2) 具备鉴别失败处理措施;
3) 具备登录超时后的锁定或注销功能。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.2.2 口令安全机制
口令安全机制的测试评价方法如下:
a) 测试方法:
1) 在终端应用软件中输入口令,检查口令是否以明文形式显示或存储;
2) 检查终端应用软件是否默认保存用户上次的账号及口令信息;
3) 检查终端应用软件是否具备口令强度检查机制(如口令长度、复杂度要求等);
4) 检测终端应用软件是否具备口令时效性检查机制(如主动提示用户定期修改口令等);
5) 检测终端应用软件在修改或找回口令时,是否具备验证机制(如验证手机号码等);
6) 检查终端应用软件是否具备防键盘劫持机制。
b) 预期结果:
1) 口令在使用、存储过程中不出现明文;
2) 未保存用户上次的账号及口令信息;
3) 具备口令强度检查机制,初始化及修改用户口令时,能够根据策略检查输入口令的长度和复杂度,若输入的口令不符合口令强度要求,能够提示,并要求重新设置有效口令;
4) 具备口令时效性检查机制,能够主动提示用户修改口令;
5) 修改或找回口令时,具备验证机制,以防止口令的被非授权获取或篡改;
6) 口令在使用过程中具备防键盘劫持机制,无法劫持获取用户输入的口令。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.2.3 验证码安全机制
验证码安全机制的测试评价方法如下:
测试方法:
1) 检查终端应用软件验证码是否在服务端生成而不是在客户端生产;
2) 检查终端应用软件图形验证码是否可以被机器识别出明文;
3) 检查终端应用软件手机短信验证码是否具备限制应用用户短信验证码的多重发送机制。
b) 预期结果:
1) 验证码在服务端生成;
2) 图片验证码在使用过程中具备一定的抗机器识别能力;
3) 终端应用软件手机短信验证码具有防重放攻击机制。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.3 访问控制
5.1.3.1 基于用户的控制
基于用户的控制的测试评价方法如下:
a) 测试方法:
1) 用户成功登录后,分别访问其授权和非授权的业务;
2) 使用同一用户账号在其他终端上同时登录。
b) 预期结果:
1) 应用用户仅能访问授权业务;
2) 对用户账号的多重并发会话进行限制。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.3.2 对应用软件的限制
对应用软件的限制的测试评价方法如下:
a) 测试方法:
1) 检查终端应用软件访问、修改和删除终端数据前是否明确经过终端操作系统用户的许可;
2) 检查终端应用软件访问、修改终端资源及其配置是否明确经过终端操作系统用户的许可。
b) 预期结果:
1) 未经过终端操作系统用户明确许可前,终端应用软件不能访问、修改和删除终端数据;
2) 未经过终端操作系统用户明确许可前,终端应用软件不能访问、修改终端资源及其配置。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.4 数据安全
5.1.4.1 数据存储安全
数据存储安全的测试评价方法如下:
a) 测试方法:
处理用户敏感数据(如金融账户、联系人信息、聊天信息等)时,检查应用软件是否以明文形式写入文件中。
b) 预期结果:
不以明文形式将用户敏感数据写到任何文件中。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.4.2 数据传输安全
数据传输安全的测试评价方法如下:
a) 测试方法:
截取数据包,检查应用软件是否以明文形式通过网络传输用户敏感数据。
b) 预期结果:
不以明文形式通过网络传输用户敏感数据。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.4.3 数据删除
数据删除的测试评价方法如下:
a) 测试方法:
1) 检在终端应用软件是否提供数据删除的功能;
2) 检查在数据删除前,终端应用软件是否明确提示用户,并由用户再次确认是否删除数据。
b) 预期结果:
1) 提供数据删除功能;
2) 在数据删除之前,终端应用软件能够明确通知用户,用户能够进一步确认或取消数据删除操作。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.4.4 备份和恢复
备份和恢复的测试评价方法如下:
a) 测试方法:
1) 检查终端应用软件是否提供数据备份和恢复机制;
2) 检查存储的备份数据是否为明文;
3) 数据恢复后,检查终端应用软件是否进行校验。
b) 预期结果:
1) 提供有效的数据备份和恢复机制;
2) 对备份数据进行保护;
3) 恢复数据在使用前校验其有效性、完整性。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.5 运行安全
5.1.5.1 实现安全
实现安全的测试评价方法如下:
a) 测试方法:
1) 检查终端应用软件(如分析源代码)是否存在有违反或绕过安全规则的任何类型的接口,以及文档中未说明的接口;
2) 检查终端应用软件是否具备安全机制防止程序被反编译、反调试;
3) 测试终端应用软件是否存在已公布的高危风险漏洞。
b) 预期结果:
1) 不留有任何违反或绕过安全规则的任何类型的接口;
2) 提供有效的机制(如混淆技术)防止程序被反编译、反调试;
3) 不存在已公布的高危风险漏洞。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.5.2 稳定性
稳定性的测试评价方法如下:
a) 测试方法:
1) 在测试过程中,检查终端应用软件是否出现失去响应、非正常退出、功能失效和造成系统崩溃等异常现象;
2) 检查终端应用软件是否提供停止、退出的功能。
b) 预期结果:
1) 测试过程中,终端应用软件稳定运行,未出现失去响应、非正常退出、功能失效和造成系统崩溃等现象;
2) 运行过程中,终端应用软件能够随时停止、退出。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.5.3 容错性
容错性的测试评价方法如下:
a) 测试方法:
尝试输入错误的操作(如输入数据类型、长度等),检查应用软件是否能够处理。
b) 预期结果:
支持处理可预知的用户错误操作,且不影响程序的正常工作。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.5.4 资源占用
资源占用的测试评价方法如下:
a) 测试方法:
在终端上测试终端应用的资源占用情况。
b) 预期结果:
未出现长时间、无限制占用终端系统资源的情况。
c) 结果判定。
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.5.5 升级
升级的测试评价方法如下:
a) 测试方法:
1) 检查终端应用软件是否提供软件的升级功能;
2) 检查终端应用软件是否提供安全机制,从而保证升级的时效性(如自动升级、更新通知等)和准确性(如完整性校验)。
b) 预期结果:
1) 具备升级功能;
2) 更新过程中,采用安全机制保证升级的时效性和准确性。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.1.6 其他安全要求
其他安全要求的测试评价方法如下:
a) 测试方法:
1) 检查终端应用软件服务端是否在数据库或文件系统中明文存储用户敏感信息;
2) 检查是否存在Cookie中保存明文口令的现象;
3) 检查是否提供措施保障终端应用软件与服务端之间的会话不被窃听、篡改、伪造和重放;
4) 检查终端应用软件服务端日志是否涉及用户敏感信息;
5) 检查终端应用软件服务端日志是否严格限制访问权限;
6) 测试开源第三方应用组件及代码是否及时更新补丁;
7) 检查应用软件服务端是否存在高危风险安全漏洞。
b) 预期结果:
1) 终端应用软件服务端未在数据库或文件系统中明文存储用户敏感信息;
2) 不存在Cookie中保存明文口令的现象;
3) 采取会话保护措施保障终端应用软件与服务端之间的会话不可被窃听、篡改、伪造和重放等;
4) 终端应用软件服务端日志中未涉及用户敏感信息,或对录敏感信息进行了模糊化处理;
5) 终端应用软件服务端安全存储日志数据,并严格限制日志数据的访问权限;
6) 开源第三方应用组件及代码及时更新补丁,不存在已公布的安全漏洞;
7) 应用软件服务端不存在已公布的高危风险漏洞。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2 安全保障要求测试
5.2.1 开发
5.2.1.1 安全架构
安全架构的测试评价方法如下:
a) 测试方法:
审查安全架构文档是否准确描述如下内容:
1) 与产品设计文档中对安全功能实施抽象描述的级别一致;
2) 描述与安全功能要求一致的终端应用软件安全功能的安全域;
3) 描述终端应用软件安全功能初始化过程为何是安全的;
4) 证实终端应用软件安全功能能够防止被破坏;
5) 证实终端应用软件安全功能能够防止安全特性被旁路。
b) 预期结果:
开发者提供的文档内容应满足上述要求。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2.1.2 功能规范
功能规范的测试评价方法如下:
a) 测试方法:
审查功能规范文档是否准确描述如下内容:
1) 完全描述终端应用软件的安全功能;
2) 描述所有安全功能接口的目的与使用方法;
3) 标识和描述每个安全功能接口相关的所有参数;
4) 描述安全功能接口相关的安全功能实施行为;
5) 描述由安全功能实施行为处理而引起的直接错误消息;
6) 证实安全功能要求到安全功能接口的追溯。
b) 预期结果:
开发者提供的文档内容应满足上述要求。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2.1.3 产品设计
产品设计的测试评价方法如下:
a) 测试方法:
审查产品设计文档是否准确描述如下内容:
1) 根据子系统描述终端应用软件结构;
2) 标识和描述终端应用软件安全功能的所有子系统;
3) 描述安全功能所有子系统间的相互作用;
4) 提供的映射关系能够证实设计中描述的所有行为能够映射到调用它的安全功能接口。
b) 预期结果:
开发者提供的文档内容应满足上述要求。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2.2 指导性文档
5.2.2.1 操作用户指南
操作用户指南的测试评价方法如下:
a) 测试方法:
审查操作用户指南是否准确描述如下内容:
1) 描述在安全处理环境中被控制的用户可访问的功能和特权,包含适当的警示信息;
2) 描述如何以安全的方式使用终端应用软件提供的可用接口;
3) 描述可用功能和接口,尤其是受用户控制的所有安全参数,适当时指明安全值。
4) 明确说明与需要执行的用户可访问功能有关的每一种安全相关事件,包括改变安全功能所控制实体的安全特性;
5) 标识终端应用软件运行的所有可能状态(包括操作导致的失败或者操作性错误),以及它们与维持安全运行之间的因果关系和联系;
6) 充分实现安全目的所执行的安全策略。
b) 预期结果:
开发者提供的文档内容应满足上述要求。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2.2.2 准备程序
准备程序的测试评价方法如下:
a) 测试方法:
审查准备程序文档是否准确描述如下内容:
1) 描述与开发者交付程序相一致的安全接收所交付终端应用软件必需的所有步骤;
2) 描述安全安装终端应用软件及其运行环境必需的所有步骤。
b) 预期结果:
开发者提供的文档内容应满足上述要求。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2.3 生命周期支持
5.2.3.1 配置管理能力
配置管理能力的测试评价方法如下:
a) 测试方法:
1) 审查开发者是否为不同版本的终端应用软件提供唯一的标识;
2) 现场检查配置管理系统是否对所有的配置项作出唯一的标识,且配置管理系统是否对配置项进行了维护;
3) 审查开发者提供的配置管理文档,是否描述了对配置项进行唯一标识的方法。
b) 预期结果:
开发者提供的文档和现场活动证据内容应满足上述要求。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2.3.2 配置管理范围
配置管理范围的测试评价方法如下:
a) 测试方法:
1) 审查开发者提供的配置项列表;
2) 配置项列表是否描述了组成终端应用软件的全部配置项及相应的开发者。
b) 预期结果:
开发者提供的文档和现场活动证据内容应满足上述要求。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2.3.3 交付程序
交付程序的测试评价方法如下:
a) 测试方法:
1) 现场检查开发者是否使用一定的交付程序交付终端应用软件;
2) 审查开发者是否使用文档描述交付过程,文档中是否包含以下内容:在给用户方交付系统的各版本时,为维护安全所必需的所有程序。
b) 预期结果:
开发者提供的文档和现场活动证据内容应满足上述要求。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2.4 测试
5.2.4.1 覆盖
覆盖的测试评价方法如下:
a) 测试方法:
审查开发者提供的测试覆盖文档,在测试覆盖证据中,是否表明测试文档中所标识的测试与功能规范中所描述的终端应用软件的安全功能是对应的。
b) 预期结果:
开发者提供的文档内容应满足上述要求。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2.4.2 功能测试
功能测试的测试评价方法如下:
a) 测试方法:
1) 审查开发者提供的测试文档,是否包括测试计划、预期的测试结果和实际测试结果;
2) 审查测试计划是否标识了要测试的安全功能,是否描述了每个安全功能的测试方案(包括对其他测试结果的顺序依赖性);
3) 审查期望的测试结果是否表明测试成功后的预期输出;
4) 审查实际测试结果是否表明每个被测试的安全功能能按照规定进行运作。
b) 预期结果:
开发者提供的文档内容应满足上述要求。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2.4.3 独立测试
独立测试的测试评价方法如下:
a) 测试方法:
1) 评价者应审查开发者提供的测试资源;
2) 评价者应审查开发者提供的测试集合是否与其自测系统功能时使用的测试集合相一致。
b) 预期结果:
开发者提供的资源应满足上述要求。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
5.2.5 脆弱性评定
脆弱性评定的测试评价方法如下:
a) 测试方法:
从用户可能破坏安全策略的明显途径出发,按照安全机制定义的安全强度级别,对终端应用软件进行脆弱性分析。
b) 预期结果:
渗透性测试结果应表明终端应用软件能够抵抗具有基本攻击潜力攻击者的攻击。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。