C/C++源码扫描系列- Fortify 篇
环境搭建
本文的分析方式是在 Linux 上对源码进行编译、扫描,然后在 Windows 平台对扫描结果进行分析,所以涉及 Windows 和 Linux 两个平台的环境搭建。
Windows搭建
首先双击 Fortify_SCA_and_Apps_20.1.1_windows_x64.exe 安装

安装完成后,把 fortify-common-20.1.1.0007.jar 拷贝 Core﹨lib 进行,然后需要把 rules 目录的规则文件拷贝到安装目录下的 Core﹨config﹨rules 的路径下,该路径下保存的是Fortify的默认规则库。
ExternalMetadata 下的文件也拷贝到 Core﹨config﹨ExternalMetadata 目录即可
执行 d 即可进入分析源码扫描结果的IDE.





Fortify SCA如何使用!
安装fortify之后,打开
界面:
选择扫描
他问要不要更新? 如果你购买了可以选择YES。
选择之后出现如下界面
浏览意思是:扫描之后保存的结果保存在哪个路径。
然后点击下一步。
参数说明:
1、enable clean :把上一次的扫描结果清楚,除非换一个build ID,不然中间文件可能对下一次扫描产生影响。
2、enable translation: 转换,把源码代码转换成nst文件
3、64: 是扫描64位的模式,sca默认扫描是32位模式。
4、-Xmx4000m:4000M大概是4G,制定内存数-Xmx4G :也可以用G定义这个参数建议加
5、-encoding: 定制编码,UTF-8比较全,西南fortify工具,工具解析代码的时候字符集转换的比较好,源代码扫描工具fortify工具,建议加,如果中文注释不加会是乱码。
6、-diable-source-:rendering:不加载与漏洞无关的代码到审计平台上,源代码审计工具fortify工具,不建议加,这样代码显示不全。
Fortify SCA覆盖规则
以下演示覆盖一个秘钥硬编码的规则:
还是以fortify安装目录下自带的php示例代码(Samples﹨basic﹨php)为例
由于没有加密机和密码托管平台,源代码检测工具fortify工具,数据库密码只能明文写在代码或配置文件里,怎么不让fortify重复报出这种问题呢?
写一条新规则覆盖这个id的规则,如下xml:
随便一个不会用到的保存秘钥的变量名pasword,覆盖了这条规则
苏州华克斯-源代码检测工具fortify工具由苏州华克斯信息科技有限公司提供。“Loadrunner,Fortify,源代码审计,源代码扫描”选择苏州华克斯信息科技有限公司,公司位于:苏州工业园区新平街388号,多年来,华克斯坚持为客户提供好的服务,联系人:华克斯。欢迎广大新老客户来电,来函,亲临指导,洽谈业务。华克斯期待成为您的长期合作伙伴!
