Fortify_SCA_Utilities_Guide_v5.2

Fortify_SCA_Utilities_Guide_v5.2
Fortify_SCA_Utilities_Guide_v5.2

Fortify SCA 工具

用户指南

版本 5.1

2008 年 3 月

版权所有 ? 2008 Fortify Software, Inc.3 26, 2008

保留所有权利。美国印刷。

Fortify Software, Inc.

2215 Bridgepointe Pkwy

Suite 400

San Mateo, CA 94404

Fortify Software, Inc.(以下简称 "Fortify")和他的授权者保留对此文档(以下简称“文档”)的一切所有权。本文档的使用需遵守相关的版权法。Fortify 保留在不预先通知的情况下随时修改本文档的权利。

本文档在没有任何承诺的情况下按“此版本”提供。对于本文档中发现的任何错误所引起的特殊的、巧合的或间接的损害,包括对其业务、利益、使用或数据等以及其他的任何方面造成的任何损失和意外中断,Fortify 均不对此承担责任。Fortify 保留有在不预先通知的情况下对本文档中所介绍的最终产品的任何功能或组件进行修改和删除的权利。

Fortify 是 Fortify Software, Inc. 的注册商标。

本文档中的品牌和产品名称是其各自所有者的商标。

Fortify SCA 工具用户指南

目录

前言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1第 1 章:Fortify 命令行工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3工具概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3预编译 MS Visual Studio ASP 页面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4处理 FPR 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

合并 FPR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

显示 FPR 的结果认证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

从以前的 FPR 版本迁移审计数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

从 FPR 文件中提取 Fortify 源代码存档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6将 FPR 文件上传到 Fortify Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7将规则包迁移到项目模板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8使用命令行生成报告. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8更新规则包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9将 Fortify SCA 整合到简单的 Build 中 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 SCA 后续安装任务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10将 FPR 文件上传到 Team Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

上传 FPR 文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

下载 FPR 文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

更改 Team Server URL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10索引. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Fortify SCA 工具用户指南 i

ii Fortify SCA 工具用户指南

前言

本书将介绍 Fortify SCA 工具。

如果您对本指南的任何内容存有疑问或建议,请与 Fortify Software 联系:

技术支持部门

650.358.5679

techsupport@https://www.360docs.net/doc/912071619.html,

企业总部

2215 Bridgepointe Pkwy

Suite 400

San Mateo, CA 94404

650.358.5600

contact@https://www.360docs.net/doc/912071619.html,

网站

https://www.360docs.net/doc/912071619.html,

Fortify SCA 工具用户指南 1

2Fortify SCA 工具用户指南

第 1 章:Fortify 命令行工具

本章将介绍 Fortify SCA 工具。其中包含以下主题:

?工具概述

?预编译 MS Visual Studio ASP 页面

?处理 FPR 文件

?将 FPR 文件上传到 Fortify Manager

?将规则包迁移到项目模板

?使用命令行生成报告

?更新规则包

?将 Fortify SCA 整合到简单的 Build 中

?SCA 后续安装任务

?将 FPR 文件上传到 Team Server

工具概述

除非另行说明,否则 Fortify SCA 工具均位于安装目录bin中,如下所示:

/bin/

在 Windows 安装中,工具一般是 BAT 文件。而在 Unix 安装中,工具则为 SH 脚本。

下表对各个工具进行了概括性说明,并提供本文档中详细介绍其使用信息的章节链接。有时候,在

其他 Fortify 文档中会提供有关工具的更详尽的论述。

表 1:Fortify SCA 工具

工具描述章节

fortify_aspnet_compiler在分析之前预编译 Microsoft Visual

Studio 2003 ASPX 页面。预编译 MS Visual Studio ASP 页面

FPRUtility合并审计的项目、验证 FPR 签名、将

审计项目迁移到更新的格式,以及将

源代码文件和审计项目合并或拆分成

FPR 文件。

处理 FPR 文件

managerclient将 FPR 文件上传到 Fortify Manager。将 FPR 文件上传到

Fortify Manager

MaskMigration通过规则包掩码文件创建项目模板。将规则包迁移到项目

模板ReportGenerator根据 FPR 文件生成报告。使用命令行生成报告rulepackupdate将当前的 Fortify 安全编码规则包与最

新版本进行对比,并进行必要的更新。

更新规则包

tool_finder将 Fortify SCA 整合到一个简单的

build 过程中,不必对 build system 进

行任何变更。将 Fortify SCA 整合到简单的 Build 中

Fortify SCA 工具用户指南 3

4Fortify SCA 工具用户指南

预编译 MS Visual Studio ASP 页面

ASP .NET Compiler 工具 fortify_aspnet_compiler ,可预编译 Visual Studio 2003 ASPX 页面。如果您要使用 Fortify SCA 分析 ASP .NET 1.1 应用程序,则应该在执行 source code analysis 之前运行 fortify_aspnet_compiler 。

fortify_aspnet_compiler 工具位于以下目录中:

/Tools/fortify_aspnet_compiler

要在 source code analysis 之前预编译 Visual Studio 2003 ASPX 页面,请执行以下操作:1.切换到以下目录:

Tools/fortify_aspnet_compiler 2.

输入下列内容以运行工具:fortify_aspnet_compiler

其中 是指包含要扫描的 ASPX 文件的网站 URL , 是指 web 项目的源代码根目录。

有关更多信息,请参见《Fortify Source Code Analyzer 用户指南》中的“分析 .NET 应用程序”。

处理 FPR 文件

使用 FPRUtility 可执行以下任务:?合并 FPR

?显示 FPR 的结果认证

?从以前的 FPR 版本迁移审计数据?

从 FPR 文件中提取 Fortify 源代码存档

FPRUtility 位于以下目录中: /bin /

合并 FPR

-merge 操作可以将分析信息从两个 FPR 文件合并成一个 FPR 文件,并会使用主要项目的值来解决冲突。 以下示例可合并项目:

-merge -project primary.fpr -source secondary.fpr-f output.fpr

scapostinstall 从以前的版本中迁移配置参数。SCA 后续安装任务tsclient

将文件上传到 Fortify SCA Team Server 。

将 FPR 文件上传到 Team Server

表 1:Fortify SCA 工具工具

描述

章节

Fortify SCA 工具用户指南

5

-merge 操作完成后,将显示下列一项退出代码。显示 FPR 的结果认证

-information 操作可以输出有关项目签名的信息。此信息可以用来验证签名,查看迁移项目的映射,

以及检查与该 FPR 相关的任何错误。 以下示例可显示项目信息:

-information -signature -project project.fpr -f output.txt -information -mappings -project project.fpr -f output.txt -information -errors -project project.fpr -f output.txt

-information 操作完成后,将显示下列一项退出代码。

表 2:用于合并审计数据的 FPRUtility CLI 参数元素描述

-merge

合并制定的项目和源 FPR 文件。

-project 合并 FPR 时的主要项目。将使用此文件中的值来解决遇到的冲突。

-source 要合并的次要项目。如果出现冲突,此文件中的值会被主要项目中的值覆盖。

-f

可选。指定一个输出文件,以便将主要和次要 FPR 文件合并成一个具有特定名称的新文件中。 注意:如果指定此选项,则不会修改任何原始 FPR 文件。如果未使用此选项,合并的结果会覆盖主要 FPR 文件。

表 3:FPRUtility 合并退出代码退出代码

描述

0: Merge successful : 合并按预期成功完成。5: Merge unsuccessful :

合并未能按预期成功完成。

表 4:用于显示项目签名的 FPRUtility CLI 参数元素

描述

-information 显示项目的所有签名信息。

-signature -mappings -errors

-signature 转换参数可显示签名,-mappings 转换参数可显示迁移映射报告,-errors 转换参数可显示该 FPR 的完整错误报告。 -project 从中提取结果信息的 FPR 文件。

-f

可选。用作输出的文件。默认为 System.out 。

6Fortify SCA 工具用户指南

从以前的 FPR 版本迁移审计数据

-migrate 操作可使用指定的模板文件将指定的 FPR 文件从以前的版本中迁移出来,并将分析结果

更新为新的设计项目格式。以下示例可迁移审计数据:

-migrate -project OldProject.fpr -settings Settings.properties -f output.fpr

从 FPR 文件中提取 Fortify 源代码存档

-sourceArchive 操作可以从指定的 FPR 文件创建 Fortify Source Archive (Fortify 源代码存档,

FSA ),从而使您可以从 FPR 中提取 FSA 文件。您可以从 FPR 文件中提取源代码,并为该文件创建一个存档;也可以将现有的 Source Archive (源代码存档)合并到 FPR 文件中。 以下示例可存档数据:

-sourceArchive -extract -project project.fpr -f outputArchive.fsa -sourceArchive -mergeArchive -project project.fpr -source oldSourceArchive.fsa -f ProjectWithArchive.fpr

表 5:FPRUtility 签名退出代码 退出代码

描述

0: FPR is fully signed and all signatures are valid

该项目具有签名,而且所有签名都已经通过验证。

1: FPR is signed and some signatures are valid

该项目具有签名,但只有部分签名通过验证测试。

2: FPR is signed and no signatures are valid 该项目具有签名,但没有任何签名是有效的。 3: FPR is not signed

该项目没有签名进行验证。

表 6:用于迁移审计数据的 FPRUtility CLI 参数元素描述

-migrate

将 FPR 迁移到新格式的命令。 -project 要迁移的 FPR 的名称。

-settings

要使用的迁移设置文件。属性文件是指 FPR 应用的模板。其中包含新审计项目的格式设置。 -f

用作输出的文件。

Fortify SCA 工具用户指南 7

将 FPR 文件上传到 Fortify Manager

managerclient 工具可以通过命令行将源代码 FPR 文件和审计项目文件上传到 Fortify Manager 。这

些命令可以整合到常规的 build 流程中。 managerclient 工具位于以下目录中:/bin/以下示例可上传源代码:

-upload 1 AuditProject.fpr

成功上传之后,您必须等待 Fortify Manager 处理完上传,然后才能查看 FPR 文件。如果上传的文

件太大,或者运行 Fortify Manager 的机器速度太慢,则上传可能会花费一定的时间。 如果上传失败,请确保:?在 managerclient 命令的参数中,指定的项目 ID 和 FPR 文件或者审计项目文件均正确无误。 ?Fortify Manager 正在运行:您可以浏览至该程序,然后登录。

?

scapostinstall 工具中设置的 Fortify Manager 主机、端口、用户名和密码信息均正确无误。

表 7:用于存档 FPR 文件的 FPRUtility CLI 参数元素

描述

-sourceArchive 创建 FSA 文件的命令,从而可以提取源代码存档。 -extract

-mergeArchive

-extract 转换参数可以提取 FPR 文件的内容,而 -mergeArchive 转换参数可以合并 FPR 文件和现有的存档文件。-project 要存档的 FPR 文件。

-source

如果要将 FPR 文件与现有存档合并,则 source 应为现有存档的名称。 -f

用作输出的文件。您可以生成 FPR 或 FSA 文件。

表 8:managerclient 工具 CLI 参数元素描述

-upload 上传源代码的命令。

<1>

项目 ID 号。您可以使用以下命令来查看项目 ID 列表:

managerclient listprojects

要上传的 FPR 文件。

8

Fortify SCA 工具用户指南

将规则包迁移到项目模板

MaskMigration 工具可以将指定目录下的规则包掩码迁移到项目模板文件中。随后的项目模板文件中会包含与规则包中定义的每个规则包掩码级别分别对应的过滤器组。 MaskMigration 工具位于以下目录中: /bin/以下示例可迁移规则包掩码:

-sourceDir

使用命令行生成报告

ReportGenerator 工具可以使用命令行从 FPR 文件生成 PDF 报告。ReportGenerator 工具位于以下目录中: /bin/以下示例可生成报告:

-format pdf -f -source

表 9:MaskMigration 工具 CLI 参数元素

描述

-sourceDir

包含规则包的目录。

-f

使用 -f 选项可指定用于写入结果的文件。如果未指定此文件,在默认情况下会写入 MaskMigrationTemplate.xml 。

-ruleFiles 此表达式可细化规则包掩码迁移中包含的规则包。如果不包含此表达式,在默认情况下将使用 *.xml|*.bin 。 -list 此可选调试输出可列出符合 -ruleFiles 参数所指定正则表达式的规则包文件。 -verbose

在控制台上输出详细的状态消息。

表 10:ReportGenerator 工具 CLI 参数元素描述

-format

指定要创建的报告类型:PDF 、RTF 或 XML 。 -f 使用 -f 选项可指定用于写入结果的文件。 -source

作为报告基础的审计项目。

-template 用于定义此报告的 Fortify 项目模板。 -user 要在报告中添加的用户名。 -verbose

在控制台上输出详细的状态消息。

更新规则包

Rulepack Updater 工具 (rulepackupdate),通过从 Fortify 下载服务器或 Fortify Manager 下载最

新的 Fortify 安全编码规则包来更新所安装的 Fortify 产品,这可以在安装后工具 (scapostinstall)

的 Rulepack Update Server Settings(规则包更新服务器设置)面板中的配置参数指定。

Rulepack Updater 工具收集 Fortify 安装中已有的规则包信息,并且根据这些信息联系规则包更新服

务器。服务器会返回全新的或更新的规则包,并从 Fortify 安装中删除所有过时的规则包。如果您的

安装处于最新状态,则会显示一则消息。

重要事项:为避免使用无效规则包,在运行rulepackupdate之前,应确保以下事项:

?如果您从 Fortify Manager 获取 Fortify 安全编码规则包,应确保已将规则包导入 Fortify Manager

?如果是从 Fortify 下载网站 (https://www.360docs.net/doc/912071619.html,) 获取 Fortify 安全编码规则包,应确保已订阅 Fortify Software,这样便可以在https://www.360docs.net/doc/912071619.html,上设置规则包。

要用最新的 Fortify 安全编码规则包更新 Fortify 安装,请按以下步骤运行rulepackupdate:

1.转到/bin文件夹。

2.输入下列内容以运行工具:

rulepackupdate

如果您从 Fortify Manager 获取 Fortify 安全编码规则包,并且是首次连接 Fortify Manager 来获取更

新规则包,或者 Fortify Manager 主机更改了数字签名密钥,则必须使用-trustServer选项重新

运行rulepackupdate,如下所示:

rulepackupdate -trustServer

将 Fortify SCA 整合到简单的 Build 中

Tool Finder 工具tool_finder可以将 Fortify SCA 整合到简单的 build 流程中,而且不必对 build

system 进行任何修改。要使用tool_finder,请创建tool_finder的符号链接,使其与 build

工具同名,在执行路径中使其位于 build 工具之前。

注意:此工具无法在 Windows shell 中运行,也无法搭配使用 Microsoft 编译器工具,例如cl和

link。

例如,如果项目的构建使用 gcc 副本,它安装在/usr/bin/gcc中,而且/opt/

FortifySoftware/Fortify-SCA-5.1/是路径上的第一个目录,则执行以下命令,

中创建名为 'gcc' 的符号链接,如下所示:

ln -s /opt/FortifySoftware/Fortify-SCA-5.1/Tools/tool_finder/tool_finder

\

/opt/FortifySoftware/Fortify-SCA-5.1/gcc

要验证使用的是此 gcc,而不是原来的系统版本,可以输入which gcc。屏幕中会输出新建符号链

接的路径。通过使用此链接,任何 gcc 调用都会转换为 Fortify SCA 调用。

举例,下列命令:

gcc -c src.c

会变为:

sourceanalyzer -b fortify -c /usr/bin/gcc -c src.c

Fortify SCA 工具用户指南 9

此命令会指示 Fortify SCA 将src.c添加到将使用此fortify build ID 分析的文件列表中,然后运

行真正的编译器来生成对象文件。

要更改 build ID,请将环境变量FORTIFY_BUILDID设置为需要的 build ID。要更改编译器命令(默

认情况下为sourceanalyzer -b fortify -c)前面的命令,请在tool_finder脚本中更改

SCA变量。

这个脚本不会在包含了指向编译工具的绝对路径的 build system 下运行。如果您输入/usr/bin/

gcc -c src.c,而不是gcc -c src.c,则tool_finder工具将无法截取并重写该命令。尽管

许多 build system 是结构化的,以使得修改降到最低程度,绝对路径仍然需要您手动修改 build

system 脚本。

有关与 build system 整合的更多信息,请参见《Fortify Source Code Analyzer 用户指南》。

SCA 后续安装任务

scapostinstall 工具可以更新安全编码规则包、升级之后迁移属性文件、指定语言环境,以及设置软

件包更新服务器的 URL。有关更多信息,请参见《Fortify Source Code Analysis 安装指南》中的

“后续安装任务”。

将 FPR 文件上传到 Team Server

您可以使用 tsclient 列出项目、上传 FPR 文件,以及下载 FPR 文件。首先必须安装 Audit Workbench

或一个 Fortify 安全编码插件,才能安装 tsclient。

tsclient命令行工具位于:/bin/

上传 FPR 文件

以下示例可上传 FPR 文件:

-u -p

下载 FPR 文件

以下示例可下载 FPR 文件:

-d -p -o -dir

更改 Team Server URL

要更改 Fortify Team Server 的 URL,必须更改 server.properties 文件中的 managerclient.server 属

性。该文件位于:

/Core/config/server.properties

上传命令也会使用此属性。

注意:如果没有配置 Fortify Team Server 使用 authentication,则tsclient将无法处理登录信息。10Fortify SCA 工具用户指南

表 11:tsclient 工具 CLI 参数

选项描述

-u 指定要上传的 FPR 文件。

-d 指定要下载的 FPR 文件。

指定用户名和密码。启用 authentication 的情况下,会需要这些值。

-user

-pass

指定下载的 FPR 文件的目录位置。如果未指定,则会使用当前目录。

-dir

name>

-o 指定下载的 FPR 文件的文件名。如果未指定,则会使用audit.fpr。

-p 指定项目 ID。

-f 指定输出格式。有效的格式包括文本格式和 XML。默认输出为文本格式。

-l列出项目和项目 ID。

Fortify SCA 工具用户指南 11

12Fortify SCA 工具用户指南

索引

A

ASPX 页面

预编译 4

B

BAT 文件, SH 脚本 3

bin 目录 3

C

从 FPR 文件提取 FSA 文件 6

从 Team Server 下载 FPR 文件 10

F

FPRUtility

从 FPR 提取源代码存档 6

合并 FPR 4

迁移 FPR 6

显示结果认证 5

G

更改 Team Server URL 10

工具

https://www.360docs.net/doc/912071619.html, Compiler 4

fortify_aspnet_compiler 4

概述 3

目录 3

Rulepack Updater 9

rulepackupdate 9

tool_finder 9

规则包掩码 8

H

合并 FPR 文件 4

I

-information 操作 5

J

将 FPR 文件上传到 Fortify Manager 7将 FPR 文件上传到 Team Server 10将规则包掩码迁移到项目模板 8

M

managerclient 工具 7 MaskMigration 工具 8

-merge 操作 4

-migrate 操作 6

Q

迁移 FPR 文件 6R

ReportGenerator 工具 8

Rulepack Updater 工具 9 rulepackupdate 工具 9

S

SCA 后续安装任务 10

scapostinstall 工具 10

-sourceArchive 操作 6

使用命令行生成报告 8

T

Team Server URL 10

tool_finder 工具 9

tsclient

从 Team Server 下载 FPR 文件 10 tsclient 工具

将 FPR 文件上传到 Team Server 10 W

Visual Studio 2003

预编译 4

X

项目模板 8

Y

预编译 .aspx 页面 4

Fortify SCA 工具用户指南 13

相关主题
相关文档
最新文档