Log4j 漏洞已被曝一年,曾支配 Java 界熬夜加班,如今仍四处潜伏......

整理 | 郑丽媛

出品 | CSDN(ID:CSDNnews)翻翻去年此时的朋友圈,相信不少 Java 程序员又能回想起,去年被 Log4j 漏洞支配的一周:有边吃饭边修 Bug 的、有夜里熬夜打补丁的、还有周末一通电话就被抓去加班的-

当时,知名网络安全解决方案提供商 Check Point 曾预测,由于 Log4j 应用范围甚广,该漏洞很可能在未来几年内也将一直存在--如今看来,是一语成谶了。

据外媒 Wired 报道,在 Log4j 漏洞爆发一年之后,如今从 Apache 资源库 Maven Central 和其他资源库服务器下载的 Log4j 组件中,仍有超过四分之一是不安全的 Log4j 版本。

一年前的"史诗级"、"核弹级"高危漏洞

每年,安全研究人员都能发现许多亟待解决的关键漏洞,而 Log4j 漏洞能被称作"史诗级"漏洞,证明它并不寻常。

作为一款全球知名的开源 Java 日志框架,Log4j 被大量主流开源框架采用,包括但不限于 Apache Struts2、Apache Solr、Apache Druid、Apache Flink 等,几乎应用于整个互联网行业的"半壁江山"--当然,这都是在 Log4j 漏洞爆发后,人们才知道的。

受漏洞影响的主要是 Log4j 2.14.1 及以下版本,即当用户使用这些版本来处理日志时,漏洞会对用户输入的内容进行特殊处理,攻击者可在 Log4j 中构造特殊请求来触发远程代码执行,包括安装恶意软件或发起其他数字攻击。

漏洞爆发后,服务器业务(Steam、iCloud、Minecraft 等)被严重影响,《我的世界》一度有数十万用户被入侵,阿里云、斗象科技、绿盟科技、默安科技、奇安信等众多安全厂商迅速发布危害通报,Check Point 更是统计得出,近漏洞爆发的前 4 天,全球就有近一半企业因此受到了黑客的试图攻击。

诚如前 Log4j 开发者、现 Apache 软件基金会副总裁 Christian Grobmeier 当时所说:"苹果被波及、Twitter 也受到了影响,然后我才意识到居然有这么多人在使用它:基本上是半个世界,甚至更多,这太疯狂了。"

在漏洞被发现之前,没有人料想到,这么一个基于 Java 的日志框架,影响范围竟如此之广--由于触发简单、攻击难度低、影响人群广泛,Log4j 漏洞也被业内称为"史诗级"、"核弹级"高危漏洞。

一年过后,Log4j 漏洞依然潜伏在各个地方

值得庆幸的是,因为这个漏洞的严重程度,也引起了多方关注:Apache 方面迅速发布了 Log4j 漏洞补丁,程序员群体也火速展开了一场修复计算机系统的全球"竞赛"--在大多消费者没有受到影响的背后,是他们在背后夜以继日地紧急修复,与攻击者拼速度。

Apache 软件基金会主席 David Nalley 赞叹道:"在短时间内,我们就进行了修复,这真的很棒。"不过 David Nalley 指出,这个夸赞可能仅限于漏洞爆发的初期,并不适用于一年后的如今:"我很想说我们完美地处理了它,但现实并非如此。"

距离 Log4j 漏洞爆发,已经过去了一年,而它依然潜伏在各个地方,有的是一直存在还未修复,有的是新下载的 Log4j 仍是有漏洞的版本。

一直未修复

程序员在修复漏洞时,自然会优先处理影响最大、最为严重的部分。相比之下,那些不那么严重的就先暂且搁置,总想着等日后有时间了再慢慢迭代。但现实情况是,对于大多数程序员来说,这个"有时间了"的情况并不容易等到。

再者,很多情况下进行漏洞修复,公司也需要付出不少成本,因此在情况可控且无伤大雅的情况下,这一部分的漏洞修复工作也是能拖则拖。

除此之外,开源软件供应链也是一个重要原因。David Nalley 表示:"通过下载量,我们知道 Log4j 被广泛部署,但依旧很难完全掌握,因为它是开源的。"很多情况下,一个组织或企业购买或部署软件时,并不清楚其中具体包含了哪些其他组件,所以也很难意识到 Log4j 漏洞的存在及其修复的紧迫性。

仍下载有漏洞的 Log4j 版本

这一情况可能与 Apache 当初发布的多个漏洞补丁有所关联。当时,Apache 针对漏洞紧急发布了 Log4j 2.15,该版本默认禁用了部分容易被黑客利用的 Java 库主要功能,但很快便被攻击者破解,迫使 Apache 又发布了多个迭代版本,给开发者造成了一定混乱。

如开头所说,从 Apache 资源库 Maven Central 和其他资源库服务器下载的 Log4j 组件中,仍有超过四分之一(25%)是不安全的 Log4j 版本。

对于这个数据,软件供应链公司 Sonatype 的联合创始人兼首席技术官 Brian Fox 分析:"当人们选择不安全的开源软件组件时,大多数情况下都已经有一个可用的修复补丁了。我真的很震惊这个数字,唯一的解释只能是人们真的不了解他们的软件里到底有什么。"

"Log4j 漏洞将会是未来十年引发数据泄露事件的一个根本原因"

基于以上的各种原因,现在很可能出现的一种情况是:程序员在积极地构建和维护系统或软件,但不论他们再怎么努力,只要 Log4j 漏洞还在,攻击者便能轻而易举地入侵。

对此,软件供应链安全公司 Chainguard 的首席执行官 Dan Lorenc 预测:"Log4j 漏洞将会是未来十年引发数据泄露事件的一个根本原因--毕竟之前只要用一个 Log4j 组件就会有漏洞。"

同时,研究人员也发出警告:"Log4j 漏洞仍存在于全球很多系统中,而攻击者早晚会成功利用到它。"因此,虽然 Log4j 漏洞的爆发已过去一年,建议开发者可排查在 Java 应用中是否引入了 Log4j 组件,若存在则立即进行安全排查并升级至安全版本。

参考链接:https://www.wired.com/story/log4j-log4shell-one-year-later/

《魔兽世界》国服团队正与新合作方洽谈;爆苹果将允许第三方应用商店替代 App Store;Vite 4.0发布|极客头条?ChatGPT 太猖狂?OpenAI 欲打假并研发"文本水印",网友吐槽:太"鸡肋"!?2022天池大赛-云原生编程挑战赛圆满收官,见证冠军战队的诞生

「点点赞赏,手留余香」

赞赏

  • 号令战旗友
  • 宝宝蓝瘦香菇丶
  • 2人赞过
2
0
0
评论 0 请文明上网,理性发言

相关文章

  • 一、什么是反射 反射(Reflection)是Java的特征之一,C/C++语言中不存在反射,反射的存在使得运行中的Java程序能够获取自身的信息,并且可以操作类或对象的内部属性。那什么是反射呢? 下面是官方的解释:反射使得Java代码能够发现有已加载类的字段、方法和构造函数的信息,并在安全限制内使用反射的字段、方法和
    浩小浩 6 6 0 条评论
  • 关注"脚本之家",与百万开发者在一起 来源丨Java技术指北(ID:javanorth) 位掩码位掩码允许我们在一个数字变量中存储多个值。我们不再把这个变量看作一个整数,而是把它的每一个比特当作一个独立的值。 因为一个比特可以等于0或1,我们也可以把它看成是false或true。我们也可以把一组比特切开,把它们当作一
    战神正宗本尊 7 0 0 条评论
  • 整理|郑丽媛译者|弯月 封图|CSDN下载自视觉中国出品|CSDN(ID:CSDNnews)Java,作为静态面向对象编程语言的代表,想必大家并不陌生。可能许多人会认为1995年5月23日是Java诞生的日子,毕竟这个时间点是Java第一次在SunWorld会议上公开发布的日子。 然而其实在这之前,1994年,Java
    哈尔滨红日o9Uh 8 0 0 条评论
  • 接收程序员的技术早餐 作者|杨晓峰 出处|极客时间《Java技术核心36讲》专栏 从你接触Java开发到现在,你对Java最直观的印象是什么呢?是它宣传的"Compileonce,runanywhere",还是目前看已经有些过于形式主义的语法呢?你对于Java平台到底了解到什么程度?请你先停下来总结思考一下。 今天
    就会吃醋吧 3 2 0 条评论
  • 关键时刻,第一时间送达! 在介绍Java9之前,我们先来看看Java成立到现在的所有版本。 1990年初,最初被命名为Oak; 1995年5月23日,Java语言诞生; 1996年1月,第一个JDK-JDK1.0诞生; 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术; 1996年9月,约
    suoxgk2847 4 2 0 条评论
  • 作者丨BenEvans、ErikCostlow、DustinSchultz、CharlesHumble 译者丨无明 Java已经是一门具有20多年历史的老牌语言,雄霸编程语言排行榜榜首多年的Java目前也面临着越来越大来自新兴语言的挑战和使用者们的批评。InfoQ英文站的编辑们按照技术采用生命周期的理论对Java在2
    西门补犹遗 3 8 0 条评论
  • 出品|OSC开源社区(ID:oschina2013)Meta发布了一篇博客表示,正在将其Android应用的Java代码迁移到Kotlin,并分享了这一过程中的一些经验。该公司认为,Kotlin是一种流行的Android开发语言,与Java相比具有一些关键优势。"因此,在我们努力使我们的开发工作流程更加高效的过程中,将
    wlna43200 7 4 0 条评论
  • 2019年5月,彻底撕破脸的特朗普掀起对华为的战争,谷歌被迫吊销了华为的Android授权。开源软件的版权问题,使我不禁想起软件行业的一宗惊天巨案。 看过《手机基带芯片故事》的朋友,一定记得乔布斯曾强烈表达过对谷歌抄袭苹果的愤怒:"我要用尽苹果400亿美金的存款,发动一场热核战争,来摧毁Android,because
    hyhisme 5 0 0 条评论
  • 作者|杨晓峰 出处|极客时间《Java核心技术36讲》从你接触Java开发到现在,你对Java最直观的印象是什么呢?是它宣传的"Writeonce,runanywhere",还是目前看已经有些过于形式主义的语法呢?你对于Java平台到底了解到什么程度?请你先停下来总结思考一下。 今天我要问你的问题是,谈谈你对Java
    缥缈的风啊 3 2 0 条评论
  • 整理|辛晓亮 出品|CSDN(ID:CSDNnews)根据Meta官网博客消息,Meta正在将其Android应用的Java代码迁移至Kotlin,Meta表示,相比Java,Kotlin有一些关键优势。截至目前,其Android代码库已有超过1000万行Kotlin代码。 Android开发首选语言:Kotlin
    taorsg0220 5 1 0 条评论