Fortify SCA分析代码漏洞
上级单位规定系统上线部署前必须通过Fortify SCA代码扫描,初步试用了下,感觉是比较强大,但没多大必要,与这个软件的价格相比 :)。
上Google一搜,网上中文的Fortify使用文档不多,找到了园子里的一篇:
http://www.cnblogs.com/hyddd/archive/2009/02/23/1396790.html
里面介绍的软件版本比较旧了。而且介绍也不是很全面。不过基本上也差不多主要的了。
同个博客还有出现漏洞的解决方法,其实Fortify也会给每个漏洞进行解析,以及提供解决方案。
没多少时间学习,而且软件、使用手册是全英文的,之前也没搞过代码扫描这东西。只能试探着用。
安装完,有嵌入到VS的扩展。导入规则库(默认是没有的),然后就可以开始扫描了。
我扫描了几个系统,出现最多的是跨站攻击,其次是SQL注入(拼SQL造成的)。
跨站攻击是因为项目里面比较多的代码->名称的翻译(比如sz代表深圳,gz代表广州,数据库里存储的是代码gz、sz之类的,到页面显示就要翻译过来),有时候图方便,就直接采用DataBinder.Eval(Container.DataItem, 字段)的形式,特别是在GridView中。有些采用模板列的形式,在后台翻译的就不会。
当然,有些代码,扫描的结果是不准确的,毕竟软件没有人那么智能,理解不到人的目的是什么。
说实在话,如果是普通的项目,需要代码分析,可以使用VS自带的那个功能,在项目属性->代码分析,在启用代码分析前面打钩就可以了。建议在项目差不多结束的时候再打钩,要不然编译完后代码扫描的时间比较长,没这个必要。