软件系统安全测试管理规范
. . 软件系统安全测试软件系统安全测试 管理规范管理规范 上海理想信息产业(集团)上海理想信息产业(集团) 20212021 年年 1010 月月 2626 日日 jz* . . 版本历史版本历史 版本 1.0 提案人 甘 XX 批准人日期 2017.6.16 描述 初建 jz* . . 【目录】【目录】 1概述.5 1.1 1.2 1.3 1.4 2 3 4 编写目的5 适用范围5 角色定义5 参考资料5 项目背景.6 软件系统安全测试流程.7 测试准备.9 4.1测试准备9 4.1.1 4.1.2 4.1.3 4.2 测试对象9 测试范围9 工作权责9 测试方案10 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 测试准备10 测试分析11 制作测试用例13 实施测试方法14 回归测试方法14 4.3 4.4 测试计划14 实施测试15 jz* . . 4.5 4.6 回归测试15 测试总结15 jz* . . 1 1 概述概述 1.11.1编写目的编写目的 建立和完善-系统安全测试管理制度。规范软件系统安全测试各环节的要求、 规范各岗位人员的工作职责、 明确软件系统安全测试实施过程中的管理行为及文 档要求。 以规范化的文档指导软件系统安全测试工作, 提升管理效率、 降低项目风险。 1.21.2适用范围适用范围 本规范适用于智能信息化系统建设项目软件安全测试管理过程。 1.31.3角色定义角色定义 角色简称角色简称 总集 PM 信息中心 PM 信息中心主任 厂商接口人 安全测试人员 角色定义角色定义 总集方负责业务系统的项目经理 信息中心负责业务系统的项目经理 信息中心负责人 软件厂商负责学校的负责人 安全测试团队成员 备注备注 1.41.4参考资料参考资料 参考文件参考文件备注备注 jz* . . 2 2 项目背景项目背景 校园内信息化软件众多,这些软件不光承载着学校核心业务,同时还生成、 处理、存储着学校的核心敏感信息:账户、隐私、科研、薪资等,一旦软件的安 全性不足,将可能造成业务中断、数据泄露等问题的出现。 希望通过规范软件系统安全测试管理,改善和提高学校软件安全测试水准, 将学校软件系统可能发生的风险控制在可以接受的范围内,提高系统的安全性 能。 jz* . . 3 3 软件系统安全测试流程软件系统安全测试流程 软件系统安全测试流程分为 6 个阶段: 1) 测试准备:确定测试对象、测试范围、测试相关人员权责; 2) 测试方案:按要求整理撰写《安全测试方案》 ,并完成方案审批; 3) 测试计划:测试方案通过后,协调确认各相关人员时间,形成测试计划; 4) 实施测试:按计划实施软件安全测试工作,输出《软件安全测试报告》 ; 5) 回归测试:问题修复,回归测试循环进行,直到没有新的问题出现; 6) 测试总结:测试过程总结,输出文档评审,相关文档归档。 其整体流程见流程图(下图) : jz* . . 软件安全测试流程 图信PM 开始 总集PM安全测试团队厂商负责人文档 提出安全 测试需求 协调测试 团队 编撰软件 安全测试 方案 提供安全 测试环境 信息 软件安全 测试方案 通过 审核方 案 不通过 审核方 案 协调相关 人员时间 不通过 通过 制定安全 测试计划 软件安全 测试计划 软件安全 测试报告 实施测试 修复问题 或漏洞 回归测试 测试总结 软件安全 测试总结 结束 阶 段 jz* . . 4 4 测试准备测试准备 4.14.1测试准备测试准备 明确本次安全测试的软件系统及其测试范围,并对涉及各方权责做出说明 4.1.14.1.1 测试对象测试对象 软件系统名称,软件厂商信息、软件开发语言等 系统信息系统信息 开发商:开发商: 体系结构:体系结构: 编程语言:编程语言: 操作系统:操作系统: WEBWEB 服务器:服务器: 数据库:数据库: 4.1.24.1.2 测试范围测试范围 软件内部程序、软件外部接口、数据库、网络服务器环境等 4.1.34.1.3 工作权责工作权责 序号序号 1 1 涉及各方涉及各方 安全测试团队安全测试团队 权责说明权责说明 1、 组织讨论、编写安全测试方案并通过评审 2、 测试人员分工安排 3、 搭建安全测试环境 4、 安全测试实施 1、 参与讨论并确认测试方案 jz* 2 2图信图信 . . 3 3总集总集 4 4系统厂商系统厂商 2、 进行程序开发或修改等集成相关的实施工作 1、 协调安全测试团队 2、 审核安全测试团队制定的安全测试方案 3、 其他协调配合工作 1、 提供测试软件的相关信息 2、 其他协调配合工作 4.24.2测试方案测试方案 安全测试团队根据软件构成、软件环境以及图信安全需求编制《X 软件系统 安全测试方案》 ; 此方案要求图信 PM、总集 PM 均审核通过; 若审核未通过,由安全测试团队根据反馈建议,针对未通过的业务内容进行 修改或重新调研,完成后进行再提交审核 。 软件系统安全测试方案至少要覆盖以下内容: 1) 测试准备(对象、范围、分工) 2) 测试分析(系统分析、威胁分析) 3) 制作测试用例 4) 实施测试方法 5) 回归测试方法 4.2.14.2.1 测试准备测试准备 明确本次安全测试的软件系统及其测试范围,并对涉及各方权责做出说明 jz* . . 4.2.24.2.2 测试分析测试分析 测试分析主要是熟悉被测系统,通过系统的外部环境分析、物理架构分析和 逻辑架构分析,了解系统特性,便于后续的威胁分析以及对应的用例编写。 4.2.2.14.2.2.1 系统分析系统分析 系统分析包含外部环境分析外部环境分析、物理架构分析物理架构分析和逻辑架构分析逻辑架构分析的划分。 1 1)) 外部环境分析外部环境分析 对系统所在的外部环境,如操作系统、服务器、网络等进行分析 服务器安全防护(系统补丁、漏洞、木马、外挂、开放端口) 服务器用户及其权限管理,密码更新机制 服务器备份机制 2 2)) 物理架构分析物理架构分析 按照系统物理架构分析其使用的组件,如底层使用何种数据库,控制层 使用何种组件,表示层使用何种前端库等,组件之间使用那些通信协议等, 了解系统特性。 数据存储层:如 MySQL、Oracle、Redis、Bigtable 等; 控制层:如 spring、Struts2、Tomcat、Weblogic 等; 表示层:如 ExtJS、Bootstrap 等; 通信协议:如 AMQP 等 3 3)) 逻辑架构分析逻辑架构分析 按照系统的业务逻辑划分业务,再根据各业务数据流从身份验证、加密、 输入校验、敏感数据、配置管理、授权、异常管理、会话管理、参数操作、 审核和日志记录、部署和基础结构等方面入手分析。 jz* . . 4.2.2.24.2.2.2 威胁分析威胁分析 系统分析后需要进行的就是威胁分析,根据系统分析的结果,选择合适的威 胁模型,分析系统面临的主要安全威胁。 常用的威胁模型 STRIDE, 是基于数据流的一种威胁分析模型, 它包含六个维 度威胁: 威胁模型 STRIDE 一般应用在二层数据流图上,在外界操作与系统内部模块 之间、系统模块与外界存储之间需要画立信任边界。数据流图元素和 S