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發(fā)布 2018-05-01實施
中華人民共和國國家質量監(jiān)督檢驗檢疫總局
中國國家標準化管理委員會 發(fā)布
前 言
本標準按照GB/T 1.1—2009給出的規(guī)則起草。
本標準由全國信息安全標準化技術委員會(SAC/TC 260)提出并歸口。
信息安全技術 移動智能終端應用軟件
安全技術要求和測試評價方法
1 范圍
本標準規(guī)定了移動智能終端應用軟件的安全技術要求和測試評價方法。
本標準適用于移動智能終端應用軟件的開發(fā)、運作與維護等生存周期過程的安全保護與測試評估,不適用于移動智能終端惡意軟件的評估。
2 規(guī)范性引用文件
下列文件對于本文件的應用是必不可少的。凡是注日期的引用文件,僅注日期的版本適用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。
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
接入公眾移動通信網(wǎng)絡、具有操作系統(tǒng)、可由用戶自行安裝和卸載應用軟件的移動通信終端產品。
3.2 移動智能終端操作系統(tǒng) operating system of smart mobile terminal
移動智能終端最基本的系統(tǒng)軟件,用于控制和管理移動智能終端各種硬件和軟件資源,并提供應用程序開發(fā)接口。
3.3 移動智能終端應用軟件 application software of smart mobile terminal
針對移動智能終端開發(fā)的應用軟件,包括移動智能終端預置的第三方應用軟件,以及互聯(lián)網(wǎng)信息服務提供者提供的可以通過網(wǎng)站、應用商店等移動應用分發(fā)平臺下載、安裝和升級的應用軟件。
4 安全技術要求
4.1 安全功能要求
4.1.1 安裝及卸載安全
4.1.1.1 安裝要求
終端應用軟件的安裝需得到明確授權,其安裝過程只能運行在特定環(huán)境中且不能破壞其運行環(huán)境。具體技術要求如下:
a) 包含可有效表征供應者或開發(fā)者身份的簽名信息、軟件屬性信息;
b) 正確安裝到相關移動智能終端上,并生成相應的圖標;
c) 安裝時應提示終端操作系統(tǒng)用戶對其使用的終端資源和終端數(shù)據(jù)進行確認;
d) 不應對終端操作系統(tǒng)和其他應用軟件的正常運行造成影響。
4.1.1.2 卸載要求
終端應用軟件卸載后,不影響移動智能終端的正常使用。具體技術要求如下:
a) 應能刪除安裝和使用過程中產生的資源文件、配置文件和用戶數(shù)據(jù);
b) 刪除用戶使用過程中生成的數(shù)據(jù)時應有提示;
c) 不應影響終端操作系統(tǒng)和其他應用軟件的功能。
4.1.2 鑒別機制
4.1.2.1 身份認證
若終端應用軟件涉及用戶敏感數(shù)據(jù),則應對訪問用戶提供有效的身份認證機制。具體技術要求如下:
a) 在用戶訪問應用業(yè)務前,終端應用軟件對其身份進行鑒別,并提供鑒別失敗處理措施;
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 基于用戶的控制
若終端應用軟件涉及用戶敏感數(shù)據(jù),則應對訪問用戶提供有效的授權機制。具體技術要求如下:
a) 授權用戶訪問的內容不能超出授權的范圍;
b) 限制應用用戶賬號的多重并發(fā)會話。
4.1.3.2 對應用軟件的限制
終端應用軟件訪問終端數(shù)據(jù)和終端資源應經過終端操作系統(tǒng)用戶明確的許可。具體技術要求如下:
a) 未得到許可前不應訪問終端數(shù)據(jù)和終端資源;
b) 未得到許可前不應修改和刪除終端數(shù)據(jù),不應修改終端資源的配置。
4.1.4 數(shù)據(jù)安全
4.1.4.1 數(shù)據(jù)存儲安全
終端應用軟件不應以明文形式存儲用戶敏感數(shù)據(jù),以防止數(shù)據(jù)被未授權獲取。
4.1.4.2 數(shù)據(jù)傳輸安全
終端應用軟件不應以明文形式通過網(wǎng)絡傳輸用戶敏感數(shù)據(jù),以防止數(shù)據(jù)被未授權獲取。
4.1.4.3 數(shù)據(jù)刪除
終端應用軟件若具備數(shù)據(jù)刪除功能,在刪除數(shù)據(jù)前應明確提示用,并由用戶再次確認是否刪除數(shù)據(jù)。
4.1.4.4 備份和恢復
終端應用軟件若具備備份和恢復功能,具體技術要求如下:
a) 備份機制應完整有效,且應對備份數(shù)據(jù)進行保護;
b) 恢復數(shù)據(jù)在使用前應校驗其可用性、完整性。
4.1.5 運行安全
4.1.5.1 實現(xiàn)安全
終端應用軟件應保證程序自身的安全性:
a) 不應設計有違反或繞過安全規(guī)則的任何類型的入口和文檔中未說明的任何模式的入口;
b) 應具備安全機制防止程序被反編譯、反調試;
c) 應不存在已公布的高危風險漏洞。
4.1.5.2 穩(wěn)定性
終端應用軟件應保證其穩(wěn)定運行,避免出現(xiàn)功能失效等類似現(xiàn)象。具體要求如下:
a) 不應造成終端崩潰或異常的情況;
b) 避免出現(xiàn)失去響應、閃退等現(xiàn)象;
c) 允許隨時停止、退出。
4.1.5.3 容錯性
終端應用軟件應能處理可預知的錯誤操作,不應影響程序的正常工作。
4.1.5.4 資源占用
終端應用軟件的運行對終端資源,不應長時間固定或無限制占用,不應影響對終端合法的用戶登錄和資源訪問。
4.1.5.5 升級
終端應用軟件應支持軟件的更新,具體技術要求如下:
a) 至少采取一種安全機制,保證升級的時效性和準確性;
b) 保證終端應用軟件安全機制的有效性。
4.1.6 其他安全要求
終端應用軟件服務端應至少滿足如下要求:
a) 不應在數(shù)據(jù)庫或文件系統(tǒng)中明文存儲用戶敏感信息;
b) 不應在Cookie中保存明文口令;
c) 應采取會話保護措施保障終端應用軟件與服務端之間的會話不被竊聽、篡改、偽造和重放;
d) 不應在服務器端日志中記錄用戶敏感信息,如果確實需要記錄敏感信息,則應進行模糊化處理;
e) 應確保服務器端日志數(shù)據(jù)的安全存儲,并嚴格限制日志數(shù)據(jù)的訪問權限;
f) 如使用開源第三方應用組件及代碼,應對已公布的安全漏洞及時更新補丁;
g) 服務器端應不存在已公布的高危風險漏洞。
4.2 安全保障要求
4.2.1 開發(fā)
4.2.1.1 安全架構
開發(fā)者應提供終端應用軟件安全功能的安全架構描述,安全架構描述應滿足以下要求:
a) 與產品設計文檔中對安全功能實施抽象描述的級別一致;
b) 描述與安全功能要求一致的終端應用軟件安全功能的安全域;
c) 描述終端應用軟件安全功能初始化過程為何是安全的;
d) 證實終端應用軟件安全功能能夠防止被破壞;
e) 證實終端應用軟件安全功能能夠防止安全特性被旁路。
4.2.1.2 功能規(guī)范
開發(fā)者應提供完備的功能規(guī)范說明,功能規(guī)范說明應滿足以下要求:
a) 完全描述終端應用軟件的安全功能;
b) 描述所有安全功能接口的目的與使用方法;
c) 標識和描述每個安全功能接口相關的所有參數(shù);
d) 描述安全功能接口相關的安全功能實施行為;
e) 描述由安全功能實施行為處理而引起的直接錯誤消息;
f) 證實安全功能要求到安全功能接口的追溯。
4.2.1.3 產品設計
開發(fā)者應提供產品設計文檔,產品設計文檔應滿足以下要求:
a) 根據(jù)子系統(tǒng)描述終端應用軟件結構;
b) 標識和描述終端應用軟件安全功能的所有子系統(tǒng);
c) 描述安全功能所有子系統(tǒng)間的相互作用;
d) 提供的映射關系能夠證實設計中描述的所有行為能夠映射到調用它的安全功能接口。
4.2.2 指導性文檔
4.2.2.1 操作用戶指南
開發(fā)者應提供明確和合理的操作用戶指南,操作用戶指南與為評估而提供的其他所有文檔保持一致,對每一種用戶角色的描述應滿足以下要求:
a) 描述在安全處理環(huán)境中被控制的用戶可訪問的功能和特權,包含適當?shù)木拘畔ⅲ? b) 描述如何以安全的方式使用終端應用軟件提供的可用接口;
c) 描述可用功能和接口,尤其是受用戶控制的所有安全參數(shù),適當時指明安全值;
d) 明確說明與需要執(zhí)行的用戶可訪問功能有關的每一種安全相關事件,包括改變安全功能所控制實體的安全特性;
e) 標識終端應用軟件運行的所有可能狀態(tài)(包括操作導致的失敗或者操作性錯誤),以及它們與維持安全運行之間的因果關系和聯(lián)系;
f) 充分實現(xiàn)安全目的所執(zhí)行的安全策略。
4.2.2.2 準備程序
開發(fā)者應提供終端應用軟件及其準備程序,準備程序描述應滿足以下要求:
a) 描述與開發(fā)者交付程序相一致的安全接收所交付終端應用軟件必需的所有步驟;
b) 描述安全安裝終端應用軟件及其運行環(huán)境必需的所有步驟。
4.2.3 生命周期支持
4.2.3.1 配置管理能力
開發(fā)者的配置管理能力應滿足以下要求:
a) 為終端應用軟件的不同版本提供唯一的標識;
b) 使用配置管理系統(tǒng)對組成終端應用軟件的所有配置項進行維護,并唯一標識配置項;
c) 提供配置管理文檔,配置管理文檔描述用于唯一標識配置項的方法。
4.2.3.2 配置管理范圍
開發(fā)者應提供終端應用軟件配置項列表,并說明配置項的開發(fā)者。配置項列表至少包含終端應用軟件、安全保障要求的評估證據(jù)和終端應用軟件的組成部分。
4.2.3.3 交付程序
開發(fā)者應使用一定的交付程序交付終端應用軟件,并將交付過程文檔化。在給用戶方交付終端應用軟件的各版本時,交付文檔應描述為維護安全所必需的所有程序。
4.2.4 測試
4.2.4.1 覆蓋
開發(fā)者應提供測試覆蓋文檔,測試覆蓋描述應表明測試文檔中所標識的測試與功能規(guī)范中所描述的終端應用軟件的安全功能間的對應性。
4.2.4.2 功能測試
開發(fā)者應測試終端應用軟件安全功能,將結果文檔化并提供測試文檔。測試文檔應包括以下內容:
a) 測試計劃,標識要執(zhí)行的測試,并描述執(zhí)行每個測試的方案,這些方案包括對于其他測試結果的任何順序依賴性;
b) 預期的測試結果,表明測試成功后的預期輸出;
c) 實際測試結果和預期的測試結果一致。
4.2.4.3 獨立測試
開發(fā)者應提供一組與其自測安全功能時使用的同等資源,以用于安全功能的抽樣測試。
4.2.5 脆弱性評定
基于已標識的潛在脆弱性,終端應用軟件能夠抵抗具有基本攻擊潛力攻擊者的攻擊。
5 測試評價方法
5.1 安全要求測試
5.1.1 安裝及卸載安全
5.1.1.1 安裝要求
安裝要求的測試評價方法如下:
a) 測試方法:
1) 在移動智能終端上指定位置安裝終端應用軟件;
2) 檢查應用軟件是否包含供應者或開發(fā)者的簽名信息、軟件屬性信息(如名稱、版本信息和描述等);
3) 檢查終端應用軟件是否提示操作系統(tǒng)用戶對其使用的終端資源(如網(wǎng)絡通信模塊、攝像頭、導航定位等)和終端數(shù)據(jù)(如相冊、通訊錄等)進行確認;
4) 運行終端應用軟件,檢查是否對終端操作系統(tǒng)、其他應用軟件(包括預置應用軟件)的使用造成影響。
b) 預期結果:
1) 能夠安裝到移動智能終端上,并生成相應圖標;
2) 包含供應者或開發(fā)者的簽名信息、軟件屬性信息;
3) 提示終端操作系統(tǒng)用戶對其使用的終端資源和終端數(shù)據(jù)進行確認;
4) 終端應用軟件安裝后,終端操作系統(tǒng)和其他應用軟件仍能正常使用。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.1.2 卸載要求
卸載要求的測試評價方法如下:
a) 測試方法:
1) 卸載終端應用軟件,檢查其安裝及使用生成的文件和數(shù)據(jù)是否能完全刪除;
2) 檢查刪除用戶數(shù)據(jù)時(如業(yè)務數(shù)據(jù))是否有提示;
3) 檢查是否對終端操作系統(tǒng)、其他應用軟件(包括預置應用軟件)的使用造成影響。
b) 預期結果:
1) 卸載時能夠將其安裝及使用過程產生的數(shù)據(jù)全部刪除;
2) 刪除用戶數(shù)據(jù)時能夠提示用戶;
3) 卸載后系統(tǒng)軟件和其他應用軟件仍能正常使用。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.2 鑒別機制
5.1.2.1 身份認證
身份認證的測試評價方法如下:
a) 測試方法:
1) 檢查在用戶訪問應用業(yè)務前,終端應用軟件是否對其身份進行鑒別;
2) 連續(xù)嘗試登錄失敗時,檢查終端應用軟件是否具備鑒別失敗處理措施(如鎖定賬號等);
3) 用戶登錄后長時間不進行任何操作。
b) 預期結果:
1) 只有身份認證成功的應用用戶才能使用終端應用軟件;
2) 具備鑒別失敗處理措施;
3) 具備登錄超時后的鎖定或注銷功能。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.2.2 口令安全機制
口令安全機制的測試評價方法如下:
a) 測試方法:
1) 在終端應用軟件中輸入口令,檢查口令是否以明文形式顯示或存儲;
2) 檢查終端應用軟件是否默認保存用戶上次的賬號及口令信息;
3) 檢查終端應用軟件是否具備口令強度檢查機制(如口令長度、復雜度要求等);
4) 檢測終端應用軟件是否具備口令時效性檢查機制(如主動提示用戶定期修改口令等);
5) 檢測終端應用軟件在修改或找回口令時,是否具備驗證機制(如驗證手機號碼等);
6) 檢查終端應用軟件是否具備防鍵盤劫持機制。
b) 預期結果:
1) 口令在使用、存儲過程中不出現(xiàn)明文;
2) 未保存用戶上次的賬號及口令信息;
3) 具備口令強度檢查機制,初始化及修改用戶口令時,能夠根據(jù)策略檢查輸入口令的長度和復雜度,若輸入的口令不符合口令強度要求,能夠提示,并要求重新設置有效口令;
4) 具備口令時效性檢查機制,能夠主動提示用戶修改口令;
5) 修改或找回口令時,具備驗證機制,以防止口令的被非授權獲取或篡改;
6) 口令在使用過程中具備防鍵盤劫持機制,無法劫持獲取用戶輸入的口令。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.2.3 驗證碼安全機制
驗證碼安全機制的測試評價方法如下:
測試方法:
1) 檢查終端應用軟件驗證碼是否在服務端生成而不是在客戶端生產;
2) 檢查終端應用軟件圖形驗證碼是否可以被機器識別出明文;
3) 檢查終端應用軟件手機短信驗證碼是否具備限制應用用戶短信驗證碼的多重發(fā)送機制。
b) 預期結果:
1) 驗證碼在服務端生成;
2) 圖片驗證碼在使用過程中具備一定的抗機器識別能力;
3) 終端應用軟件手機短信驗證碼具有防重放攻擊機制。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.3 訪問控制
5.1.3.1 基于用戶的控制
基于用戶的控制的測試評價方法如下:
a) 測試方法:
1) 用戶成功登錄后,分別訪問其授權和非授權的業(yè)務;
2) 使用同一用戶賬號在其他終端上同時登錄。
b) 預期結果:
1) 應用用戶僅能訪問授權業(yè)務;
2) 對用戶賬號的多重并發(fā)會話進行限制。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.3.2 對應用軟件的限制
對應用軟件的限制的測試評價方法如下:
a) 測試方法:
1) 檢查終端應用軟件訪問、修改和刪除終端數(shù)據(jù)前是否明確經過終端操作系統(tǒng)用戶的許可;
2) 檢查終端應用軟件訪問、修改終端資源及其配置是否明確經過終端操作系統(tǒng)用戶的許可。
b) 預期結果:
1) 未經過終端操作系統(tǒng)用戶明確許可前,終端應用軟件不能訪問、修改和刪除終端數(shù)據(jù);
2) 未經過終端操作系統(tǒng)用戶明確許可前,終端應用軟件不能訪問、修改終端資源及其配置。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.4 數(shù)據(jù)安全
5.1.4.1 數(shù)據(jù)存儲安全
數(shù)據(jù)存儲安全的測試評價方法如下:
a) 測試方法:
處理用戶敏感數(shù)據(jù)(如金融賬戶、聯(lián)系人信息、聊天信息等)時,檢查應用軟件是否以明文形式寫入文件中。
b) 預期結果:
不以明文形式將用戶敏感數(shù)據(jù)寫到任何文件中。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.4.2 數(shù)據(jù)傳輸安全
數(shù)據(jù)傳輸安全的測試評價方法如下:
a) 測試方法:
截取數(shù)據(jù)包,檢查應用軟件是否以明文形式通過網(wǎng)絡傳輸用戶敏感數(shù)據(jù)。
b) 預期結果:
不以明文形式通過網(wǎng)絡傳輸用戶敏感數(shù)據(jù)。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.4.3 數(shù)據(jù)刪除
數(shù)據(jù)刪除的測試評價方法如下:
a) 測試方法:
1) 檢在終端應用軟件是否提供數(shù)據(jù)刪除的功能;
2) 檢查在數(shù)據(jù)刪除前,終端應用軟件是否明確提示用戶,并由用戶再次確認是否刪除數(shù)據(jù)。
b) 預期結果:
1) 提供數(shù)據(jù)刪除功能;
2) 在數(shù)據(jù)刪除之前,終端應用軟件能夠明確通知用戶,用戶能夠進一步確認或取消數(shù)據(jù)刪除操作。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.4.4 備份和恢復
備份和恢復的測試評價方法如下:
a) 測試方法:
1) 檢查終端應用軟件是否提供數(shù)據(jù)備份和恢復機制;
2) 檢查存儲的備份數(shù)據(jù)是否為明文;
3) 數(shù)據(jù)恢復后,檢查終端應用軟件是否進行校驗。
b) 預期結果:
1) 提供有效的數(shù)據(jù)備份和恢復機制;
2) 對備份數(shù)據(jù)進行保護;
3) 恢復數(shù)據(jù)在使用前校驗其有效性、完整性。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.5 運行安全
5.1.5.1 實現(xiàn)安全
實現(xiàn)安全的測試評價方法如下:
a) 測試方法:
1) 檢查終端應用軟件(如分析源代碼)是否存在有違反或繞過安全規(guī)則的任何類型的接口,以及文檔中未說明的接口;
2) 檢查終端應用軟件是否具備安全機制防止程序被反編譯、反調試;
3) 測試終端應用軟件是否存在已公布的高危風險漏洞。
b) 預期結果:
1) 不留有任何違反或繞過安全規(guī)則的任何類型的接口;
2) 提供有效的機制(如混淆技術)防止程序被反編譯、反調試;
3) 不存在已公布的高危風險漏洞。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.5.2 穩(wěn)定性
穩(wěn)定性的測試評價方法如下:
a) 測試方法:
1) 在測試過程中,檢查終端應用軟件是否出現(xiàn)失去響應、非正常退出、功能失效和造成系統(tǒng)崩潰等異常現(xiàn)象;
2) 檢查終端應用軟件是否提供停止、退出的功能。
b) 預期結果:
1) 測試過程中,終端應用軟件穩(wěn)定運行,未出現(xiàn)失去響應、非正常退出、功能失效和造成系統(tǒng)崩潰等現(xiàn)象;
2) 運行過程中,終端應用軟件能夠隨時停止、退出。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.5.3 容錯性
容錯性的測試評價方法如下:
a) 測試方法:
嘗試輸入錯誤的操作(如輸入數(shù)據(jù)類型、長度等),檢查應用軟件是否能夠處理。
b) 預期結果:
支持處理可預知的用戶錯誤操作,且不影響程序的正常工作。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.5.4 資源占用
資源占用的測試評價方法如下:
a) 測試方法:
在終端上測試終端應用的資源占用情況。
b) 預期結果:
未出現(xiàn)長時間、無限制占用終端系統(tǒng)資源的情況。
c) 結果判定。
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.5.5 升級
升級的測試評價方法如下:
a) 測試方法:
1) 檢查終端應用軟件是否提供軟件的升級功能;
2) 檢查終端應用軟件是否提供安全機制,從而保證升級的時效性(如自動升級、更新通知等)和準確性(如完整性校驗)。
b) 預期結果:
1) 具備升級功能;
2) 更新過程中,采用安全機制保證升級的時效性和準確性。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.1.6 其他安全要求
其他安全要求的測試評價方法如下:
a) 測試方法:
1) 檢查終端應用軟件服務端是否在數(shù)據(jù)庫或文件系統(tǒng)中明文存儲用戶敏感信息;
2) 檢查是否存在Cookie中保存明文口令的現(xiàn)象;
3) 檢查是否提供措施保障終端應用軟件與服務端之間的會話不被竊聽、篡改、偽造和重放;
4) 檢查終端應用軟件服務端日志是否涉及用戶敏感信息;
5) 檢查終端應用軟件服務端日志是否嚴格限制訪問權限;
6) 測試開源第三方應用組件及代碼是否及時更新補丁;
7) 檢查應用軟件服務端是否存在高危風險安全漏洞。
b) 預期結果:
1) 終端應用軟件服務端未在數(shù)據(jù)庫或文件系統(tǒng)中明文存儲用戶敏感信息;
2) 不存在Cookie中保存明文口令的現(xiàn)象;
3) 采取會話保護措施保障終端應用軟件與服務端之間的會話不可被竊聽、篡改、偽造和重放等;
4) 終端應用軟件服務端日志中未涉及用戶敏感信息,或對錄敏感信息進行了模糊化處理;
5) 終端應用軟件服務端安全存儲日志數(shù)據(jù),并嚴格限制日志數(shù)據(jù)的訪問權限;
6) 開源第三方應用組件及代碼及時更新補丁,不存在已公布的安全漏洞;
7) 應用軟件服務端不存在已公布的高危風險漏洞。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2 安全保障要求測試
5.2.1 開發(fā)
5.2.1.1 安全架構
安全架構的測試評價方法如下:
a) 測試方法:
審查安全架構文檔是否準確描述如下內容:
1) 與產品設計文檔中對安全功能實施抽象描述的級別一致;
2) 描述與安全功能要求一致的終端應用軟件安全功能的安全域;
3) 描述終端應用軟件安全功能初始化過程為何是安全的;
4) 證實終端應用軟件安全功能能夠防止被破壞;
5) 證實終端應用軟件安全功能能夠防止安全特性被旁路。
b) 預期結果:
開發(fā)者提供的文檔內容應滿足上述要求。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2.1.2 功能規(guī)范
功能規(guī)范的測試評價方法如下:
a) 測試方法:
審查功能規(guī)范文檔是否準確描述如下內容:
1) 完全描述終端應用軟件的安全功能;
2) 描述所有安全功能接口的目的與使用方法;
3) 標識和描述每個安全功能接口相關的所有參數(shù);
4) 描述安全功能接口相關的安全功能實施行為;
5) 描述由安全功能實施行為處理而引起的直接錯誤消息;
6) 證實安全功能要求到安全功能接口的追溯。
b) 預期結果:
開發(fā)者提供的文檔內容應滿足上述要求。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2.1.3 產品設計
產品設計的測試評價方法如下:
a) 測試方法:
審查產品設計文檔是否準確描述如下內容:
1) 根據(jù)子系統(tǒng)描述終端應用軟件結構;
2) 標識和描述終端應用軟件安全功能的所有子系統(tǒng);
3) 描述安全功能所有子系統(tǒng)間的相互作用;
4) 提供的映射關系能夠證實設計中描述的所有行為能夠映射到調用它的安全功能接口。
b) 預期結果:
開發(fā)者提供的文檔內容應滿足上述要求。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2.2 指導性文檔
5.2.2.1 操作用戶指南
操作用戶指南的測試評價方法如下:
a) 測試方法:
審查操作用戶指南是否準確描述如下內容:
1) 描述在安全處理環(huán)境中被控制的用戶可訪問的功能和特權,包含適當?shù)木拘畔ⅲ? 2) 描述如何以安全的方式使用終端應用軟件提供的可用接口;
3) 描述可用功能和接口,尤其是受用戶控制的所有安全參數(shù),適當時指明安全值。
4) 明確說明與需要執(zhí)行的用戶可訪問功能有關的每一種安全相關事件,包括改變安全功能所控制實體的安全特性;
5) 標識終端應用軟件運行的所有可能狀態(tài)(包括操作導致的失敗或者操作性錯誤),以及它們與維持安全運行之間的因果關系和聯(lián)系;
6) 充分實現(xiàn)安全目的所執(zhí)行的安全策略。
b) 預期結果:
開發(fā)者提供的文檔內容應滿足上述要求。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2.2.2 準備程序
準備程序的測試評價方法如下:
a) 測試方法:
審查準備程序文檔是否準確描述如下內容:
1) 描述與開發(fā)者交付程序相一致的安全接收所交付終端應用軟件必需的所有步驟;
2) 描述安全安裝終端應用軟件及其運行環(huán)境必需的所有步驟。
b) 預期結果:
開發(fā)者提供的文檔內容應滿足上述要求。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2.3 生命周期支持
5.2.3.1 配置管理能力
配置管理能力的測試評價方法如下:
a) 測試方法:
1) 審查開發(fā)者是否為不同版本的終端應用軟件提供唯一的標識;
2) 現(xiàn)場檢查配置管理系統(tǒng)是否對所有的配置項作出唯一的標識,且配置管理系統(tǒng)是否對配置項進行了維護;
3) 審查開發(fā)者提供的配置管理文檔,是否描述了對配置項進行唯一標識的方法。
b) 預期結果:
開發(fā)者提供的文檔和現(xiàn)場活動證據(jù)內容應滿足上述要求。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2.3.2 配置管理范圍
配置管理范圍的測試評價方法如下:
a) 測試方法:
1) 審查開發(fā)者提供的配置項列表;
2) 配置項列表是否描述了組成終端應用軟件的全部配置項及相應的開發(fā)者。
b) 預期結果:
開發(fā)者提供的文檔和現(xiàn)場活動證據(jù)內容應滿足上述要求。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2.3.3 交付程序
交付程序的測試評價方法如下:
a) 測試方法:
1) 現(xiàn)場檢查開發(fā)者是否使用一定的交付程序交付終端應用軟件;
2) 審查開發(fā)者是否使用文檔描述交付過程,文檔中是否包含以下內容:在給用戶方交付系統(tǒng)的各版本時,為維護安全所必需的所有程序。
b) 預期結果:
開發(fā)者提供的文檔和現(xiàn)場活動證據(jù)內容應滿足上述要求。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2.4 測試
5.2.4.1 覆蓋
覆蓋的測試評價方法如下:
a) 測試方法:
審查開發(fā)者提供的測試覆蓋文檔,在測試覆蓋證據(jù)中,是否表明測試文檔中所標識的測試與功能規(guī)范中所描述的終端應用軟件的安全功能是對應的。
b) 預期結果:
開發(fā)者提供的文檔內容應滿足上述要求。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2.4.2 功能測試
功能測試的測試評價方法如下:
a) 測試方法:
1) 審查開發(fā)者提供的測試文檔,是否包括測試計劃、預期的測試結果和實際測試結果;
2) 審查測試計劃是否標識了要測試的安全功能,是否描述了每個安全功能的測試方案(包括對其他測試結果的順序依賴性);
3) 審查期望的測試結果是否表明測試成功后的預期輸出;
4) 審查實際測試結果是否表明每個被測試的安全功能能按照規(guī)定進行運作。
b) 預期結果:
開發(fā)者提供的文檔內容應滿足上述要求。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2.4.3 獨立測試
獨立測試的測試評價方法如下:
a) 測試方法:
1) 評價者應審查開發(fā)者提供的測試資源;
2) 評價者應審查開發(fā)者提供的測試集合是否與其自測系統(tǒng)功能時使用的測試集合相一致。
b) 預期結果:
開發(fā)者提供的資源應滿足上述要求。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。
5.2.5 脆弱性評定
脆弱性評定的測試評價方法如下:
a) 測試方法:
從用戶可能破壞安全策略的明顯途徑出發(fā),按照安全機制定義的安全強度級別,對終端應用軟件進行脆弱性分析。
b) 預期結果:
滲透性測試結果應表明終端應用軟件能夠抵抗具有基本攻擊潛力攻擊者的攻擊。
c) 結果判定:
上述預期結果均滿足判定為符合,其他情況判定為不符合。