如今应用软件的自身的安全问题成为信息安全领域很严峻和最为关心的问题,新的领域需要所有的在应用软件开发和管理的各个层面的成员共同的努力来完成。软件研发生命周期中也不得不考虑全面保证应用安全,包括安全检测与监测融入需求分析、概要设计、详细设计、编码、测试各个方面。

应用安全性大多数是通过测试的方式来实现,分为黑盒测试白盒测试两种。黑盒测试一般采用渗透的方法,这种方法仍然带有明显的黑盒测试本身的不足,需要大量的测试用例来进行覆盖,且测试完成后仍无法保证软件是否仍然存在风险。

相反白盒测试中源代码扫描越来越成为一种流行的技术,使用源代码扫描产品对软件进行代码扫描,一方面可以找出潜在的风险,从内对软件进行检测,提高代码的安全性,另一方面也可以进一步提高代码的质量。白加黑内外结合,使得软件的安全性得到很大程度的提高。

随着应用的安全性越来越受到人们的重视,静态源代码扫描和动态扫描将逐渐融合,随着计算机语言的不断演进,源代码分析的技术 也在日趋完善,在不同的细分领域,出现了很多不错的源代码分析产品,国内外有Source Code Analysis、Checkmarx CxSuite、CodeAnalyzer等产品。

Source CodeAnalysis的优点:来自目前全球最大静态源代码检测厂商、支持语言最多,缺点:价格昂贵、工具易用性不好;

CheckmarxCxSuite的优点:可以利用CxQL 查询语言自定义规则,缺点是输出报告不够美观、语言支持种类不全面;

CodeAnalysis优点:支持各类词法、语义、语法的规则,也可以开发自己的规则包,可以和各类软件测试工具集成,缺点是只支持C、C++、Java等语言。

最后推荐一下,泽众软件推出的代码审查工具:CodeAnalyzer,用于实现静态分析、代码走查、代码规范检查以及代码潜在错误分析的白盒测试工具,它是一种脱离编译器的代码静态分析软件产品。