Fortify源代码漏洞检测

# Fortify 静态代码分析器

什么是 Fortify-SCA

Fortify 静态代码分析器具有缓冲区、内容、控制流、数据流、语义、配置和结构等各种漏洞分析器。这些分析器中的每一个都接受不同类型的规则,这些规则被定制为提供所执行的分析类型所需的信息。

Fortify-静态代码分析器

Fortify 静态代码分析器具有以下组件;

  • ** 强化扫描向导。** 它是一个提供在分析之后或之前运行脚本的选项的工具。
  • ** 审计工作台。** 它是一个基于 GUI 的应用程序,用于组织和管理分析结果。
  • ** 自定义规则编辑器。** 它是一个允许开发人员创建和编辑自定义分析规则的工具。
  • **IntelliJ 和 Android Studio 的插件。** 该插件在 IDE 中提供分析结果。
  • **Eclipse 的插件。** 该工具与 Eclipse 集成并在 IDE 中显示结果。
  • ** 竹子插件。** 它是一个从运行分析的 Bamboo Job 收集结果的插件。
  • ** 詹金斯插件。** 该插件收集 Jenkins 作业的分析结果。

# Fortify SCA 的特点

Fortify-SCA 的特点-

# 1. 支持多种语言

Fortify SCA 支持的一些语言是:ABAP/BSP、ActionScript、ASP(带 VBScript)、COBOL、ColdFusion、Apex、ASP.NET、C# (.NET)、C/C++、Classic、VB.NET、VBScript、CFML、Go、HTML、Java(包括 Android )、JavaScript/AJAX、JSP、Kotlin、Visual Basic、MXML (Flex)、Objective C/C++、PHP、PL/SQL、Python、Ruby、Swift、T-SQL 和 XML。

# 2. 灵活的部署选项

  • Fortify On-Prem 允许组织完全控制 Fortify SCA 的各个方面。
  • Fortify On Demand 使开发人员能够在软件即服务环境中工作。
  • Fortify Hosted 允许开发人员通过具有完全数据控制的隔离虚拟环境享受两个世界(按需和本地)。

# 3. 与 CI/CD 工具轻松集成

  • 开发人员可以轻松地将 Fortify SCA 与 Visual Studio 和 Eclipse 等主要 IDE 集成。
  • 由于该工具与 Sonatype、WhiteSource、Snyk 和 BlackDuck 等开源工具集成,开发人员可以控制各种操作。
  • 您还可以将 Fortify SCA 与远程代码存储库(例如 Bitbucket 和 GitHub)集成。因此,该工具可以检查推送到此类平台的代码是否存在漏洞并发送报告。

# 4. 实时警报

您不必等到编码完成才进行测试,因为 Fortify SCA 在您编码时提供实时更新。该工具具有专为提高速度和效率而构建的配置和结构分析器,可帮助您生成安全的应用程序。

# 5. 由机器学习提供支持的审计助理

使用使用机器学习算法的审计助手可以快速审计系统。助手会识别所有漏洞并根据置信度对它们进行优先级排序。由于该工具生成报告,组织可以节省审计成本。

# 6. 灵活性

用户可以根据自己的需要选择要进行的扫描类型。例如,如果您想要准确和详细的扫描,您可以选择全面扫描选项。如果开发人员只想检测到主要威胁,则还可以选择快速扫描选项。

# 强化 SCA 是做什么的?

Fortify-SCA 做什么

Fortify SCA 在典型的开发生态系统中扮演多种角色。以下是一些角色;

# 静态测试有助于构建更好的代码

静态应用程序安全测试 (SAST) 有助于识别早期开发阶段的安全漏洞。幸运的是,大多数这些安全漏洞的修复成本都很低。

这种方法可以降低应用程序中的安全风险,因为测试可以针对开发过程中引入的代码问题提供即时反馈。

开发人员还可以通过静态应用程序安全测试了解安全性,从而可以开始生产安全的软件。

Fortify SCA 使用广泛的安全编码规则知识库和多种算法来分析软件应用程序的源代码以查找安全漏洞。该方法分析数据和执行可以遵循的任何可行路径,以识别漏洞并提供补救措施。

# 及早发现安全问题

Fortify SCA 模仿编译器。Fortify 扫描后,该工具读取源代码文件并将其转换为增强的中间结构以进行安全分析。

所有的安全漏洞都很容易在中间格式中定位。该工具配备了一个由多个专用分析器组成的分析引擎,然后将使用安全编码规则来分析代码是否违反任何安全编码实践规则。

如果您想扩展静态分析功能并包含自定义规则,Fortify SCA 还附带了规则生成器。可以根据任务和受众以不同的格式查看此类设置中的结果。

# Fortify 软件安全中心 (SSC) 帮助管理结果

Fortify 软件安全中心 (SSC) 是一个集中管理存储库,可提供组织整个应用程序安全计划的可见性。通过 SSC,用户可以在发现安全威胁时审核、审查、确定优先级并管理补救措施。

Fortify SSC 提供组织中应用程序安全状况的准确范围和图片。SSC 驻留在中央服务器中,但接收不同应用程序安全测试活动的结果,范围从实时、动态到静态分析。

# Fortify SCA 可以执行什么类型的代码分析?

Fortify-SCA 可以执行什么类型的代码分析

在进行代码分析时,强化扫描借鉴了有害王国的架构。这些是 Fortify SCA 所做的分析类型;

  • ** 输入验证和表示 -** 与输入验证和表示相关的问题来自替代编码、数字表示和元字符。此类问题的示例包括 “缓冲区溢出”、“跨站点脚本” 攻击和 “ SQL 注入”,这些问题都是在用户信任输入时出现的。
  • **API 滥用。** 调用者未能履行合同结束是最常见的 API 滥用类型。
  • ** 安全功能。** 该测试区分软件安全和安全软件。分析将重点关注身份验证、权限管理、访问控制、机密性和加密问题。
  • ** 时间和状态。** 计算机可以非常快速地在不同任务之间切换。时间和状态分析搜索因线程、信息、进程和时间之间的意外交互而产生的缺陷。
  • ** 错误。**Fortify SCA 将检查错误是否向潜在攻击者提供过多信息。
  • ** 代码质量。** 糟糕的代码质量通常会导致不可预测的行为。但是,如果攻击者遇到编写质量较差的代码,他们就有机会操纵应用程序以获取利益。
  • ** 封装。** 这是划定严格界限的过程。这种分析可能意味着区分经过验证的数据和未经验证的数据。

# 下载并安装 Fortify SCA

在开始安装过程之前,您必须;

  • 从官方文档中查看系统要求
  • 获取 Fortify 许可证文件。从 Microfocus 下载页面选择您的软件包。搜索 Fortify 静态代码分析器,创建您的帐户并获取 Fortify 许可证文件。

下载

  • 确保您安装了 Visual Studio Code 或其他受支持的代码编辑器

# 如何在 Windows 上安装

  • 运行安装程序文件
Fortify_SCA_and_Apps_<version>_windows_x64.exe

注意:<version> 是软件发布版本

  • 接受许可协议后 单击 **“下一步” 。**
  • 选择 Fortify 静态代码分析器的安装位置,然后单击下一步。
  • 选择要安装的组件,然后单击 **“下一步”。**
  • 如果要安装 Visual Studio 2015 或 2017 的扩展,请指定用户。
  • 指定文件路径后单击 **“下一步”** fortify.license
  • 指定更新安全内容所需的设置。您可以通过将 URL 指定为 https://update.fortify.com 来使用 Fortify Rulepack 更新服务器。点击下一步
  • 指定是否要安装示例源代码。点击下一步
  • 单击下一步安装 Fortify SCA 和应用程序。
  • 安装后单击更新安全内容,然后安装完成后 单击完成。

# 如何在 Linux 上安装

您可以按照相同的步骤在基于 Linux 的系统上安装 Fortify SCA。但是,第一步,将其作为安装程序文件运行;

Fortify_SCA_and_Apps__linux_x64.run

您也可以使用命令行提示符安装 Fortify SCA。

打开终端并运行此命令

./Fortify_SCA_and_Apps__linux_x64.run --mode text

按照命令行上的指示执行所有提示,直到完成安装过程。

# 如何运行 Fortify 扫描

如何运行 Fortify 扫描

完成安装后,就可以设置该工具进行安全分析了。

  • 转到安装目录并使用命令提示符导航到 bin 文件夹。
  • 键入 scapostinstall. 然后您可以键入 s 以显示设置。
  • 使用这些命令设置区域设置;

输入 2 选择设置。

输入 1 选择常规。

输入 1 选择区域设置

对于语言,输入 English: en 将语言设置为英语。

Fortify SCA 现在将在后台运行并检查所有代码是否存在安全漏洞。

# 系统要求

硬件要求
Fortify 建议您在具有下表中描述的硬件要求的高端处理器上安装 Micro Focus Fortify 静态代码分析器。

内存 处理器 要分析的编程语言
16 GB 双核 非动态语言
32 GB 8 核 动态语言,例如 JavaScript、TypeScript、Python、PHP 和 Ruby

增加处理器核心和 RAM 的数量都会加快处理速度。 如果您的软件很复杂,您可能需要更多 RAM 或处理器。 请参阅《Micro Focus Fortify 静态代码分析器用户指南》中有关提高性能的信息以获取建议。

软件要求
Micro Focus Fortify 静态代码分析器需要 Java 11 。 Fortify 静态代码分析器和应用程序安装包括嵌入式 OpenJDK/JRE 版本 11.0.16.1。

平台和架构
Micro Focus Fortify 静态代码分析器支持下表中列出的平台和架构。

操作系统 系统平台 / 版本
Windows Windows 10, 11, Windows Server 2016, Windows Server 2019, Windows Server 2022
Linux CentOS Linux 7.x (7.6 or later), CentOS Linux 8.x (8.2 or later), Red Hat Enterprise Linux 7.x (7.2 or later), Red Hat Enterprise Linux 8.x (8.2 or later) , SUSE Linux Enterprise Server 15, Ubuntu 20.04.1 LTS, Ubuntu 22.04.1 LTS
macOS 12, 13
AIX 7.1 Important! You must have the IBM XL C/C++ for AIX 16.1 Runtime environment package installed.
Solaris SPARC 11.3
Solaris x64 11.4

Fortify 静态代码分析器工具(包括安全代码插件)支持下表中列出的平台和架构。

操作系统 系统平台 / 版本
Windows 10
Linux Red Hat Enterprise Linux 7.x, 8, SUSE Linux Enterprise Server 12, 15 Important! Fortify Audit Workbench, Fortify Custom Rules Editor, and Fortify Scan Wizard require GTK version 3.22 or later. Some platform versions include this requirement such as Red Hat Enterprise Linux 7.4 or later and SUSE 12 SP3 and later.
macOS 12, 13

# 下载地址

Fortify Static Code Analyzer 23.2.0 for macOS
百度网盘链接:https://pan.baidu.com/s/1rjmm5zLAjjHVABF7Wyid3Q?pwd= <大 Y>

Fortify Static Code Analyzer 23.2.0 for Linux
百度网盘链接:https://pan.baidu.com/s/1UWTchzYqcXxanBcx4aP2ww?pwd= <大 Y>

Fortify Static Code Analyzer 23.2.0 for Windows
百度网盘链接:https://pan.baidu.com/s/1bm5ySb4yPKXIsdugLSHVRg?pwd= <大 Y>

Fortify SCA Rules 2023.3.0.0006 en