【代码审计篇】 代码审计工具Fortify基本用法详解

这篇具有很好参考价值的文章主要介绍了【代码审计篇】 代码审计工具Fortify基本用法详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

本篇文章讲解代码审计工具Fortify的基本用法,感兴趣的小伙伴可以研究学习一下,文中部分地方可能会有遗漏,麻烦各位大佬指正,深表感谢!!!


一、工具介绍

Fortify全名叫Fortify SCA ,是惠普公司HP的出品的一款源代码安全测试工具,这家公司也出品过另一款Web漏洞扫描器,叫做 Webinspect。美国的FortifyCoverityCodesecureIBM AppScan Source 以色列的Checkmarx、加拿大的Klockwork是现在国际上比较出名的几款代码审计工具,那么接下来就Fortify来介绍一下使用方法。

Fortify代审工具是可以快速上手的,并不是一款傻瓜工具,该工具中有很多自定义操作,还有命令行操作,同时还可以自己编写规则库(详细的使用说明请参考Fortify的说明书)。

二、安装过程

该工具安装过程较为简单,打开安装包,一直点击 “下一步”,到这里选择fortify.license文件
【代码审计篇】 代码审计工具Fortify基本用法详解
接下来按照默认,一直 “下一步” 即可。
【代码审计篇】 代码审计工具Fortify基本用法详解
安装完成,打开工具界面,如下所示
【代码审计篇】 代码审计工具Fortify基本用法详解

三、升级中文规则库

如上工具现已安装完成,接下来需要升级一下中文规则库,打开 Audit Workbench 快捷方式,在弹出的gui界面,点击 Options 选项,然后点击 Security Content Management 选项,点击 Update Security Content – zh_CN选项可以升级Fortify的中文规则库。
【代码审计篇】 代码审计工具Fortify基本用法详解
出现该弹窗,说明中文规则库升级成功。

如果受license限制,无法升级到最新的规则库,那么可行的方法就是通过其他渠道获取一个最新的中文规则库,手工对 ExternalMetadatarules 两个文件夹的文件进行替换。

目录位置:C:\Program Files\Fortify\Fortify_SCA_and_Apps_21.2.3\Core\config
【代码审计篇】 代码审计工具Fortify基本用法详解
将最新版的两个文件夹替换,在回软件中看 Security Content Management 配置,Version信息为最新日期即为替换成功。

四、代码审计过程

如果是java项目,可直接点击 Scan Java Project选项。
【代码审计篇】 代码审计工具Fortify基本用法详解
弹窗java version,可以选择web应用的java代码的所在环境的java版本,这里我们选择 1.8
【代码审计篇】 代码审计工具Fortify基本用法详解
如果扫描对象是Java Web代码,就选择 Yes,如果不是Java Web,就选择 No
其他的选项保持默认即可。
【代码审计篇】 代码审计工具Fortify基本用法详解
接下来点击 Scan,Fortify就开始对代码进行代码审计了。
【代码审计篇】 代码审计工具Fortify基本用法详解
扫描完成后,Fortify工具将扫描结果显示在界面上,如下图所示
【代码审计篇】 代码审计工具Fortify基本用法详解

五、代码审计结果

Fortify的 Diagram 功能非常强大,以图表形式展示源代码中漏洞触发点的从开始到触发的所有过程,我们可以借助此功能,分析是否有过滤函数对漏洞触发的特殊字符进行了过滤。
【代码审计篇】 代码审计工具Fortify基本用法详解
同时在 Recommendations 这里给出了中文的漏洞修补建议。
【代码审计篇】 代码审计工具Fortify基本用法详解
点击 Group By 按钮,可以以不同漏洞分类标准对漏洞进行不同的分类展示。
【代码审计篇】 代码审计工具Fortify基本用法详解
如果代审过程中遇到误报,可以选择Hide in AWB ,对该漏洞结果进行隐藏。
【代码审计篇】 代码审计工具Fortify基本用法详解
当代码完成后,需要生成报告,点击Tools -> Reports -> Generate BIRT Report/ Generate Legacy -> 选择生成报告类型以及导出格式。
【代码审计篇】 代码审计工具Fortify基本用法详解
这个功能导出报告可以作为参考,但是实际代码审计报告还是需要自行编写。

六、中文乱码解决

Fortify默认的编码不是UTF-8 ,导致部分中文的Java代码会出现乱码问题,如果是单文件乱码,可以使用 Edit选项卡下 Set Encoding 进行设置,鼠标光标在右侧代码框内点击一下,否则此项功能不能用,但这种方法只适用于单个文件的乱码解决。
【代码审计篇】 代码审计工具Fortify基本用法详解
点击 Set Encoding 里弹出文本编码框,可看到有不同文本编码可选,中文则选择 UTF-8 编码。
【代码审计篇】 代码审计工具Fortify基本用法详解
上面刚刚提到这个方法只适用于单个文件,如果想一劳永逸解决乱码问题,需要在Fortify的配置文件中指定java文件的编码了。

C:\Program Files\Fortify\Fortify_SCA_and_Apps_21.2.3\Core\private-bin\awb 路径下有一个 productlaunch.cmd 的文件。在命令行最后添加 -Dfile.encoding=utf-8
【代码审计篇】 代码审计工具Fortify基本用法详解
编辑保存,重新启动软件即可!!!


以上就是代码审计工具Fortify的基本用法,后续会更新Fortify在代码审计中的各种操作以及审计流程。

本文到此结束,感谢您的观看!!!文章来源地址https://www.toymoban.com/news/detail-446021.html


到了这里,关于【代码审计篇】 代码审计工具Fortify基本用法详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 代码审计——XSS详解

    跨站脚本攻击(Cross Site Script)是一种将恶意JavaScript代码插入到其他Web用户页面里执行以达到攻击目的的漏洞。 攻击者利用应用程序的动态展示数据功能,在html页面里嵌入恶意代码。当用户浏览该页之时,这些嵌入在html中的恶意代码会被执行,用户浏览器被攻击者控制,从

    2024年02月10日
    浏览(41)
  • php代码审计,php漏洞详解

    大多数漏洞的形成原因主要都是未对输入数据进行安全验证或对输出数据未经过安全处 理,比较严格的数据验证方式为: 对数据进行精确匹配 接受白名单的数据 拒绝黑名单的数据 对匹配黑名单的数据进行编码 在 PHP 中可由用户输入的变量列表如下,我们应该对这些输入变

    2024年02月13日
    浏览(43)
  • 探索 Sweet Justice:一个快速、安全的代码审计工具

    在软件开发过程中,对代码进行审计是非常重要的一步。这可以帮助我们发现潜在的安全漏洞、性能问题以及其他可能影响产品质量的因素。然而,手动审计是一项耗时且繁琐的任务,因此需要一种更有效的方法来帮助开发者更快地完成这项任务。 这就是 Sweet Justice 的作用所

    2024年04月10日
    浏览(40)
  • 白盒代码审计工具——CodeQL安装与使用教程【Linux+Windows】

    该文章参考以下文章,总结提炼而成: CodeQL从入门到放弃 白盒审计工具codeql的安装(踩坑) CodeQL基础知识 Github为了解决其托管的海量项目的安全性问题,收购了CodeQL的创业公司,并宣布 开源CodeQL的规则 部分,这样全世界的安全工程师就可以贡献高效的QL审计规则给Github,

    2024年02月02日
    浏览(35)
  • 安全测试工具Fortify最新版本及使用操作演示

    代码测试工具是安全测试、代码审计中经常会用到的一款软件测试工具,支持超过27种语言,超过911,000个组件级API,覆盖810多个SAST漏洞分类。通过Fortify的安全编码规则库,可以定位漏洞根本原因,参考漏洞修复指南。Fortify现在已发布的最新版本是Fortify 22.1.0 版本,首先我们

    2024年02月10日
    浏览(37)
  • HslCommunication测试工具的基本用法

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 我们在实际开发过程中,在操作上位机的时候,其中绕不开的一环就是通讯功能。本文针对的是PLC原始的通讯,无论是java还是.net都已经继承了很多功能接口。但今天想要谈的是最原始的工具HslCommunica

    2024年02月01日
    浏览(42)
  • Thread 类基本用法详解

    Thread 是Java操作多线程 最核心 的类。 Java中创建线程的方法有很多种!!! 上述方法,只是语法规则不同,本质上是一样的方式,创造出的线程并无不同。 面试题一:请说明Thread类中run和start的区别 答案: 作用功能不同: a.run方法的作用是描述线程具体要执行的任务; b.

    2024年02月08日
    浏览(48)
  • 深入浅出 Spring:核心概念和基本用法详解

    个人主页:17_Kevin-CSDN博客 收录专栏;《Java》 在 Java 企业级应用开发中,Spring 框架已经成为了事实上的标准。它提供了一种轻量级的解决方案,使得开发者能够更轻松地构建灵活、可扩展的应用程序。在本文中,我们将探讨 Spring 框架的一些核心概念和基本用法,以此更好地

    2024年03月20日
    浏览(55)
  • 正则表达式、grep过滤工具、sed基本用法、sed基本操作指令、sed应用案例

    1.1 问题 本案例要求熟悉正则表达式的编写,完成以下任务: 利用grep或egrep工具练习正则表达式的基本用法 1.2 方案 表-1 基本正则列表 表-2 扩展正则列表 1.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:正则表达式匹配练习 1)基本正则表达式 测试 ^ $ [] [^] 测试 .

    2024年01月24日
    浏览(83)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包