代码审计指南.pdf
Audit Workbench 用户指南用户指南版本 4.52007 年 9 月Audit Workbench Users GuideCopyright 2003-2007 Fortify Software,Inc.9/10/07All Rights Reserved.Printed in the United States of America.Fortify Software,Inc.2300 Geng Road,Suite 102Palo Alto,California 94303 Fortify Software,Inc.(以下简称Fortify)和许可证颁布者保留对此文档(以下简称文档)的一切所有权。对此文档的使用受适当的版权法支配。Fortify 可以在没有预先通知的情况下随时修改该文档。此文档在没有任何类型保证的情况下被原样提供。对于从此文档中发现的任何错误所引起的直接的、故意的、巧合的或导致严重后果的损害,FORTIFY 绝不会对此负责,包括在限制范围之外的任何损失或者对商业、利益、使用或数据造成的麻烦。FORTIFY 可以在没有预先通知的情况下保留对此最终产品得出的此文档中的任何细节和元素进行修改和删除的权力。Fortify 是 Fortify Software,Inc.的注册商标在此文档中商品和产品名称是他们的各自拥有者的商标。Audit Workbench Users Guide iii目录目录Preface.1Chapter 1:入门入门.3Audit Workbench 是什么是什么?.3打开专案打开专案.4使用使用 AuditGuide.4浏览浏览 Audit Workbench 界面界面.5Issues Panel.5Analysis Trace Panel.6Source Code Viewer Panel.6Summary Panel.7Details Panel.8Diagram Panel.9Chapter 2:审核并报告分析结果审核并报告分析结果.11浏览分析结果浏览分析结果.11查看分析追踪资料查看分析追踪资料.11问题分组问题分组.11搜索的使用搜索的使用.12建立问题建立问题.14产生报告产生报告.14查看结果验证信息查看结果验证信息.15Chapter 3:使用进阶特性使用进阶特性.17自定义自定义 AuditGuide.17使用使用 Eclipse 导航和编辑特性导航和编辑特性.18输出一个原始码分析过滤文件输出一个原始码分析过滤文件.18自定义自定义 Issues View.19整合一个漏洞追踪系统整合一个漏洞追踪系统.19通过多个审核员合并审核信息通过多个审核员合并审核信息.19建立自定义建立自定义 Cleanse 规则规则.20从从 New Analysis Results 文件进行更新文件进行更新.20管理管理 Rulepacks.20调整调整 SCA 信任度信任度 .21Chapter 4:故障排除和支援故障排除和支援 .23故障排除故障排除.23使用日志文件来排除故障.23ivAudit Workbench Users Guideorg.eclipse.swt.SWTError 错误信息.23Out of Memory 错误.23重新设定预设的视图 .24报告错误并要求改进报告错误并要求改进.24Audit Workbench Users Guide 1Preface本文档介绍了如何使用 Audit Workbench.如果您对本文档的任何内容有疑问或者建议,请联系 Fortify Software:客户支持客户支持公司所在地公司所在地2300 Geng RoadSuite 102Palo Alto,CA 网址网址http:/2Audit Workbench Users GuideAudit Workbench Users Guide 3Chapter 1:入门入门这一章提供了 Audit Workbench 特性与功能的概述,并且描述了 Audit Workbench 的主要元素。想获取 Audit Workbench 使用过程的资讯,请查看 审核与报告分析结果 和 使用 Advanced Features。这一章包含了下列话题:Audit Workbench 是什么打开专案使用 AuditGuide浏览 Audit Workbench 界面Audit Workbench 是什么是什么?Audit Workbench 使用一个图形用户界面扩充了 Fortify Source Code Analyzer(Fortify SCA),使得开发组织与安全审记小组能够迅速地对分析结果进行组织,研究和分级,从而使安全漏洞能在短时间内被修复。Audit Workbench 拥有下列特性:通过文件名和行号对安全漏洞精确识别有漏洞的代码基于全部相关原始码的综合视角被污染 data flow 路径,可以帮助您理解漏洞是如何在程序流中形成的对漏洞的具体建议,帮助您理解它们是什么与如何修复它们多种筛选,寻找,和分类选项,可以帮助你聚焦漏洞种类,分析类型,用户输入类型,和特定的易受攻击的函数AuditGuide 向导,帮助您建立经典分析档案审记员注释,允许审记员给原始码分析结果注释关于可开发性的评语,检阅状态和其他经典的笔记。4Audit Workbench Users Guide打开专案打开专案Audit Workbench 使用专案组织 Fortify SCA 产生的初步审核结果。在 Audit Workbench 中打开审记专案:1.打开 Audit Workbench.显示 Choose Project 对话框2.选择一个专案并且点击 OK.显示 Project Summary 对话框,包含资讯关于:有多少文件和代码行被扫描有多少被标记的热点问题,警告,和问题被发现被发现问题数量最多的前 10 个文件按类别和分析器的问题总计按污染标记的问题总计3.点击 Continue to AuditGuide 或 Skip AuditGuide。如果您选择 Continue to AuditGuide,AuditGuide 向导会开始.AuditGuide 允许您指定哪种类型的问题是您感兴趣的,例如那些涉及环境、命令行参数的,或是 file system race conditions。请参照第 4 页上的 使用 Audit Guide”.审记结果文件显示在 source code viewer pane 中。4.检查 Audit Workbench 界面,将在第5页上的”浏览Audit Workbench界面里描述.注意 Issues panel 中被放入了按漏洞种类分类的问题。使用使用 AuditGuideAuditGuide 是一个把您带入一列问题的指南。根据您对问题的回应,Audit Workbench 会隐藏那些您确定为不重要的问题,建立优化后的结果。注意注意:您可以编辑 auditguide.xml 文件去定制 AuditGuide 的提问。获取定制 AuditGuide 的资讯,请查看第 17 页上的“自定义 Audit Guide”。当您打开一个专案时,您会有执行 AuditGuide 的选项。您也可以通过从 Tools 项目选择 AuditGuide 在审记中执行 AuditGuide。AuditGuide 提问的一系列问题您应如下回应:1.给每个问题选择 Suppress 或者 Warn 2.使用左边的列表翻阅问题3.当您回答了所有关于您专案的问题后点击 OK。一个 AuditGuide 对话框会回答报告有多少项被重新优化了。Audit Workbench Users Guide 5浏览浏览 Audit Workbench 界面界面下面的图片是一个显示了范例程序 WebGoat 扫描资讯的 Audit Workbench 界面。Figure 1:Audit Workbench 界面界面 Audit Workbench 界面由下列面板与元素组成:Issues PanelAnalysis Trace PanelSource Code Viewer PanelSummary PanelDetails PanelDiagram PanelIssues PanelIssues panel 是您能够分组和选择您想审记的问题。这个面板有下列元素组成:Issue listsHierarchical navigation treeGroup By 项目Search field最小化和最大化图标注意注意:Issues panel 标题栏显示当前安全等级设置,预设为 Broad。获取安全等级的资讯,请查看管理规则包.6Audit Workbench Users GuideIssue Listsissue lists(预设显示 Hot,Warning,Info,All,可选显示 Suppressed,Entry Pts,Removed)显示探测到问题的数量,并控制在 navigation tree 中显示的问题。例如,当您点击 Warnings,navigation tree 会显示出所有被分配为 warning 安全等级的问题列表.当您审记一个问题时,您把问题鉴别为 Hot,Warnings,Info,或 Suppressed。All 代表所有的问题。Entry Pts 代表所有被鉴别了的入口点。Removed 代表在上一次扫描中存在,当专案更新了分析结果时被去除了的问题。你通过 Options 项目控制 Suppressed,Entry Pts 和 Removed 列表的显示。Hierarchical Navigation Tree在树状图中出现的项根据哪个 group by 选项被选择了而变换。当扩展时,树状图列出每个问题的原始码和漏洞分类。扩展的树状图中每个项旁边方括号中显示的一对数字指出了有多少问题被审记了(左边的数字)和总共有多少问题(右边的数字)。Group ByGroup By 项目允许您用不同的规则给问题分组,例如按漏洞种类,分析器类型,文件名。更多资讯请查看第 11 页上的“问题分组”.Search Field Search field 允许你限制显示的问题,和搜索特定的问题。获取搜索特性的资讯,请查看第 12 页上的“搜索的使用”。最大化和最小化图标最大化和最小化图标最大化和最小化图标用来放大和缩小面板的尺寸。Analysis Trace PanelAnalysis Trace panel 显示在navigation tree中选择的问题的输出轨迹。例如,当一个关于可能被污染data flow 问题被选择时,Analysis Trace panel 显示 data flow 在这段原始码中正在移动的方向。获取更多的资讯,请查看第 11 页上的“查看分析追踪资讯”.最大化和最小化图标放大和缩小面板的尺寸。Source Code Viewer Panelsource code viewer panel 显示与在 Issues panel 中选择的问题相关的代码段。当在 Analysis Trace panel 中多个节点代表一个问题时,source code viewer panel 显示与被选中的节点有关的代码。Audit Workbench Users Guide 7Summary PanelSummary panel 显示关于当前选中问题的资讯,如下表描述的:注意:注意:您可以通过编辑 auditlabels.properties 文件定制 Analysis categories 的名字和数字与issue lists 的名字。这个文件包含了如何定制它的资讯,它位于:/Core/config漏洞分类以粗体出现在面板的右上方。在分类名字下,漏洞领域和分析器被显示在括号中,跟着有一个对漏洞的简单描述。例如,Command Injection(Input Validation and Representation,data flow)表示这个问题被 data flow 分析器探测到,是一个 Input Validation and Representation 领域中的 Command Injection 问题。Table 1:Fortify Analysis Summary Panel 元素元素描述 元素元素描述Location显示问题的文件名和行号Analysis指定您的分析结果:-Not an issue-Reliability issue-Unknown(预设)-Bad Practice-Suspicious-Dangerous-Exploitable-Exploit availableStatus指定审记状态:-Not reviewed(预设)-Under review-ReviewedImpact指定影响:-Unknown(预设)-Low-Medium-HighList把问题移动到另一个列表:-Hot-Warnings-Info-SuppressedComments记录关于问题的额外资讯Suppress Issue把安全等级重新分配为 suppressed 并且从 navigation tree 中移除File Bug提供一个到 bug 跟踪系统的途径,例如 BugzillaView More Details打开 Details panel8Audit Workbench Users GuideDetails PanelDetails panel 提供被选中问题的详细描述并提供对付它的指导方针。每一个描述包括下表描述的一些或者全部。注意注意:获取关于 SCA confidences 的资讯,请查看第 21 页上的“调整 SCA 信任度”。Table 2:Details panel元素描述元素描述Abstract一个对问题的总结描述Explanation一个对这类问题发生条件的描述,包括对漏洞的讨论,它的相关典型结构,它该如何开发,和可能的攻击分支Recommendations关于如果对付问题的资讯Tips关于审记方案的普通与困难的范例,附有如何鉴别特定问题的提示References相关资讯的关联Instance ID问题的唯一识别号Rule ID发现问题所依据的主要规则号码SCA ConfidenceA metric generated by Fortify SCAAudit Workbench Users Guide 9Diagram Panel当你在 navigation tree 中选择一个 dataflow 问题时,Diagram panel 可视化地解释了节点执行顺序,调用深度,和表达式类型。Figure 2:一个一个 SQL Injection 问题的问题的 Dataflow 图形范例图形范例纵轴显示了执行顺序。追踪从顶部的第一个调用污染源的函数开始,然后追踪调用到源点(蓝色节点),在汇点(红色节点)停止追踪。在图表中,源点(src)和汇点(sink)都被标记了。一个在纵轴上的红 X 表示这个被调用的函数结束了执行。横轴显示了调用深度。线条显示了控制权的转移。如果控制权转移时携带含有被污染数据的变量那么线条是红色的,如果没有被污染数据时线条是黑色的。每个节点的表达式类型用下面图标中的一个表示:注意注意:如果一个规则添加了一个/Core/config/中的污染标记auditguide.xml,标记名称将会显示。要在 dataflow 图表中显示一个自定义标记,添加这个标记到这个 XML 文件并重启 Audit Workbench。Table 3:Data Flow 图标图标描述图标图标描述数据被分配到一个域或变量数据被分配到一个全局域或变量函数调用收到被污染数据 函数调用返回被污染数据传递,被污染的数据在一个函数调用中从一个参数传递到另一个被污染的数据从一个函数返回10Audit Workbench Users GuideAudit Workbench Users Guide 11Chapter 2:审核并报告分析结果审核并报告分析结果这以部分包含了以下这些内容主题:浏览分析结果查看分析追踪系统问题分组搜索的使用建立问题产生报告查看结果验证资讯浏览分析结果浏览分析结果当你打开了一个Audit Workbench的项目来查看Fortify Source Code Analyzer(Fortify SCA)所侦测到的问题之后,你就能审核这些问题,以便仔细考虑这些问题的严重级别和出现在 Summary panel中,对它们执行的安全分析的状态。审核结果以问题的严重级别来分类,并随着这些问题被定义在 Hot 列表下,预设地显示在问题面板中,有可能会对其进行适当的修正。点击 Warning 和 Info 来查看在这些列表中分类的问题。每一类列表中存在的问题数量显示在相关的按键之下。为了检验和问题面板中显示的问题相关的代码,选中这个问题。存在问题的原始码部分,和包含面板标题所显示问题的文件的名字,会出现在原始码查看面板中。查看分析追踪资讯查看分析追踪资讯当你在导航树中选择了一个问题,相关的追踪资讯会在分析追踪面板中输出。一般来说,这是一系列程序节点,显示了分析器是如何找到这些问题的。对于 data flow 和 control flow 问题,这一系列节点以一种可执行的顺序出现。当你选择了一个数据流问题,接下来的这个分析追踪面板上出现的图标类型,和图表面板上出现的图表显示了数据流是如何周旋于这一部分的原始码中的:一个左箭头表示受污染的数据是来自于一个函数。一个右箭头表示数据流向函数。一个双向箭头表示一个中间任务或者过渡函数。问题分组问题分组出现在树型项目上的条目根据所选择的项目的类别而变化。项目的类别在以下的表格中有所描述。Table 1:根据选项分类选项描述根据选项分类选项描述Analyzer 分析器根据分析器类型将问题分类Audit Analysis 审核分析根据审核分析将问题分类,如可疑的和可攻击的12Audit Workbench Users Guide通过选项的使用在不同的问题组中切换,以便从不同的角度查看问题。搜索的使用搜索的使用搜索功能允许你过滤掉问题列表中其它问题,来寻找特定的问题。搜索的标准是来自于搜索程序的制定者。这个制定者指定一个特定的问题参数,根据这个参数来执行搜索。你可以以下面这种形式在搜索栏中输入搜索标准::要执行另一个配对搜索,在引用栏中输入标准。例如,如果你输入 status:reviewed,所有已经检阅过的和没有检阅的问题都会被返回,因为它们都包含了“reviewed”这个术语。如果仅仅是搜索检阅过的问题,需输入 status:”reviewed”。你也可以使用反斜杠()作为一个搜索标准中的换码符,如下面的例子所述:category:j2ee bad practices:sockets接下来的表格描述了搜索修改器。Category 种类根据漏洞的种类将问题分类。这是预设设定。File name 文件名根据文件名将问题分类Packages 包根据问题的类型将其分类Sink 汇点将共享同一数据流汇点函数的问题分一类Source 源点将共享同一数据流源点函数的问题分一类Taint flag 污染标记根据问题所包含的污染标记将其分类New Issues 新问题显示从上次扫描出现的新问题。例如,如果你执行一次新的扫描,任何新出现在树型项目上,属于新问题组下的问题,而其它的问题则显示在已存在的问题组中。在新的扫描中移除的问题出现在移除列表中。Table 2:Search Modifiers修改器描述修改器描述analysis 分析分析者对问题的分析,如 analysis:exploitableanalyzer 分析器查找到问题的分析器,如 analyzer:semanticcategory 类别问题的漏洞类别,如 category:j2eecomments 注释包含在问题的审核注释中任何部分的字符串,如comments:fixedfile 文件和问题相关联的原始文件,如 file:foo.javaTable 1:根据选项分类选项描述根据选项分类选项描述Audit Workbench Users Guide 13 要使用搜索功能,在搜索栏中输入搜索标准,并点击 Enter。问题列表会包含这个结果。你可以通过按选项分组来继续组织,或者点击 cancel icon(红的“X”)来清除结果。考虑以下的例子。在 getSSN()中作为源点,搜索所有包含 jsp 的违反预设规则的文件名,输入:category:privacy source:getssn file:jsp搜索所有包含 com/fortify/awb 的文件名,输入:file:com/fortify/awb搜索所有包含节点的,以 mydbcode.sqlcleanse 作为文件名一部分的路径,输入:node:mydbcode.sqlcleanse搜索所有包含节点的,以 cleanse 作为文件名一部分的路径,输入:node:cleanse搜索所有将 cleanse 作为任意制定者一部分包含在内的问题,输入:cleanseinstanceid 实例和问题相关联,独一无二的 ID,如 instanceid:F18D678BE3509241D10F8952321D3CE6maxconf 最大可信度具有小于或者等于标准的可信度maxnodes 最大节点数在一个问题的分析追踪中和节点的数目绑定的整数,如maxnodes:10minconf 最小可信度具有于或者等于标准的可信度node 节点含在问题分析追踪中任何部分的字符串,如 node:assignmentruleid 规则 IDID 指定了一个和问题相关联的规则,如 ruleid:ACEDD018-EA76-47B9-A765-21CB8C6701DAsink 汇点一个数据流问题的汇点函数,如 sink:executequerysinkfile 汇点文件包含一个数据流问题汇点函数的文件,如 sinkfile:foo.javasource 源点一个数据流问题的源点函数,如 source:getparametersourcefile 源点文件包含一个数据流问题源点函数的文件,如sourcefile:foo.javastatus 状况问题审核的状况,如 status:not reviewedtaint 污染点和数据流问题相关联的污染点 taint:networkTable 2:Search Modifiers修改器描述修改器描述14Audit Workbench Users Guide建立问题建立问题如果你发现一个问题,没有在扫描中被侦测出来,而你想将其认作一个问题,并将它加入到导航树中去,右键点击原始码浏览面板上包含问题的行,并从上下关联的项目中选择 Create Issue。这个问题就被加入到导航树中去了,在右边显示为“(自定义问题)”,并能够编辑定义所包含的适当审核资讯,就如同其它问题一样。产生报告产生报告要产生一个报告:1.选择 Tools-Generate Report.2.在 Export As 项目中选择一个报告格式:Formatted Text:一个简单的人为可读的格式Raw XML:一个丰富的格式,能够让自动化的工具自动粘贴HTML:一个使用 HTML 模版的灵活格式。Quick Issue List(Text):一个摘要列表,你可以剪切到其它的报告中去 SCA Summary(.doc):一个简单的对一些高级别资讯的总览,并把 Microsoft Word 格式问题计算在内。SCA Summary(.pdf):一个简单的对一些高级别资讯的总览,并把Adobe PDF格式问题计算在内。3.可随意地修改文件名称和地址,如果需要的话使用浏览器。4.可随意地选择,包括潜在的问题。5.如果你选择了 Formatted Text,HTML,或者 Quick Issue List(Text)来报导问题,你可以定义附加的描述细节,而且包含一个可执行的摘要。在这个描述细节有一下这些选择:将详细描述放到一个附加文件将详细描述加到行中忽略详细描述(预设设定)6.点击OK。报告就会出现在报告预览面板。如果你选择了Formatted Text或者HTML报告格式,报告就会包含下面这张表格中所列的部分内容。Table 3:报告部分报告部分描述报告部分报告部分描述项目资讯关于已分析的原始码的基础资讯分析摘要关于特殊源点的资讯按分类总计显示审核百分比的审核图表按类别总计显示漏洞类型百分比的审核图表文件的数据流节点显示数据追踪受污染最严重文件的图表发现物审核问题的列表Audit Workbench Users Guide 15注意注意:在之前的 Audit Workbench 版本中,Fortify Manager 输入包格式被用来传输审核结果到Fortify Manager。FPR 文件现在就能直接输入到 Fortify Manager。更多资讯,可以查看 Fortify Manager Users Guide。查看结果验证资讯查看结果验证资讯结果验证是一个检验的记号,标志着 Audit Workbench 中看到的 FPR 文件,而且 Fortify Manager 和 Fortify SCA 中产生的那个是一致的。它同样包含了关于 Fortify SCA 所仔细检查的代码的特定资讯:检查过的文件的列表,包括文件大小和次数Java 的类路径使用过的规则包的列表:ID 和版本资源列表命令行参数列表,包括规则包安全级别错误的列表机器/平台资讯如要查看结果验证资讯,选择 Tools-Result Certification.16Audit Workbench Users GuideAudit Workbench Users Guide 17Chapter 3:使用进阶特性使用进阶特性这部分包含以下内容:自定义 Audit Guide使用 Eclipse 导航和编辑特性输出一个原始码分析过滤文件自定义 Issue View整合一个漏洞追踪系统通过多个审核员合并审核资讯建立自定义 Cleanse 规则从 New Analysis Result 文件进行更新管理 Rulepacks调整 SCA 信任度自定义自定义 AuditGuide你通过向审核向导输入应答来为 Audit Workbench 指定你需要的资讯类型以便查看为一个指定项目列出的重要问题。你可以通过增加或删除 uditguide.xml 文件中的 元素来指定审核向导所询问的问题。例如,考虑以下审核向导问题:文件系统输入根据你的系统,以文件为来源的输入可能来自于不安全的用户,审核向导可以解决那些基于以文件系统为来源的数据的问题,如果这些数据是受信任的。如果你信任文件系统输入,就选择“解决”选项。否则,选择“警告”选项。-解决有关文件系统输入的问题。-警告我有关文件系统输入的问题。以下代码是之前审核向导的问题的 XML 表示,这些代码出现在 auditguide.xml 文件中。第一个标签包括了问题的文本,子标签为 Audit Workbench 指定了当用户选择解决问题时应该做什么:File System Inputs Depending on your system,inputs from files may or may not come from trusted users.AuditGuide can suppress issues that are based on data coming from the file system if it is trusted.Select suppress if you trust file system inputs.Otherwise,select warn.Suppress issues involving file system inputs.Warn me about issues that involve file system inputs.18Audit Workbench Users Guide 你可以自定义 auditguide.xml 文件,文件的路径如下:/Core/config/auditguide.xml你可以编辑的元素有:出现在审核向导窗口顶部的一个对问题的简要描述。:可以有多个 元素。每个元素都是对这个问题的作用的一长段描述中的一小段内容。:对 Yes 选项的描述。:对 No 选项的描述。.:可以有多个 元素。每个元素拥有一种类型。这些类型决定了将要被解决的被感染的标签。要查看 类型属性的合法值,在问题面板中选择 Group by-Taint flag。这样就能给你提供项目中的被感染的标签并允许你自定义审核向导来解决基于这些被感染的标签的问题。.:可以有多个 元素。每个元素拥有一个类型,这些类型决定了将要被解决的缺陷类型:要查看 类型属性的合法值,在问题视图中选择 Group by-Category。这样就能给你提供项目中的类型并允许你自定义审核向导来解决基于这些类型的问题。使用 Eclipse 导航和编辑特性使用 Eclipse 导航和编辑特性Audit Workbench 提供了原始码导航和编辑特性,这些特性提供了与在 Eclipse 中相同的操作。这些特性可以通过以下方式获得:Source 项目,这个项目提供了对原始码的编辑和格式化工具Search 项目,这个项目提供了关键字搜索以及代码导航工具在 Options 项目中 Preferences 选项,这个选项可以让你自定义窗口和编辑器以各种方式显示。想要了解有关使用这些特征的资讯,查看 Eclipse 相关文档。输出一个原始码分析过滤文件输出一个原始码分析过滤文件一个SCA过滤文件允许你控制Fortify SCA的输出。当这个文件使用-filter选项传递给Fortify SCA时,Fortify SCA 将不包括任何在它的输出中存在的问题,这些输出与过滤文件中的标准匹配。注意注意:想要获得关于原始码分析执行选项的更多资讯,请查看 Fortify Source Code Analyzer Users Guide。要产生一个基于你的问题解决和审核向导答案的过滤文件,选择 Tools-Export SCA Filter File。最终的过滤文件包括一些唯一的问题标识符,这些标识符对线性数量变化有抵抗能力并能防止这些问题在将来的分析结果中出现。注意:注意:这个特性仅为方便使用而提供。如果你要对相同的代码基数执行多个扫描并且需要审核它们之间的区别,你应该使用导入新的 SCA 分析特性,这样将得到拥有相同实例 ID 的审核情况。Audit Workbench Users Guide 19自定义自定义 Issues View你可以把 Option 项目里的选项设置成自定义项:Show Entry Points:显示所有给用户输入程序的地方。Show Suppressed Items:显示所有积压项,这个选项是预设的。Show Removed Items:如果你已经导入了 new SCA 分析,显示所有在前一次分析之后被删除的项。Use Short Filenames:仅通过文件名去参考 issue view 中的问题,而不是通过相对路径。这个选项是预设的。Show View:允许显示分析追踪,问题,和Summary panel。也提供Other选项,这个选项包括标准 Eclipse 导航功能。注意注意:关于 Reset Default Views 选项的相关资讯,请参照第 24 页上的“重新设置预设的视图”。整合一个漏洞追踪系统整合一个漏洞追踪系统Audit Workbench 提供一个用来结合缺陷追踪系统的插件接口。它允许你直接从 Audit Workbench 里把漏洞文挡化。这里提供了一个 Bugzilla 的插件例子 (www.bugzilla.org)。你可以通过导航选择合适的插件到Options-Configure Bugtracker Integration。Bugzilla 插件的原始码可以在在这里得到:/Samples/advanced/bugtracker/编写你自己的 plug in:1.写一个 Java 的类去实现这个漏洞追踪的 Plugin 插件接口,描述如下:package com.fortify.awb;import java.util.Properties;public interface BugtrackerPlugin public String toString();public Properties getDefaultOptions();public boolean submit(Properties options);2.确保/Core/lib/bugtracker.jar 与你的class文件是相同路径。3.编译一个 jar 文件,文件名需包括 bugtracker(比如 my-bugtracker.jar).4.把 jar 文件放入/Core/lib/directory.通过多个审核员合并审核资讯通过多个审核员合并审核资讯Audit Workbench 允许多个审核师去审核部分相同的代码,然后结合自己的研究结果。要这样做,选择 Tools-Merge Audits 导出审核文件(.fpr),包括你将合并到当前项目的、已审核过的部分。注意注意:对外协调仍需要确保不同问题来进行审核。Audit Workbench 警告如果同样的问题被审核了两次,那你可以做以下其中之一的任何一件事:取消合并(不会产生改变)对于有冲突的问题使用当前审核员的修改20Audit Workbench Users Guide建立自定义建立自定义 Cleanse 规则规则Audit Workbench 允许你为了实现特定功能去建立自定义 cleanse 规则.建立一个 cleanse 规则:1.右键打开 context 项目.2.选择 Generate Rule 打开自定义规则窗口.3.Function 和 Argument 文本框显示了将被用来产生规则的数据,Rules File 文本框显示了产生的规则文件的位置。你可以编辑这些字符。4.点击 Generate 在已选择的位置编写规则,或者点击 Close 退出窗口,不要保存任何规则。如果出现错误“No function symbol found for selection,”需要确保:你已经在这台机器上完成了这个项目的分析。符号资讯资讯仅在原始码分析在同一台机器上执行过之后得到。你已经选择了 invocation 功能。从从 New Analysis Results 文件进行更新文件进行更新如果你完成了一个在 analysis results 中的审核,然后重新执行进行扫描的源文件,你可以更新这个由旧的 analysis results 文件和在没有丢失你先前输入的审核资讯情况之下的 new analysis results 文件建立的 audit project 文件。以一次新扫描建立的 analysis results 文件更新 audit project 文件:1.打开 old audit project 文件。2.选择 Tools-Import New SCA Analysis.所选的 SCA Analysis File 窗口 被罗列。3.选择 new analysis results 文件。4.选择 File-Save As 把 new analysis results 文件保存为 new audit project 文件。你也可以利 updatefpr.jar 命令行工具以一个 new analysis results 文件进行 audit project 文件的更新,它可以允许你在不打开 Audit Wo