摘要
您可能會注意到在 Microsoft Defender 進階威脅防護 (MDATP) 入口網站中收集大量封鎖事件。 這些事件是由 [程序代碼完整性] (CI) 引擎產生,並可由其 ExploitGuardNonMicrosoftSignedBlocked ActionType 識別。
事件,如端點事件記錄檔中所示
|
ActionType |
提供者/來源 |
事件識別碼 |
描述 |
|
ExploitGuardNonMicrosoftSignedBlocked |
Security-Mitigations |
12 |
程序代碼完整性防護區塊 |
時間軸中所示的事件
處理程式「\Device\HarddiskVolume3\Windows\System32\WindowsPowerShell\v1.0\powershell.exe」 (PID 8780) 無法載入未Microsoft簽署的二進位 '\Windows\assembly\NativeImages_v4.0.30319_64\Microsoft.M870d558a#\08d37b687669e97c65681029a1026d28\Microsoft.Management.Infrastructure.Native.ni.dll'
其他資訊
CI 引擎可確保僅允許信任的檔案在裝置上執行。 當 CI 啟用並遇到不受信任的檔案時,它會產生封鎖事件。 在 [稽核] 模式中,仍然允許執行檔案,而在 [強制執行] 模式中,檔案會無法執行。
CI 可以透過數種方式啟用,包括部署 Windows Defender 應用程式控制 (WDAC) 原則。 不過,在此情況下,MDATP 會啟用後端的 CI,這會在遇到來自Microsoft的未簽署原生影像 (NI) 檔案時觸發事件。
簽署檔案的目的是要啟用該檔案真實性驗證。 CI 可以根據檔案的簽章,確認檔案未經修改且來自信任的授權單位。 大部分來自Microsoft的檔案都會簽署,但某些檔案因各種原因而無法簽署或未簽署。 例如,從 .NET Framework 程式代碼編譯 (的 NI 二進位) 在發行中納入時通常會簽署。 不過,它們通常會在裝置上重新產生,而且無法簽署。 另外,許多應用程式只會簽署其 CAB 或 MSI 檔案,以在安裝時驗證其真實性。 執行時,他們會建立未簽署的其他檔案。
緩和措施
我們不建議您忽略這些事件,因為它們可以指出正版安全性問題。 例如,惡意攻擊者可能會嘗試以來自Microsoft的偽裝載入未簽署的二進位檔。
不過,當您嘗試透過排除 ExploitGuardNonMicrosoftSignedBlocked ActionType 的事件來分析進階搜尋中的其他事件時,查詢可以篩選出這些事件。
此查詢會顯示與此特定過度偵測相關的所有事件:
DeviceEvents |where ActionType == “ExploitGuardNonMicrosoftSignedBlocked” 和 InitiatingProcessFileName == “powershell.exe” 和 FileName endswith “ni.dll” |Timestamp > 之前 (7d)
如果您想要排除此事件,則必須將查詢反轉。 這會顯示包含 EP) 事件的所有 ExploitGuard (,但下列除外:
DeviceEvents |ActionType 從 「ExploitGuard」 啟動的位置 |where ActionType != “ExploitGuardNonMicrosoftSignedBlocked” 或 (ActionType == “ExploitGuardNonMicrosoftSignedBlocked” and InitiatingProcessFileName != “powershell.exe”powershell.exe ) 或 (ActionType == “ExploitGuardNonMicrosoftSignedBlocked” 和 InitiatingProcessFileName == “powershell.exe” 和 FileName !endswith “ni.dll”) |Timestamp > 之前 (7d)
此外,如果您使用 .NET Framework 4.5 或更新版本,您可以選擇重新產生 NI 檔案來解決許多多餘的事件。 若要這麼做,請刪除 NativeImages 目錄中的所有 NI 檔案,然後執行 ngen 更新 命令來重新產生它們。