随着网络安全在全球范围内的兴起,企业对安全的细致程度也在不断增加。就目前最火热的Web在线应用来说,能在网络层对其起到防护作用的产品就有很多种。
比如NIPS网络入侵防御系统、Web应用防火墙、USG/UTM安全网关、NGFW下一代防火墙……
部署环境通常是这样:
通过在数据中心和DMZ的Web应用服务器前端部署Web应用防火墙/IPS入侵防御系统之类的设备,将威胁消灭在国门之外。
但是,对于那些要求更高的单位来说,外部防御固然很重要,但内部的Web程序安全性和稳定性更是必不可少。
通常,对于Web程序的审计会有测试工程师来做,那些测试人员会在精心准备的测试中发现漏洞和bug,并且将其递交到开发人员那里,进行新一轮的除错。如图所示。
这样做的优点是误报率较低,但缺点也很明显——不是每个人都能在长时间集中注意力找到所有bug和漏洞的。而现在高昂的人力成本,更是让安全工程师的招聘成为难题。
于是,市面上慢慢出现了一些自动化的代码测试工具。这些工具的诞生,让程序员稍微松了口气。将所有的功能实现后,再用代码测试工具检查一下。有错误马上修改,没有发现错误即可马上打包上线。
通常,由于是自动化测试工具,误报肯定是不能避免,但对于完全用人工来说,却是大大的提高了效率,节约了成本。
以Coverity公司的自动测试工具为例,这样的工具可以在开发阶段就介入测试,从分析缺陷、修复缺陷到管理缺陷。最快速度的推进产品上线。
目前,很多大型软件/互联网公司都会将这类工具和有经验的安全审计人员配合起来工作,以达到最佳效果。加上之前在网络层部署的防御,双管齐下,让Web应用安心上线。
附:
Coverity Prevent的优势:
1、完全静态测试,完全智能化,不需要写测试用例就能找出程序中的关键Bug,包括程序动态运行时发生的错误(如指针越界、溢出、数组越界等),并且能够准确定位程序出错的位置;
2、分析速度快,工作效率高,10万行代码大约只需10分钟左右;
3、分析Bug准确度高,误报率很低,官方统计的识误报率低于15%,客户实际反馈大都低于10%;
4、测试可达100%的路径覆盖;
5、即可测试嵌入式程序,也可测试桌面程序,支持大代码量(几十万行,甚至几百万行)分析;
6、支持多种语言:C,C++,C#和Java;
7、极大缩短产品上市时间,大大降低测试成本。
转载请注明:IT运维空间 » 安全防护 » 自动化代码静态测试Coverity让Web应用安心上线
发表评论