全球近一半企業受到影響,Apache Log4j 2 漏洞或將長存

這幾天,Apache Log4j2 絕對是眾多 Java 程序員提到的高頻詞之一:由於 Apache Log4j2 引發的嚴重安全漏洞,令一大批安全人員深夜修 Bug、發補丁。此次漏洞更是因為其觸發簡單、攻擊難度低、影響人群廣泛等特點,被許多媒體形容為“核彈級”漏洞

據彭博社本周一報道,其實早在 11 月 24 日阿裡雲安全團隊便已向 Apache 官方具體報告瞭此次 Apache Log4j2 漏洞,並將之稱作“一個會有重大影響的安全漏洞”。報告中詳細描述瞭黑客將如何利用該漏洞實現遠程代碼執行,從而完成遠程操控計算機的目的。

可即便 Apache Log4j2 項目維護者在收到消息後便立即著手修復漏洞,也還是沒趕上事態的急劇變化。12 月 8 日,阿裡雲又向 Apache 發瞭一封郵件稱該漏洞已被人披露,並有安全研究人員在對此討論:“我們承諾在你們正式發佈(修復)版本之前,會保守這個秘密。請快點。”大約 20 個小時後,Apache Log4j2 團隊發佈瞭漏洞補丁,隨之而來的就是程序員與黑客之間的速度比拼(有研究人員發現,該漏洞自 2013 年 9 月以來就一直存在於 Log4j 中,但之前無人發現)。

在這起事件發生之前,就連 Apache Log4j2 自身團隊可能都沒意識到,這麼一個基於 Java 的日志框架影響范圍竟有那麼廣。據前 Log4j 開發者、現 Apache 軟件基金會的副總裁 Christian Grobmeier 表示,當他第一次得知這一消息時非常震驚:“蘋果參與其中、Twitter 也會受到影響,然後我才意識到居然有這麼多人在使用它:基本上是半個世界,甚至更多,這太瘋狂瞭。”

自 12 月 9 日 Apache Log4j2 漏洞曝光以來,盡管各大企業都為此緊急引入瞭保護機制,但黑客依舊在想法設法繞過限制利用漏洞。為進一步具體瞭解 Apache Log4j2 漏洞對全球的影響,Check Point Research(知名網絡安全解決方案提供商 Check Point 旗下的威脅情報部門,簡稱 CPR)統計瞭一份漏洞爆發 4 天的報告——自 12 月 10 日至 12 月 13 日,Check Point 對此總結道:“這顯然是一場尚未見頂的網絡流行病(Cyber Pandemic)。

一、無法估量的潛在危害

據 CPR 統計,在 Apache Log4j2 漏洞發現早期的 12 月 10 日,黑客嘗試利用該漏洞進行攻擊的次數僅有幾千次,但這一數據在隔天卻增至 4 萬次。而截至 Check Point 發佈該報告,即漏洞爆發 72 小時後,僅 CPR 傳感器捕捉到利用該漏洞嘗試攻擊的行為就已超過 80 萬次:


不僅攻擊次數在持續攀升,基於該漏洞的新變種也在短時間內迅速衍生,截至報告發佈已超過 60 種:


基於這兩個現象,Check Point 認為此次 Apache Log4j2 漏洞具備“網絡流行病”的特征——迅速傳播毀滅性攻擊。Check Point 表示:“它顯然是近年來互聯網上最嚴重的漏洞之一,其潛在危害是無法估量的。”

二、全球近一半企業受到影響

“迅速傳播毀滅性攻擊”的前提是,這個漏洞影響著全球大量組織,像野火般蔓延。這一點,作為一個特別通用的開源日志框架,Apache Log4j2 無疑具備這個特點:Check Point 表示,全球近一半企業因為該漏洞受到瞭黑客的試圖攻擊


在被波及的企業中,系統集成商(SI)/增值代理商(VAR)/經銷商受到的沖擊最大(59.1%),其次是便是教育與科研行業(56.9%),互聯網服務提供商(ISP)/管理服務提供商(MSP)也是這次漏洞的主要“受害者”之一,近 55.1% 的企業受到影響:


值得一提的是,對比其他國傢,中國受 Apache Log4j2 漏洞影響相對較小:即便在漏洞爆發高峰期,也隻有近 34% 的企業受到波及。這或許與漏洞剛被曝出時,國內如阿裡雲、鬥象科技、綠盟科技、默安科技、奇安信等眾多安全廠商第一時間發佈危害通報有關,使許多企業足以趕在黑客利用漏洞高峰期之前便打好補丁。


但 Check Point 指出,由於 Apache Log4j2 應用范圍大、漏洞修復較為復雜,而利用漏洞卻十分簡便,因此除非企業和相關服務立即采取行動並實施保護以防止對其產品的攻擊,否則這個 Apache Log4j2 漏洞很可能在未來幾年內也將一直存在

具體漏洞修復措施參見《Flink等多組件受影響,Apache Log4j曝史詩級漏洞 》文末。不過升級到 Log4j 2.15 也並非完全安全,因為該版本默認禁用瞭部分容易被黑客利用的 Java 庫主要功能,但在某些非默認配置中仍可以被利用,為此 Apache 最新發佈瞭 Log4j 2.16,該版本在默認情況下禁止訪問JNDI(JNDI 是 Log4j 漏洞中可被利用的 API),並完全刪除消息查找功能,進一步阻止漏洞被利用。

除此之外,在臨時修復措施中還可從以下三種方式中任選其一:

(1)JDK 使用 11.0.1、8u191、7u201、6u211 及以上的高版本;
(2)限制受影響應用對外訪問互聯網;
(3)部署使用第三方防火墻產品進行安全防護,並更新 WAF、RASP 規則等。

參考鏈接:

  • https://blog.checkpoint.com/2021/12/13/the-numbers-behind-a-cyber-pandemic-detailed-dive/
  • https://www.bloomberg.com/news/articles/2021-12-13/how-apache-raced-to-fix-a-potentially-disastrous-software-flaw