Fortify扫描Qt项目
Fortify对于C++类型的代码扫描需要结合编译指令实现,但Fortify支持的C++指令并不多,所以有些类似使用Qt工具开发的项目就需要做一定调整来适配Foritfy的扫描。使用gcc或者cl级别的命令来实现会很麻烦,因为需要对于Qt的qmake工具运行逻辑有一定深入分析,熟知其生成的Makefile以来的环境和make工具,难度较大,所以更建议以Visual Studio的Fortify插件为入口,先将Qt项目转成Visual Studio项目,再使用插件扫描,这样就会容易很多。
我们简单介绍一下流程:
1、在Visual Studio中安装Qt Visual Studio Tools插件和Fortify插件。
2、在Qt插件的Qt Opt选项中配置编译套件,该套件位置可以在Qt对应版本下面,比如Qt\Qt5.12.8\5.12.8\msvc2017。
3、使用Qt插件的Open Qt Project File (.pro)...打开对应的Qt项目,并使用插件的Convert custom build steps to Qt/MSBuild选项,将项目转成vs项目,并生成对应的.vcsproj文件。
测试能成功运行后,就可以使用Fortify进行扫描了。步骤类似与上面的Android项目,即可生成对应的fpr文件。另外,如果想要使用命令来自动化的进行项目扫描,但不知道一个类型的项目如何进行适配,可以解压使用插件生成的fpr文件。查看其中audit.fvdl文件中的sun.mand属性内容,里面包含了该项目生成扫描中间文件的指令参数,可以参考了解如何配置自动化的扫描平台。
Fortify常见问题解决方法
内存不足问题
在应用Fortify SCA实施源代码扫描过程中内存不足是分析器(sourceanalyzer)经常报出的一类问题,如下:
扫描过程中:
1、com.a.analyzer.AbortedException: There is not enough memory available
2、to complete analysis. For details on making more memory available;
There were 3 problems with insufficient memory. Results may be incomplete.
因此,我们必须对JVM参数进行调整,增加虚拟器内存大小。
(1)确认安装64位的Fortify SCA程序;(这是一个众所周知的JVM问题,32为虚拟机内存大小及其有限);
(2)安装一个64位的jre,并将其替换HP_Fortify\HP_Fortify_SCA_and_Apps_3.80\的jre目录(就算你安装了64位的Fortify SCA程序,该程序默认的jre仍然是32位的);
Fortify SCA的十一大优势:
1.FortifySCA支持系统平台是的,能扫描的语言种类是的。
2.FortifySCA能面地(五个方面)分析源代码中存在的问题。
3.FortifySCA能够扫描出来300多种漏洞,业界中是的。
4.FortifySCA的测试速度是比较快的,约15分种1万行。
5.FortifySCA提供了强大的审计平台和详细的漏洞信息。
6.FortifvSCA提供了漏洞的详细说明和相应的修复建议。
7.FortifySCA提供了中文详细说明和相应的修复建议信息。
8.FortifySCA支持成熟的IDE开发环境,如EclipseVisual Studio
9.FortifySCA操作简单,使用方便,易用。
10.FortifySCA提供多种漏洞报表。
11.FortifvSCA获得过许多国际大奖,目前是同类产品
以上信息由专业从事源代码扫描工具fortify价格的华克斯于2024/4/27 10:29:09发布
转载请注明来源:http://szhou.mf1288.com/hksxxkj-2742817558.html