Log4j 漏洞已被曝一年,曾支配 Java 界熬夜加班,如今仍四處潛伏……

整理 | 鄭麗媛

翻翻去年此時的朋友圈,相信不少 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/

相關文章

微軟全力擁抱 Java !

微軟全力擁抱 Java !

作者 | 蘇宓 雖然一直以來,微軟的不少產品在很多層面都有使用 Java 語言,但近日其官網上的一則「Microsoft is commit...

CNNVD通報Oracle多個安全漏洞

CNNVD通報Oracle多個安全漏洞

近日,CNNVD通報Oracle多個安全漏洞,其中Oracle產品本身漏洞60個,影響到Oracle產品的其他廠商漏洞247個。包括Orac...

載入速度慢?Android Cocos 最佳化實戰

載入速度慢?Android Cocos 最佳化實戰

針對 Cocos 遊戲存在載入速度慢的問題,技術團隊進行了最佳化。不僅僅提升了使用者體驗的提升,而且最佳化了項目結構,還為未來遊戲-原生跨環...

Java 21:有什麼新變化?

Java 21:有什麼新變化?

【CSDN 編者按】這篇文章詳細介紹了Java 21 的新特性和改進。Java 21是新的長期支持(LTS)版本,其中包括了15個Java增...

捲土重來?不,Java 一直是王道!

捲土重來?不,Java 一直是王道!

摘要:幾年前,「Java 已死」的話題在程式設計圈內引起廣泛討論,自此之後有關唱衰 Java 的聲音層出不窮。反觀如今各類程式語言排行榜,J...

破壞 java.lang.String

破壞 java.lang.String

【編者按】本文展示瞭如何利用 Java 的一個 bug 來製造一些奇怪的字串,包括字串相等性的條件、創建損壞字串的方法以及利用該 bug 在...

剖析 Netty 內部網路實現原理

剖析 Netty 內部網路實現原理

作者 | 張彥飛allen 來源 | 開發內功修煉 Netty 是一個在 Java 生態裡應用非常廣泛的的網路程式設計工具包,它在 2004...

再見 Java 7!

再見 Java 7!

整理 | 蘇宓 歷時 11 年,Java 7 生命週期終止,Oracle 正式停止對該版本的擴展支持。 隨著官方支持的停止,Java 7 僅...

遇到無法復現的 Bug 該怎麼辦?

遇到無法復現的 Bug 該怎麼辦?

【CSDN 編者按】這篇文章探討了軟體開發中常見的問題:無法在開發者的機器上覆現使用者報告的 bug。文章強調了開發者應該承擔起責任,努力追...

Java 21 正式發佈!

Java 21 正式發佈!

編譯 | ChatGPT 責編 | 蘇宓 9 月 19 日,以六個月為更新頻次的 Java 正式發佈了最新的長期支持版本——Java 21,...