代码安全性检测指导规范(参考Word)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用安全性测试指导规范(草稿)
1. 进行应用安全性测试的场景
安全性测试的目的是验证集成在软件内的保护机制是否能够在实际环境中保护系统的安全性。
从严格意义上,应用系统的安全性将涉及到应用的设计、开发和部署这三个主要环节,因而理想化的应用安全性测试应是与整个软件开发过程紧密集成的,即在软件设计、开发、测试和部署的过程中动态检测程序代码的安全性,并在应用最终部署之后进行全面的安全性测评。只有将应用和代码安全的管理融入到应用开发、部署、运维的各环节中,才能确保应用系统的安全性。
在应用系统上线并进入运维阶段之后,也需要在维护性开发过程中进行类似的代码安全性测试,并在日常的应用维护过程中动态进行应用整体安全性的评测。
代码安全性作为应用安全性中的一个核心的内容,是保障代码开发安全性的一个重要的举措,在开发活动结束的节点上应重点加强。而应用开发完毕后的部署和运维环节中,还将涉及到应用系统整体安全性评估的其他内容(包括网络安全、操作安全、权限安全、数据安全等)。
应用安全性测试的相关文档应纳入项目管理和运维管理的文档管理体系。1.1 初期的应用安全性测试场景
在传统的软件开发管理模式中引入应用安全测试将需要一个逐步的过程,在初期建议在如下的应用场景下,对目标应用系统的安全性进行测试:
1.2 目标的应用安全性测试相关场景
而从更完整意义上的应用系统整个生命周期各阶段中,需要进行的应用系统安全性测试、评估的工作可大致规划如下(供参考):
2. 应用安全性测试的范围与内容
应用安全性测试的范围与内容,应包括如下几个方面:
3. 应用安全性验收的流程与方法3.1 应用安全性验收的流程
应用安全性验收的流程图如下:
3.1.1 IT项目安全测评保护要求管理
(1)《上海电信内部IT系统的分级安全保护要求》的编制与复审
规划处牵头,会同各应用域及信息中心、移动业务支撑中心共同编制《上海电信内部IT系统的分级安全保护要求》。
规划处负责定期组织对编制的《IT系统分级保护要求》进行评估和复审,确保该要求能反映业务需求的变化,并适应于当前的内部IT基础架构现状。
(2)《上海电信内部IT系统安全保护评估指南》的编制与复审
规划处负责牵头并会同相关的安全测评服务商,根据《IT系统分级保护要
求》细化并制定《上海电信内部IT系统安全保护评估指南》,作为各IT项目验收环节系统安全保护能力测评与验收的参考基准。
规划处在《IT系统分级保护要求》变更后,应及时组织对《IT系统安全保护评估指南》文档做相应调整与更新。
3.1.2 IT项目安全测评管理
(1)安全测评方案编制与评审
在IT项目的实施方案编制阶段,由电信项目经理牵头,组织相关应用域、IT项目承建方、第三方安全测评服务商依据《上海电信内部IT系统安全保护评估指南》共同编制该IT项目的安全测评方案。
项目安全测评方案编制完成后,应和项目实施方案一同进行实施方案的评审环节。
(2)IT项目安全测评
IT项目承建方在完成项目建设实施工作后,在正式提出项目验收请求之前,向第三方安全测评服务商申请进行项目安全测评。
第三方安全测评服务商将按照评审通过的项目安全测评方案,组织现场安全测评,汇总测评结果并提出安全整改意见给IT项目承建方和电信项目经理。
IT项目承建方在接到项目安全整改意见后,应及时组织针对性的安全整改工作,并向第三方测评服务商申请整改复审。
第三方测评服务商在收到整改复审申请后,针对整改意见进行复审测评,直至所有整改项均符合要求。全部测评项通过后,第三方测评服务机构出具项目安全测评报告,并汇总测评相关技术文档提交至电信项目经理。
电信项目经理在收到项目安全测评报告后,组织常规的IT项目验收工作,并在项目验收时将安全测评相关文档并入项目技术文档保存。
(3)IT项目的移交
在IT项目建设完毕后的维护移交阶段,应同步将应用系统的安全要求和安全保护指南转换为相应的《应用系统安全维护指南》,作为应用维护阶段的安全维护基准。
3.1.3 IT项目运维安全测评管理
(1)维护性开发的安全测评
在维护性开发工作启动阶段应参照《应用系统安全维护指南》确定维护性开发相关部分的安全保护评估指南,并细化为对应的安全测试方案,作为维护性开发结束的安全评估的基准。
维护性开发工作结束,由移动业务支撑中心牵头,组织相关应用域、维护服务提供商、第三方安全测评服务商共同完成维护性开发涉及部分系统的安全测评和整改,并作为维护性开发验收的必要条件之一。
(2)日常维护安全测评
移动业务支撑中心应根据《应用系统安全维护指南》,组织第三方安全测评服务商按照应用系统的分级安全保护要求进行定期的系统安全测评,并根据测评结果对IT基础架构、应用系统进行必要的安全改进。
应用系统的日常安全维护文档也纳入维护文档管理体系。
3.2 应用安全性测试的方法
3.2.1 测试方法概述
应用安全性测试与验收的方法主要包括:
•静态的代码安全测试(白盒法):主要通过对源代码进行安全扫描,根据程序中数据流、控制流、语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安全漏洞。该方法非常有用,可在编码阶段找出所有可能存在安全风险的代码,这样开发人员可以在早期解决潜在的安全问题。静态代码测试更适用于早期的代码开发阶段,而不是测试阶段。
•动态的渗透测试(黑盒法):渗透测试也是常用的安全测试方法。是使用自动化工具或者人工的方法模拟黑客的输入,对应用系统进行攻击性测试,从中找出运行时刻所存在的安全漏洞。该测试方法的特点是真实有效,一般找出来的问题都是正确的,也是较为严重的。但渗透测试一个致命的缺点是模拟的测试数据只能到达有限的测试点,覆盖率很低。
•程序数据扫描:通常是进行内存测试,内存测试可以发现许多诸如缓冲区溢出之类的漏洞,而这类漏洞使用除此之外的测试手段都难以发现。该测试方法主要用于确保有高安全性需求应用在运行过程中的数据安全性。数据扫描通畅需要专门的工具来进行验证。
3.2.2 应用安全测试的成功要素
成功的应用安全测试需要做好如下方面的充分准备:
•充分了解软件安全漏洞:评估一个软件系统的安全程度,需要从设计、实现和部署三个环节同时着手。