代码审计工具通常用来辅助审计人员快速定位网站源码中潜在的安全风险,能够节省大量的人工和时间成本。由于上节介绍的Seay代码审计工具功能单一,只能用来审计PHP类型的编程语言,本节将给大家介绍另外两款商用的综合型代码审计工具—Fortify SCA和VCG。
(1)Fortify SCA
Fortify SCA是业界普遍认可的一款静态代码检查工具,目前只支持商业版。Fortify SCA代码审计工具内置了分析引擎、安全编码规则包、审查工作台、规则自定义编辑器和向导、IDE插件5部分,支持混合语言的分析,包括ASP、.NET、C/C++、C#、Java、JSP等,同时Fortify SCA也支持自定义软件安全代码规则编写,使用者可根据官方指导手册自行扩展规则库。图2-16所示为Fortify SCA代码审计工具示意图。
图2-16 Fortify SCA代码审计工具
(2)VCG
VCG(Visual Code Grepper)是基于VB开发的一款应用于Windows系统环境的白盒审计工具。VCG支持多种语言的代码审计功能,如C/C++、Java、C#、VB、PL/SQL、PHP等。VCG根据自身的字典对目标源码进行自动化扫描,同时也支持用户自定义需求的扫描数据,可以对源代码中所有可能存在风险的函数和文本做一个快速的定位,通过正则匹配的方式检查代码是否存在安全问题。其扫描原理较为简单,识别速度较快,同时有很好的扩展性。图2-17所示为VCG代码审计工具示意图。
图2-17 VCG代码审计工具