使用JFrog平台的SpringShell (Spring4Shell)补救烹饪书

SpringShell / Spring4Shell CVE-2022-22965补救烹饪书与JFrog平台

spring-web软件包中一个名为“SpringShell”(昵称为“Spring4Shell”)的新的零日漏洞刚刚泄露,并威胁着互联网和社区。JFrog安全研究团队正在调查这一漏洞,并不断更新我们的博客文章,提供有关漏洞的技术细节SpringShell (Spring4Shell)漏洞

在这篇技术博客文章中,我们将解释如何使用JFrog平台来检测、阻止和修复SpringShell漏洞,以保护您的组织。

你需要知道的

正如零日漏洞被发现时经常发生的那样,开发人员社区面临着漫长的晚上和周末时间来追踪它,有许多焦虑的问题。但是JFrog平台的用户最需要知道这两件事:

JFrog产hth华体会最新官方网站品不受影响

我们的所有平台解决方案(包括Artifactory、Xray、Pipelines和Distribution)都不受SpringShell漏洞CVE-2022-22965或Spring Cloud Function CVE-2022-22963的影响。

你可能会问:我们怎么能这么快、这么确定地做出决定呢?出于同样的原因,作为JFrog客户,您可以为自己的软件项目提供支持——因为Artifactory和Xray是我们关键任务软件开发生命周期(SDLC)的核心部分。

你的周末是安全的JFrog

作为JFrog平台的用户,您已经拥有了所需的工具快速补救SpringShell漏洞-或任何其他零日安全问题,您还没有遇到。在Artifactory的目录下使用您积累的包、二进制文件、图像和元数据二进制存储库管理在美国,你已经拥有了拯救周末所需的一切。

“生成一份关于哪些应用存在漏洞的报告是最简单的事情。log4j依赖,解决它,我们就可以出发了。”
- DevOps服务所有者,Bendigo和Adelaide银行

我们将解释如何使用JFrog平台快速保护您的组织。你将学习如何:

  • 找到-使用Artifactory的build-info元数据和Xray的deep-binary扫描发现每一个在SDLC的所有阶段使用包含SpringShell漏洞的包,包括可传递依赖项,在您的整个工件和应用程序目录中使用。
  • 修复-一旦您的jfrog平台解决方案识别出使用易受攻击包的应用程序,开发人员可以更新源代码以使用更安全的更新版本并生成新的构建。
  • 巩固-使用x射线来阻止任何使用易受攻击的包版本的进一步构建,以及任何已经在管道中的易受攻击的构建的生产版本的推广。或者使用Artifactory排除模式以更有限的方式进行阻塞。


查找SpringShell (Spring4Shell)漏洞包的所有使用情况

使用JFrog Artifactory来管理所有的二进制文件和JFrog x光对于这些二进制文件的自动漏洞扫描,您可以快速确定SpringShell漏洞在软件供应链中的位置,并在整个SDLC中实现安全措施。

这取决于您安装了哪一套JFrog平台解决方案,并将其作为SDLC的常规部分使用,您可以使用这些方法快速查明软件供应链中SpringShell漏洞的位置,并在整个SDLC中实现安全措施。

  • 使用Artifactory和x射线(全覆盖的最佳方法)
    • 使用Xray报告跟踪Repos/Builds/Release Bundles/Watches中的所有SpringBoot包
    • 使用x射线违规窗格过滤易受攻击的监控资源2022世界杯阿根廷预选赛赛程
    • 在试图下载易受攻击的SpringBoot包时,使用x光手表发出警报
  • 只使用Artifactory(内部覆盖的好方法)
    • 使用Artifactory搜索功能查找SpringBoot库中的所有存储库和名称空间
    • 使用Artifactory build-info(软件物料清单- SBOM)

用x射线找到Spring4shell使用Artifactory和x射线(全覆盖的最佳方法)

JFrog Xray的深度递归扫描提供了Artifactory中最全面的二进制文件分析,在第三方包或工件中包括可传递依赖项例如Uber Jars或来自DockerHub等公共存储库的基本Docker映像。使用Xray,您可以确保在您的任何或所有回购、构建或发布包中捕捉到像SpringShell这样极易受到攻击的包的每一次使用。

你知道吗?
Xray包含在所有JFrog云订阅中,包括免费帐户。对于在预置或云中进行自我管理的安装,可以这样做 安装x射线的免费试用版 只需5分钟。
试试x光

以下是使用Xray的方法:

使用x射线报告跟踪所有spring-web产品在回购,构建和发布包

假设:
  • 安装带有x射线的Artifactory
  • 工件所需的范围是索引(确保“重新索引”,这样已经存在的二进制文件将被扫描):
    • 存储库—对相关存储库进行索引
    • 构建CI系统与Artifactory集成并上传“Build-info”用于构建。
    • 发布包—发布包用于将二进制文件分发到生产环境。
步骤:

1.去安全性和遵从性>报表

Artifactory与x射线安全和合规报告

2.创建具有希望发现的范围的新报告

Spring4shell x射线报告

3.选择资源后,单击“添加”2022世界杯阿根廷预选赛赛程cve - 2022 - 22965作为标准

Spring4Shell报告- CVE-2022-22965为标准

这些标准将有助于生成各种格式的报告,例如以下示例:

Spring4shell生成的报告

您可以稍后导出为PDF / CSV / JSON格式:

漏洞报告Spring4Shell

使用x射线违规窗格过滤易受攻击的监控资源2022世界杯阿根廷预选赛赛程

假设:
  • 安装带有x射线的Artifactory
  • 监视监视您想要过滤的资源2022世界杯阿根廷预选赛赛程cve - 2022 - 22965触发违规
步骤:

1.转到一个已经存在的手表,点击“过滤器”图标。

更新现有的springshell手表

2.筛选特定的cve - 2022 - 22965的相关设置,例如自定义时间任何构建,任意发行包

针对特定的CVE-2022-22965过滤Spring4Shell手表

用x光表来提醒试图下载易受攻击的spring-web工件

使用x射线政策和手表,当有人试图下载易受攻击的spring-web工件时,您可以发出警报(并阻止)。我们建议在违规时,网络钩子会向您的安全团队的专用通道(如Slack)发出警报

假设:
  • 安装带有x射线的Artifactory
  • 相关的Maven和Gradle存储库被标记为启用了“x射线索引”。
步骤:

1.创建一个x射线策略,以最小的严重程度标准“严重”定义违规行为。

创建SprigShell x射线策略

2.创建一个与上面的策略关联的手表

3.应用于“所有存储库”与一个过滤器只包括弹簧网工件名称(spring web -。* jar).

筛选器只包含spring-web工件名称

4.在新手表上运行带有相关时间框架的“应用于现有内容”,以触发spring-web上的违规。

x光手表触发弹簧网违规

使用Artifactory查找所有Spring4Shell脆弱包的使用方法只使用Artifactory(内部覆盖的好方法)

为您的应用程序制作软件材料清单(SBOM),我们希望您已经做到了通过JFrog CLI发布构建信息元数据或者在你的管道CI/CD自动化.这是最重要的一点最佳DevOps实践由JFrog平台支持,使你的所有构建完全可追踪到它们所有的组件源。

有了这些关于二进制文件的数据,您就可以在所有构建中搜索易受攻击的SpringShell包。使用Artifactory丰富的搜索功能,您还可以将搜索范围缩小到最直接相关的构建,使您能够集中精力并集中在需要紧急关注的内容上。

然而,这种好处是积累起来的仅用于通过CI生成的构建.因此,仅在Artifactory中使用build-info将无法覆盖SpringShell已经打包到其他包/工件(如Uber Jars、基本docker映像等)中的情况。只有Xray可以扫描这些第三方二进制文件,并为您提供完整的覆盖,以及在未来持续监控下载和使用此易受攻击的工件。

使用Artifactory搜索来查找所有“spring-web”工件和所有相关的构建

您可以搜索所有的Artifactory存储库,以发现包、工件和构建被使用的位置。

假设:
  • 安装Artifactory
步骤:

使用Artifactory中的搜索栏查找在Artifactory远程存储库中缓存的spring-web工件,以及它们在本地存储库中的位置。

使用Artifactory中的搜索栏来查找spring-web工件

使用Artifactory build-info(软件物料清单- SBOM)

JFrog artifactory CLI和CI插件可以存储build-info,与Artifactory构建相关联的元数据。当你遵循JFrog最佳实践并在Artifactory实例中存储构建信息时,你可以搜索Artifactory存储库来列出所有使用spring-web库作为依赖项的构建。

假设:
  • 安装Artifactory
  • CI服务器与Artifactory集成并发布build-info
步骤(通过JFrog平台UI):

1.请参考“使用Artifactory搜索查找spring-web库的所有存储库和名称空间

2.对于spring-web工件的每个易受攻击的版本,检查“used by”选项卡。

对于spring-web工件的每个易受攻击的版本,检查“used by”选项卡

步骤(通过Artifactory REST API)

另一种方法是使用在构建中搜索校验和的Artifactory API(每个spring-web工件都有不同的校验和):



修复构建

一旦您知道哪些构件、构建和发布包是易受攻击的,您的开发团队就可以更新他们的源代码并生成新的、经过修补的构建和发布包。

春天发布了Spring框架RCE响应,并在可用时继续更新新信息,包括修复和变通方法。

JFrog安全研究团队也在进行调查,并提供了一个SpringShell的技术说明.随着调查的继续,我们将更新建议的补救和缓解措施。


强化以阻止易受攻击的弹簧网神器的使用

使用x射线策略阻止下载易受攻击的spring-web工件的尝试使用x射线策略阻止尝试下载易受攻击的工件

使用x射线政策和手表,当有人试图下载易受攻击的spring-web工件时,您可以发出警报(并阻止)。

假设:
  • 安装带有x射线的Artifactory
  • 相关的本地和远程Maven和Gradle存储库被标记为启用了“x射线索引”。
步骤:

与“使用x射线手表在试图下载易受攻击的spring-web工件时发出警报”相同,并设置了“阻止下载”标志

x射线块下载“标志设置

在远程存储库上配置Artifactory排除模式在远程存储库上配置Artifactory排除模式

假设:
  • 安装Artifactory
  • 请注意:这被认为是部分覆盖,因为你可以找到这个包的关联,但它不包括当包已经打包到另一个包/工件,如Uber Jars,基本docker镜像等情况。只有Xray可以扫描二进制文件,并为您提供完整的覆盖,包括持续监控,如果某个开发人员将在不久的将来上传或使用此工件
步骤:

配置一个排除规则来选择库的“*jar”文件,以防止它被Maven和Gradle存储库解析。(有关更多信息,请参见这篇博文.)

这将导致开发人员无法访问基本jar以进行依赖项解析,这是防止使用受影响代码的好方法。


适合每个人的东西

正如您所看到的,成千上万的JFrog平台的客户,无论是在云中还是在本地,都有现成的方法找到修复,巩固他们的整个软件供应链在短短几小时内就从SpringShell漏洞中消失了的最佳实践DevSecOps通过丰富的二进制文件管理,SBOMs,以及由Artifactory和Xray支持的SCA正在帮助许多人节省他们的周末和假期。

没有使用JFrog平台?你可能得重新考虑你的周末计划了。

但别急,我们还在这里帮忙!JFrog安全研究团队刚刚发布了一个开源版本scan_spring工具可以用来扫描任何编译代码(不仅仅是在Artifactory中),并验证代码库中是否存在使漏洞可被利用的Spring端点。