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

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的目录下使用您积累的包、二进制文件、图像和元数据二进制存储库管理在美国,你已经拥有了拯救周末所需的一切。
- 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)
使用Artifactory和x射线(全覆盖的最佳方法)
JFrog Xray的深度递归扫描提供了Artifactory中最全面的二进制文件分析,在第三方包或工件中包括可传递依赖项例如Uber Jars或来自DockerHub等公共存储库的基本Docker映像。使用Xray,您可以确保在您的任何或所有回购、构建或发布包中捕捉到像SpringShell这样极易受到攻击的包的每一次使用。
以下是使用Xray的方法:
使用x射线报告跟踪所有spring-web产品在回购,构建和发布包
假设:
- 安装带有x射线的Artifactory
- 工件所需的范围是索引(确保“重新索引”,这样已经存在的二进制文件将被扫描):
- 存储库—对相关存储库进行索引
- 构建CI系统与Artifactory集成并上传“Build-info”用于构建。
- 发布包—发布包用于将二进制文件分发到生产环境。
步骤:
1.去安全性和遵从性>报表

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

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

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

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

使用x射线违规窗格过滤易受攻击的监控资源2022世界杯阿根廷预选赛赛程
假设:
- 安装带有x射线的Artifactory
- 监视监视您想要过滤的资源2022世界杯阿根廷预选赛赛程cve - 2022 - 22965触发违规
步骤:
1.转到一个已经存在的手表,点击“过滤器”图标。

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

用x光表来提醒试图下载易受攻击的spring-web工件
使用x射线政策和手表,当有人试图下载易受攻击的spring-web工件时,您可以发出警报(并阻止)。我们建议在违规时,网络钩子会向您的安全团队的专用通道(如Slack)发出警报
假设:
- 安装带有x射线的Artifactory
- 相关的Maven和Gradle存储库被标记为启用了“x射线索引”。
步骤:
1.创建一个x射线策略,以最小的严重程度标准“严重”定义违规行为。

2.创建一个与上面的策略关联的手表
3.应用于“所有存储库”与一个过滤器只包括弹簧网工件名称(spring web -。* jar).

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

只使用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 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”选项卡。

步骤(通过Artifactory REST API):
另一种方法是使用在构建中搜索校验和的Artifactory API(每个spring-web工件都有不同的校验和):
修复构建
一旦您知道哪些构件、构建和发布包是易受攻击的,您的开发团队就可以更新他们的源代码并生成新的、经过修补的构建和发布包。
春天发布了Spring框架RCE响应,并在可用时继续更新新信息,包括修复和变通方法。
JFrog安全研究团队也在进行调查,并提供了一个SpringShell的技术说明.随着调查的继续,我们将更新建议的补救和缓解措施。
强化以阻止易受攻击的弹簧网神器的使用
使用x射线策略阻止尝试下载易受攻击的工件
使用x射线政策和手表,当有人试图下载易受攻击的spring-web工件时,您可以发出警报(并阻止)。
假设:
- 安装带有x射线的Artifactory
- 相关的本地和远程Maven和Gradle存储库被标记为启用了“x射线索引”。
步骤:
与“使用x射线手表在试图下载易受攻击的spring-web工件时发出警报”相同,并设置了“阻止下载”标志

在远程存储库上配置Artifactory排除模式
假设:
- 安装Artifactory
- 请注意:这被认为是部分覆盖,因为你可以找到这个包的关联,但它不包括当包已经打包到另一个包/工件,如Uber Jars,基本docker镜像等情况。只有Xray可以扫描二进制文件,并为您提供完整的覆盖,包括持续监控,如果某个开发人员将在不久的将来上传或使用此工件.
步骤:
配置一个排除规则来选择库的“*jar”文件,以防止它被Maven和Gradle存储库解析。(有关更多信息,请参见这篇博文.)
这将导致开发人员无法访问基本jar以进行依赖项解析,这是防止使用受影响代码的好方法。
适合每个人的东西
正如您所看到的,成千上万的JFrog平台的客户,无论是在云中还是在本地,都有现成的方法找到,修复,巩固他们的整个软件供应链在短短几小时内就从SpringShell漏洞中消失了的最佳实践DevSecOps通过丰富的二进制文件管理,SBOMs,以及由Artifactory和Xray支持的SCA正在帮助许多人节省他们的周末和假期。
没有使用JFrog平台?你可能得重新考虑你的周末计划了。
但别急,我们还在这里帮忙!JFrog安全研究团队刚刚发布了一个开源版本scan_spring工具可以用来扫描任何编译代码(不仅仅是在Artifactory中),并验证代码库中是否存在使漏洞可被利用的Spring端点。

