在野外捕捉Log4j:查找、修复和加强
JFrog如何节省周末和假期

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

使用人工高级搜索,您可以根据需要筛选您的结果。例如,只有log4j 2.0及更高版本才有漏洞。类似地,您可能只需要搜索保存生产版本的存储库。
使用人工查询语言
你也可以用找到的要求人工查询语言(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-将结果限制为仅在某个存储库中的那些构建(例如,包含发布到生产环境的版本的repo)。
使用x射线CVE搜索
截至12月10日,Apache Log4j安全问题已在国家漏洞数据库(NVD)中注册为cve - 2021 - 44228.这很有帮助。软件组件分析(SCA)工具如JFrog Xray,将其标记为已识别的漏洞。(注意:一个较新的CVE,cve - 2021 - 45105也一直在2.16.0更新中报告.)
与大多数SCA工具不同,Xray通过与Artifactory的深度集成获得了额外的功能,使其能够进行深度递归扫描每一个中脆弱组件的直接依赖或传递依赖所有您的工件存储库。
一旦Xray更新了索引,您就可以通过安全与合规搜索栏中的参考编号搜索最新的CVE。

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

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

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

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