QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

  • 2023-01-18
    北京
  • 本文字数:2148 字

    阅读完需:约 7 分钟

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

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

 

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

 

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

严重程度?我打 10 分!


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

 

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

 

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

没那么简单

 

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

 

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

 

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

 

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

72%的组织仍易受到攻击

 

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

 

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

 

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

依赖项、依赖项,还是依赖项


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

 

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

 

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

 

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

如同一场流行病


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

 

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

 

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

 

参考链接:

https://thenewstack.io/one-year-of-log4j

2023-01-18 16:2911238
用户头像
李冬梅 加V:busulishang4668

发布了 1046 篇内容, 共 659.2 次阅读, 收获喜欢 1209 次。

关注

评论

发布
暂无评论
发现更多内容

青软集团蝉联华为云「千万俱乐部奖」「最佳销售黑钻奖」两大奖项

神奇视野

Python 教程之输入输出(8)—— print() 中的 Python 结束参数

海拥(haiyong.site)

Python io 8月月更

Mysql和Redis数据如何保持一致

京东科技开发者

数据 数据一致性 MySQL 数据库 数据库· redis 底层原理

第一时间快速了解 Kubernetes 1.25

云原生技术社区

容器 云原生 kubernetes入门 kubenetes Kubernetes, 云原生, eBPF

深入解析Flutter下一代渲染引擎Impeller

字节跳动终端技术

flutter 字节跳动 渲染器 Impeller 渲染方案

App Deploy as Code! SAE & Terraform 实现 IaC 式部署应用

阿里巴巴中间件

阿里云 Serverless Terraform 阿里云云原生

出海季收官,速来 Get 全球化发展实操手册

融云 RongCloud

工业智能化转型升级难?华为云这三招,加速商业变现

华为云开发者联盟

云计算 后端 华为云 工业智能化

注册荣耀开发者,惊喜抽好礼!邀请5位好友赢50元购物卡~

荣耀开发者服务平台

开发者 手机 智慧屏 荣耀 honor

云上开发如何实现持续代码提交

华为云开发者联盟

云计算 后端 代码

阿里三面被面试官狂问Redis,简历上再也不敢写"精通"了

退休的汤姆

面试题 阿里 秋招 redis 底层原理

前端mcok原来可以如此丝滑

Liam

前端 前端开发 Postman Mock 前端工具

【Java秋招面试宝典300题】阿里P8爆肝2个月呕心整理,挑战30天打卡秋招上岸!(基础、Spring、MySQL、JVM、微服务分布式)

退休的汤姆

Java 面经 校招 Java工程师 秋招

字节大佬的「算法界Top1笔记」火爆Github,短时间获上万star

Geek_Yin

编程 程序员 数据结构 算法 #java

参与开源共建,你不可不知的贡献技巧

OpenHarmony开发者

OpenHarmony

Shopee商家数字商品可配置系统设计与实现

Shopee技术团队

前端 Shopee

签约计划第三季获奖名单公布,一起见证百人成团!

InfoQ写作社区官方

热门活动 签约计划第三季

2022秋招,Java岗最全面试攻略,吃透25个技术栈Offer拿到手软

退休的汤姆

面经 社招 Java工程师 秋招 Java八股文

嘎嘎牛逼!对标P7+)互联网Java高级架构师面试标准手册

Geek_Yin

阿里巴巴 程序员人生 P7架构师 #java 程序员面试、

Zebec社区利好频传,Galaxy Project上领取专属Zebec OAT

股市老人

Go Go 简单的很,标准库之 fmt 包的一键入门

梦想橡皮擦

Python 爬虫 8月月更

兆骑科创创新创业服务平台,云路演,人才引进平台

兆骑科创凤阁

"教练,我想打篮球!" —— 给做系统的同学们准备的 AI 学习系列小册

Zilliz

人工智能开源

2000字带您了解什么是 SD-WAN,它是如何工作的?

wljslmz

SD-WAN 网络技术 8月月更

如何实现跨数百个K8s集群的管理

云原生技术社区

istio 服务网格 K8s 多集群管理 Istio流量管理

翻译 | Kubernetes Operator 对数据库的重要性

RadonDB

Kubernetes operator RadonDB 数据库·

开源一夏 | SSO单点登录流程源码学习

六月的雨在InfoQ

redis 开源 SSO 单点登录 8月月更

关于Copy On Write Array List,你会安全使用么

华为云开发者联盟

List 开发

Bytebase 1.3.1 - 2022.8.18

Bytebase

SQL优化 database SQL审批

翻译|是否应该在 Kubernetes 上运行数据库

RadonDB

MySQL Kubernetes RadonDB 数据库·

修完又复活!史诗级Log4j漏洞爆发1年仍“阴魂不散”,下一场暴雷可能已在路上_语言 & 开发_Steven J. Vaughan-Nichols_InfoQ精选文章