Fortify 审计
Fortify扫描后生成的fpr文件,就是我们审计的目标。Fortify会将源码信息和识别到的风险记录下来。
使用Fortify Audit Workbench打开文件后;左上角的小窗口会列出所有识别出来的潜在风险,双击即可查看对应位置代码。这里是一个在日志中打印IMEI的风险项,左下角可以看到整个数据链路,了解数据的传递路径。视图中上位置是代码窗口,可以看到已经将危险代码标识出来。如果代码窗口中的中文显示乱码,往往是因为Fortify默认的解析字节码是GBK,可以在选中代码文件后,点击Edit->Set Encoding...选项,设置正确的编码方式即可。中下位置则是对于规则的介绍,协助安全工程师确定问题,识别风险。右侧的则是所有依赖的代码的路径。
在我们审计过程中,如果发现问题是误报,可以右键风险项,选择Hide in AWB,即可隐藏误报问题。
然后是生成报告,我们可以选择生成两种报告:
BIRT是统计报告,可以按照不同标准显示各种类型风险的统计信息。也可以选择一些我们认定是误报的项,是否显示。
Legacy表示信息的留存,该报告会将各风险项的信息依次打印出来,可以提供给业务确认风险。
fottify全名叫:Fortify SCA ,是HP的产品 ,是一个静态的、白盒的软件源代码安全测试工具。它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件安全漏洞规则集进行地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并给予整理报告。
FortifySCA支持的21语言,分别是如下图:
Fortify system命令执行检测
除了使用 DataflowSourceRule 、DataflowSinkRule 等规则来定义污点跟踪相关的属性外,Fortify还支持使用 CharacterizationRule 来定义污点跟踪相关的特性。
Fortify在编译/分析代码过程中会把代码中的元素(代码块、类、表达式、语句等)通过树状结构体组装起来形成一颗 structural tree,然后扫描的时候使用 Structural Analyzer 来解析 StructuralRule ,蕞后输出匹配的代码。
下面以一个简单的示例看看 structural tree 的结构,示例代码如下
代码质量利器:Fortify SCA使用指南
静态代码分析器SCA(Static Code Analyzer):包含多种语言的安全相关的规则,而对于这些规则相关的违反状况则是SCA重点确认的内容。SCA可以做到快速准确定位修正场所,同时还可以定制安全规则。
在使用上SCA主要按照如下步骤进行:
步骤1: 单独运行SCA或者将SCA与构建工具进行集成
步骤2: 将代码转换为临时的中间格式
步骤3: 对转换的中间格式的代码进行扫描,生成安全合规性的报告
步骤4: 对结果进行审计,一般通过使用Fortify Audit Workbench打开FPR(Fortify Project Results)文件或者将结果上传至SSC(Fortify Software Security Center)来进行分析,从而直接看到蕞终的结果信息
以上信息由专业从事源代码扫描工具fortify规则的华克斯于2024/7/24 8:49:07发布
转载请注明来源:http://m.tz1288.com/qynews/hksxxkj-2790773539.html