【資安通報】
Apache Log4j 爆發重大漏洞
了解 FortiEDR 如何防範 Log4J 漏洞攻擊
漏洞描述
Apache Log4j 中一個嚴重的遠端執行代碼漏洞正在被積極的利用。Log4j 是 Apache 中廣泛被使用,基於 Java 的日誌記錄稽核框架。該漏洞是由於輸入的有效性驗證和檢查嚴謹度不足造成的,它允許任何被記錄下來的使用者輸入導致遠端代碼執行。此漏洞也稱為 Log4shell,並已為其分配了 CVE 編號 (CVE-2021-44228)。本文討論了 FortiEDR 如何有效偵測和防禦 Log4shell 漏洞攻擊。
Log4j
Log4j 是一個幫助程式設計師將日誌語句輸出到各種輸出標的的工具。如果應用程式出現問題,啟用日誌記錄來進行查找問題會很有幫助。使用 log4j,可以在程式運作時啟用日誌記錄,而無需修改應用程式二進位檔。log4j 組件的設計使得日誌語句可以保留在輸出的代碼中,而不會產生過高的性能成本。
同時,日誌輸出量可能非常龐大,以至於很快就會變得無法處理。log4j 的一個明顯特徵是分層記錄器的概念。使用記錄器,可以選擇性地控制日誌語句輸出的細緻度。
CVE-2021-44228
Apache Log4j2 版本 2.14.1 及更低版本在設定、日誌資訊和參數中使用的 Java 命名和目錄介面 (JNDI) 功能部件不能防止攻擊者控制的 LDAP 和其他 JNDI 相關的端點。它存在一個遠端執行代碼漏洞,當啟用資訊查找替換功能,攻擊者控制的日誌資訊或日誌資訊參數可以執行從 LDAP 伺服器載入的任意代碼。
FortiEDR 即時威脅防護
FortiEDR 會阻擋試圖利用此漏洞在環境中控制端點的相關惡意活動。例如,在下面的事件中,FortiEDR 會阻擋通過利用 Log4shell 漏洞輸出的 PowerShell 攻擊負載。
FortiEDR 的可疑應用程式規則成功檢測到並阻擋了 PowerShell 建立網路連接。
威脅獵捕查詢
FortiEDR 威脅獵捕功能能夠收集端點上發生的最重要事件相關的元數據。事件分為五個主要組別:程序、檔案、網路、註冊碼和事件日誌。每個收集器上記錄的事件內容由威脅獵捕設置決定,該設置可以通過 FortiEDR 控制台輕鬆設定以滿足存儲要求,或進行優化以最大限度地提高特定威脅的檢測能力。
為了確保本文中所提到的威脅獵捕查詢能夠檢測到環境中的 log4shell 相關的事件,我們需要收集以下事件內容。這些事件都是通過使用 FortiEDR 內建「Comprehensive」設定檔來記錄的。
事件組 | 事件類型 |
程序 | 程序創建 |
程序 | 載入函式庫 |
檔案 | 檔案讀取 |
網路 | Socket連接 |
下圖中展示了用於通過 FortiEDR 控制台設定威脅獵捕的控制面板來記錄這些事件內容。
以下查詢有助於識別與此漏洞相關的潛在異常事件:
識別包含最常見的 base64 編碼負載中使用的 curl 和 wget 命令的程序創建事件。這些命令與對 Linux 端點的攻擊有關:
識別與存在 Muhstik /Tsunami 後門的已知不良IP的網路連接。(來源:https://gist.github.com/yt0ng/8a87f4328c8c6cde327406ef11e68726):
識別通過觀察漏洞攻擊到的與投遞 xmrig 的已知惡意 IP 的網路連接。(來源:https://gist.github.com/yt0ng/8a87f4328c8c6cde327406ef11e68726):
受影響的產品
Apache Log4j2 版本 2.14.1 及更低版本容易受到遠端執行代碼漏洞的影響,遠端攻擊者可以利用此漏洞完全控制受影響的主機。
緩解措施
Log4j 1.x 緩解措施: Log4j 1.x 不受此漏洞影響。
Log4j 2.x 緩解措施:實施以下任一緩解技術之一。
請注意,只有 log4j-core JAR 檔受此漏洞影響。僅使用 log4j-api JAR 檔而不使用 log4j-core JAR 檔案的應用程式不受此漏洞的影響。
FortiGuard Labs 建議受 CVE-2021-44228 影響的組織更新到最新版本的 2.17.0 或 2.12.3。有關更多最新詳細資訊,請參閱”Apache Log4j安全漏洞“.