谷歌公布 Log4j 2 “漏洞”調(diào)查結(jié)果
自 12 月 9 日 Apache Log4j 2 “驚天漏洞”被曝出后,全球眾多科技企業(yè)已受到其影響。12 月 17 日,谷歌方面宣布已對該事件進行了調(diào)查,并于 12 月 21 日將結(jié)果公布在了 Google cloud 官方頁面上。

據(jù) Google cloud 頁面上 12 月 21 日公布的調(diào)查結(jié)果顯示:面向消費者和付費用戶的 Google Workspace 核心服務沒有使用 Log4j2,也沒有受到 CVE-2021-44228 和 CVE-2021-45046 “漏洞”的影響。谷歌方面表示將為此安全咨詢提供工作區(qū)核心服務的詳細狀態(tài)。
谷歌方面表示,Google Cloud 正在積極關(guān)注開源 Apache“Log4j 2”實用程序(CVE-2021-44228 和 CVE-2021-45046)中的安全漏洞。他們已經(jīng)注意到了報告的 Apache“Log4j 1.x”漏洞(CVE-2021-4104),并建議用戶更新到 Log4j2 的最新版本。
12 月 17 日,在 Google cloud 博客頁面上,谷歌開源洞察小組(Open Source Insights Team)解釋了他們觀察到的關(guān)于 Apache Log4J 漏洞的全部情況。他們描述了廣泛存在的漏洞以及修復開源 JVM 生態(tài)系統(tǒng)的當前進展。
隨后,谷歌評估了該漏洞對 Google cloud 產(chǎn)品和服務的潛在影響,并根據(jù)正在進行的調(diào)查結(jié)果,提供開源Apache“Log4j 2”漏洞對 Google cloud 產(chǎn)品和服務的潛在影響做實時更新。谷歌方面表示,這將是一個持續(xù)的活動,后續(xù)也將繼續(xù)通過此頁面和客戶溝通渠道提供更新。
Apache Log4j 漏洞的規(guī)模及產(chǎn)生的影響
據(jù)悉,此前披露的 Log4j 漏洞共涉及 35000 多個 Java 包,占 Maven 中央存儲庫的 8% 以上(存儲庫是最重要的 Java 包存儲庫,它為軟件行業(yè)帶來了廣泛的成果)。專家指出,對于整個生態(tài)系統(tǒng)而言,8% 是一個較大的數(shù)值了,因為 Maven Central advisories 結(jié)果的平均數(shù)值為 2%,中位數(shù)小于 0.1%。當然,上面提到的數(shù)字并未包含所有 Java 包(如直接分發(fā)的二進制文件)。
對此,谷歌 Open Source Insights Team 團隊的專家們指出了阻礙修復過程的兩個重要問題:
一、許多軟件包間接依賴于 log4j。直接依賴項受影響軟件約 7000 個,在此情況下,任何版本都依賴于 CVEs 中描述的受影響版本的 Log4j core 或 Log4j API(間接依賴或傳遞依賴是指自我依賴的依賴關(guān)系)。

所有依賴項的工作人員,在修復是否使用依賴項鏈查看時產(chǎn)生了重大障礙:漏洞陷得越深,修復它的步驟就越多。根據(jù)該團隊的消費者依賴關(guān)系圖,柱狀圖結(jié)果顯示了大量的數(shù)據(jù)。超 80% 的軟件包中,漏洞的深度超過一級。在大多數(shù)情況下,受影響的級別下降了 5 級(有些甚至下降了 9 級)。修復的過程需要先到最深的依賴項,然后再到所有分支。
二、依賴解析算法和需求規(guī)范約定中的生態(tài)系統(tǒng)級選擇。這種做法不同于 npm,npm 通常為依賴需求指定開放范圍(開放范圍提供了選擇滿足依賴性要求的最新發(fā)布版本的機會)。隨后它又推出了新的修復方案,修補程序可用后,用戶將在下一次生成時收到修補版本,可以更快地生成依賴項。
谷歌 Open Source Insights Team 團隊表示,在 Java 生態(tài)系統(tǒng)中,通常的做法是指定“軟”版本要求——若在依賴關(guān)系圖中前面沒有出現(xiàn)同一包的其他版本,則解析算法使用的確切版本。傳播修復通常需要維護人員采取明確的行動,將依賴項需求更新為修補版本。
有了以上這些,谷歌開源洞察團隊(Open Source Insights Team)便建議開源社區(qū)啟用自動依賴項更新并添加安全緩解措施。他們還提供了 500 個受影響包的列表,其中一些包具有極高的可傳遞性。專家們認為,對這些包進行優(yōu)先排序?qū)⒂兄谛迯凸ぷ?,并隨后清除社區(qū)中的更多障礙,并對那些升級了 Log4j 版本的開源維護人員和消費者表達了感謝。

對于究竟需要多長時間才能完全修復所有問題,谷歌 Open Source Insights Team 團隊也給出了自己的判斷:很難知道。如果所有影響 Maven 軟件包的關(guān)鍵建議都是公開披露的,那么這個過程可能需要一段時間。谷歌團隊表示,受漏洞影響的軟件包中只有不到一半(48%)得到修復。但在 Log4j 方面,大約 13% 的問題已得到解決,前景應該是光明的。
事件回顧
12 月 9 日,記錄請求的常用組件 Apache Log4j2 程序被曝出了一個漏洞,該漏洞可能使得運行 Apache Log4J2 版本 2.15 或以下的系統(tǒng)受到損害,并允許攻擊者執(zhí)行任意代碼。
12 月 10 日,NIST 發(fā)布了一個關(guān)鍵的常見漏洞和暴露警報——CVE-2021-4228:配置、日志消息和參數(shù)中使用的 Java 命名目錄接口(JNDI)功能無法防止攻擊者控制的 LDAP 和其他 JNDI 相關(guān)端點,即啟用消息查找替換時,可以控制日志消息或日志消息參數(shù)的攻擊者可以執(zhí)行從遠程服務器加載的任意代碼。
隨后的幾天,又被發(fā)現(xiàn)在 Apache Log4j 2.15.0 版本上存在敏感數(shù)據(jù)泄露的漏洞,可用于從受影響的服務器下載數(shù)據(jù),隨后官方并建議用戶盡快升級到 2.16.0。
12 月 18 日,Apache Log4j 又被曝出 CVE-2021-45105 漏洞 —— Apache Log4j 2.0-alpha1 到 2.16.0 的版本無法防止自引用查找的不受控遞歸(Apache 官方已發(fā)布 2.17.0 版本修復)。

