虽然对安全测试的原理和黑盒检测方法有所了解,但是白盒的方法去发现软件安全隐患确实让人倒吸一口凉气,但是,总有人了解我们的痛苦,这不VisualCodeGrepper就是这其中的一个便宜工具。
VCG是一个支持C++, C#,VB, PHP, Java and PL/SQL的自动化代码安全审查工具,如上所说,他能够在资源有限的情况下廉价快速地帮助我们快速找出工程代码中可能的安全问题。
从”file”中选择工程所在的目录,在”scan”中“scan all”即可。VCG提供详细信息和图表两种展示:结果报告和饼图。
饼图主要展示统计数据:
当然VCG还通过另外一种方式提供了更复杂的检查,在VCG安装目录下,针对每种语言,都提供了一个conf文件,这里就是VCG能检测出来可能有安全函数的原因,其他在这里你也可以添加其他可能有安全问题的函数及安全问题描述信息。
那么有人会说,我怎么知道哪些函数可能有哪些安全性问题呢?其实大部分常见的主要集中在字符串拷贝、合并及有关sprintf的函数,在下面这篇文章中列出来这一部分的问题函数及解决方案http://blog.csdn.net/chengyun_chu/article/details/3127844,当然详细的api列表在http://msdn.microsoft.com/en-us/library/bb288454.aspx可以查阅。如果你还想了解更多“C和C++安全编码(中文版)”这本书可能有益。