Fortify SCA 源代码安全扫描工具 23.2.0
Windows:
SCA:
https://ponies.cloud/source_code_analysis/fortifySCA/win/Fortify_SCA_23.2.0_Windows.zip
Tools:
https://ponies.cloud/source_code_analysis/fortifySCA/win/Fortify_Tools_23.2.0_Windows.zip
Mac:
SCA:
https://ponies.cloud/source_code_analysis/fortifySCA/osx/Fortify_SCA_23.2.0_Mac.tar.gz
Tools:
https://ponies.cloud/source_code_analysis/fortifySCA/osx/Fortify_Tools_23.2.0_Mac.tar.gz
Linux:
SCA:
https://ponies.cloud/source_code_analysis/fortifySCA/lin/Fortify_SCA_23.2.0_Linux.tar.gz
Tools:
https://ponies.cloud/source_code_analysis/fortifySCA/lin/Fortify_Tools_23.2.0_Linux.tar.gz
Crack & License file:
https://ponies.cloud/source_code_analysis/fortifySCA/Fortify_SCA_23.2_Crack_pwn3rzs_cyberarsenal.7z
Rules:
https://ponies.cloud/source_code_analysis/fortifySCA/FortifyRules_2023.3.0.0006_en.zip
Password:
Pwn3rzs
Setup:
Read the README.txt file
Enjoy!
关于 OpenText Fortify 软件安全研究
Fortify 软件安全研究团队将前沿研究转化为安全情报,为 Fortify 产品组合提供支持——包括 OpenText系列Fortify 静态代码分析器(SCA)和WebInspect。如今,Fortify 软件安全内容支持 33+ 种语言的 1,657 个漏洞类别,涵盖超过 100 万个单独的 API。
Fortify Software Security Research (SSR) 很高兴地宣布立即推出 Fortify Secure Coding Rulepacks(英语,版本 2023.4.0)、Fortify WebInspect SecureBase(通过 SmartUpdate 提供)和 Fortify Premium Content 的更新。
Fortify 安全编码规则包 [FortifySCA]
在此版本中,Fortify Secure Coding Rulepack 可检测 33+ 种语言的 1,432 个独特类别的漏洞,并涵盖超过 100 万个单独的 API。
总之,此版本包括以下内容:
改进了对 Python 的支持(支持的版本:3.12)
Python 是一种通用的、功能强大的编程语言,具有动态类型和高效的高级数据结构。它支持多种编程范式,包括结构化、面向对象和函数式编程。此版本将我们的覆盖范围扩大到最新版本的 Python,扩展了我们对 Python 标准库 API 更改的支持。更新了以下模块的现有规则覆盖范围:
·os
·pathlib
·tomllib
改进了对 Django 的支持(支持的版本:4.2)
Django 是一个用 Python 编写的 Web 框架,旨在促进安全和快速的 Web 开发。通过框架中的高度抽象来实现开发的速度和安全性,其中代码构造和生成用于大幅减少样板代码。在此版本中,我们更新了现有的 Django 覆盖范围以支持以下版本:4.0、4.1 和 4.2。
改进的覆盖范围包括以下命名空间:asyncio、django.core.cache.backends.base.BaseCache、django.db.models.Model 和 django.middleware.security.SecurityMiddleware。此外,我们还改进了弱点类别的覆盖范围,其中包括以下内容:
·Header Manipulation
·Insecure Cross-Origin Opener Policy
·Resource Injection
·Setting Manipulation
PyCryptodome 和 PyCrypto(支持的版本:3.19.0)
PyCryptodome 是一个独立的 Python 包,它提供了加密算法和协议的综合集合。它是 PyCrypto 库的扩展和更积极维护的版本。PyCryptodome 旨在提供广泛的加密功能,使其成为需要在其 Python 应用程序中实现安全通信、数据保护和加密操作的开发人员的多功能选择。
弱点类别的初始覆盖范围包括以下内容:
·Key Management: Empty Encryption Key
·Key Management: Empty PBE Password
·Key Management: Hardcoded Encryption Key
·Key Management: Hardcoded HMAC Key
·Key Management: Hardcoded PBE Password
·Key Management: Unencrypted Private Key
·Password Management: Hardcoded Password
·Password Management: Lack of Key Derivation Function
·Password Management: Password in Comment
·Weak Cryptographic Hash
·Weak Cryptographic Hash: Hardcoded PBE Salt
·Weak Cryptographic Hash: Insecure PBE Iteration Count
·Weak Cryptographic Hash: Predictable Salt
·Weak Cryptographic Signature: Insufficient Key Size
·Weak Encryption
·Weak Encryption: Insecure Initialization Vector
·Weak Encryption: Insecure Mode of Operation
·Weak Encryption: Insufficient Key Size
·Weak Encryption: Stream Cipher
·Weak Encryption: User-Controlled Key Size
检测源自机器学习 (ML) 和人工智能 (AI) 模型的风险
随着生成式人工智能和大型语言模型 (LLM) 的使用迅速改变了软件行业的解决方案空间,新的风险也随之而来。最初的 Fortify 支持涵盖使用 OpenAI API、Amazon Web Services (AWS) SageMaker 或 LangChain 的 Python 项目。支持可检测因隐式信任来自 AI/ML 模型 API 的响应而导致的弱点,以及以下独特功能:
对 Python OpenAI API 的初始支持(支持的版本:1.3.8)
OpenAI Python 库使开发人员能够方便地访问 OpenAI REST API,以与 GPT-4 和 DALL-E 等 OpenAI 模型进行交互。OpenAI API 使应用程序能够向 OpenAI 模型发送提示并接收生成的响应以及微调现有模型。OpenAI Python 模块支持发送和接收由httpx提供支持的异步和同步请求的能力。支持包括识别模型的潜在危险输出以及以下新类别:
·跨站点脚本:AI
对 Python AWS SageMaker (Boto3) 的初始支持(支持的版本:1.33.9)
AWS SageMaker 是 Amazon AWS 大型服务旗下的一项产品。AWS SageMaker 提供了广泛的工具来支持各种 ML 项目,从训练自定义模型到设置完整的 MLOps 支持的开发管道。Amazon 的 Python 开发工具包 (Boto3) 允许与各种 AWS 产品(包括 AWS SageMaker)进行通信。支持包括识别模型的潜在危险输出以及以下新类别:
·跨站点脚本:AI
对 Python LangChain 的初始支持(支持的版本:0.0.338)[1]
LangChain是一个流行的开源编排框架,用于使用大型语言模型(LLM)开发应用程序。LangChain提供的工具和API可以更轻松地创建LLM驱动的应用程序,例如聊天机器人和虚拟代理。它们可作为基于 Python 和 JavaScript 的库使用。支持包括识别模型的潜在危险输出、检测路径操作以及以下新类别:
·跨站点脚本:AI
.NET 8 支持(支持的版本:8.0.0).NET 8 Support (version supported:8.0.0)
作为 .NET 7 的继任者,.NET 8 是一个跨平台、免费和开源的开发框架,使程序员能够使用一组标准化的 API 以不同的语言(如 C# 和 VB)编写应用程序。此版本将我们的覆盖范围扩大到最新版本的 .NET,以改进对新 API 和现有 API 的弱点的检测。
扩展的覆盖范围涵盖以下命名空间:
·Collections.Frozen
·Net.Http.Json
·System
·Security
·Text
·Text.Unicode
·Net.Http
Java 简化加密 (Jasypt)(支持的版本:1.9.3)
Java 简化加密 (Jasypt) 是一个小型 Java 库,用于执行基于密码的加密以及创建用于存储的密码摘要。它与流行的 Java 框架(如 Spring、Wicket 和 Hibernate)集成。
弱点类别的初始覆盖范围包括以下内容:
·Insecure Randomness
·Key Management: Empty PBE Password
·Key Management: Hardcoded PBE Password
·Key Management: Null PBE Password
·Password Management: Lack of Key Derivation Function
·Privacy Violation: Heap Inspection
·Setting Manipulation
·Weak Cryptographic Hash
·Weak Cryptographic Hash: Empty PBE Salt
·Weak Cryptographic Hash: Hardcoded PBE Salt
·Weak Cryptographic Hash: Insecure PBE Iteration Count
·Weak Cryptographic Hash: User-Controlled PBE Salt
·Weak Encryption
·Weak Encryption: Insecure Mode of Operation
ECMAScript 2023
ECMAScript 2023,也称为 ES2023 或 ES14,是 JavaScript 语言的 ECMAScript 标准的最新版本。ES2023 的主要功能包括新的数组函数,允许通过复制和从末尾搜索来更改它们。对 ES2023 的支持将所有相关 JavaScript 弱点类别的覆盖范围扩展到最新版本的 ECMAScript 标准。
原型污染
原型污染是 JavaScript 应用程序中的一个漏洞,它使恶意用户能够绕过或影响业务逻辑,并可能运行自己的代码。
此 Rulepack 更新可检测攻击者是否可以在以下 NPM 包中污染对象的原型:
·assign-deep
·deap
·deep-extend
·defaults-deep
·dot-prop
·hoek
·lodash
·merge
·merge-deep
·merge-objects
·merge-options
·merge-recursive
·mixin-deep
·object-path
·pathval
Kubernetes 配置
Kubernetes 是一种开源容器管理解决方案,用于自动部署、扩展和管理容器化应用程序。它提供了以容器为中心的基础架构抽象,消除了对底层基础架构的依赖,实现了可移植部署,并简化了复杂分布式系统的管理。改进的弱点类别覆盖范围包括:
·Kubernetes 配置错误:API 服务器网络访问控制不当
·Kubernetes 配置错误:CronJob 访问控制不当
·Kubernetes 配置错误:DaemonSet 访问控制不当
·Kubernetes 配置错误:部署访问控制不当
·Kubernetes 配置错误:作业访问控制不当
·Kubernetes 配置错误:Pod 访问控制不当
·Kubernetes 配置错误:RBAC 访问控制不当
·Kubernetes 配置错误:不正确的 ReplicaSet 访问控制
·Kubernetes 配置错误:不正确的复制控制器访问控制
·Kubernetes 配置错误:有状态副本集访问控制不当
·Kubernetes 配置错误:不安全的机密传输
·Kubernetes 配置错误:Kubelet 日志记录不足
·Kubernetes 配置错误:调度程序系统信息泄露
·Kubernetes 配置错误:不受控制的 Kubelet 资源消耗
·Kubernetes Terraform 配置错误:守护进程设置访问控制不当
·Kubernetes Terraform 配置错误:部署访问控制不当
·Kubernetes Terraform 配置错误:作业访问控制不当
·Kubernetes Terraform 配置错误:Pod 访问控制不当
·Kubernetes Terraform 配置错误:Pod 网络访问控制不当
·Kubernetes Terraform 配置错误:RBAC 访问控制不当
·Kubernetes Terraform 配置错误:不正确的复制控制器访问控制
·Kubernetes Terraform 配置错误:不正确的有状态集访问控制
·Kubernetes Terraform 配置错误:不安全的秘密传输
DISASTIG 5.3
为了在合规性领域支持我们的联邦客户,我们添加了 Fortify 分类法与美国国防信息系统局 (DISA) 应用程序安全和开发 STIG 版本 5.3 的关联。
OWASP Mobile 2023 年 10 大风险
2023 年开放全球应用安全项目 (OWASP) 移动十大风险旨在提高人们对移动安全风险的认识,并教育参与移动应用开发和维护的人员。为了支持希望降低 Web 应用程序风险的客户,我们添加了 Fortify 分类法与 OWASP Mobile Top 10 2023 初始版本的相关性。
其他勘误表
在此版本中,我们投入了资源,以确保我们可以减少误报问题的数量,重构一致性,并提高客户审核问题的能力。客户还可以看到与以下内容相关的报告问题的更改:
弃用 20.x
之前的 Fortify Static Code Analyzer 版本正如我们的 2023.3 版本公告中所述,这是支持 20.x 之前的静态代码分析器版本的规则包的最后一个版本。对于此版本,20.x 之前的静态代码分析器版本将不会加载规则包。这将需要降级规则包或升级静态代码分析器的版本。对于将来的版本,我们将继续支持 Static Code Analyzer 的最后四个主要版本。
减少误报和其他显著的检测改进
我们一直在努力消除此版本中的误报。客户可以期待进一步消除误报,以及与以下方面相关的其他显著改进:
·NET 配置错误:持久身份验证 – 在使用表单身份验证服务的 ASP.NET 应用程序中删除了误报
·凭据管理:硬编码的 API 凭据 –从与 HTTP 持有者令牌相关的机密扫描中删除误报
·凭据管理:硬编码的 API 凭据– 检测到 Avature API 密钥的新问题
·跨站点请求伪造– 在使用“Express.js”JavaScript 框架的 NodeJS应用程序中检测到的新问题
·跨站点脚本– 在使用“html/template”包的 Go 应用程序中检测到的新问题
·跨站点脚本:反映 –在使用“ListControl”类的 ASP.NET 应用程序中删除了误报
·拒绝服务:格式字符串– 与 OWASP 前 10 个类别的映射不正确
·不安全的传输 –在与处理私有用户数据的控制器方法相关的 ASP.NET 应用程序中删除了误报
·不安全的传输:邮件传输 –从使用“smtplib.SMTP' 类
·密钥管理:硬编码加密密钥 –在使用“RSAKeyGenParameterSpec”类的 Java 应用程序中删除了误报
·链路注入:缺少验证 –在使用“WKNavigationDelegate”协议的 Swift 和 Objective-C 应用程序中删除了误报[2]
·批量分配:不安全的 Binder 配置 –从使用 Jakarta EE API 的 Java 应用程序中删除了误报
·密码管理:配置文件中的密码 –配置文件中删除了误报
·路径操作– 在文件上传的 PHP 应用程序中检测到的新问题
·SQL 注入– 在使用 marsdb 数据库的 NodeJS 应用程序中检测到的新问题
·SQL 注入:MyBatis Mapper – 在 MyBatis Mapper XML 文件中检测到的新问题
·字符串终止错误– 在使用“printf()”及其变体的 C/C++ 应用程序中删除了误报
·系统信息泄漏:不完整的 Servlet 错误处理 –在 Java 应用程序中删除了误报
·弱加密:不安全的初始化向量 –在使用“Pycryptodome”库的 Python 应用程序中删除了误报
·未发布的资源:流– 在使用“java.nio.file”API 的 Java 应用程序中识别的漏报
·Visualforce 应用程序中与用户配置文件信息相关的各种数据流误报
类别名称更改
当弱点类别名称发生更改时,将先前扫描的分析结果与新扫描合并可能会导致添加/删除类别。
为了提高一致性,重命名了以下两个类别:
已删除的类别 | 添加类别 |
Azure ARM 配置错误:DataBricks 存储不安全 | Azure ARM 配置错误:Databricks 存储不安全 |
Azure ARM 配置错误:不安全的 Redis 企业传输 | Azure ARM 配置错误:不安全的 Redis 传输 |
Fortify SecureBase [Fortify WebInspect]
Fortify SecureBase 将对数千个漏洞的检查与指导用户通过 SmartUpdate 立即获得以下更新的策略相结合。
漏洞支持
访问控制:管理界面
此版本包括一项检查,用于在网关执行器端点启用、公开且不安全时检测 Spring Cloud Gateway 的不安全配置。在这种情况下,攻击者可以创建新路由并代表应用程序访问内部或敏感资产。这可能会导致云元数据密钥被盗、内部应用程序泄露或拒绝服务 (DoS) 攻击。
表达式语言注入:Spring
Spring Cloud Gateway 版本 3.1.0、3.0.0 至 3.0.6 以及低于 3.0.0 的版本包含由 CVE-2022-22947 标识的安全漏洞。当网关执行器端点处于启用、公开且不安全状态时,此漏洞允许代码注入攻击。此版本包括一项检查,用于检测使用受影响的 Spring Cloud Gateway 版本的目标服务器上是否存在此漏洞。
不安全的部署:未修补的应用程序
TeamCity On-Premises 服务器版本 2023.05.3 及更早版本容易出现身份验证绕过,这使未经身份验证的攻击者能够在服务器上获得远程代码执行 (RCE)。该漏洞已被CVE-2023-42793识别。此版本包括一项检查,用于在目标服务器上检测此漏洞。
信息发现:未记录的 API
API 端点的未记录或有限文档可能会为攻击者提供未充分测试安全漏洞的攻击面。攻击者可能会执行侦测以发现已弃用、未修补和未维护的终结点,从而访问敏感信息或危险功能。此版本包括一项检查,旨在发现可访问但未在 API 规范文档中定义的受版本控制的 API 端点。
合规报告
DISASTIG 5.3
为了支持我们的联邦客户合规性需求,此版本包含 WebInspect 检查与最新版本的国防信息系统局应用程序安全和开发 (DISA) STIG 版本 5.3 的关联。
政策更新
DISASTIG 5.3
自定义策略以包含与 DISA STIG 5.3 相关的检查,已添加到支持的策略的 WebInspect SecureBase 列表中。
其他勘误表
在此版本中,我们投入了资源来进一步减少误报数量,并提高客户审核问题的能力。客户还可以看到与以下领域相关的报告结果的变化。
不安全的传输:SSLv3/TLS 重新协商流
TLS1.3 不支持重新协商。此版本包括对重新协商流注入检查的改进,以减少误报并提高结果的准确性。
HTML5:跨站点脚本保护
X-XSS-Protection 标头在所有现代浏览器中均已弃用。在此版本中,我们弃用了缺失或错误配置的 X-XSS-Protection 标头检查。
Fortify 高级内容
研究团队在我们的核心安全情报产品之外构建、扩展和维护各种资源。
DISA STIG 5.3 和 OWASP Mobile Top 10 2023为了配合新的相关性,此版本还包含一个新的报告包 OpenTextFortify 软件安全中心支持 DISA STIG 5.3 和 OWASP Mobile Top 10 2023,可从 Fortify 客户支持门户的“高级内容”下下载。
Fortify 分类法:软件安全错误
Fortify 分类站点包含对新添加的类别支持的说明,可在https://vulncat.fortify.com上找到。
[1]LangChain仍然很新。在生产使用之前,必须仔细考虑安全性。
[2]需要 Fortify Source Code Analyzer 23.1 或更高版本