共用方式為


瞭解如何在適用於端點的 Microsoft Defender 中管理 Log4Shell 弱點

Log4Shell 弱點是遠端程式代碼執行 (在 Apache Log4j 2 記錄連結庫中找到的 RCE) 弱點。 由於 Apache Log4j 2 常供許多軟體應用程式和在線服務使用,因此對全球各地的公司而言,這是一個複雜且高風險的情況。 CVE-2021-44228 CVE-2021-45046 (稱為 “Log4Shell”,) 引進新的攻擊媒介,攻擊者可以利用此攻擊媒介來擷取數據,並在組織中部署勒索軟體。

注意事項

請參閱部落格 指引,以預防、偵測及搜捕Log4j 2弱點的惡意探索,Microsoft資訊安全回應中心 ,以取得有關弱點和產品特定風險降低建議的指引和技術資訊,以保護您的組織。

探索、監視和風險降低功能的概觀

Defender 弱點管理提供下列功能,可協助您識別、監視及減輕組織暴露於 Log4Shell 弱點的風險:

  • 探索:偵測已公開的裝置,包括Microsoft適用於端點的Defender上線裝置,以及已探索但尚未上線的裝置,都是以磁碟上偵測到的易受攻擊軟體和易受攻擊的檔案為基礎。
  • 威脅感知: 用來評估組織暴露程度的合併檢視。 此檢視會顯示您在裝置層級和軟體層級的曝光情形,並提供易受攻擊檔案詳細數據的存取權,例如上次看到檔案、上次執行的時間,以及上次使用開啟的埠執行該檔案的時間。 您可以使用此資訊來排定補救動作的優先順序。 與公開裝置相關的數據最多可能需要 24 小時才會出現在儀錶板上。
  • 風險降低選項: 套用風險降低選項,以協助降低暴露風險。
  • 進階搜捕: 使用進階搜捕來傳回磁碟上所識別易受攻擊log4j檔案的詳細數據。

注意事項

Windows 10 & Windows 11、Windows Server、Linux 和 macOS 支持這些功能。

Linux 上的支援需要 Microsoft適用於端點的 Defender Linux 用戶端版本 101.52.57 (30.121092.15257.0) 或更新版本。

macOS 上的支援需要Microsoft適用於端點的Defender macOS用戶端版本20.121111.15416.0或更新版本。

如需支援版本的詳細資訊,請參閱 支援的操作系統平臺和功能

公開的裝置探索

在 Microsoft Defender 入口網站中,內嵌 Defender 弱點管理功能以及啟用 Log4j 偵測,可協助您探索暴露在 Log4Shell 弱點的裝置。

已上線的裝置會使用現有的內嵌 Defender 弱點管理功能進行評估,以探索易受攻擊的軟體和檔案。

若要在探索到但尚未上線的裝置上進行偵測,必須啟用Log4j偵測。 這會以裝置探索主動探查網路的相同方式起始探查。 探查包含多個上線端點, (Windows 10+ 和 Windows Server 2019+ 裝置) ,且只在子網內探查,以偵測容易受到 CVE-2021-44228 攻擊和遠端公開的裝置。

若要啟用 Log4 偵測:

  1. 移至 [設定裝置>探索探索>設定]

  2. 取 [啟用 Log4j2 偵測 (CVE-2021-44228)

  3. 選取 [儲存]

啟用log4j2偵測的設定螢幕快照。

執行這些探查會觸發標準 Log4j 流程,而不會對所探查的裝置或探查裝置造成任何有害的影響。 探查本身的完成方式是將多個 HTTP 要求傳送至探索到的裝置,以常見的 Web 應用程式埠為目標 (例如 - 80,8000,8080,443,8443) 和 URL。 要求包含具有 JNDI 承載的 HTTP 標頭,可觸發來自探查計算機的 DNS 要求。

例如,User-Agent:${jndi:dns://192.168.1.3:5353/MDEDiscoveryUser-Agent},其中 192.168.1.3 是探查計算機的 IP。

注意事項

啟用 Log4j2 偵測也表示已上線的裝置將使用自我探查來偵測本機弱點。

易受攻擊的軟體和檔案偵測

Defender 弱點管理提供一層偵測,可協助您探索:

  • 易受攻擊的軟體:探索是以已安裝的應用程式 Common Platform 列舉 (CPE) 為基礎,已知容易受到 Log4j 遠端程式代碼執行的影響。

  • 易受攻擊的檔案: 系統會評估記憶體中的檔案和檔案系統中的檔案。 這些檔案可以是具有已知易受攻擊版本的 Log4j 核心 jar 檔案,或包含易受攻擊 jndi 查閱類別或易受攻擊 log4j 核心檔案的 Uber-JAR。 具體而言,它會:

    • 藉由檢查 JAR 檔案並搜尋下列檔案來判斷 JAR 檔案是否包含易受攻擊的 Log4j 檔案:\META-INF\maven\org.apache.logging.log4j\log4j-core\pom.properties - 如果此檔案存在,則會讀取和擷取 Log4j 版本。
    • 搜尋 JAR 檔案內的 JndiLookup.class 檔案,方法是尋找包含字串 “/log4j/core/lookup/JndiLookup.class” 的路徑 - 如果 JndiLookup.class 檔案存在,Defender 弱點管理會判斷此 JAR 是否包含具有 pom.properties 中定義之版本的 Log4j 檔案。
    • 搜尋包含下列任何字串的路徑,以搜尋內嵌在巢狀 JAR 中的任何易受攻擊 Log4j 核心 JAR 檔案:
      • lib/log4j-core-
      • WEB-INF/lib/log4j-core-
      • App-INF/lib/log4j-core-

下表描述支援的平臺和版本的搜尋功能:

功能 檔案類型 Windows 10+、
server2019+
Server 2012R2、
server2016
Server 2008R2 Linux + macOS
在記憶體中搜尋 Log4j-core [1] -
Uber-JARs [1] -
搜尋磁碟上的所有檔案 Log4j-core [1] -
Uber-JARs [1] - -

在 Windows Server 2012 R2 和 2016 上安裝 KB5005292 時, (1) 功能可供使用。

瞭解您的 Log4Shell 曝光和風險降低選項

  1. 在 Microsoft Defender 入口網站中,移至 [弱點管理>弱點]

  2. 選取 CVE-2021-44228

  3. 取 [開啟弱點頁面]

弱點管理儀錶板上弱點頁面的螢幕快照。

Log4Shell 弱點防護功能

使用預設組態防止 Log4j 2.10 - 2.14.1 版上的 JNDI 查閱,即可減輕 log4Shell 弱點。 若要從 威脅感知儀錶板建立此風險降低動作:

  1. 取 [檢視弱點詳細數據]

  2. 取 [風險降低選項]

您可以選擇將風險降低套用至所有公開的裝置,或選取特定的上線裝置。 若要完成程式並在裝置上套用風險降低功能,請選取 [建立風險降低動作]

CVE-2021-44228 風險降低選項的螢幕快照。

風險降低狀態

風險降低狀態指出是否已將停用 JDNI 查閱的因應措施防護功能套用至裝置。 您可以在 [公開的裝置] 索引標籤中檢視每個受影響裝置的風險降低狀態。 這有助於根據裝置的風險降低狀態來排定安全防護和/或修補的優先順序。

[可能的風險降低] 狀態的螢幕快照。

下表列出可能的風險降低狀態:

風險降低狀態 描述
套用的因應措施 Windows:在最新的裝置重新啟動之前觀察到LOG4J_FORMAT_MSG_NO_LOOKUPS環境變數。

Linux + macOS:所有執行中的進程在其環境變數中都有 LOG4J_FORMAT_MSG_NO_LOOKUPS=true。
待重新啟動的因應措施 已設定LOG4J_FORMAT_MSG_NO_LOOKUPS環境變數,但未偵測到下列重新啟動。
未套用 Windows:未觀察到LOG4J_FORMAT_MSG_NO_LOOKUPS環境變數。

Linux + macOS:並非所有執行中的進程在其環境變數中都有 LOG4J_FORMAT_MSG_NO_LOOKUPS=true,且未在裝置上套用風險降低動作。
已部分緩解 Linux + macOS:雖然已在裝置上套用風險降低動作,但並非所有執行中的進程在其環境變數中都有 LOG4J_FORMAT_MSG_NO_LOOKUPS=true。
不適用 具有不在風險降低版本範圍內易受攻擊檔案的裝置。
Unknown 目前無法判斷風險降低狀態。

注意事項

可能需要數小時的時間,裝置的更新防護狀態才會反映出來。

還原針對 Log4Shell 弱點套用的防護功能

在需要還原風險降低的情況下,請遵循下列步驟:

針對 Windows:

  1. 開啟提升權限的命令提示字元視窗。

  2. 執行下列命令:

    [Environment]::SetEnvironmentVariable("LOG4J\_FORMAT\_MSG\_NO\_LOOKUPS", $null,[EnvironmentVariableTarget]::Machine)
    

變更會在裝置重新啟動之後生效。

針對 Linux:

  1. 開啟 /etc/environment 檔案,並刪除行 LOG4J_FORMAT_MSG_NO_LOOKUPS=true

  2. 刪除 /etc/systemd/system.conf.d/log4j_disable_jndi_lookups.conf 檔案

  3. 刪除 /etc/systemd/user.conf.d/log4j_disable_jndi_lookups.conf 檔案

變更會在裝置重新啟動之後生效。

針對macOS:

拿掉 setenv 檔案。從下列資料夾LOG4J_FORMAT_MSG_NO_LOOKUPS.plist:

  • /Library/LaunchDaemons/
  • /Library/LaunchAgents/
  • /Users/[username]/Library/LaunchAgents/ - 適用於所有使用者

變更會在裝置重新啟動之後生效。

Apache Log4j 安全性建議

若要查看與 Apache log4j 相關的作用中安全性建議,請從弱點詳細數據頁面選取 [安全性建議 ] 索引標籤。 在此範例中,如果您選取 [更新 Apache Log4j] ,您會看到另一個具有詳細資訊的飛出視窗:

更新apache log4j安全性建議的螢幕快照。

取 [要求補救 ] 以建立補救要求。

在 Microsoft Defender 入口網站中探索弱點

一旦找到公開的裝置、檔案和軟體,Microsoft Defender 入口網站中會透過下列體驗傳達相關信息:

軟體清查

在軟體清查頁面上,搜尋 CVE-2021-44228 以查看 Log4j 軟體安裝和曝光的詳細數據:

軟體清查頁面上 log4j 弱點的螢幕快照。

弱點

在弱點頁面上,搜尋 CVE-2021-44228 以查看 Log4Shell 弱點的相關信息:

弱點頁面上 log4j 弱點的螢幕快照。

使用進階搜捕

您可以使用下列進階搜捕查詢來識別裝置上已安裝軟體的弱點:

   DeviceTvmSoftwareVulnerabilities
   | where CveId in ("CVE-2021-44228", "CVE-2021-45046")

您可以使用下列進階搜捕查詢來識別裝置上已安裝軟體的弱點,以顯示磁碟的檔案層級結果:

   DeviceTvmSoftwareEvidenceBeta
   | mv-expand DiskPaths
   | where DiskPaths contains "log4j"
   | project DeviceId, SoftwareName, SoftwareVendor, SoftwareVersion, DiskPaths