借助自动化程序分析工具,进行动静结合的审计,静态自动化审计存在误报率高的问题,动态审计需要借助于code coverage,建议二者结合,人工辅助进行分析。比较推荐的主流工具:xray,可用作切入,加以人工分析辅助
人工代码安全审计的时长取决于代码量的多少。随着代码和业务复杂度的提升,完整实施代码安全审计所需的时间成本也同步增加。因此自动化和人工审计两种方法并不是相互对立的,而是互为补充,二者并用才是业界代码安全审计的最佳实践。
好的工具事半功倍,推荐如下三款自动化工具:
RIPS是一款开源的,具有较强漏洞挖掘能力的自动化代码审计工具。它使用PHP语言编写的,用于静态审计PHP代码的安全性。VCG(VisualCodeGrepper),是一款支持C/C++、C#、VB、PHP、Java和PL/SQL的免费代码安全审计工具。它是一款基于字典的检测工具,功能简洁,易于使用。Fortify SCA(Static Code Analyzer)是由Fortify软件公司(已被惠普收购)开发的一款商业版源代码审计工具。它使用独特的数据流分析技术,跨层跨语言地分析代码的漏洞产生,目前支持所有的主流开发语言。