2.源代码审核工具
目前已经有很多源代码审核工具可供软件开发团队使用,这些工具分为开源工具和商业工具两类,开源工具中比较有名的包括:BOON、Cqual、Xg++和FindBugs等,商业工具中影响力较大的包括Fortify、Coverity、Ounce Labs和SecureSoftware等。
优秀的源代码审核工具应该具有如下一些特点:
1)安全性
源代码审核工具应当以审核源代码的安全性为主要功能,而不是检查源代码的功台旨是否完整、是否执行正确;
2)多平台性
源代码审核工具应考虑支持支持多种编程语言平台,支持不同的操作系统平台,以便适应现代大型软件的代码审核需要。
3)可扩展性
安全威胁和安全漏洞总是层出不穷,新的安全规则和知识库也随着不断增加,源代码审核工具应能支持知识库升级,支持添加新的安全分析技术。
4)知识性
源代码审核工具能为分析人员和程序员指出编码中的安全缺陷,也应同时能告诉编码人员正确的安全编码方式,即提供知识的教学和传递。
5)集成性
源代码审核工具应考虑和编程集成开发环境整合,或支持make、ant等编译命令,便于程序员能在编码编译时随时发现代码中存在的安全性问题。