一年後的Log4Shell安全漏洞

一年前在Apache Log4j的Log4Shell安全漏洞(CVE-2021-44228)引起過一場轟動,雖然它已經不是新聞的頭條,但在11月時有報導指網絡犯罪份子利用該漏洞,成功在美國聯邦機構的系統內安裝加密貨幣挖礦工具。

甚麼是Apache Log4j library?

由於Java SDK最初不支援記錄,開發者需要編寫自己的解決方案,即使隨後官方的Java Logging API面世,坊間已有不少替代方案,其中一個就是Apache Log4j,一款在2001年開發的普及開源Java library,雖然並非唯一的方案,但肯定是其中一款最流行的方案。

甚麼是Log4Shell安全漏洞?

Log4j library能自動記錄所有系統事件,使用基本的界面存取Java Naming and Directory Interface (JNDI)的資料,在2021年11月被證實,在記錄期間能夠執行事件傳遞給它的JNDI指令,令網絡犯罪份子(理論上)能夠在受害者系統上為所欲為(如果沒有額外的保安考量界入),在現實世界,大部份攻擊者利用Log4Shell安裝非法的挖礦工具和發動加密勒索攻擊,但也有更罕見的用法,包括針對性攻擊、散播Mirai殭屍網絡甚至是RickRolling。

仍然是威脅

Java是其中一種主要的編程語言,被用在很多後端系統,由小企業伺服器至工業用自動化系統和IoT裝置都有,而Log4j library多年來一直被廣泛採用,因此在去年被發現存在安全漏洞時,專家們認為在未來幾年會引發大問題,原因如下:

  • 根據專家古計,全球大約40%網絡受Log4Shell的安全漏洞威脅影響。
  • 除了傳統的電腦和伺服器,Java也用在工業、醫療和其他專門器材,當中不乏使用Log4j library。
  • 用戶如果不知道方案內含Log4j ,便可能因為不察覺存在安全漏洞而忽略更新。
  • 某些曾使用Log4j library的方案可能因為開發者已離場或終止支援他們的程式,令用戶無法更新,想轉換其他軟件也並非易事。
  • Log4j是一款開源library,這意味著程式員能夠複製和修改到他們的項目,這意味著抄襲者也存在著相同的安全漏洞。
  • Log4Shell曾經是零時差安全漏洞,即是網絡犯罪份子在漏洞被公開前已經加以利用。
  • 很多被發現的攻擊是透過VMware Horizon滲透到系統
  • 系統一旦被入侵,程式更新也無法補救,即使不在滲透後立即攻擊,很多系統現時也可能存在後門。

保護自己的基礎設施

所有機構都有機會成為Log4Shell的受害者,主因可能是單純不知道系統和軟件存在相關的安全漏洞,如果你不確定系統、工具、產品或服務有否使用Log4j library的話,進行保安審計是最合理的方法,如此Kaspersky的專家有以下的建議:

  • 如果你製造的軟件含有Log4j功能,應該使用最新的版本。
  • 瀏覽Apache Logging Services的官方指引,冇需要時便依照它的做法。
  • 如果Log4j使用在第三方產品,更新所有存在漏洞的軟件。
  • 使用有效的保安方案去偵測漏洞被利用的情況
  • 使用EDR級別的方案或外判服務監察可疑活動

資料來源:Kaspersky Blog