[代码审计]Fortify规则库 2022 更新 1
2022-8-22 00:36:34 Author: 利刃信安(查看原文) 阅读量:180 收藏

Fortify 软件安全研究团队将前沿研究转化为为 Fortify 产品组合(包括 Fortify 静态代码分析器 (SCA)Fortify WebInspect 和 Fortify Application Defender)提供支持的安全情报。如今,CyberRes Fortify Software Security Content 支持 29 种语言的 1,166 个漏洞类别,并跨越超过一百万个单独的 API

Fortify Software Security Research (SSR) 很高兴地宣布 Fortify 安全编码规则包(英语,版本 2022.1.0)、Fortify WebInspect SecureBase(可通过 SmartUpdate 获得)和 Fortify 高级内容的更新立即可用。

CyberRes Fortify 安全编码规则包 [SCA]

在此版本中,Fortify 安全编码规则包可检测 29 种编程语言中的 946 个独特类别的漏洞,并跨越超过一百万个单独的 API。总之,此版本包括以下内容:

Log4j 更新(支持的版本:2.17

Log4j 是一种流行的 Java 日志框架,由于在框架中发现了一些高调的漏洞,近几个月来它受到了审查。此版本包括改进的支持,可准确识别源代码的哪些部分易受 Log4Shell 漏洞的影响,并将它们标记在动态代码评估:JNDI 参考注入类别下。

此外,升级后的 Log4j 支持涵盖以下命名空间的最新版本 Log4j

  • apache.logging.log4j

支持还提高了以下弱点类别的覆盖范围:

  • Code Correctness: Stack Exhaustion

  • Dynamic Code Evaluation: JNDI Reference Injection

  • Log Forging

  • Log Forging (debug)

  • Privacy Violation

  • System Information Leak

Azure FunctionsPython,支持的版本:3.10.x

Azure Functions 是一种无服务器云计算解决方案,可以执行代码以响应预定义事件,例如 API 调用、数据库事务,或管理其他 Azure 服务中的消息队列。在此版本中,我们扩展了对 Azure Functions 的支持,以涵盖 Python 中的 HTTP 触发器函数。HTTP 触发器有助于通过 HTTP 请求调用函数,并可用于构建无服务器 API 和响应 webhook

支持包括以下类别:

  • Cross-Site Scripting: Persistent 

  • Cross-Site Scripting: Poor Validation 

  • Cross-Site Scripting: Reflected 

  • Header Manipulation 

  • Header Manipulation: Cookies 

  • Privacy Violation 

  • System Information Leak: External 

GraphQL 支持:Python Graphene(支持的版本:3.0.0

此版本包括对 Python Graphene 的初始 GraphQL 服务器支持。GraphQL 是由 Facebook 开发的开源项目,具有强类型查询语言和 API 的服务器端运行时引擎。GraphQL 自 2015 年以来一直是一个开放标准,目前受到超过两打编程语言的支持。Graphene 是用于 Python 应用程序的流行 GraphQL 服务器框架。此版本添加了以下两个类别来检测使用 Graphene 开发的 GraphQL API 中的弱点:

  • GraphQL Bad Practices: Introspection Enabled

  • GraphQL Bad Practices: GraphiQL Enabled

Kotlin 更新(支持的版本:1.5

Kotlin 是一种通用的静态类型语言,具有 Java 互操作性。此版本包括对 Kotlin 1.5 中引入的针对 Java 虚拟机 (JVM) 的标准库 API 的更新支持。

Sequelize(支持的版本:6.17

Sequelize 是一个基于 Promise 的对象关系映射 (ORM) 工具,旨在简化在 Node.js 应用程序中使用许多流行的 SQL 方言。支持包括以下类别:

  • Access Control: Database

  • Password Management: Empty Password

  • Password Management: Hardcoded Password

  • Password Management: Null Password

  • SQL Injection

HTML 中不安全的引用文件

所有对网页中第三方站点的引用都应通过安全连接进行,因此此版本包括对 HTML 文件中以下新类别的支持:

  • Dynamic Code Evaluation: Insecure Transport

  • Insecure Transport: External Link

共享密码数据库检测

密码数据库是用于安全存储密码的文件或文件集。密码数据库通常使用主密码或主密钥进行加密。但是,它们不应用于在整个开发生命周期中保持应用程序中的密码使用。在此版本中,我们报告了以下数据库的存在:密码管理:共享密码数据库。支持的密码数据库包括:

  • KeePass

  • 1Password

  • Password Safe

  • MacOS Keychain

  • Gnome Keyring

  • KDE KWallet

云基础架构即代码

此版本包括对云基础架构即代码 (IaC) 的扩展支持。基础设施即代码是通过代码而不是手动过程来管理和供应计算机资源的过程。支持的技术包括 AWSAWS CloudFormationAzure ARMKubernetes K8S 和 Azure Kubernetes Service。现在向开发人员报告与上述服务配置相关的常见问题。 

支持的其他类别包括: 

  • Ansible Bad Practices: CloudWatch Log Group Retention Unspecified

  • Ansible Bad Practices: Unrestricted AWS Lambda Principal

  • Ansible Bad Practices: User-Bound AWS IAM Policy

  • Ansible Misconfiguration: Azure Monitor Missing Administrative Events

  • Insecure Storage: Missing EC2 AMI Encryption

  • Insecure Storage: Missing EFS Encryption

  • Insecure Storage: Missing Kinesis Stream Encryption

  • Insecure Transport: Azure App Service

  • Insecure Transport: Azure Storage

  • Kubernetes Bad Practices: Automated iptables Management Disabled

  • Kubernetes Bad Practices: Kernel Defaults Overridden

  • Kubernetes Bad Practices: Kubelet Streaming Connection Timeout Disabled

  • Kubernetes Bad Practices: Missing NodeRestriction Admission Controller

  • Kubernetes Bad Practices: Missing PodSecurityPolicy Admission Controller

  • Kubernetes Bad Practices: Missing Security Context

  • Kubernetes Bad Practices: Missing SecurityContextDeny Admission Controller

  • Kubernetes Bad Practices: Missing ServiceAccount Admission Controller

  • Kubernetes Bad Practices: Service Account Token Automounted

  • Kubernetes Bad Practices: Shared Service Account Credentials

  • Kubernetes Misconfiguration: Insecure etcd Client Transport

  • Kubernetes Misconfiguration: Insecure etcd Peer Transport

  • Kubernetes Misconfiguration: Missing Kubelet Certificate Authentication

  • Kubernetes Misconfiguration: Missing Service Account Token Authentication

  • Kubernetes Misconfiguration: Weak SSL Certificate for Kubelet

外部加密密钥和包

加密密钥可以存储在与源代码分开的文件中,但保留在版本控制系统中。此外,加密密钥可以存储在加密包中,这是一个存储加密对象(例如证书和加密密钥)的文件。在此版本中,我们报告了以下文件的存在: Key Management: Hardcoded Encryption Key。支持的加密包和密钥文件包括:

  • Public-Key Cryptography Standards #12 KeyStore

  • Java KeyStore, Oracle's KeyStore format

  • Ruby On Rails master keys

  • PuTTY Private Key

  • Microsoft BitLocker decryption key

其他勘误表

在此版本中,我们继续投入资源以确保我们可以减少误报问题的数量并提高客户审核问题的能力。客户还可以期望看到与以下相关的已报告问题的变化:

不安全的传输:弱 SSL 协议

安全套接字层 (SSL) 和传输层安全 (TLS) 提供了保护网络数据的机制。在此版本中,我们更新了对不安全传输:弱 SSL 协议的支持。除了标记使用任何版本的 SSL 之外,从这个版本开始,我们还标记使用 TLS 版本 1.0 或 1.1

不安全传输:弱 SSL 密码

密码套件指定与安全套接字层 (SSL) 或传输层安全 (TLS) 一起使用的加密算法。以前由 Fortify WebInspect 报告,不安全传输:弱 SSL 密码结果现在也由 Fortify 静态代码分析器 (SCA) 报告。

弱加密签名

数字签名是一种用于确定数字消息的真实性和完整性的技术。数字签名算法 (DSA) 现已过时,不应再使用。此版本支持在 JavaRuby 和 PHP 中使用 DSA 时标记弱加密签名。

小节点改进

我们改进了对 Node.js 包的支持,包括“net”“http”“https”“os”客户可以在跨站点脚本、服务器端请求伪造系统信息泄漏类别中获得更准确的发现

误报改进:

继续努力消除此版本中的误报。除了其他改进之外,客户还可以期望在以下方面进一步消除误报:

  • 凭证管理:硬编码 API 凭证,在识别 GitHub 访问令牌时

  • 跨站点脚本:Java 应用程序中的内容嗅探

  • 可移植性缺陷:区域设置相关比较的间歇性误报

  • “OGNL 表达式注入:双重评估的间歇性误报

  • 密码管理:硬编码密码,在示例域中设置时,例如 example.com

  • SQL 注入:iBatis 数据映射

CyberRes Fortify SecureBase [Fortify WebInspect]

Fortify SecureBase 结合了对数千个漏洞的检查与指导用户通过 SmartUpdate 立即获得以下更新的策略:

漏洞支持

危险文件包含:Local

Grafana 是一个用于监控和可观察性的开源平台。Grafana 的某些版本容易受到 CVE-2021-43798 所标识的目录遍历的影响。此漏洞允许访问本地文件。攻击者可能会获取服务器上文件的内容,这可能导致敏感数据泄露和专有业务逻辑的潜在恢复。此版本包含检测 Grafana 中此漏洞的检查。

政策更新

Aggressive Log4Shell [1]

新的 Aggressive Log4Shell 策略已添加到 SecureBase 支持的策略列表中。与现有策略相比,它可以执行更准确、更积极和果断的扫描,以对使用 Log4j 的 Web 应用程序进行全面的安全评估。这包括易受攻击的 Apache Log4j 库版本中的JNDI 参考 注入

其他勘误表

在此版本中,我们继续投入资源以减少误报问题的数量并提高客户审核问题的能力。客户还可以期望看到与以下相关的已报告问题的变化:

Log4Shell[1]

此版本包括对 Log4Shell 检查的改进,以添加对新的 Aggressive Log4Shell 策略的支持,该策略为易受攻击的 Apache Log4j 库版本中的JNDI 引用注入提供更准确的扫描。

CSRF 更新

此版本包括对 CSRF 检查的改进,以减少假阴性并提高结果的准确性。

CyberRes 强化优质内容

研究团队在我们的核心安全情报产品之外构建、扩展和维护各种资源。

CyberRes Fortify Taxonomy:软件安全错误

Fortify Taxonomy 站点包含对新添加的类别支持的描述,可从https://vulncat.fortify.com获得。寻找具有最新支持更新的旧站点的客户可以从 CyberRes Fortify 支持门户获取。

[1] Log4Shell检查和Aggressive Log4Shell策略需要 WebInspect 21.2.0.117 补丁或更高版本。


文章来源: http://mp.weixin.qq.com/s?__biz=MzU1Mjk3MDY1OA==&mid=2247496858&idx=3&sn=1c6c3f61b8deb23982e36f031554fa4a&chksm=fbfb4457cc8ccd414f5a25845f81425b668f80529fc32cdb510532af4f9a6e7c5afa7c540956#rd
如有侵权请联系:admin#unsafe.sh