回答Log4Shell相關的常見疑問

在12月中,Log4j推出了版本2.17.0作為公開安全漏洞後的回應,強烈建議有關的用戶從速更新系統。

Log4j library安全漏洞歷史

Log4Shell情況總結

在12月初一名研究人員在Twitter公開他的發現,於非常普及的Apache Log4j library內發現遙距執行代碼的安全漏洞(CVE-2021-44228),該library被用於數以百萬計的商用或開源應用程式之中,被評為10分滿分的嚴重評級,又被人稱之為Log4Shell,能夠讓攻擊者取得目標系統的完全控制權。

該漏洞濫用Apache的Java Naming and Directory Interface (JNDI),原本是為程式員一個簡單方法去執行遙距指令和通過外部項目遙距項目,然而Log4Shell攻擊者能加入他們自己的編碼到JBDI的查找指令,令編碼能被目標系統內執行。攻擊者可以利用該安全漏洞進行不同的活動,其中之一是執行XMRig.,是一款惡名昭彰的加密貨幣挖礦程式,另外也可以執行Kinsing惡意程式,利用rootkit去隱藏惡意活動的挖礦工具。

暫時在全球都有發現嘗試利用相關安全漏洞的行為,而且預計在未來數個月情況將會持續,想保護系統應該要:

  • 檢查是否已裝了Log4j
  • 更新至最新版本
  • 監察應用程式的記錄檔

Log4Shell安全漏洞的更詳細資料(技術資料、緩解措施和統計)可以在瀏覽這裡,此外,對於這個安全漏洞存有疑問的用戶,不妨查看以下的FAQ看看有沒有解答到你心中的問題。

Log4Shell常見疑問FAQ

1. 使用1.x版本安全嗎?

Log4j 1.x是不再獲得支援的過時版本,其最新版本1.217早在2016年推出,一般而言軟件缺乏更新或維護都會存在嚴重的安全風險,因為軟件含有不明或沒有補丁的安全漏洞將會弱化現有的保安。

2. 有沒有發現嘗試直接使用Log4j進行類似${attack code}而沒有使用任何jndi字符串?

沒有,暫時沒有發現這類這符串。

3. Log4j對IoT有影響嗎?

這很多大部份取決於製作商,事實上很有可能裝置含有存在漏洞的Log4j版本,例如界面或核心執行應用程式是建基於Java並使用這個模組的情況。

4. 有沒有首次攻擊發生時的IoC資料?

據Kaspersky的觀察首輪攻擊發生在今年12月10日,當然這很取決於透明度和數據來源的數量,也有不少文章認為早在10月初時發生。

5. 如果我只從Log4j移除JNDILookup安全嗎?

根據官方最新的更新的公開資料,你可以在Log4j library關閉JNDLookupfeature,而這種設定能有效降低漏洞被利用的影響,不過官方建議盡可能更新至最新版本。

6. 有沒有方法檢查伺服器是否存在有關安全漏洞?有留下甚麼攻擊的痕跡嗎?

所有嘗試利用JNDI漏洞都會被收錄在${jndi字符串,然而攻擊者能利用多種混淆視聽的技術和字符轉換,此外Github社群內有數分析記錄檔案的掃瞄器能核實系統是否發生嘗試利用漏洞的活動。

7. 在Linux伺服器上有甚麼緩解計劃?

緩解策略視符Log4j library被執行的環境位置,官方建議盡可能更新至最新版本,它能修復現有的漏洞問題,我們也建議:

  • 限制對外連線至不明遙距伺服器
  • 關閉JNDI搜尋功能
  • 部署WAF技術和客製規測去封鎖嘗試利用漏洞
  • 封鎖範圍內連接到外部伺服器IP的連線,Kaspersky提供免費相關IOC

8. 我在IPS上見到很多RMI Port 1099嘗試連線,這類傳輸正常嗎?

這通常取決於使用的基礎設施使用的服務種類,為安全計,我們建議有需要時才開啟這個服務,以減少機構可能被攻擊的位置,而RMI服務有被Log4Shell漏洞利用的個案。

9. 如果我的裝置安裝了Java 8,是否自動意味著我存在Log4j安全漏洞?

要成為安全漏洞,系統需要執行Log4j元件作為執行的部份。

10. Kaspersky有提供免費IDS規則嗎?

沒有,Kaspersky只為使用Threat Intelligence服務的用戶提供。

11. 有發現漏洞存在於IoT裝置嗎?

這取決於製造商在那些IoT裝置上執行的軟件,暫時沒有資料顯示有關漏洞嘗試針對這個生態環境。

12. 有沒有方法檢查漏洞時否存在於第三方library?意指在沒有Java的情況下的項目,但在背後可能有點關連。

我們建議遵照DevSecOps的守則,使用SAST技術掃瞄軟件存儲庫。

13. 當使用Base64方法時,是否仍需要LDAP伺服器?

嘗試使用漏洞時會使用各個種類的服務,例如LDAP、RMI、DNS等等,透過惡意Java去解發安全漏洞,所以攻擊者會在惡意基建方面設定一個listener。

14. 如果Java被關閉時Log4j是否仍然有效?

Java可以在伺服器上關閉,但library仍可能被嵌入或被其他在基礎設施上運行的軟件使用。

15. 如果我安裝了Java在伺服器和終端用戶裝置,是否已存在漏洞?

有關安全漏洞同時影響客端和伺服器端

資料來源:Kaspersky Blog