3.Fortify SCA 扫描指南

合集下载

Fortify扫描结果

Fortify扫描结果
fortifysca的组成及组件介绍fortifysourcecodeanalysisengine源代码安全分析引擎fortifysecurecoderules软件安全代码规则集fortifyauditworkbench安全审计工作台fortifyrulesbuilder安全代码规则构建器fortifysourcecodeanalysissuitepluginfortifyscaide集成开发插件fortifymanager软件安全管理器对部分软件版本扫描结果统计具体解释在后面ocrmipssfespsql注入3914跨站脚本133用户信息泄露10系统信息泄露16源代码中出现密码11hot总数20928根据用户输入来构造一个动态的sql语句这有可能使得攻击者能够修改语句的意思或者执行任意的sql指令
2-跨站脚本-例
• 当name符合规范的时候,这段代码能够正确运行。但当name有问题时,代码段中并 没有任何措施来阻止其运行。造成XSS攻击的原因是HTTP响应中包含了未经验证的数 据。 • XSS攻击可以通过三种媒介侵入受害者: 1)数据直接从HTTP请求中读取,在HTTP响应中反射回去。反射型XSS通常是由攻击者 诱使用户向有漏洞的web应用程序提供危险内容,然后这些危险内容会反射给用户并由 浏览器执行。传递恶意内容最常见的方法是将恶意内容作为一个参数包含在URL中, 然后将URL公开发布或者通过email发给受害者。以这种形式构造的URL是很多钓鱼 (phishing)圈套的核心,通过钓鱼圈套,攻击者获取受害者的信任,诱使受害者访问 指向有漏洞站点的URL。当站点将攻击者的内容反射给用户后,恶意内容将被执行, 从用户机器上窃取用户的私有信息(如包含session信息的cookies)发送给攻击者或者 进行其他恶意活动。 2) 应用程序在数据库或者其它可信数据源中存储了危险数据。这些危险数据随后被应用 程序读取并包含在动态内容中。存储型XSS通常是由攻击者将危险内容注入数据存储 中,然后该内容被读出并包含在动态内容中。在攻击者看来,注入恶意内容最理想的 地方要么是用户访问量大的地方,要么是能引起用户兴趣的地方。这些被攻击者感兴 趣的用户通常能够提高该应用程序的权限或者交互一些对攻击者而言有价值的敏感数 据。如果这种用户执行了恶意内容,攻击者就有可能假冒用户执行一些特殊操作或者 访问属于用户的敏感数据。 3) 应用程序外部的数据源中存储了危险数据,这些危险数据随后被应用程序作为可信数 据读取并包含在动态内容中

fortify sca使用手册

fortify sca使用手册

fortify sca使用手册一、简介FortifySCA(SoftwareConfigurationAnalysis)是一款功能强大的软件配置分析工具,用于帮助用户有效地管理和维护软件配置。

本手册旨在为使用者提供FortifySCA的详细使用说明,以帮助用户更好地掌握该工具的使用方法。

二、安装与配置1.安装FortifySCA:首先,您需要从Fortify官方网站下载并安装FortifySCA软件。

确保在安装过程中正确配置系统环境,以便顺利运行该工具。

2.配置数据库:在安装完成后,您需要配置FortifySCA与数据库的连接。

根据您的数据库类型(如MySQL、Oracle等),按照手册中的说明进行设置。

3.配置其他参数:根据您的需求,您可能需要调整FortifySCA的其他参数,如扫描范围、扫描时间等。

请参考手册中的相关说明进行设置。

三、使用方法1.扫描项目:使用FortifySCA扫描项目前,请确保您已经将项目中的所有文件纳入配置管理,并正确配置了相关参数。

执行扫描后,FortifySCA将分析项目中的代码,并生成报告。

2.查看报告:扫描完成后,FortifySCA将生成一份详细的报告,用于展示代码中的安全漏洞和潜在风险。

请仔细阅读报告,并根据报告中的建议进行相应的修复。

3.修复漏洞:根据FortifySCA的报告,您可以针对发现的漏洞进行修复。

修复完成后,请再次执行扫描,以确保漏洞已被完全修复。

四、常见问题及解决方法1.扫描结果不准确:可能的原因包括代码库中存在遗漏的文件或目录,或者某些文件格式不被FortifySCA支持。

解决方法是确保项目中的所有文件均已纳入配置管理,并检查文件格式是否符合FortifySCA的要求。

2.报告生成缓慢:可能的原因包括数据库性能问题或扫描范围过大。

解决方法是优化数据库配置,或适当缩小扫描范围以减少分析量。

五、维护与更新FortifySCA是一款持续优化的软件工具,我们建议您定期更新至最新版本,以获取更多功能和性能优化。

安全代码规则编写指南

安全代码规则编写指南

Rules Builder用户手册版本 4.52007年9月Copyright © 2004-2007 Fortify Software, Inc.All Rights Reserved. Printed in the United States of America.Fortify Software, Inc.2300 Geng Road, Suite 102Palo Alto, California 94303Fortify Software, Inc. (以下简称"Fortify")和许可证颁布者保留对此文档 (以下简称"文档")的一切所有权。

对此文档的使用受适当的版权法支配。

Fortify 可以在没有预先通知的情况下随时修改该文档。

此文档在没有任何类型保证的情况下被原样提供。

对于从此文档中发现的任何错误所引起的直接的、故意的、巧合的或导致严重后果的损害, FORTIFY绝不会对此负责,包括在限制范围之外的任何损失或者对商业、利益、使用或数据造成的麻烦。

FORTIFY可以在没有预先通知的情况下保留对此最终产品得出的此文档中的任何细节和元素进行修改和删除的权力。

Fortify 是Fortify Software, Inc.的注册商标在此文档中商品和产品名称是他们的各自拥有者的商标。

Rules Builder User’s Guide目录Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1第一章: 理解安全编码规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3什么是安全编码规则? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3什么是安全编码规则包?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3什么是自定义规则? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4什么是漏洞类别?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5什么是规则类型?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Fortify Source Code Analyzers的相关规则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6用于Code Modeling的规则形式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6语义规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6数据流规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7控制流规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8配置规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9结构化规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Code Modeling 规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9第二章: 使用Rules Builder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Rules Builder界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11File选项. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Filter选项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12编辑和删除选项. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12栏目. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12创建, 打开和浏览自定义规则包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13创建自定义规则包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13打开现存的自定义规则包. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13浏览自定义规则包信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14创建规则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14搜索, 编辑和删除规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14搜索规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14编辑规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15删除规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15设置污染标记 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15配置规则参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15通用规则信息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15函数标识符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16条件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19规则定义信息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22编写规则描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Abstract(概要). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Rules Builder User’s Guide iiiExplanation(说明). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Recommendations(建议) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Audit Tips(审计小提示). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44编写结构规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44总览. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Null解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48关系. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48结果报告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49到达调用图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49EBNF语法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51属性引用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51自定义规则范例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58在第三方代码中给简单的数据流属性建模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58把所有包含一个通用名称元素的函数作为传递口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59排除扫描分析结果中的有效数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60使用 #ifblock Directive以匹配条件分支. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60结构规则范例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61编写ColdFusion 规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62标准特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62标记符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63数据库访问. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64未被处理的异常. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65额外的范例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66在XML中编写规则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68挑战. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68成功的通用技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69在XML中创建规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69在XML中自定义规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69举例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Semantic规则举例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Data Flow Source规则举例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Data Flow Pass-Through规则举例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Data Flow Sink规则举例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Configuration规则举例 (Properties 文件). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Configuration规则举例 (XML 文件) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Control Flow规则举例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Structural规则举例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73第三章: 故障排除和支持. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75故障排除和支持. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75iv Rules Builder User’s GuidePreface本文档写给使用 Secure Coding Plug-in for WebSphere Application Developer 在Eclipse开发环境中进行安全扫描和分析的开发者们.如果您对本文档的任何内容有疑问或者建议,请联系Fortify Software:客户支持650.213.5679techsupport@公司所在地2300 Geng RoadSuite 102Palo Alto, CA 94303650.213.5600contact@网址Rules Builder User’s Guide 12Rules Builder User’s GuideChapter 1: 理解安全编码规则这章节包括以下标题:•什么是安全编码规则?•什么是Secure Coding Rulepacks?•什么是自定义规则?•什么是漏洞类别?•什么是规则类型什么是安全编码规则?黑客们利用软件中的安全漏洞来盗取隐私数据,中断服务或强制进入非预期的执行状态,以更进一步的利用漏洞造成威胁。

fortify安装使用手册范本

fortify安装使用手册范本

Fortify SCA安装使用手册编号:GRG _YT-RDS-PD-D03_A.0.1版本:V1.0发布日期:2011-5-5文档历史记录编号与名称版本发布日期创建/修改说明参与人员版权声明本软件产品(包括所含的任何程序、图像、文档和随附的印刷材料),以及本软件产品的任何副本的产权和著作权,均属广州广电运通金融电子股份有限公司所有。

您不得使用任何工具或任何方式对本软件产品进行反向工程,反向编译。

未经广州广电运通金融电子股份有限公司许可,您不得以任何目的和方式发布本软件产品及任何相关资料的部分或全部,否则您将受到严厉的民事和刑事制裁,并在法律允许的范围内受到最大可能的民事起诉。

目录文档历史记录 (II)1. 产品说明 (9)1.1.特性说明 (10)1.2.产品更新说明 (10)2. 安装说明 (10)2.1.安装所需的文件 (11)2.2.F ORTIFY SCA支持的系统平台 (11)2.3.支持的语言 (11)2.4.F ORTIFY SCA的插件 (12)2.5.F ORTIFY SCA支持的编译器 (12)2.6.F ORTIFY SCA在WINDOWS上安装 (13)2.7.F ORTIFY SCA安装E CLISPE插件 (14)2.8.F ORTIFY SCA在LINUX上的安装(要有LINUX版本的安装文件) (14)2.9.F ORTIFY SCA在U NIX上的安装(要有U NIX版本的安装文件) (15)3. 使用说明 (15)3.1.F ORTIFY SCA扫描指南 (16)3.2.分析F ORTITFY SCA扫描的结果 (21)4.故障修复 (25)4.1使用日志文件去调试问题 (26)4.2转换失败的信息 (26)4.3JSP的转换失败 (26)4.4C/C++预编译的头文件 (27)前言Fortify SCA是目前业界最为全面的源代码白盒安全测试工具,它能精确定位到代码级的安全问题,完全自动化的完成测试,最广泛的安全漏洞规则,多维度的分析源代码的安全问题。

Fortify 20.1.0 Fortify SSC 20.x 扫描中心安装和配置指南说明书

Fortify 20.1.0 Fortify SSC 20.x 扫描中心安装和配置指南说明书

Deployment GuideInstallation and Configuration of Scan Central on Fortify 20.1.0 Fortify SSC 20.xAuthor: Vikas JohariDate: 01 August 2020Document Version: v0.1ContentsContents (2)Installing ScanCentral Controller (3)Configuring ScanCentral in SSC (8)Configuring ScanCentral Sensor (10)Configuring the ScanCentral Client (13)Running a Simple Sample Scan using Build Tool (14)Running a Sample Scan from Visual Studio 2019 (15)Configuring Jenkins Project to use ScanCentral (20)Running a Sample Scan and uploading to SSC (23)Installing ScanCentral ControllerIn the Download folder extract ScanCentral Controller zip file.Unzip the Fortify_ScanCentral_Controller_20.1.0_x64.zip.Move the "Fortify_ScanCentral_Controller_20.1.0_x64" folder to C:\Program Files\Fortify folder.Open the folder.Open server.xml of tomcat\conf folder in Notepad++.Note: In this server SSC and Jenkins is already running on port 8080 so, we need to change port of ScanCentral components i.e. 8280 else there will be a port conflict.Find the server port 8005, and change it to 8205.Find the port Connector port 8080 and change it to 8280.Note: In case you are planning to use SSL Port then make sure port 8443 is also change to some other non conflicting port.Save the file.Open the C:\ProgramFiles\Fortify\Fortify_ScanCentral_Controller_20.1.0_x64\tomcat\webapps\scancentra l-ctrl\WEB-INF\classes\config.properties file in Notepad++.Locate and fix the URLs.Save the File.Open CMD in ScanCentral_Controller's tomcat\bin folder. Make sure CMD is having Adminstrator privilidge.Run the command –> service.bat install ScanCentralControllerOpen services.mscFind the new Apache Tomcat 9.0 ScanCentralController service.Make this service Automatic (Delayed Start).In Log On, change to "Local System account" and Enable "Allow service to interact with desktop".Start the service.Start the Browser and connect to port 8280. The URL will be :8280/scancentral-ctrlThis message indicates that Fortify ScanCentral Controller is working. Configuring ScanCentral in SSCNow open SSC and login as admin.Open Administration -> Configuration -> ScanCentral.Enable the ScanCentral.In the ScanCentral URL: :8280/scancentral-ctrlThe Poll Period: 30 secondsShared Secret: changemeClick Save.Note: if you want to use different Shared Secret then make the changes in the below file –Restart SSC's Tomcat.Login into SSC and click on SCANS -> Controller.Validate that the information from the config file displays in the screen.Configuring ScanCentral SensorNow configure the Sensor –Create a file as "C:\ProgramFiles\Fortify\Fortify_SCA_and_Apps_20.1.0\Core\config\worker.properties" and enter the text as above.Note: if you want to change the different token then you need to first change in the controllerconfig.properties file then on worker.properties.Go to the folder "C:\ProgramFiles\Fortify\Fortify_SCA_and_Apps_20.1.0\bin\scancentral-worker-service" open CMD as Administrator.Create a folder named C:\ScanCentralWorkdirThe command will be -setupworkerservice.bat 20.1.0 :8280/scancentral-ctrl CHANGEME123!Type "Y" and hit Enter key.Open Services.mscOpen Properties of the FortifyScancentralWorkerServiceSet the Startup type as "Automatic (Delayed Start).In Log On -> Local System account and Allow service to interact with desktop. Click OK and Start the Service.Open SSC go to SCANS -> Sensors.Check the State of it.The Active State indicates that the sensor is running fine.Configuring the ScanCentral ClientOpen the "C:\ProgramFiles\Fortify\Fortify_SCA_and_Apps_20.1.0\Core\config\client.properties" and update the client_auth_token value as per the C:\ProgramFiles\Fortify\Fortify_ScanCentral_Controller_20.1.0_x64\tomcat\webapps\scancentra l-ctrl\WEB-INF\classes\config.properties file.Running a Simple Sample Scan using Build ToolChange the folder toC:\Program Files\Fortify\Fortify_SCA_and_Apps_20.1.0\plugins\maven\maven-plugin-src\samples\EightBall using CMD to test ScanCentral client.Run the below command to use mavan as build tool –scancentral -url :8280/scancentral-ctrl start -bt mvnWait for the message "Submitted job and received token: .."Go back to SSC -> SCANS -> Scan Requests.Validate the Build ID and Job token and Status of the job. Wait for few min let it to complete.can be download from EXPORT dropdown.The FPR file can be opened in AWB.Running a Sample Scan from Visual Studio 2019Open Riches DotNet Solution in Visual Studio 2019 -> Extensions -> Fortify -> Options -> ScanCentralSettings.Configure the ScanCentral Settings.Open SSC -> Administration -> Users -> Token Management.Click New.Select the ScanCentralCtrlToken, enter a description, click Save.Copy and Save the Tokens in the safe place. Click Close.Create a new version "5.0" for Visual Studio of Riches DotNet Application. The FPR file from Visual Studio's ScanCentral will be uploaded on version 5.0.Go back to Visual Studio.Enable the Send Scan Results to SSC and enter the Controler Token. Click OK.Extensions -> Fortify -> Upload Solution to ScanCentral.Enter the credentials of SSC and click OK.Select 5.0, click OK.The plugin will display the confirmation along with the Job token. Click OK to close the window. Open SSC -> SCANS -> Scan Requests.The RichesDotNet job will appear in few seconds, hit Fefresh if it is not visible.Wait for it to complete.ScanCentral will upload the FRP into the Application version. Validate in the application version -> Artifact.FPR file will be uploaded there.Configuring Jenkins Project to use ScanCentralIn SSC, create a new version "6.0" of Riches DotNet Application.Open Jenkins -> Manage Jenkins -> Configure System, scroll down to the end of the page.Validate that the SSC URL is configured and Controller URL is blank and non editable. Because this plugin expects the ScanCentral should be configured before configuring Jenkins plugin.Lets use the workaround.Remove the SSC URL, now Controller URL will be active, now enter the Controller URL, Controller Token and then SSC URL.Test SSC Connection and Test Controller Connection.Click Save.Create a new Jenkins Project named "Riches DotNet via ScanCentral", and select Copy from "Riches DotNet via GitLab" Project. This option is in the bottom of the screen.In the Post Build Action -> Fortify Assessment, select the below options –Save and run the Project.If everything goes well then the Scan job will be submitted to ScanCentral and the token will be received.Note: The logic gate will not work with ScanCentral, that’s why option for Logic Gate will be missing at this point and you will need to create them later in the software lifecycle. Since the goal with ScanCentral is to perform asynchronous scans in a way that the build pipeline does not have to wait for it to finish.Now check the Scan Requests in SSC –version.Running a Sample Scan and uploading to SSCCreate a new Application named "WebGoat for ScanCentral" version "5.0".Run the fortifyclient command to extract the list of application -fortifyclient -url :8080/ssc -authtoken db796568-9a96-4611-82d9-9a9954902087 listApplicationVersionsNote: The token generated in section "Running a Sample Scan from Visual Studio 2019" should be used.Create the build using –cd "C:\ProgramFiles\Fortify\Fortify_SCA_and_Apps_20.1.0\Samples\advanced\webgoat"sourceanalyzer -b WebGoat_via_ScanCentral -cleansourceanalyzer -b WebGoat_via_ScanCentral -source 1.5 -cp"WebGoat5.0/WebContent/WEB-INF/lib/*.jar" WebGoat5.0/JavaSourceWebGoat5.0/WebContentSubmit the scan using –scancentral -url :8280/scancentral-ctrl start -upload –-application "WebGoat for ScanCentral" --application-version "5.0" -bWebGoat_via_ScanCentral -uptoken db796568-9a96-4611-82d9-9a9954902087 -scan -Xmx2GScan is submitted to ScanCentral -Validate the Scan in Scan Requests. When status changed to "Upload Completed"< !! End of the Document !! >。

Fortify SCA 源代码应用安全测试工具 快速入门手册说明书

Fortify SCA 源代码应用安全测试工具 快速入门手册说明书

Fortify SCA源代码应用安全测试工具快速入门手册文档版本:v1.0发布日期:2022-11深圳市稳安技术有限公司*************************Fortify SCA源代码应用安全测试工具快速入门手册Fortify SCA(Static Code Analyzer)是Micro Focus公司旗下的一款静态应用程序安全性测试(SAST) 产品,可供开发团队和安全专家分析源代码,检测安全漏洞,帮助开发人员更快更轻松地识别问题并排定问题优先级,然后加以解决。

Fortify SCA支持27种编程语言:ABAP/BSP、Apex,、C/C++、C#、Classic ASP、COBOL、ColdFusion、CFML、Flex/ActionScript、Java、JavaScript、JSP、Objective C、PL/SQL、PHP、Python、T-SQL、、VBScript、VB6、XML/HTML、Ruby、Swift、Scala 、Kotlin 、Go,能够检测超过1051个漏洞类别,涵盖一百多万个独立的API。

一、安装Fortify SCA源代码应用安全测试工具1、创建华为云服务器ECS1.1、主机配置建议:1.2、操作系统支持:1.3、网络配置安全组规则配置要求:1.3.1、Linux系统:22端口(SSH登录管理)1.3.2、Windows系统:3389端口(Windows RDP)1.4、安装操作系统通过VNC或CloudShell远程登录平台服务器,根据需求选用合适的镜像安装操作系统。

1.5、代码编译环境准备以下几种语言扫描需要准备相应的编译环境,代码需要在可通过编译的情况下扫描:a)C#,,b)C/C++ on Windows or Linuxc)iPhone App用户需要根据代码安装相应的编译环境,并确保需要扫描的代码能够通过编译。

2、安装Fortify SCA2.1、上传安装包完成产品购买后,根据扫描主机的操作系统,从MicroFocus下载平台下载对应的安装文件压缩包,然后解压出安装文件上传至云服务器。

商业级别Fortify白盒神器介绍与使用分析

商业级别Fortify白盒神器介绍与使用分析

商业级别Fortify⽩盒神器介绍与使⽤分析转⾃:/sectool/95683.html什么是fortify它⼜能⼲些什么?答:fottify全名叫:Fortify SCA ,是HP的产品,是⼀个静态的、⽩盒的软件源代码安全测试⼯具。

它通过内置的五⼤主要分析引擎:数据流、语义、结构、控制流、配置流等对应⽤软件的源代码进⾏静态的分析,分析的过程中与它特有的软件安全漏洞规则集进⾏全⾯地匹配、查找,从⽽将源代码中存在的安全漏洞扫描出来,并给予整理报告。

它⽀持扫描多少种语⾔?答:FortifySCA⽀持的21语⾔,分别是:1. 2. 3. c#.Net4. ASP5. VBscript6. VS67.java8.JSP9.javascript10. HTML11. XML12. C/C++13.PHP14.T-SQL15.PL/SQL16. Action script17. Object-C (iphone-2012/5)18. ColdFusion5.0 - 选购19. python -选购20. COBOL - 选购21.SAP-ABAP -选购他是免费的吗?答:不是,是收费的。

当然⽹上也没有破解的。

貌似他⼀个⽉收费10万。

如何使⽤?安装fortify之后,打开界⾯:选择⾼级扫描他问要不要更新?我就选择No,因为这是我私⼈的,我是在2015年7⽉份购买的试⽤期为1个⽉。

怕更新了就⽤不了了。

如果你购买了可以选择YES。

选择之后出现如下界⾯浏览意思是:扫描之后保存的结果保存在哪个路径。

然后点击下⼀步。

参数说明:enable clean :把上⼀次的扫描结果清楚,除⾮换⼀个build ID,不然中间⽂件可能对下⼀次扫描产⽣影响。

enable translation: 转换,把源码代码转换成nst⽂件-64:是扫描64位的模式,sca默认扫描是32位模式。

-Xmx4000m:4000M⼤概是4G,制定内存数-Xmx4G :也可以⽤G定义这个参数建议加-encoding: 定制编码,UTF-8⽐较全,⼯具解析代码的时候指定字符集转换的⽐较好,建议加,如果中⽂注释不加会是乱码。

Fortify使用手册

Fortify使用手册

中国建设银行网上银行投资产品创新项目F o r t i f y使用手册总行信息技术管理部广州开发中心2008年6月修改记录编号日期描述版本作者审核发布日期2008-6-2 网银投资产品创新项目文档 1.1 廖敏飞、羌雪本文档中所包含的信息属于机密信息,如无中国建设银行的书面许可,任何人都无权复制或利用。

®Copy Right 2008 by China Construction Bank目录1、引言 (5)1.1目的 (5)1.2背景 (5)1.3定义 (5)1.4环境说明 (6)1.5提醒注意 (6)1.6相关要求 (7)2、安装FORTIFY (7)2.1进入F ORTIFY安装目录 (7)2.2输入LICENSE KEY:BAHODPERE9I9 (8)2.3选择ALL U SERS (9)2.4下面选项全部选中 (10)2.5选择N O选项 (11)3、使用FORTIFY (12)3.1进入源码目录执行SCA COMMANDLINE S CAN.BAT (12)3.2SCA COMMANDLINE S CAN.BAT的内容 (12)4、结果查询 (12)5、可能的问题 (14)6、结果分析 (15)6.1R ACE C ONDITION (15)6.2SQL I NJECTION (16)6.3C ROSS-S ITE S CRIPTING (16)6.4S YSTEM I NFORMATION L EAK (18)6.5HTTP R ESPONSE S PLITTING (18)1、引言1.1目的提高中心项目软件安全意识转达总行关于软件安全编码及测试的相关要求了解、学习fortify SCA的使用1.2背景网银投资产品创新项目文档。

1.3定义Fortify Source Code Analysis Suite是美国Fortify Software为软件开发企业提供的软件源代码安全漏洞扫描、分析和管理的工具。

fortify用法

fortify用法

fortify用法1. 什么是fortify?fortify是一个软件安全分析工具,用于检测和修复应用程序中的安全漏洞。

它可以帮助开发人员在编写代码时识别和解决潜在的安全问题,从而提高应用程序的安全性和可靠性。

fortify提供了一套强大的静态代码分析工具,可以扫描源代码和二进制代码,以识别可能存在的安全漏洞。

它还提供了一个直观的用户界面,用于查看和管理扫描结果,并提供了详细的修复建议和安全规则。

2. fortify的使用场景fortify可以在不同的场景中使用,包括但不限于以下几个方面:2.1. 开发过程中的安全漏洞检测fortify可以在开发过程中使用,帮助开发人员及时发现和修复代码中的安全漏洞。

通过对源代码进行扫描,fortify可以识别潜在的漏洞,并提供修复建议,帮助开发人员改进代码质量和安全性。

2.2. 代码审查和合规性检查fortify可以用于代码审查和合规性检查,帮助团队确保代码符合安全标准和合规性要求。

它可以扫描代码库中的所有代码,并根据预定义的规则集进行分析。

通过检查结果,团队可以发现和修复潜在的安全问题,确保应用程序的安全性和合规性。

2.3. 第三方代码安全评估fortify还可以用于对第三方代码进行安全评估。

在使用第三方库或组件时,我们通常无法完全信任其安全性。

通过对第三方代码进行扫描,fortify可以帮助我们发现其中的安全漏洞,并及时采取措施,以保护我们的应用程序免受潜在的攻击。

2.4. 持续集成和持续交付fortify可以与持续集成和持续交付工具集成,帮助团队在代码提交和部署过程中自动进行安全分析。

通过将fortify集成到CI/CD流程中,团队可以及时发现和修复代码中的安全问题,提高应用程序的安全性和可靠性。

3. fortify的使用步骤使用fortify进行安全分析和修复的一般步骤如下:3.1. 准备工作在开始使用fortify之前,需要进行一些准备工作。

首先,需要安装fortify软件,并确保其与开发环境和代码库的兼容性。

fortify代码扫描使用教程

fortify代码扫描使用教程

fortify代码扫描使⽤教程 Fortify是旗下AST (应⽤程序安全测试)产品,其产品组合包括:Fortify Static Code Analyzer提供静态代码分析器(SAST),Fortify WebInspect是动态应⽤安全测试软件(DAST),Software Security Centre是软件安全中⼼(SSC)和 Application Defender 是实时应⽤程序⾃我保护(RASP)。

Fortify 能够提供静态和动态应⽤程序安全测试技术,以及运⾏时应⽤程序监控和保护功能。

为实现⾼效安全监测,Fortify具有源代码安全分析,可精准定位漏洞产⽣的路径,以及具有1分钟1万⾏的扫描速度。

Fortify能够提供静态与动态应⽤程序安全测试技术,以及运⾏时应⽤程序监控和保护功能。

国内很多⾦融机构和企业由于致⼒于为⽤户提供专业、安全、可靠的⾦融服务和产品,更注重系统的安全检测,迅速准确查找软件漏洞并及时修复漏洞,已经成为很多⾦融机构和企业⽇常⼯作的重中之重。

持续⼗年获得应⽤安全测试领域领导者称号。

Fortify静态应⽤安全测试软件 Fortify SCA 是⼀款静态应⽤程序安全性测试 (SAST) 产品,可供开发团队和安全专家分析源代码,检测安全漏洞,帮助开发⼈员更快更轻松地识别问题并排定问题优先级,然后加以解决。

Weblnspect动态应⽤安全测试软件 Micro Focus Fortify WebInspect是⼀款动态应⽤程序安全测试⼯具,可利⽤动态扫描程序来扫描当今主流的技术框架和 Web 技术,提供动态应⽤程序安全测试覆盖范围,并可检测⿊盒安全测试技术经常检测不到的新型漏洞。

2019年7⽉,Gartner 2019年应⽤安全测试魔⼒象限报告再次将Micro Focus Fortify评为“领导者”,这已经是Fortify持续⼗年获此殊荣。

在此次评审中,Gartner审核了Micro Focus Fortify产品组合中的多款AST (应⽤程序安全测试)产品与服务,其中包括:Static Code Analyzer (SAST)、WebInspect (DAST)以及 Application Defender。

3.Fortify SCA 扫描指南

3.Fortify SCA 扫描指南

Know your code. Trust your code
• 使用 使用VS solution文件转换 文件转换
– sourceanalyzer -b my_buildid -c devenv /REBUILD MyProject.sln – sourceanalyzer -b my_buildid -scan -f results.fpr
码德信息技术有限责任公司

第11页 页
转换 JSP 文件
• Jsp文件来源 文件来源
– –
• •
Know your code. Trust your code
Web Application Archive (WAR) layout. deployment directory.
– sourceanalyzer -b MyServlet -cp lib/j2ee.jar MyServlet.java
• To translate all .java files in the src directory using all jar files in the lib directory as a classpath:
Know your code. Trust your code
码德信息技术有限责任公司

第15页 页
Visual Studio .NET-Command line
• 配置 配置Fortify plug-in for vs2003/vs2005在VS启动选项 在 启动选项
Know your code. Trust your code
• 阶段一:源代码内部格式转换阶段 阶段一: • 阶段二:分析引擎分析阶段 阶段二:
– sourceanalyzer -b <build-id> -clean – sourceanalyzer -b <build-id> ... – sourceanalyzer -b <build-id> -scan -f results.fpr

Fortify SCA Windows平台安装和项目扫描指南

Fortify SCA Windows平台安装和项目扫描指南

Fortify SCA Windows平台安装和项目扫描指南本指南主要包括了在windows2000/windows xp平台如何安装Fortify SCA Enterprise Editor 和Developer Edition for Eclipse 3,以及如何使用这两个版本去扫描JA V A/J2EE项目。

同时也提到在windows平台如何使用SCA Enterprise Editor的命令行功能去如何扫描Visual Studio 6.0 project、Visual Studio .Net 2005 /2003项目一、Fortify SCA Enterprise Editor Windows平台安装指南为了让大家了解Fortify SCA Enterprise Editor Windows平台安装过程,快速完成软件安装过程,现把整个安装过程描述如下.1.准备安装环境和安装软件:A)确保所安装的windows机器的硬件配置不得低于如下条件:CPU>= 1G,RAM>= 1G如果扫描代码行超过20万行,最好RAM在2G以上。

B)Download Fortify SCA Enterprise Editor Windows平台软件安装包SCASEE-4.5.0.0337-WIN-XP-2000.zipDownload Address:2.解压安装软件包解压SCASEE-4[1].5.0.0337-WIN-XP-2000.zip得到FortifySCA Enterprise安装文件:install.exe3、双击install.exe进入安装界面,点击“Next”,进入下一步。

接受Fortify SCA的license协议。

应用购买的fortify SCA license Key.选择“install”(如果是第一次安装),选择Update(如果本机先前已经安装Fortify SCA Enterprise的组件。

fortify安装使用手册

fortify安装使用手册

Fortify SCA安装使用手册编号:GRG _YT-RDS-PD-D03_A.0.1版本:V1.0发布日期:2011-5-5文档历史记录编号与名称版本发布日期创建/修改说明参与人员版权声明本软件产品(包括所含的任何程序、图像、文档和随附的印刷材料),以及本软件产品的任何副本的产权和著作权,均属广州广电运通金融电子股份有限公司所有。

您不得使用任何工具或任何方式对本软件产品进行反向工程,反向编译。

未经广州广电运通金融电子股份有限公司许可,您不得以任何目的和方式发布本软件产品及任何相关资料的部分或全部,否则您将受到严厉的民事和刑事制裁,并在法律允许的范围内受到最大可能的民事起诉。

目录文档历史记录......................................................................................................................................... I I 1. 产品说明 (9)1.1.特性说明 (10)1.2.产品更新说明 (10)2. 安装说明 (10)2.1.安装所需的文件 (11)2.2.F ORTIFY SCA支持的系统平台 (11)2.3.支持的语言 (11)2.4.F ORTIFY SCA的插件 (12)2.5.F ORTIFY SCA支持的编译器 (12)2.6.F ORTIFY SCA在WINDOWS上安装 (13)2.7.F ORTIFY SCA安装E CLISPE插件 (14)2.8.F ORTIFY SCA在LINUX上的安装(要有LINUX版本的安装文件) (14)2.9.F ORTIFY SCA在U NIX上的安装(要有U NIX版本的安装文件) (15)3. 使用说明 (15)3.1.F ORTIFY SCA扫描指南 (16)3.2.分析F ORTITFY SCA扫描的结果 (21)4.故障修复 (25)4.1使用日志文件去调试问题 (26)4.2转换失败的信息 (26)4.3JSP的转换失败 (26)4.4C/C++预编译的头文件 (27)前言Fortify SCA是目前业界最为全面的源代码白盒安全测试工具,它能精确定位到代码级的安全问题,完全自动化的完成测试,最广泛的安全漏洞规则,多维度的分析源代码的安全问题。

HP-fortify-产品简介

HP-fortify-产品简介

Fortify SCA简介Fortify SCA 是一个静态的、白盒的软件源代码安全测试工具。

它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件安全漏洞规则集进行全面地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并给予整理报告。

扫描的结果中不但包括详细的安全漏洞的信息,还会有相关的安全知识的说明,以及修复意见的提供。

1.Fortify SCA 扫描引擎介绍:Foritfy SCA主要包含的五大分析引擎:数据流引擎:跟踪,记录并分析程序中的数据传递过程所产生的安全问题。

语义引擎:分析程序中不安全的函数,方法的使用的安全问题。

结构引擎:分析程序上下文环境,结构中的安全问题。

控制流引擎:分析程序特定时间,状态下执行操作指令的安全问题。

配置引擎:分析项目配置文件中的敏感信息和配置缺失的安全问题。

特有的X-Tier™跟踪器:跨跃项目的上下层次,贯穿程序来综合分析问题2. Fortify SCA 的工作原理:Foritfy SCA 首先通过调用语言的编译器或者解释器把前端的语言代码(如JAVA,C/C++源代码)转换成一种中间媒体文件NST(Normal Syntax Tree)将其源代码之间的调用关系,执行环境,上下文等分析清楚。

然后再通过上述的五大分析引擎从五个切面来分析这个NST,匹配所有规则库中的漏洞特征,一旦发现漏洞就抓取出来。

最后形成包含详细漏洞信息的FPR结果文件,用AWB打开查看。

图1:Fortify SCA 工作原理图Fortify SCA 扫描的结果如下:Fortify SCA 的结果文件为.FPR文件,包括详细的漏洞信息:漏洞分类,漏洞产生的全路径,漏洞所在的源代码行,漏洞的详细说明及修复建议等。

如下图:图2:Foritfy AWB 查看结果图3.Fortify SCA支持的平台:4.Fortify SCA支持的编程语言:5.Fortify SCA plug-In 支持的有:6.Fortify SCA目前能够扫描的安全漏洞种类有:目前Fortify SCA可以扫描出约300种漏洞,Fortify将所有安全漏洞整理分类,根据开发语言分项目,再细分为8个大类,约300个子类,具体详细信息可登录Fortify 官方网站/vulncat/">/vulncat/ 进行查询:。

Fortify SCA Jenkins Plugin 19.1.0 用户指南说明书

Fortify SCA Jenkins Plugin 19.1.0 用户指南说明书

Fortify SCA Jenkins Plugin 19.1.0Jonathan CouchFortify Security Support EngineerDownloading Jenkins plugin (latest)▪Download the latest version from the following github repositoryhttps:///jenkinsci/fortify-plugin▪Select the Master branch and download▪Requires Maven and JDK to build the Jenkins plugin and uses the version that is supported by SCA 19.1.0 found in the system requirement guide.▪This will generate a fortify.hpi file containing the SCA Jenkins pluginInstalling the plugin▪Open Jenkins and navigate to Manage Jenkins -> Manage Plugins▪Switch to the Advanced tab and under the “Upload Plugin” section click the Browse button and select the generated fortify.hpi fileAfter successfully installing the plugin, it is ready to be used in a job.-For an existing job, click on Configure eg-Scroll down to the “Post-build actions” section eg-Click the “Add post-build action” dropdown and select “Fortify Assessment”This will bring up the following field parameters and checkboxes. Enter the information needed to run a job.Depending on the language to be scanned which can be either, Java, Maven, Gradle, or .NET, here are some examples.The fields can use Jenkins System Environment variablesEg${JOB_NAME}, ${BUILD_NUMBER}Java ExampleMaven ExampleGradle Example.NET ExamplePipeline ExampleWhen something goes wrong Step 1: Check the console outputoutputSend Jenkins build logs to Fortify Technical Support. Build log are located under,EgPath\Jenkins\jobs\<Project Name>\builds\<build_number>Console output can also be found in the\jobs directory under the same JOB IDAdditional Information▪Jenkins plugin documentationhttps:///documentation/fortify-jenkins-plugin/1910/Jenkins_Plugin_Help_19.1.0/index.htm▪Jenkins Plugin for Fortify SCA/SSC to automatically upload projects https://youtu.be/cjEwDmTsxII▪Fortify Pluginhttps://wiki.jenkins.io/display/JENKINS/Fortify+Plugin▪Pipeline-compatible stepshttps://jenkins.io/doc/pipeline/steps/fortifyQuestionsThank you. 。

3.Fortify SCA 扫描指南

3.Fortify SCA 扫描指南

例子: 转换一个名字为 helloworld.c 的文件,用 gcc 编译器, 命令行如下:
sourceanalyzer -b my_buildid -c gcc helloworld.c
SCA 转换与Makefile集成
“无入侵”式的集成
sourceanalyzer -b <build-id> touchless make -f xx.mak
转换文件 myCode.java并指定使用javac编译器其命令为: sourceanalyzer -b mybuild –c javac -cp libs.jar MyCode.java
J2EE项目转换
转换 J2EE 应用程序涉及分析java源文件, J2EE 组件,比如 JSP 文件, 部署描 述文件 web.xml和配置文件 struts的config.xml等时: 1.转换 Java 文件. 命令行 2.转换 JSP文件. Refer to the sample below. 3.转换 the configuration 文件. example : sourceanalyzer -b my_buildid "mydirectory/myfile.xml"
Pre-Packaged
Fortify SCA分析过程
阶段一:转换阶段(Translation) 阶段二:分析阶段( Scan) sourceanalyzer -b <build-id> -clean sourceanalyzer -b <build-id> ... sourceanalyzer -b <build-id> -Xmx1250m -scan -f results.fpr
Fortify SCA扫描的四个步骤

HP Fortify4.4代码扫描工具使用

HP Fortify4.4代码扫描工具使用

HP Fortify4.4代码扫描工具使用
1、打开HP Fortify4.4目录,HP_Fortify_SCA_and_Apps_4.40\bin,双击
auditworkbench.cmd启动扫描界面。

2、点“Advanced Scan...”打开选择项目所在目前文件夹。

本次选择portal_um文件夹,点“确定”。

3、弹出配置页面,选择JDK版本,本次选择JDK1.6,请根据项目实际选择。

4、点“Next”,可进行规则选择及内存配置。

使用默认配置即可。

由于fortify扫描时需要消耗大量内存,可根据扫描机内存大小情况,将Sourceanalyzer memory该内存进行调整。

5、点“Next”,使用默认配置即可。

6、点“Scan”开始扫描。

扫描源代码规模实际情况,扫描进度有快有慢。

7、扫描完成后,可能会有警告信息。

8、点“OK”打开报告生成界面。

可看到本次扫描,存在6个Critical问题。

9、生成报告。

点右上角“Reports”打开报告生成对话框。

选择报告模板,对于开发人员需要进行问题详细情况,建议选择“Developer
Workbook”
选择报告模板后,并选择报告格式及输出报告文件路径。

点“Generate”生成报告。

报告生成后,在指定目录打开该报告。

报告中可以看到问题详细统计。

问题详细情况,可进行查看。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VS 命令行转换
配置Fortify plug-in for vs2003/vs2005在VS启动选项
使用VS solution文件转换/分析 sourceanalyzer -b my_buildid -c devenv /REBUILD MyProject.sln sourceanalyzer -b my_buildid -scan -f results.fpr
Fortify SCA扫描的四个步骤
Fortify SCA扫描总共可以分为四个步骤: 1. Clean: 清除阶段: sourceanalyzer –b proName -clean 2. Translation : 转换阶段 3. Show-file: 查看阶段 sourceanalyzer –b proName -show-files 4. Scan : 扫描阶段 sourceanalyzer –b proName -Xmx1250m -scan –f
常见命令参数解释
-f 指定生成扫描结果文件的名字和路径 -filter 指定一个过滤文件来屏蔽一些不想扫描出来的问题,如误报 -scan 指定本次操作为SCA的扫描分析阶段 -show-build-ids 显示本机器上共有多少个build ID -show-build-tree 显示每一个文件在转换时所依赖的文件 -show-build-warnings 显示在转换过程或扫描过程时的warning 信息 -disable-source-rendering 关闭在扫描过程中对源代码的加载
Fortify SCA Scan Guide
主要内容
Fortify SCA 分析原理 Fortify SCA分析过程 Fortify SCA 扫描的方式 Fortify SCA转换源代码 Fortify SCA扫描命令解释
Fortify SCA分析原理
3rd party IDE Plug-In Audit Workbench Analysis Engine
转换文件 myCode.java并指定使用javac编译器其命令为: sourceanalyzer -b mybuild –c javac -cp libs.jar MyCode.java
J2EE项目转换
转换 J2EE 应用程序涉及分析java源文件, J2EE 组件,比如 JSP 文件, 部署描 述文件 web.xml和配置文件 struts的config.xml等时: 1.转换 Java 文件. 命令行 2.转换 JSP文件. Refer to the sample below. 3.转换 the configuration 文件. example : sourceanalyzer -b my_buildid "mydirectory/myfile.xml"
VC 6.0 项目转换与分析
sourceanalyzer -b my_buildid –c msdev MyProject.dsp /Make /BUILD
sourceanalyzer -b my_buildid –scan –f xx.fpr
Fortify SCA 分析阶段
sourceanalyzer -b my_buildid -scan -f xxx.fpr 附加参数: -Xmx ; -filter ; -debug; -format ; -findbug, java-builddir; -rules; -disable-source-rendering
Semantic Global Data Flow Control Flow Configuration Structural
Front-End
Java C/C++ .NET TSQL JSP PLSQL XML
.fvdl/.fpr
Fortify Manager
NST
Rules Builder
Custom
SCA 转换JAVA源代码命令
sourceanalyzer -b <build-id> -cp <classpath> <file-list> 附注参数:-Xmx ; -encoding; -jdk; -appserver -appserver-verion, -appserver-home
转换命令例子
Pre-Packaged
Fortify SCA分析过程
阶段一:转换阶段(Translation) 阶段二:分析阶段( Scan) sourceanalyzer -b <build-id> -clean sourceanalyzer -b <build-id> ... sourceanalyzer -b <build-id> -Xmx1250m -scan -f results.fpr
转换单一个文件 myServlet.java并指定classpath为 lib/j2ee.jar其命令为: sourceanalyzer -b MyServlet -cp lib/j2ee.jar MyServlet.java 转换src目录下的所有.java文件并指定classpath为 lib目录下的所有.jar文件其命令为: sourceanalyzer -b MyProject -cp "lib/*.jar" "src/**/*.java“
Fortify SCA 扫描ቤተ መጻሕፍቲ ባይዱ工作
Fortify SCA扫描的五种方式
插件方式: 命令行方式: Plug-In (Eclipse, VS, WSAD,RAD) Command Line
扫描目录方式: Audit Workbench Scan Folder 与其他工具集成:Scan with ANT, Makefile 编译监控器方式:Fortify SCA Build Monitor
转换.NET 应用程序(sample1)
方法1:直接点击 的Fortify 按钮,就可以分析。 方法2: 使用命令行扫描sln (IDE插件一定要安装) sourceanalyzer -b proName -c devenv MyProject.sln /REBUILD 方法3: 使用命令行扫描dll 1.用Microsoft Visual Studio .NET 打开Sample1\Sample1.sln,对 项目进行编译,注意使用Debug的方式进行编译 2. 在命令行下直接扫描编译后的dll
J2EE项目转换简便方法
把项目的所有文件和库都放在一个目录下,运行下面的命令: sourceanalyzer -Xmx1000m -b pName -encoding "UTF-8" -cp "**/*.jar" .
sourceanalyzer -Xmx1000m -b pName -appserver weblogic -appserver-verion 9 –appserver-home “d:\bea\webloigc\server\lib” -encoding "UTF-8" -cp "**/*.jar" .
JSP 转换注意事项2
JSP的应用web服务器如果是: weblogic/websphere,在转换时需要指定WEB服 务器和相应的版本
指定的参数为:-appserver -appserver-version –appserver-home -appserver weblogic / websphere -appserver-version 支持的有:
常见命令参数解释1
-b 取一个build的ID号,通常以项目名称加扫描时间为buildID -Xmx 指定JVM使用的最大内存数,这个SCA的JVM使用的。 -clean 清除之前的转换的NST,一般于-b 一起使用,在项目转换之前 -show-files 在完成转换之后,展示这次转换的文件,多用于检查转换是否成功/ 完整。 -exclude 指定转换所排除的文件类型或者是文件夹 -cp 指定项目所依赖的classpath, 主要用于JAVA项目 -jdk 指定项目所用的JDK版本 -encoding 指定转换时遇到非英文的的字符时的编码方式,如UTF-8,JBK Touchless 指定于构建工具集成,如makefile , ant等 -nc 指定转换不需要编译,用于C/C++项目,编译器不支持时。 -c 指定转换所用的编译器,主要在扫描 C/C++项目时使用。 -libdirs 指定.net项目所依赖的库文件的路径 -vsversion 指定VS的版本,VS2003,2005,2008,2010分别为7.1 ,8.0 9.0, 10.0 -append 指定本次扫描的结果追加到另一个FPR结果中,一般用于大项目分 为多个部分扫描,生成一个FPR的情况。 -bin 指定C/C++项目编译后的.o .exe文件。
例子: 转换一个名字为 helloworld.c 的文件,用 gcc 编译器, 命令行如下:
sourceanalyzer -b my_buildid -c gcc helloworld.c
SCA 转换与Makefile集成
“无入侵”式的集成
sourceanalyzer -b <build-id> touchless make -f xx.mak
proName.fpr
Fortify SCA 命令行参数说明
查看SCA扫描命令及参数-> sourceanalyzer -h
Fortify SCA 转换源代码
转换 Java 代码 Java程序命令行语法 Java命令行语法例子 转换 J2EE 应用程序 使用 FindBugs 转换 .NET 源代码 . NET Versions 1.1 and 2.0 Visual Studio .NET Version 2003 Visual Studio .NET version 2005 转换 C/C++ 代码 转换PL/SQL/TSQL
相关文档
最新文档