MicroFocus的Fortify WebInspect都有哪些功能呢?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MicroFocus的Fortify WebInspect都有哪些功能呢?相关的知识,希望对你有一定的参考价值。
参考技术A 很多,它可以管理企业应用程序安全风险,能很好的识别部署的 Web 应用程序和服务中的应用程序漏洞本回答被提问者采纳Fortify,如何通过命令启动分析
【中文标题】Fortify,如何通过命令启动分析【英文标题】:Fortify, how to start analysis through command 【发布时间】:2016-06-17 02:05:02 【问题描述】:我们如何使用命令生成 FortiFy 报告???在 Linux 上。
在命令中,我们如何仅包含一些用于分析的文件夹或文件,以及我们如何提供存储报告的位置。等等
请帮忙....
谢谢, 卡提克
【问题讨论】:
【参考方案1】:1.第 1 步(清理缓存)
您需要在开始之前规划扫描结构:scanid = 9999(可以是任何你喜欢的)
ProjectRoot = /local/proj/9999/
WorkingDirectory = /local/proj/9999/working
(这个目录很大,每次扫描前都需要“rm -rf ./working && mkdir ./working”,否则字节码会堆积在这个目录下并快速消耗你的硬盘)log = /local/proj/9999/working/sca.log
source='/local/proj/9999/source/src/**.*'
classpath='local/proj/9999/source/WEB-INF/lib/*.jar; /local/proj/9999/source/jars/**.*; /local/proj/9999/source/classes/**.*'
./sourceanalyzer -b 9999 -Dcom.fortify.sca.ProjectRoot=/local/proj/9999/ -Dcom.fortify.WorkingDirectory=/local/proj/9999/working -logfile /local/proj/working/9999/working/sca.log -clean
指定ProjectRoot很重要,如果不覆盖这个系统默认值,它会放在你的/home/user.fortify下
sca.log的位置很重要,如果fortify没有找到这个文件,就找不到字节码来扫描。
如果您是唯一的用户,您可以一次性更改 ProjectRoot 和工作目录:FORTIFY_HOME/Core/config/fortify_sca.properties)。
在这种情况下,您的命令行将是 ./sourceanalyzer -b 9999 -clean
2。 Step#2(将源代码翻译成字节码)
nohup ./sourceanalyzer -b 9999 -verbose -64 -Xmx8000M -Xss24M -XX:MaxPermSize=128M -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:+UseParallelGC -Dcom.fortify.sca.ProjectRoot=/local/proj/9999/ -Dcom.fortify.WorkingDirectory=/local/proj/9999/working -logfile /local/proj/9999/sca.log -source 1.5 -classpath '/local/proj/9999/source/WEB-INF/lib/*.jar:/local/proj/9999/source/jars/**/*.jar:/local/proj/9999/source/classes/**/*.class' -extdirs '/local/proj/9999/source/wars/*.war' '/local/proj/9999/source/src/**/*' &
始终使用 unix 后台作业 (&),以防您与服务器的会话超时,它将继续工作。
cp :将所有已知的类路径放在这里,以进行强化以解决 functidfn 调用。如果未找到函数,fortify 将跳过源代码翻译,因此以后不会扫描这部分。您将获得较差的扫描质量,但 FPR 看起来不错(报告的问题很少)。准备好所有依赖项 jar 非常重要。
-extdir:把所有不想被扫描的目录/文件放在这里。
最后一部分,' ' 之间的文件是你的来源。
-64 使用 64 位 java,如果不指定,将使用 32 位,并且最大堆应
-XX: 与启动应用服务器中的含义相同。仅使用这些来控制类堆和垃圾收集。这是为了调整性能。
-source是java版本(1.5到1.8)
3.第 3 步(使用规则包、自定义规则、过滤器等进行扫描)
nohup ./sourceanalyzer -b 9999 -64 -Xmx8000M -Dcom.fortify.sca.ProjectRoot=/local/proj/9999 -Dcom.fortify.WorkingDirectory=/local/proj/9999/working -logfile /local/ssap/proj/9999/working/sca.log **-scan** -filter '/local/other/filter.txt' -rules '/local/other/custom/*.xml -f '/local/proj/9999.fpr' &
-filter:文件名必须为filter.txt,此文件中的任何ruleguid都不会上报。
规则:这是您编写的自定义规则。 HP 规则包位于 FORTIFY_HOME/Core/config/rules 目录中
-scan : 告诉 fortify 引擎扫描现有 scanid 的关键字。如果您没有更改代码,您可以跳过第 2 步,只执行第 3 步,只想使用不同的过滤器/自定义规则
4.步骤#4 从 FPR 文件生成 PDF(如果需要)
./ReportGenerator -format pdf -f '/local/proj/9999.pdf' -source '/local/proj/9999.fpr'
【讨论】:
感谢您的回答,也非常感谢您的耐心解释。我会尽快检查并更新。以上是关于MicroFocus的Fortify WebInspect都有哪些功能呢?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 VB.Net 自动化 Microfocus Rumba