什么是Fortify SCA,以及如何安装它?
Fortify静态代码分析器(SCA)分析源代码并找出安全漏洞的根本原因。
Fortify扫描优先处理最严重的问题,并指导开发人员如何修复它们。
Fortify静态代码分析器
Fortify静态代码分析器具有各种漏洞分析器,例如缓冲区、内容、控制流、数据流、语义、配置和结构。每个分析器都接受针对所执行分析类型所需的信息的不同类型的规则。
Fortify静态代码分析器包括以下组件:
- Fortify扫描向导。这是一个工具,提供在分析之前或之后运行脚本的选项。
- 审计工作台。这是一个基于GUI的应用程序,用于组织和管理分析结果。
- 自定义规则编辑器。这是一个允许开发人员创建和编辑用于分析的自定义规则的工具。
- IntelliJ和Android Studio插件。该插件在IDE内提供分析结果。
- Eclipse插件。该工具与Eclipse集成,并在IDE内显示结果。
- Bamboo插件。这是一个从运行分析的Bamboo作业收集结果的插件。
- Jenkins插件。该插件从Jenkins作业收集分析结果。
Fortify SCA的特点
#1. 支持多种语言
Fortify SCA支持的一些语言包括:ABAP/BSP、ActionScript、带有VBScript的ASP、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允许开发人员通过一个隔离的虚拟环境以完全控制数据的方式同时享受On Demand和On-Prem的优势。
#3. 与CI/CD工具轻松集成
- 开发人员可以轻松将Fortify SCA与Visual Studio和Eclipse等主要IDE集成。
- 开发人员可以通过与Sonatype、WhiteSource、Snyk和BlackDuck等开源工具集成来控制各种操作。
- 您还可以将Fortify SCA与Bitbucket和GitHub等远程代码存储库集成。因此,该工具可以检查推送到这些平台的代码是否存在漏洞并发送报告。
#4. 实时警报
您无需等到编码完成后才进行测试,因为Fortify SCA在您编码时会提供实时更新。该工具具有为速度和效率构建的配置和结构分析器,并帮助您生成安全的应用程序。
#5. 基于机器学习的审计助手
使用基于机器学习算法的审计助手对系统进行审计非常快速。助手根据置信水平对所有漏洞进行识别和优先排序。因此,组织可以节省审计成本,因为该工具生成报告。
#6. 灵活性
用户可以根据自己的需求选择要进行的扫描类型。例如,如果您想要准确和详细的扫描,可以选择全面扫描选项。开发人员还可以选择快速扫描选项,如果只想检测主要威胁。
Fortify SCA的作用是什么?
在典型的开发生态系统中,Fortify SCA有几种角色。以下是其中一些角色:
静态测试有助于构建更好的代码
静态应用程序安全测试(SAST)有助于在早期开发阶段识别安全漏洞。幸运的是,大多数这些安全漏洞修复起来并不昂贵。
这种方法减少了应用程序中的安全风险,因为测试提供了对开发过程中引入的代码问题的即时反馈。
开发人员还可以通过静态Application Security Testing了解安全性,并因此开始编写安全的软件。
Fortify SCA使用全面的安全编码规则和多个算法来分析软件应用程序的源代码,以识别安全漏洞并提供解决方案。
早期发现安全问题
Fortify SCA模仿编译器的工作方式。在进行Fortify扫描后,此工具读取源代码文件并将其转换为针对安全分析进行增强的中间结构。
所有安全漏洞都很容易在中间格式中找到。该工具配备了一个由多个专业分析器组成的分析引擎,这些分析器将使用安全编码规则来分析代码是否违反了任何安全编码实践规则。
如果您想扩展静态分析功能并包含自定义规则,Fortify SCA还配有一个规则构建器。在这种设置下,可以按照任务和受众的不同格式查看结果。
Fortify软件安全中心(SSC)帮助管理结果
Fortify软件安全中心(SSC)是一个集中管理存储库,为组织的整个应用程序安全程序提供可见性。通过SSC,用户可以在识别到安全威胁时进行审核、审查、优先排序和管理修复工作。
Fortify SSC为组织的应用程序安全状况提供了准确的范围和图像。SSC驻留在中央服务器上,但可以接收来自不同应用程序安全测试活动的结果,包括实时、动态和静态分析。
Fortify SCA可以进行哪些类型的代码分析?
Fortify SCA在进行代码分析时借鉴了邪恶王国的架构。以下是Fortify SCA进行的分析类型:
- 输入验证和表示-与输入验证和表示相关的问题来自于替代编码、数值表示和元字符。此类问题的例子包括“缓冲区溢出”、“跨站点脚本”攻击和“SQL Injection”,这些问题在用户信任输入时出现。
- API滥用。调用者未能遵守合同的终结是最常见的API滥用类型。
- 安全功能。此测试区分软件安全和安全软件。分析将重点放在身份验证、特权管理、访问控制、机密性和加密问题上。
- 时间和状态。计算机可以非常快速地在不同任务之间切换。时间和状态分析寻找由线程、信息、进程和时间之间的意外交互引起的缺陷。
- 错误。Fortify SCA将检查错误是否向潜在攻击者提供了过多的信息。
- 代码质量。糟糕的代码质量通常导致不可预测的行为。但是,如果遇到编写不良的代码,攻击者可能有机会操纵应用程序以获利。
- 封装。这是绘制强大边界的过程。这种分析可能意味着区分经过验证和未经过验证的数据。
下载和安装Fortify SCA
在开始安装过程之前,您必须:
- 从official documentation中检查系统要求
- 获取Fortify许可文件。从Microfocus downloads页面选择您的软件包。搜索Fortify静态代码分析器,创建您的帐户,并获取Fortify许可文件。
- 确保您已安装Visual Studio Code或其他支持的代码编辑器
如何在Windows上安装
- 运行安装程序文件
Fortify_SCA_and_Apps__windows_x64.exe
NB:是软件版本号
- 接受许可协议后点击下一步。
- 选择Fortify静态代码分析器的安装位置,然后点击下一步。
- 选择要安装的组件,然后点击下一步。
- 如果要为Visual Studio 2015或2017安装扩展,请指定用户。
- 在指定
fortify.license
文件路径后点击下一步。 - 指定更新安全内容所需的设置。您可以通过指定URL为https://update.fortify.com来使用Fortify规则包更新服务器。点击下一步。
- 如果要安装示例源代码,请选择下一步。
- 点击下一步安装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扫描
安装完成后,是时候为安全分析设置工具了。
- 转到安装目录,并使用命令提示符导航到bin文件夹。
- 键入
scapostinstall
。然后键入s以显示设置。 - 使用以下命令设置区域设置;
键入2以选择设置。
键入1以选择常规。
键入1以选择语言。
对于语言,请键入English: en以将语言设置为英语。
- 配置安全内容更新。键入2以选择设置,然后再次键入2以选择Fortify更新。您现在可以通过指定URL为https://update.fortify.com来使用Fortify规则包更新服务器。
- 键入
sourceanalyzer
以检查工具是否完整安装。
Fortify SCA现在将在后台运行并检查您的所有代码是否存在安全漏洞。
总结
在这个网络时代,系统被黑客入侵和数据被泄露的情况越来越多。幸运的是,我们现在有了诸如Fortify静态代码分析器这样的工具,可以在编写代码时检测安全威胁,发送警报并提供处理此类威胁的建议。与其他工具一起使用,Fortify SCA可以提高生产力并降低运营成本。
您还可以探索Software Composition Analysis(SCA)以提高应用程序的安全性。