在野外捕获Log4j:发现,修复和加强
JFrog如何节省周末和假期

在许多组织中,人们惊奇地发现它被广泛使用Log4Shell开源软件一直隐藏着一个严重的漏洞,就好像斯克罗吉和格林奇联手进行了一次最大的假日抢劫。全球各地的事件响应团队已经忙着修复数千甚至数百万个应用程序。
”对于网络罪犯来说,这是一个提前到来的圣诞节前白宫首席信息官、Fortalice Solutions现任首席执行官特蕾莎·佩顿解释道。攻击者迅速利用此漏洞安装加密货币挖掘恶意软件,窃取安全凭据等。
应对危机意味着失去周末,错过聚会,旅行计划被取消,因为团队试图在许多开发工作中找到针。
然而,Artifactory和Xray的用户得到了很多帮助。如果你是他们中的一员,你可以亲身体验从制作这些产品中获得的长期好处JFrog DevOps平台关键任务软件开发生命周期(SDLC)过程的中心部分。
在Artifactory的目录下使用您积累的包、二进制文件、图像和元数据二进制存储库管理在美国,你已经拥有了快速补救阿帕奇人所需的一切log4j脆弱性- - - - - -或遇到的任何其他零日安全问题.
我们将解释如何使用JFrog平台快速保护您的组织。你将学习如何:
- 找到-使用Artifactory的build-info元数据和Xray的deep-recursive扫描发现每一个在投入生产的整个应用程序目录中使用log4j包,包括可传递依赖项。
- 修复-一旦Xray识别出使用易受攻击的log4j包的应用程序,开发人员就可以更新源代码以使用更安全的更新版本并生成新的构建。
- 巩固—使用x射线阻挡任何使用易受攻击的log4j包的进一步构建,以及已经在您的管道中对log4j易受攻击构建的生产版本的任何推广。
在soms中找到Log4j的所有用法
为您的应用程序生成软件材料清单(SBOM),您已经完成了通过JFrog CLI发布构建信息元数据或者在你的管道CI/CD自动化.这是最重要的一点最佳DevOps实践由JFrog平台支持,使你的所有构建完全可追踪到它们所有的组件源。
“对我们的开发人员来说,一个很大的奖励是构建元数据——当log4j命中时,生成一个关于哪些应用程序有脆弱依赖关系的报告是最简单的事情,并修复它,我们就可以继续了。”
——Jay Bieshaar, Bendigo和Adelaide Bank的DevOps工程师
有了这些关于二进制文件的数据,您就可以在所有构建中搜索易受攻击的log4j包。使用Artifactory丰富的搜索功能,您还可以将搜索范围缩小到最直接相关的构建,使您能够集中精力并集中在需要紧急关注的内容上。
例如,如果您一直遵循不可变的最佳DevOps实践建立促销,那么您可以通过将搜索限制在仅代表您的推广链的最后阶段的Artifactory存储库(例如,您的“发布”回收),以便部署到生产环境中来提高效率——没有必要检查Artifactory中测试失败或因其他原因被阻止的构建。
让我们看看可以用来查找log4j或任何易受攻击包的主要方法:
使用JFrog平台搜索栏
的应用程序搜索在JFrog平台用户界面顶部的工具栏提供了一种简单的方法来发现存储库中使用的任何项的位置。使用Artifactory中的搜索栏查找缓存在Artifactory远程存储库中的log4j包,以及它们在本地存储库和构建中的位置。

使用Artifactory高级搜索,您可以根据需要筛选结果。例如,只有log4j 2.0及更高版本存在此漏洞。类似地,您可能只需要搜索保存生产版本的存储库。
使用Artifactory查询语言
你也可以使用找到的要求人工查询语言(AQL)使用复杂的标准搜索存储库,以生成经过筛选的构建列表。
例如,你可以查询所有使用log4j-core库的构建:
构建。找到({ "$and" : [ {"module.dependency.item.name":{"$match":"log4j-core"}} {"created": {"$gt": "2019-01-01"}}, {"promotion.repo": {"$match":"maven-release"}} ] }).include("name", "repo", "@version")
你可以过滤的范围很广AQL字段标准根据您的需要,例如:
创建-将结果限制为仅在去年或某些日期之间创建的构建。promotion.status-将结果限制在那些已经达到SDLC推广管道的特定阶段的版本(例如“发布”)。promotion.repo-将结果限制为某个存储库中的那些构建(例如,回购持有发布到生产中的构建)。
使用x射线CVE搜索
截至12月10日,Apache Log4j安全问题已在国家漏洞数据库(NVD)中注册为cve - 2021 - 44228.这有助于软件组件分析(SCA)工具比如JFrog x射线将其标记为已识别的漏洞。(注意:更新的CVE,cve - 2021 - 45105也被在2.16.0更新时报告.)
与大多数SCA工具不同,Xray从与Artifactory的深度集成中获得了额外的功能,支持深度递归扫描来发现每一个中易受攻击组件的直接或传递依赖所有您的Artifactory存储库。
一旦Xray更新了其索引,您就可以从“安全性与合规性”搜索栏中根据其参考编号搜索最新的CVE。

这将为您提供在您存储的包、构建、工件和发布包中找到CVE的位置的列表。

修复构建中的Log4j依赖项
一旦您知道哪些应用程序和构建是易受攻击的,您的开发团队就可以更新他们的源代码,以使用被认为是安全的log4j的最新版本(目前是v2.17.0),并生成新的、经过修补的构建和发布包。
然后,您可以将这些更安全的应用程序版本交付到您的各个消费点,例如通过JFrog分布,或直接部署到您的Kubernetes集群通过执掌图表.
如果不能等待开发人员,则优先级解析特性人工虚拟存储库可用于创建临时的缓和构建。此方法在我们的最近的Log4shell技术博客文章.
针对未来的漏洞加强存储库
一旦您修复了所有当前的应用程序,您将希望确保log4j安全问题-以及任何其他可能发现的安全问题-不会出现在任何未来的版本或新生成的应用程序中。
为了准备,您需要确保您想要Xray扫描的存储库(例如,您的“发布”回购)已配置为启用索引在x射线.只有这些索引回购将可用于x射线。
使用x射线政策和规则自动识别所选回购中的包和构建中的阈值严重级别漏洞。设置最小的严重性来高将包括关键的log4j问题,以及最近更新的较小漏洞。您还可以配置自动操作,以便Xray可以通过发送通知、触发webhook或阻止不安全软件包的下载来响应策略违反。

您可以将这些策略与x光手表,并将它们与关键存储库、构建或包相关联。如果有必要,还可以将手表分配给所有索引存储库。在手表上,你可以配置x射线手表过滤器专门限制监视使用Apache log4j。

一旦手表走了,你就可以检查x光检查发现的违规情况,所有使用易受攻击的Apache log4j版本将包括在您正在进行的x光保安报告以防止未来暴露。
你甚至可以用JFrog集成来发送x光提醒到PagerDuty或Xray向Slack报告,让他们立即在事件响应小组面前。
在数小时内补救
随着新闻媒体的不断报道,全球的事件响应团队可能会花费许多天甚至几周的时间来完全缓解他们公司对Apache log4j安全问题的广泛暴露。
但是JFrog平台的8000多名客户,无论是在云中还是在本地,都有现成的方法找到,修复,巩固他们的整个软件供应链在短短几个小时内就摆脱了log4j漏洞。的最佳实践DevSecOps通过丰富的二进制文件管理,SBOMs,以及由Artifactory和Xray支持的SCA帮助许多人节省了他们的周末和假期。
Xray的扫描覆盖了18种不同软件包格式的漏洞。除了Apache log4j所在的Java库之外,Xray还可以监视JavaScript、PHP、Docker、Go、c++等的存储库。
#JFrog平台的用户可以在几个小时内找到、修复和加强他们的整个软件供应链,防止#log4j漏洞。点击Tweet在这个世界上92%的应用程序使用开源代码这不会是最后一次在广泛使用的软件包中发现严重漏洞。log4j安全问题紧随其后松鼠的脆弱性去年也是如此SolarWinds黑客.世界经济论坛(World Economic Forum)目前将供应链攻击列为最严重的攻击之一最大的网络安全挑战.
对于软件开发公司来说,这意味着所有公司——担心这些事件会让人失眠。但他们不必如此。使用JFrog平台的团队领导者可以舒适地躺在他们的床上。
让我们向您展示DevSecOps的愿景,以及个人的x光演示.
什么,你不使用JFrog平台?这很容易免费开始!
