背景介绍
近年来,信息系统的安全形势愈发严重,仅仅依靠外部的安全防护手段来保障信息系统的安全也逐渐力不从心。目前信息安全的主要问题体现在应用软件上,分析和审计软件代码将是保证应用软件安全的一个最有效的方法。代码安全审计是以发现应用程序编码过程中造成的安全漏洞为目的,通过代码静态分析工具,对已有的代码进行检测和分析,并对导致安全漏洞的错误代码进行定位和验证,提供加强软件安全和提高性能的方法和建议,从而从根源上解决信息系统的安全隐患。
参考依据
《中华人民共和国网络安全法》
GB/T 34943-2017《C/C++语言源代码漏洞测试规范》
GB/T 34946-2017《C#语言源代码漏洞测试规范》
GB/T 34944-2017 《Java语言源代码漏洞测试规范》
GB/T 28448-2012 《信息安全技术 信息系统安全等级保护测评要求》
ISO/IEC 27034 《软件安全开发标准》
CVE(Common Vulnerabilities & Exposures)公共漏洞字典表
《CWE List Version 4.0》
审计内容
1. 环境与封装
2. API调用
3. 行为安全
4. 初始化与清理环节
5. 错误处理
6. 时间和状态
7. 通用安全特性
8. 数据处理
9. 业务功能安全审查
10. 代码质量
审计流程
审计准备
确定测试的目标、范围、依据、环境和工具,分析与评估测试风险,并制定应对措施。
方案设计
结合被测代码的业务和技术特点,明确测试环境和工具,确定测试需求、测试方法、测试内容、测试准入条件和测试准出条件。
审计实施
根据测试用例明确的操作步骤,使用自动化静态分析工具执行测试,再对自动化静态分析工具的测试结果进行人工分析。
报告编写
核査测试环境、内容、方法和结果是否正确,确认测试目标和测试需求是否得到满足,总结测试内容、方法和结果从而编写报告。