在安全扫描结束并交付结果的时候,大家通常先拿到的是一个FPR格式的文件,而不是直接打开平台的页面去看。要说清楚这个FPR文件到底该怎么打开,以及打开之后要是碰到字段显示不全又要怎么处理,主要取决于你是打算在本地用Audit Workbench来做审计,还是准备把它上传到Fortify Software Security Center里去统一查看。按照Fortify官方的文档说明,Audit Workbench这个工具能够帮助人们对扫描结果进行组织、调查,还有确定优先处理顺序,同时FPR文件也能上传到应用安全的对应版本下面去阅读。
一、FPR文件怎么打开查看
拿到FPR文件以后,不要直接就想着用压缩软件或者文本编辑器去把它给打开。它本身是Fortify扫描完生成的结果文件,文件的内部存放着漏洞的结果、规则信息、源码所在的位置,还有审计状态之类的内容,正确的做法是拿Fortify配套的工具来查看。
1、借助Audit Workbench来打开
先把Fortify Static Code Analyzer and Tools这套东西安装好,然后把里面的Audit Workbench给启动起来,接着点一下菜单里的【File】→【Open】,找到存储在本地的那个FPR文件,把它给打开,等界面加载出来之后,主要应当去关注这些问题列表、用来定位源码的区域、规则的详细说明、审计标签,还有给出的修复建议。
2、按照不同的严重级别去筛选问题
进到了结果页面以后,你是可以按照各种严重级别去看的,就比如Critical、High、Medium、Low这样,也可以换用文件、目录、漏洞的类型,或者审计状态来给它们分组。Fortify的文档里面也提到过,过滤集这个设置是会保存在审计项目文件里头的,不一样的FPR文件可以有各自不同的过滤集,通过这些过滤集就可以调整问题展示出来的范围了。
3、把FPR上传到SSC上面去查看
假如团队本身在使用Fortify Software Security Center这个管理平台,那你也可以把FPR传到对应的应用版本里面去,官方文档里有过说明,上传FPR的时候你能够指定一个应用标识,或者是指明应用的名称和版本,等到传完了之后,就可以在平台里面统一地去观察趋势的变化、策略的状态、问题的分派情况,还有历史的扫描记录了。
二、FPR文件字段显示不全怎么处理
字段显示不全这种状况,比较常见的表现就是看不见完整路径、规则说明、审计状态、注释,或者是责任人,又或者是某些字段被过滤掉以后,让人产生了数据丢了的错觉。在这种时候,先不要往FPR损坏那方面去想,要先去查一查视图和过滤条件这两方面。
1、检查一下窗口和列的宽度
你可以在问题列表里面,试着把那列往宽处拖一拖,或者在表头的区域点一下鼠标的右键,去看看到底有哪些字段是可以被显示出来的。在屏幕分辨率调得偏低,或者窗口本身被压得比较小的情况下,有些字段很可能只不过是被暂时藏起来或者截断了,并不是说FPR里面压根儿就没有那项内容。
2、检查一下过滤集的设置
要是你感觉到字段或者问题突然变少了很多,那很可能是当前的过滤集把一部分结果给隐藏起来了,Fortify官方的文档里对此有说明,问题模板是可以靠着多个过滤集来快速地在排序和可见范围之间做切换的,而且Audit Workbench本身也支持去设定一个默认的过滤集,这个时候你不妨试着切换到另一种更完整一些的视图里,然后再去确认一下那些消失的字段是不是恢复过来了。
3、去查看那些问题被隐藏的原因
如果有一些问题怎么都显示不出来,你可以在问题视图里面使用相关的过滤功能去做一个排查,官方文档里也讲到过,在某一条问题上点右键,是可以查看“为什么这个问题会在这里”的,同时也能去查看“为什么这个问题被隐藏了”,靠着这个方法就能去判断到底是不是过滤规则在中间起了作用。
4、检查一下工具版本的兼容情况
用比较老版本的Audit Workbench去打开新版扫描器生成的FPR,有可能会碰上显示不正常,或者部分信息没能完整读出来的问题,所以比较推荐的办法,是用跟扫描工具版本比较接近的那一款Fortify工具来打开,如果有必要的话,也可以从SSC上重新把合并过的FPR给下载下来,SSC的文档里面也说明了,在应用版本的Artifacts页面中,是可以下载到最新合并好的分析结果FPR文件的。
三、FPR查看结果以后要怎么去复核
FPR文件能够顺利打开,并不等于里面的结果就已经被看完整了,在正式交付或者打算拿去整改之前,还得再去确认一下扫描来源、过滤状态,还有导出来的报告是不是相互对得上。
1、核对一下扫描的基础信息
先要看清楚这个FPR对应的是哪一个项目、哪一个版本、扫描是在什么时间做的、用到的是哪一套规则包,以及之前的那些上传记录,如果在用SSC平台的话,可以在Artifacts页面里面,去把上传过的扫描制品的历史和它的详情调出来看一看。
2、导出一份报告来做交叉检查
要是页面上有些字段不管怎么弄都看不太全,那就可以从Audit Workbench里面去生成一份报告,按照官方文档的说明,报告是可以被保存为PDF、HTML,还有Microsoft Word这几种格式的,等到报告导出来以后,再去对一下漏洞的名称、文件所在的路径、行号、审计的状态,还有修复的说明,这样就能跟页面上的信息去做一个比对了。
3、把原始的FPR文件妥善保留好
在动手审计之前,应当先给原始的FPR文件做个备份,等审计全部做完了以后,再另外保存一份带着审计状态的新文件,这样一来,后面就能很清晰地把原始扫描的结果和人工审计过后的结果给分开来,也就不用担心因为字段被过滤、标记,或者一不小心被覆盖掉,导致后期没地方去往回追溯了。
总结起来看,对FPR文件进行查看的时候,比较妥当的顺序是先用Audit Workbench把它在本机打开,在本地把审计工作做完了以后,再按实际的需要上传到SSC上面去统一管理。要是碰到了字段显示不完整的情况,应该先从列的宽度、视图的选择、过滤集的设定、隐藏规则的启用,还有工具的版本这几个角度去检查,别一上来就断定是文件本身坏掉了。到了需要交付结果的时候,再通过导出报告和核对Artifacts记录这种方式去复核扫描的来源,同时记得把原始的FPR和审计之后的FPR都保留下来,这样后面真要动手做整改,追踪起来才不会乱。