热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

修完又复活!史诗级Log4j漏洞爆发1年仍“阴魂不散”,下一场暴雷可能已在路上

作者|StevenJ.Vaughan-Nichols译者|核子可乐策划|冬梅Log4j漏洞风波暂平,但下一场暴雷可能已经在路上

作者 | Steven J. Vaughan-Nichols

译者 | 核子可乐

策划 | 冬梅

Log4j 漏洞风波暂平,但下一场暴雷可能已经在路上log4j漏洞

过去这一年,Log4j 频频暴雷log4j漏洞。新年伊始,很多朋友可能觉得 Log4j 这事儿已经过去了。不,还没完呢。

2021 年,甚至很多人还根本没听说过 Apache Log4j 这一开源 Java 日志记录库log4j漏洞。但它确实在无数应用程序中发挥着作用,包括各类 Apache 项目(Flink、Flume、Hadoop、Kafka、Solr、Spark 和 Struts 等),再到 Apple iCloud、Elastic LogStash、Twitter 以及众多 VMware 程序。就连《我的世界》游戏里都有它的身影。但是,又能如何?这只是个友善无害的日志记录程序……然后,麻烦就来了。

修完又复活!史诗级Log4j漏洞爆发1年仍“阴魂不散”,下一场暴雷可能已在路上

Apache 基金会于 2021 年 12 月 4 日悄悄发布了针对 Log4j 漏洞的补丁,可几乎没人注意到log4j漏洞。后来,Mojang Studios 为其热门游戏《我的世界》推出了针对零日漏洞 CVE-2021-44228(又名 Log4Shell)的修复补丁,这才让大家意识到问题的严重性。事实证明,这个漏洞不仅易被利用,而且攻击者可以全面控制目标服务器。

严重程度?我打 10 分log4j漏洞

那问题到底有多严重?根据国家漏洞数据库(NVD)的统计,其 CVSSv3 得分为 10.0log4j漏洞。有些朋友可能不清楚,严重度评分是从 0.1 到 10.0,就是说 Log4Shell 得了个最高分。这一零日漏洞的影响甚至引起了白宫方面的关注。总之,出事了,出大事了!

修完又复活!史诗级Log4j漏洞爆发1年仍“阴魂不散”,下一场暴雷可能已在路上

再来看 Check Point 的数据,截至 2021 年 12 月 13 日,也就是漏洞披露后的 72 小时,全球已经出现超 80 万次利用尝试log4j漏洞。安全公司 Nextron Systems 的研究主管 Florian Roth 发布推文称,“#Log4Shell 不仅仅是个 RCE(远程代码执行)零日漏洞,更是一个会在各种软件产品上衍生出成百上千种其他零日漏洞的缺陷。它堪称零日漏洞中的集束炸弹。”

但,不是补丁很快就发布了吗?到 2021 年 12 月 20 日,Log4j 2.17.0 就已经修复了主要和次要问题log4j漏洞。所以,这事应该过去了才对呀。

没那么简单

事实证明,Log4j 在软件代码中无处不在log4j漏洞。更糟糕的是,即使是现在,很多人都无法判断自己的代码中是否还残留着易受攻击的 Log4j 版本。

到 2022 年 1 月,微软警告称民族国家黑客和网络犯罪分子仍在利用 Log4j 漏洞对目标系统植入恶意软件log4j漏洞。与此同时,Check Point 研究人员发现了与伊朗有关的威胁团伙 APT35,其利用 Log4j 漏洞部署基于 PowerShell 的模块化恶意软件。同样的策略至今仍然存在。微软团队还发现另一伙来自中国的黑客,他们试图利用某些 VMware Horizon 版本中的漏洞来安装 Night Sky 勒索软件。

展开全文

当然,“平民”一点的诈骗分子也在利用这个漏洞散播加密挖矿恶意软件log4j漏洞。安全漏洞被用于窃取非法经济所得,听起来多么合乎逻辑。

2022 年 12 月初,网络安全与基础设施安全局(CISA)透露称,黑客仍在使用 Log4Shelllog4j漏洞

72% 的组织仍易受到攻击

根据安全公司 Tenable 的说法,“截至 2022 年 10 月 1 日,72% 的组织仍易受到 Log4Shell 漏洞的攻击log4j漏洞。”为什么会这样?“在全面修复之后,仍有近三分之一(29%)的资产中再次出现了 Log4Shell 漏洞。”

简单来说,原本的代码确实修复了,但之后有人引入了“新代码”,而新代码里又包含旧的 Log4j 版本log4j漏洞。然后,漏洞就又复活了。

Tenable 公司首席安全官 Bob Huber 强调,“对于普及度如此之高的漏洞,其实已经很难完全修复log4j漏洞。更重要的是,漏洞修复绝不是「一劳永逸」的过程。虽然组织可能在某个时刻实现了完全修复,但随着将新资产添加到业务环境当中,Log4Shell 可能会一次又一次反复出现。根除 Log4Shell 是一场持续斗争,要求组织不断评估环境中的缺陷及其他已知漏洞。”

依赖项、依赖项log4j漏洞,还是依赖项

但这真的可能吗?Tenable 并没有深入探讨,可 Endor Labs 的 Station 9 发布了一份“依赖项管理状态”研究报告,也许给出了一点启示log4j漏洞。在很多厂商的开源代码库中,95% 的漏洞并非源自开发者的主动选择,而是被间接引入了项目之内。

Endoir Labs 联合创始人兼 CEO Varun Badhwar 表示,“从部分指标来看,开发者每在软件项目中引入一个依赖项,平均被同时传递进来的其他依赖项多达 77 到 78 个log4j漏洞。”因此,“实际发现的漏洞有 95% 都源自这些传递的依赖项,也就是那些「搭便车」的乘客。我们需要在环境中跟踪所有依赖项,并了解哪些应用程序究竟在使用哪些软件包。”

于是乎,软件物料清单(SBOM)和软件工件供应链级别(SLSA)变得空前重要log4j漏洞。如果没有二者的保障,企业在部署代码前根本无法评判其中包含着什么。

根据 Tenable 的统计,截至 2022 年 10 月 1 日,全球有 28% 的组织已经完全修复了 Log4Shell,较 2022 年 5 月提高了 14%log4j漏洞。但这还远远无法令人安心。

如同一场流行病

Thales 公司首席产品安全官 Bob Burns 表示,Log4j 就如同“一场流行病,将在未来几年内持续保持威胁和传播力log4j漏洞。”这也引发了人们对于开源软件底层安全的担忧。当然,从之前震惊全球的 SolarWinds 事件来看,专有软件也同样谈不上可靠。

关于专有软件安全的问题,安全厂商 ReversingLabs 的软件保险布道师 Charlie Jones 预计,Log4Shell 造成的影响可以与 MS-17-10 相媲美log4j漏洞。MS-17-10 也就是大名鼎鼎的微软“永恒之蓝”SMB 漏洞,曾直接催生出 NotPetya 和 WannaCry 擦除恶意软件。而且,“Log4Shell 造成的挑战比 MS-17-10 还更复杂,因为其往往被深嵌在应用程序的依赖项内,因此难以用标准工具快速加以识别。”

Log4j 带来的真正教训是,哪怕我们努力想要清除和修复,首先也得搞清楚程序里到底有些什么log4j漏洞。在这个影响软件供应链根基的问题被自动化工具攻克之前,预计将有更多由 Log4j 引发的问题出现。我们暂时能做的,唯有祈祷麻烦小一点、影响弱一点。

原文链接:

声明:本文为 InfoQ 翻译,未经许可禁止转载log4j漏洞

点击底部阅读原文访问 InfoQ 官网log4j漏洞,获取更多精彩内容!

今日好文推荐

我用 Rust 改写了自己的C++项目:这两个语言都很折磨人log4j漏洞

科技圈啪啪打脸log4j漏洞!当初的那些美好像极了一个巴掌

马斯克“指示”自动驾驶视频造假;滴滴出行 App 上架安卓市场、新用户可注册;微软否认超万人大裁员|Q 资讯

为降低“遗留技术成本” log4j漏洞,Capital One裁掉了整个敏捷部门,可能涉及1100人


推荐阅读
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • 马蜂窝数据总监分享:从数仓到数据中台,大数据演进技术选型最优解
    大家好,今天分享的议题主要包括几大内容:带大家回顾一下大数据在国内的发展,从传统数仓到当前数据中台的演进过程;我个人认为数 ... [详细]
  • 开发笔记:数据分析工具篇——pyspark应用详解
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了数据分析工具篇——pyspark应用详解相关的知识,希望对你有一定的参考价值。前面 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • 你知道Kafka和Redis的各自优缺点吗?一文带你优化选择,不走弯路 ... [详细]
  • 一:什么是solrSolr是apache下的一个开源项目,使用Java基于lucene开发的全文搜索服务器;Lucene是一个开放源代 ... [详细]
  • 无服务器_云原生数据湖架构中的无服务器 Kafka
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了云原生数据湖架构中的无服务器Kafka相关的知识,希望对你有一定的参考价值。 ... [详细]
  • flink访问hive(上)——在idea中本地运行
    本文中使用的flink版本1.13,hive版本2.3.4使用工具idea2020有个朋友问了我这个问题,他说他试了很多网上的方法都跑不了, ... [详细]
  • Lucene 全文检索技术入门
    一、搜索引擎的历史萌芽:Archie、Gopher起步:Robot(网络机器人)的出现与spider(网络爬虫)发展:excite、galax ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
author-avatar
dendfengg_566
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有