Fortify_23.2.0
Fortify静态代码分析(Static Code Analysis,SCA)工具是一种用于检测和修复应用程序中潜在安全漏洞的工具,特别是在代码编写和构建阶段。Fortify可以帮助开发人员识别和解决在应用程序中可能导致安全漏洞的代码问题,如潜在的缓冲区溢出、SQL注入、跨站脚本攻击等。
主要功能和特性可能包括:
1. 静态代码分析(SCA):Fortify通过对源代码进行分析,查找潜在的安全风险和漏洞。
2. 漏洞检测:工具能够检测并报告潜在的漏洞,帮助开发人员在早期发现并解决问题。
3. 漏洞追踪和报告:提供详细的漏洞报告,包括问题的描述、位置和建议的修复方法。
4. 集成开发环境(IDE)插件:Fortify通常提供与常见的集成开发环境(如Eclipse、Visual Studio等)集成的插件,以便开发人员能够在他们熟悉的环境中使用工具。
5. 持续集成(CI)集成:Fortify可以与CI工具(如Jenkins、Travis CI等)集成,以便在每次代码提交或构建时进行自动检测。
Fortify 软件安全研究团队将前沿研究转化为安全情报,为 Fortify 产品组合提供支持,包括 Fortify 静态代码分析器 (SCA) 和 Fortify WebInspect。如今,Fortify 软件安全内容支持 30 种语言的 1,399 个漏洞类别,涵盖超过 100 万个单独的 API。
Fortify Software Security Research (SSR) 很高兴地宣布立即推出 Fortify Secure Coding Rulepacks(英语,版本 2023.2.0)、Fortify WebInspect SecureBase(可通过 SmartUpdate 获得)和 Fortify Premium Content 的更新。
Fortify安全编码规则包 [Fortify静态代码分析器]
在此版本中,Fortify 安全编码规则包可检测 30 种编程语言中的 1,177 个独特类别的漏洞,并跨越超过 100 万个单独的 API。总之,此版本包括以下内容:
GoLang 更新(支持的版本:1.17)
更新了对 Go 标准库的支持,以支持最高版本 1.17。Go是由Google设计的静态类型开源语言,其目的是使构建简单、可靠和高效的软件变得容易。Go 在语法上类似于 C,但具有内存安全机制、垃圾回收和结构类型。此更新改进了标准库命名空间的覆盖范围,以包括以下附加类别:
Header Manipulation: SMTP
Mail Command Injection: SMTP
支持改进了对现有命名空间覆盖率下的弱点检测,并扩展到包括以下新命名空间:
io/fs
math/big
math/random
net/smtp
net/textproto
text/template
Python 更新(支持版本:3.10)
Python 是一种通用的、功能强大的编程语言,具有动态类型和高效的高级数据结构。它支持多种编程范例,包括结构化、面向对象和函数式编程。此版本通过扩展对 Python 标准库 API 更改的支持,增加了我们对 Python 3.10 的覆盖范围。更新的类别包括:
路径操作
侵犯隐私
系统信息泄露
ECMAScript 更新(支持的版本:2022)[1]
ECMAScript 2022,也称为 ES2022 或 ES12,是 JavaScript 语言的 ECMAScript 标准的最新版本。ES2022的主要功能是私有方法和访问器,扩展的数字文字,逻辑赋值运算符以及改进的错误处理。对 ES2022 的支持将所有相关 JavaScript 漏洞类别的覆盖范围扩展到最新版本的 ECMAScript 标准。
Vue 2(支持的版本:2.7)
对 Vue 2 的初始支持。Vue 是一个开源的响应式框架,用于为所有 ECMAScript 5 兼容浏览器构建用户界面和单页应用程序。Vue 专注于 Web 应用程序的视图层,是作为 Angular 和 React 等常见框架的极简主义替代品而创建的。
iOS SDK 更新(支持的版本:16)[2]
Apple的iOS SDK提供了一系列框架,使开发人员能够为Apple iPhone和iPad设备构建移动应用程序。此版本包含对 iOS SDK 对 Swift 和 Objective-C 的支持的增量更新。新的和更新的规则扩展了 iOS SDK 15 和 16 中 Swift iOS 和 iPadOS 应用程序的 DataDetection、Foundation、Security、SwiftUI 和 UIKit 框架的 API 覆盖范围。这些更新改进了许多现有弱点类别的问题检测,包括:
Biometric Authentication: Insufficient Touch ID Protection
Format String
Insecure Transport: Weak SSL Protocol
Log Forging
Privacy Violation
System Information Leak: External
System Information Leak: Internal
Weak Encryption: Inadequate RSA Padding
此外,此版本中还针对 iOS 和 iPadOS 应用程序引入了两个新的弱点类别:
Insecure Storage: Persistent Named Pasteboard
Insecure Storage: Universal Clipboard
Salesforce Apex 和 Visualforce Updates(支持的版本:v57)[3]
Salesforce Apex是用于创建Salesforce应用程序(如业务事务,数据库管理,Web服务和Visualforce页面)的编程语言。此更新改进了我们对 Apex v57 API 和 Visualforce API 的支持。除了改进对现有弱点类别的支持外,我们的 Apex 支持还增加了以下内容:
Cross-Site Request Forgery
Poor Error Handling: Empty Catch Block
Unsafe Reflection
此外,还为 Apex 应用程序引入了以下新的弱点类别:
访问控制:未强制执行的共享规则
使用 Java Apache Beam 对 Google Dataflow 的初始支持(支持的版本:2.46.0)
Apache Beam 是一种开源的统一编程模型,用于构建能够在各种数据处理后端上运行的数据处理管道。对Apache Beam的初始支持支持数据处理管道,例如Google Dataflow,并且仅限于Java编程语言,通过识别Apache Beam管道中的数据源。支持支持在 Apache Beam 转换中报告相关的 Java 漏洞类别,例如命令注入、隐私侵犯和日志伪造。
.NET 7(支持的版本:7.0)
.NET 是一个通用编程平台,使程序员能够使用一组标准化的 API 使用 C# 和 http://VB.NET 等语言编写代码。此版本将我们的覆盖范围扩大到最新版本的 .NET,改进了数据流,并扩展了以下类别的 API 覆盖范围:
拒绝服务:正则表达式
路径操作
路径操作:Zip 条目覆盖
权限操作
侵犯隐私
设置操作
系统信息泄露
http://ASP.NET 酷睿7(支持版本:7.0)
http://ASP.NET Core 是用于 .NET 的旗舰 Web 框架。该框架包括创建多种类型的应用程序的功能,包括 MVC Web 应用程序和 Web API。此版本将我们的覆盖范围扩大到最新版本的 http://ASP.NET Core,扩展了我们支持的类别,包括:
拒绝服务
侵犯隐私
设置操作
系统信息泄露
云基础结构即代码 (IaC)
IaC 是通过代码而不是各种手动过程来管理和配置计算机资源的过程。改进的支持包括用于部署到 AWS 和 Azure 的 Terraform 配置,以及改进的 Azure 资源管理器 (ARM) 覆盖范围。与这些服务的配置相关的常见问题现在报告给开发人员。
Amazon AWS 和 Microsoft Azure Terraform 配置
Terraform 是一个开源基础架构即代码工具,用于构建、更改和版本控制云基础架构。它使用自己的声明性语言,称为HashiCorp配置语言(HCL)。云基础架构在配置文件中编码,以描述所需状态。Terraform 提供商支持 Microsoft Azure 基础设施和 Amazon Web Services (AWS) 的配置和管理。在此版本中,我们报告了 Terraform 配置的以下类别:
AWS Terraform 配置错误:AMI 缺少客户管理的加密密钥
AWS Terraform 配置错误:Aurora 缺少客户管理的加密密钥
AWS Terraform 配置错误:Aurora 可公开访问
AWS Terraform 配置错误:CloudTrail 缺少客户管理的加密密钥
AWS Terraform 配置错误:可公开访问的数据库迁移服务
AWS Terraform 配置错误:DocumentDB 缺少客户管理的加密密钥
AWS Terraform 配置错误:DocumentDB 可公开访问
AWS Terraform 配置错误:EBS 缺少客户管理的加密密钥
AWS Terraform 配置错误:EC2 映像生成器缺少客户管理的加密密钥
AWS Terraform 配置错误:EFS 缺少客户管理的加密密钥
AWS Terraform 配置错误:Elasticache 缺少客户管理的加密密钥
AWS Terraform 配置错误:文件缓存缺少客户管理的加密密钥
AWS Terraform 配置错误:FSx Lustre 缺少客户管理的加密密钥
AWS Terraform 配置错误:FSx 缺少客户管理的加密密钥
AWS Terraform 配置错误:FSx ONTAP 缺少客户管理的加密密钥
AWS Terraform 配置错误:FSx OpenZFS 缺少客户管理的加密密钥
AWS Terraform 配置错误:FSx Windows 缺少客户管理的加密密钥
AWS Terraform 配置错误:不安全的 AMI 存储
AWS Terraform 配置错误:不安全的 Aurora 存储
AWS Terraform 配置错误:不安全的文档数据库存储
AWS Terraform 配置错误:不安全的 EC2 映像生成器存储
AWS Terraform 配置错误:不安全的 EFS 存储
AWS Terraform 配置错误:不安全的 Neptune 存储
AWS Terraform 配置错误:不安全的红移存储
AWS Terraform 配置错误:Aurora 监控不足
AWS Terraform 配置错误:文档数据库监控不足
AWS Terraform 配置错误:RDS 监控不足
AWS Terraform 配置错误:Kinesis 缺少客户管理的加密密钥
AWS Terraform 配置错误:Lightsail 可公开访问
AWS Terraform 配置错误:位置服务缺少客户管理的加密密钥
AWS Terraform 配置错误:Neptune 缺少客户管理的加密密钥
AWS Terraform 配置错误:RDS 缺少客户管理的加密密钥
AWS Terraform 配置错误:RDS 可公开访问
AWS Terraform 配置错误:Redshift 缺少客户管理的加密密钥
AWS Terraform 配置错误:SageMaker 缺少客户管理的加密密钥
AWS Terraform 配置错误:密钥管理器缺少客户管理的加密密钥
AWS Terraform 配置错误:S3 缺少客户管理的加密密钥
AWS Terraform 配置错误:时间流缺少客户管理的加密密钥
Azure Terraform 配置错误:不正确的应用服务 CORS 策略
Azure Terraform 配置错误:认知服务网络访问控制不当
Azure Terraform 配置错误:不正确的 CosmosDB CORS 策略
Azure Terraform 配置错误:不正确的函数 CORS 策略
Azure Terraform 配置错误:不正确的医疗保健 CORS 策略
Azure Terraform 配置错误:不正确的 IoT 中央网络访问控制
Azure Terraform 配置错误:不正确的 IoT 中心网络访问控制
Azure Terraform 配置错误:密钥保管库网络访问控制不正确
Azure Terraform 配置错误:不正确的逻辑应用 CORS 策略
Azure Terraform 配置错误:不正确的媒体服务网络访问控制
Azure Terraform 配置错误:服务总线网络访问控制不正确
Azure Terraform 配置错误:不正确的 SignalR CORS 策略
Azure Terraform 配置错误:不正确的 SignalR 网络访问控制
Azure Terraform 配置错误:不正确的 Spring Apps CORS 策略
Azure Terraform 配置错误:不正确的存储 CORS 策略
Azure Terraform 配置错误:存储网络访问控制不当
Azure Terraform 配置错误:不正确的 Web PubSub Network 访问控制
Azure Terraform 配置错误:不安全的事件中心传输
Azure Terraform 配置错误:不安全的前门传输
Azure Terraform 配置错误:不安全的函数传输
Azure Terraform 配置错误:不安全的 Redis 传输
Azure Terraform 配置错误:不安全的服务总线传输
Azure Terraform 配置错误:不安全的 SQL 数据库传输
Azure Terraform 配置错误:不安全的 SQL 托管实例传输
Microsoft Azure Resource Manager (ARM) 配置
ARM 是 Azure 的部署和管理服务。ARM 提供了一个管理层,可用于创建、更新和删除 Azure 帐户中的资源。在此版本中,我们报告了 ARM 配置的以下弱点类别:
Azure ARM 配置错误:自动化缺少客户管理的加密密钥
Azure ARM 配置错误:批量缺少客户管理的加密密钥
Azure ARM 配置错误:认知服务缺少客户管理的加密密钥
Azure ARM 配置错误:数据砖缺少客户管理的加密密钥
Azure ARM 配置错误:事件中心缺少客户管理的加密密钥
Azure ARM 配置错误:不安全的 CDN 传输
Azure ARM 配置错误:MySQL 存储的不安全数据库
Azure ARM 配置错误:PostgreSQL 存储的不安全数据库
Azure ARM 配置错误:不安全的 DataBricks 存储
Azure ARM 配置错误:不安全的事件中心存储
Azure ARM 配置错误:不安全的事件中心传输
Azure ARM 配置错误:不安全的 IoT 集线器传输
Azure ARM 配置错误:不安全的恢复服务备份存储
Azure ARM 配置错误:不安全的恢复服务保管库存储
Azure ARM 配置错误:不安全的 Redis 企业传输
Azure ARM 配置错误:不安全的 Redis 传输
Azure ARM 配置错误:不安全的服务总线存储
Azure ARM 配置错误:不安全的服务总线传输
Azure ARM 配置错误:不安全的存储帐户存储
Azure ARM 配置错误:IoT 中心缺少客户管理的加密密钥
Azure ARM 配置错误:NetApp 缺少客户管理的加密密钥
Azure ARM 配置错误:服务总线缺少客户管理的加密密钥
Azure ARM 配置错误:存储帐户缺少客户管理的加密密钥
Azure ARM 配置错误:弱应用服务身份验证
Azure ARM 配置错误:弱信号R 身份验证
可定制的密码管理和密钥管理正则表达式[4]
有时,在源代码中匹配密码和加密密钥的唯一方法是使用正则表达式进行有根据的猜测。这些现在可以通过属性进行自定义,并且跨语言更加一致,并且默认正则表达式已受到限制以最大程度地减少误报。
可以使用以下属性之一配置全局正则表达式:
com.fortify.sca.rules.key_regex.global 或 com.fortify.sca.rules.password_regex.global
您可以使用以下属性为每种语言设置更具体的变体:
com.fortify.sca.rules.key_regex.abap
com.fortify.sca.rules.key_regex.actionscript com.fortify.sca.rules.key_regex.cfml com.fortify.sca.rules.key_regex.cpp com.fortify.sca.rules.key_regex.golang com.fortify.sca.rules.key_regex.java
com.fortify.sca.rules.key_regex.javascript
com.fortify.sca.rules.key_regex.jsp
com.fortify.sca.rules.key_regex.objc
com.fortify.sca.rules.key_regex.php com.fortify.sca.rules.key_regex.python com.fortify.sca.rules.key_regex.ruby com.fortify.sca.rules.key_regex.sql com.fortify.sca.rules.key_regex.swift
com.fortify.sca.rules.key_regex.vb
com.fortify.sca.rules.password_regex.abap
com.fortify.sca.rules.password_regex.actionscript
com.fortify.sca.rules.password_regex.cfml
com.fortify.sca.rules.password_regex.cobol
com.fortify.sca.rules.password_regex.config
com.fortify.sca.rules.password_regex.cpp
com.fortify.sca.rules.password_regex.docker
com.fortify.sca.rules.password_regex.dotnet
com.fortify.sca.rules.password_regex.golang
com.fortify.sca.rules.password_regex.java
com.fortify.sca.rules.password_regex.javascript
com.fortify.sca.rules.password_regex.json
com.fortify.sca.rules.password_regex.jsp
com.fortify.sca.rules.password_regex.objc
com.fortify.sca.rules.password_regex.phpcom.fortify.sca.rules.password_regex.properties
com.fortify.sca.rules.password_regex.python
com.fortify.sca.rules.password_regex.ruby
com.fortify.sca.rules.password_regex.sql
com.fortify.sca.rules.password_regex.swift
com.fortify.sca.rules.password_regex.vbcom.fortify.sca.rules.password_regex.yaml
有关默认正则表达式的更多详细信息,请参阅 Fortify 静态代码分析器用户指南。
DISA STIG 5.2
为了在合规性领域为我们的联邦客户提供支持,添加了 Fortify 分类法与国防信息系统局 (DISA) 应用程序安全和开发 STIG 版本 5.2 的关联。
PCI DSS 4.0 为了在合规性方面支持我们的电子商务和金融服务客户,此版本支持我们的Fortify分类类别与最新版本的支付卡行业数据安全标准 4.0 版中指定的要求之间的关联。
PCI SSF 1.2
为了在合规性领域支持我们的电子商务和金融服务客户,此版本支持我们的Fortify分类类别与支付卡行业 (PCI) 安全软件标准 (SSS) 中定义的新的“安全软件要求和评估程序”中指定的控制目标之间的关联,作为新软件安全框架 (SSF) 的一部分, 版本 1.2。
其他勘误表
在此版本中,已投入资源以确保我们可以减少误报问题的数量,重构一致性,并提高客户审核问题的能力。客户还可以期望看到与以下内容相关的报告问题的变化:
删除“拒绝服务:解析双重”
已删除拒绝服务:解析双倍类别,因为该漏洞仅存在于 Java 版本 6 更新 23 和更早版本中。使用这些易受攻击的 Java 版本的客户仍然可以从 Fortify 客户支持门户的“高级内容”下下载单独的规则包中的已删除规则。
误报改进
工作仍在继续,努力消除此版本中的误报。除了其他改进之外,客户还可以期望在以下方面进一步消除误报:
访问控制:数据库 – 当数据来自数据库时,误报减少
Android 不良做法:不必要的组件暴露 – 当 Android 接收器标记为 android:exported=“false” 时,误报减少
NET MVC 不良做法:控制器操作不限于 POST – 当控制器操作将其输入直接传递到视图而不更改状态时,误报减少
凭据管理:硬编码的 API 凭据 – 在建议时不再在 google-services.json 中找到
凭据管理:硬编码的 API 凭据 – 减少了 Facebook 修订密钥上的误报
跨站点脚本 – 删除了在 VB6 Windows 窗体应用程序中触发的误报
死代码:未使用的字段 – Java lambda 中的误报减少
Dockerfile 配置错误:依赖关系混淆 – 使用本地库定义时误报减少
在布尔变量上报告数据流问题时,在所有受支持的语言中跨多个类别删除误报
通过 WinAPI 函数检索文件信息时,C/C++ 应用程序中的多个类别中消除了误报
HTTP 参数污染 – 减少 URL 编码值的误报
不安全随机:硬编码种子和不安全随机性:用户控制的种子 – 在 Java 应用程序中使用 Random 和 SplittableRandom 类时减少了误报
不安全存储:未指定的钥匙串访问策略、不安全存储:外部可用钥匙串和 不安全存储:密码策略 未强制执行 – 应用建议的补救措施时,Swift iOS 应用程序中的误报减少
内存泄漏 – 添加指向提升程序选项说明的指针时减少了误报
内存泄漏 – 使用 std::unique_ptr 时误报减少
空取消引用 – 在 .NET 应用程序中将 0 强制转换为字节时删除了误报
密码管理:硬编码密码 - 减少评论中密码的误报
侵犯隐私:Android 内部存储 – 在 Android 应用程序中使用 EncryptedSharedPreferences 对象时误报减少
SOQL 注入和访问控制:数据库 – 在 Salesforce Apex 应用程序中使用 getQueryLocator() 时减少了误报类别更改 当弱点类别名称发生更改时,将以前的扫描与新扫描合并时的分析结果将导致添加/删除类别。
为了提高一致性,重命名了以下类别:
NET 错误做法:剩余调试代码现在报告为在常规 .NET 代码中触发时的 .NET 错误做法:剩余调试代码。
此外,为了提高跨类别 IaC 缺陷报告的一致性,此版本中又重命名了 121 个类别(请参阅附录 A)。
Fortify SecureBase [Fortify WebInspect]
Fortify SecureBase 将针对数千个漏洞的检查与策略相结合,这些策略可指导用户通过 SmartUpdate 立即提供以下更新:
漏洞支持
不安全的部署:未修补的应用程序[5]
Cacti 是一个框架,为用户提供日志记录和绘图功能来监视网络上的设备。remote_agent.php文件容易受到 1.2.23 之前的 Cacti 版本中 CVE-2022-46169 识别的远程代码执行 (RCE) 漏洞的影响。使用用户输入轮询数据调用方法proc_open时传递 poller_id 参数。由于此值未清理,因此攻击者能够在目标计算机上执行命令。将此命令注入问题与使用 X-Forwarded-For 标头的身份验证绕过相结合,会导致未经身份验证的攻击者危害整个应用程序。此版本包括一项检查,用于在运行受影响的 Cacti 版本的目标服务器上检测此漏洞。
SAML 不良做法:不安全转换
SAML消息经过加密签名,以保证断言的有效性和完整性。服务提供商必须执行的签名验证步骤之一是转换 Reference 元素指向的数据。通常,转换操作旨在仅选择引用数据的子集。但是,攻击者可以使用某些类型的转换造成拒绝服务,在某些环境中甚至执行任意代码。此版本包括一项检查,如果服务提供商允许在 XML 引用中使用不安全类型的转换,则会触发该检查。
合规报告
DISA STIG 5.2 为了支持我们的联邦客户的合规性需求,此版本包含 WebInspect 检查与最新版本的国防信息系统局应用程序安全和开发 STIG 5.2
版的关联。
PCI DSS 4.0 为了支持我们的电子商务和金融服务客户的合规性需求,此版本包含 WebInspect 检查与最新版本的支付卡行业数据安全标准 4.0 版中指定的要求的关联。
PCI SSF 1.2
为了支持我们的电子商务和金融服务客户的合规性需求,此版本包含 WebInspect 检查与支付卡行业 (PCI) 安全软件标准 (SSS) 中定义的新“安全软件要求和评估程序”中指定的控制目标的关联,作为新软件安全框架 (SSF) 的一部分, 版本 1.2。
政策更新
DISA STIG 5.2 为包含与 DISA STIG 5.2
相关的检查而定制的策略已添加到 WebInspect SecureBase 受支持策略列表中。
PCI DSS 4.0 自定义策略以包括与 PCI DSS 4.0 相关的检查,已添加到 WebInspect SecureBase 支持的策略列表中。
PCI SSF 1.2 自定义策略以包含与 PCI SSF 1.2 相关的检查,已添加到 WebInspect SecureBase 支持的策略列表中。
其他勘误表
在此版本中,我们投入了资源来进一步减少误报的数量,并提高客户审核问题的能力。客户还可以期望看到与以下内容相关的报告结果的变化:
密码管理:弱密码策略[6]
此版本包括对密码熵检查的细微改进,其中密码/用户名字段改进了对自定义用户名和密码字段的检测。此修复有助于减少与检查 ID 11496、11498 和 11661 相关的结果中的误报。
Fortify优质内容
研究团队在我们的核心安全智能产品之外构建、扩展和维护各种资源。
DISA STIG 5.2、PCI SSF 1.2 和 PCI DSS 4.0 为了配合新的相关性,此版本还包含 Fortify 软件安全中心的新报告包,支持 DISA STIG 5.2、PCI DSS 4.0 和 PCI SSF 1.2,可从 Fortify 客户支持门户的“高级内容”下下载。
Fortify分类:软件安全错误
Fortify分类网站(包含新添加的类别支持的说明)可在 https://vulncat.fortify.com 上找到。寻找具有上次受支持更新的旧站点的客户可以从 Fortify 支持门户获取它。
附录 A:IaC 弱点类别重命名
[1] Requires Fortify Static Code Analyzer 23.2.
[2] New rules for iOS SDK 16 require Fortify Static Code Analyzer 22.2 or later.
[3] Requires Fortify Static Code Analyzer 23.2 or later for some new rules that target the Apex v57 APIs.
[4] Requires Fortify Static Code Analyzer 23.2.
[5] Requires OAST features that are available in the WebInspect 21.2.0.117 patch or later.
[6] Requires WebInspect 23.2 or later.
下载地址:
注意:此版本仅适用于对应操作系统!
https://www.123pan.com/s/l1eA-6UHD3.html