一、 Fortify SCA概述
1、Source Code Analysis 阶段概述
Audit Workbench 会启动 Fortify SCA“Scanning(扫描)”向导来扫描和分析源代码。该向导整合了以下几个分析阶段:
转换:使用源代码创建中间文件,源代码与一个 Build ID相关联,Build ID通常就是项目名称。
扫描与分析:扫描中间文件,分析代码,并将结果写入一个Fortify Project Results(FPR)文件。
校验:确保所有源文件均包含在扫描过程中,使用的是正确的规则包,且没有报告重大错误。
2、安全编码规则包概述
安全编码规则包是 Fortify Software 安全研究小组多年软件安全经验的体现,并且经过其不断努力改进而成。这些规则是通过对编码理论和常用编码实践的研究,而取得的软件安全知识的巨大积累,并且在 Fortify Software 安全研究小组的努力下不断扩展和改进。每个安全编码规则包均包含大量的规则,每个规则定义了一个被 source code analysis 检测出的特定异常行为。
一旦检测出安全问题,安全编码规则包会提供有关问题的信息,让开发人员能够计划并实施修复工作,这样比研究问题的安全细节更为有效。这些信息包括关于问题类别的具体信息、该问题会如何者利用,以及开发人员如何确保代码不受此漏洞的威胁。
安全编码规则包支持多种编程语言,也支持各种经过扩展的第三方库和配置文件。
有关当前安全编码规则包的信息,请参见《安全编码规则包参考》。
Fortify “Source Code Viewer(源代码查看器)”面板:
“Source Code Viewer(源代码查看器)”面板显示了与在“Issues(问题)”面板中选择的问题相关联的代码段。如果“Analysis Trace(分析跟踪)”面板中的多个节点代表一个问题,则“Source Code Viewer(源代码查看器)”面板会显示与所选节点相关联的代码。
在“Source Code Viewer(源代码查看器)”面板中,您可以使用代码辅助功能创建自定义规则和新问题,如下所示:
要为某个函数创建规则,请将光标放在该函数中,单击鼠标右键,然后选择 Write Rule for This Function(为此函数编写规则)。
要创建新问题,请将光标放在该函数中,单击鼠标右键,然后选择 Create New Issue(创建新问题)。
使用Fortify SCA
1、扫描 Java 项目
“Scan Java Project(扫描 Java 项目)”向导将转换阶段和分析阶段合并为一个简单的步骤。使用此功能可以扫描源那些代码位于单个目录中的小型 Java 项目。
2、扫描其他项目
您可以使用“Advanced Scan(扫描)”向导转换和分析 Java、JavaScript、PHP、ASP、.NET 和 SQL 项目。对于源代码位于多个目录中、具有特殊转换或构建条件,或包含需要从项目中排除的文件的 Java 项目,应使用“Advanced Scan(扫描)”向导。
C/C++源码扫描系列- Fortify 篇
环境搭建
Linux搭建
解压的压缩包,然后执行 ./Fortify_SCA_and_Apps_19.2.n 按照引导完成安装即可,安装完成后进入目录执行sourceanalyzer来查看是否安装完成
然后将 rules 和 ExternalMetadata 拷贝到对应的目录中完成规则的安装。
Fortify的工作原理和codeql类似,首先会需要使用Fortify对目标源码进行分析提取源代码中的信息,然后使用规则从源码信息中查询出匹配的代码。
以上信息由专业从事源代码检测工具fortify sca的华克斯于2024/7/29 7:57:42发布
转载请注明来源:http://m.tz1288.com/qynews/hksxxkj-2793258364.html