源代码安全审计 是依据CVE(Common Vulnerabilities & Exposures)公共漏洞字典表、OWASP十大Web漏洞(Open Web Application Security Project),以及设备、软件厂商公布的漏洞库,结合专业源代码扫描工具对各种程序语言编写的源代码进行安全审计。能够为客户提供包括安全编码规范咨询、源代码安全现状测评、定位源代码中存在的安全漏洞、分析漏洞风险、给出修改建议等一系列服务。
源代码安全测试实施流程主要分为以下三个阶段:
第一阶段:自动化安全测试工具的安装部署
1.安装环境准备
● 确认需要实施白盒测试的核心编译服务器软硬件环境符合安装要求;
● 确认需要实施白盒测试的其他系统代码库服务器软硬件环境符合安装要求;
● 如果需要实施白盒测试的服务器软硬件环境不符合安装 要求,应实施必要的软硬件升级或资源申请工作,确保安装工作如期开展。
2.软件的安装
● 在指定的服务器上实施软件安装工作
● 实施过程中需保证服务器数据安全;
● 实施完成后提供根据实际安装情况总结的书面备忘录
第二阶段:软件源代码安全测试规范及流程制定
1、 成立软件源代码测试工作组
● 根据企业软件安全管理的组织架构,针对企业安全相关人员的专业水平,进行组织,分定角色等,形成安全团队建立文档。
● 从开发中心各开发组选派代码安全测试牵头人,组建白盒 测试工作组,参与代码测试流程、规范制定以及各类相关培训
2、 安全知识以及测试工具使用培训
● 面向开发人员举行编码安全知识讲座,代码安全测试工作组必须参加讲座;
● 面向源代码安全测试工作组举行产品使用的培训;
● 结合测试工具,详细讲解常见的安全漏洞的产生原因,审计方法,判断 方法以及常用的处理方法等
3、 代码安全测试流程规范的梳理和制定
● 与相关人员 讨论最佳测试流程,研究高效的测试方式,制定适 合企业自身特点、行之有效的软件安全测试流程;
● 按照行业及企业内部要求,制定出软件代码安全扫描测试实施细则;制定相关代码审计管理办法、代码扫描实施细则、创建代码安全审计管理手册及报告模板
● 为代码安全测试的管理成效制定量化计算和测量的方法;
● 搭建安全代码知识库管理框架。
4、针对开发人员与安全测试人员的培训
● 面向开发中心举行代码安全测试相关策略、规范、实施的培训;
● 面向开发中心举行代码安全测试平台使用方式培训;
● 代码安全测试工作组成员具备在各自组内推广的能力。
第三阶段:存量源代码安全测试分析及报告
1.测试规划
● 根据待扫描系统的代码量和系统结构,确认扫描策略;
● 给出扫描计划安排,明确时间、软硬件环境、人员等;
● 过程中应有计划的向行方人员传授相关知识,整理形成书面备忘录;
2.测试实施
● 按照测试规划,对选取的系统进行源代码扫描,获取各类扫描数据;
● 对标准测试过程进行检验流程实用性;
● 根据实际测试情况,对测试策略、系统资源进行优化。将 优化方案、方法整理形成书面备忘录;
● 对初次扫描过程中问题较为集中的部分,进行深度扫描,获取扫描数据并检验优化效果。
3.结果分析
● 分系统按严重程度对扫描结果进行梳理、分析,给出书面报告;
● 书面报告应该符合在第二阶段制定的报告模板要求;
● 组织报告评审会,分析结果需得到行方确认,并根据反馈情况对第二阶段制定的各类策略、流程、模板进行优化;
● 针对得到确认的问题代码,相关开发组需制定修改计划,并及时监督修改;
● 对于代码分析过程中的策略、技巧,报告模板的定制细节,应形成书面备忘录;
● 应根据扫描报告制定详细整改计划,至少应完成“源代码重要漏洞列表”的整改。
4、制定企业的软件安全漏洞排名TOP10
● 建立应用软件源代码TOP10作为代码安全评估工作的依据;
● 从输入数据处理、数据库访问、系统资源管理、管理管理等多个方面规定;区分不同种类、不同性质、不同环境的应用系统之间安全问题的不同特点;
根据每种安全隐患可能带来的危害性、安全隐患可能带来的社会负面效应、安全隐患的可利用性和修复安全隐患的难易程度等因素的综合考虑,进行排名。