强化,如何通过命令开始分析

Kar*_*aju 7 fortify

我们如何使用命令生成FortiFy报告??? 在linux上.

在命令中,我们如何只包含一些文件夹或文件进行分析,以及我们如何提供存储报告的位置.等等

请帮忙....

谢谢,Karthik

use*_*982 10

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

源= '/本地/凸出/ 9999 /源极/ SRC /**.*'

类路径='本地/凸出/ 9999 /源/ WEB-INF/lib中/*罐./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
Run Code Online (Sandbox Code Playgroud)
  • 指定ProjectRoot很重要,如果不覆盖此系统默认值,它将放在您的/home/user.fortify下
  • sca.log位置非常重要,如果fortify没有找到这个文件,则无法找到要扫描的字节码.
  • 如果您是唯一的用户,则可以一次性更改ProjectRoot和工作目录:FORTIFY_HOME/Core/config/fortify_sca.properties).
  • 在这种情况下,您的命令行将是./sourceanalyzer -b 9999 -clean

2.步骤#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/**/*'  &
Run Code Online (Sandbox Code Playgroud)
  • 总是unix后台作业(&)以防你的服务器会话超时,它将继续工作.

  • cp:将所有已知的类路径放在此处以强制解析functiodfn调用.如果找不到功能,fortify将跳过源代码转换,因此以后不会扫描此部分.您将获得较差的扫描质量,但FPR看起来很好(报告的问题很少).让所有依赖关系都到位很重要.

  • -extdir:在此处放置您不想扫描的所有目录/文件.

  • 最后一节,''之间的文件是你的来源.

  • -64是使用64位java,如果没有指定,将使用32位,最大堆应该<1.3 GB(-Xmx1200M是安全的).

  • -XX:与启动应用程序服务器中的含义相同.只使用这些来控制类堆和垃圾收集.这是为了调整性能.

  • -source是java版本(1.5到1.8)

3.步骤#3(使用rulepack扫描,自定义规则,过滤器等)

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' & 
Run Code Online (Sandbox Code Playgroud)
  • -filter:文件名必须是filter.txt,不会报告此文件中的任何ruleguid.

  • 规则:这是您编写的自定义规则.HP rulepack位于FORTIFY_HOME/Core/config/rules目录中

  • -scan:告诉强化引擎扫描现有scanid的关键字.如果您不更改代码,则可以跳过步骤#2并仅执行步骤#3,只想使用不同的过滤器/自定义规则

4.步骤#4从FPR文件生成PDF(如果需要)

./ReportGenerator -format pdf -f '/local/proj/9999.pdf' -source '/local/proj/9999.fpr'
Run Code Online (Sandbox Code Playgroud)