共用方式為


惡意程式碼掃描簡介

適用於儲存體的 Microsoft Defender 中的惡意程式碼掃描,可藉由偵測和降低惡意程式碼威脅來改善 Azure 儲存體帳戶的安全性。 它使用 Microsoft Defender 防毒軟體(MDAV)掃描您的儲存內容,協助確保資料安全與合規性。

適用於儲存體的 Defender 提供兩種類型的惡意程式碼掃描:

  • 上傳時掃描惡意程式碼:當上傳或修改 Blob 時會自動進行掃描,提供快速偵測。 這種類型的掃描適用於涉及頻繁使用者上傳的應用程式,例如 Web 應用程式或共同作業平台。 上傳內容時掃描,有助於降低惡意檔案進入儲存環境並向下傳播的風險。

  • 隨選惡意軟體掃描:讓您在需要時手動掃描現有的 blob。 此掃描類型用於建立儲存資料的安全基準、在事件回應期間回應安全警示、支援合規要求,以及在整個環境中進行主動的安全檢查。

這些掃描模式幫助您保護儲存帳戶、滿足合規需求,並維持資料完整性。

Note

掃描時間會因檔案大小、檔案類型、服務負載及儲存帳號讀取延遲而有所不同。 依賴掃描結果的應用應考慮掃描時間可能的變化。

為何惡意程式碼掃描很重要

上傳到雲端儲存的內容可能會引進惡意軟體並造成安全風險。 惡意軟體掃描有助於防止惡意檔案進入或擴散到你的環境中。

主要優點包括:

  • 偵測惡意內容:識別並減輕惡意代碼。
  • 增強安全性狀態:新增一層以防止惡意代碼傳播。
  • 支持合規性:符合監管要求。
  • 簡化安全性管理:提供可大規模設定的雲端原生低維護解決方案。

主要功能

  • 內建 SaaS 解決方案: 啟用簡單,且無需基礎設施維護。
  • 進階反惡意軟體功能: 使用 MDAV 偵測所有檔案類型的多態性與變形惡意軟體。
  • 全面檢測: 掃描所有文件類型,包括 ZIP 和 RAR 文件等存檔,每個 blob 最多 50 GB。
  • 彈性掃描選項: 提供上傳與隨選掃描兩種功能。
  • 安全警示: 在 Microsoft Defender for Cloud 中產生詳細警報。
  • 自動化支援: 整合邏輯應用程式、函式應用程式及事件網格,建立對掃描結果的自動回應。
  • 合規與稽核: 將掃描結果記錄在日誌中,以滿足審核與合規要求。
  • 私人端點支援: 支援 私有端點,減少公共網路暴露。
  • 自動化惡意軟體修復:透過上傳及按需惡意軟體掃描偵測到的惡意軟體塊,進行軟刪除。

選擇正確的掃描選項

若需要防範惡意上傳,請使用 上傳時掃描惡意軟體 ——這對於網頁應用程式、使用者產生內容、合作夥伴整合或共享內容管道來說是理想的選擇。 如需詳細資訊,請參閱上傳惡意程式碼掃描

當你需要掃描彈性時, 請使用隨選惡意軟體掃描 ——建立安全基準、回應警示、準備稽核,或在歸檔或交換前驗證儲存的資料。 如需詳細資訊,請參閱隨選惡意程式碼掃描

惡意軟體掃描結果

惡意軟體掃描結果可透過四種方法取得。 設定完成後,你會看到掃描結果以 blob 索引標籤 形式顯示每個掃描檔案,並在檔案被識別為惡意檔案時 以 Microsoft Defender for Cloud 安全警示 呈現。 你可以選擇在 Azure 入口網站或 REST API 中停用 blob 索引標籤的使用。 你也可以設定額外的掃描結果方法,例如 事件網格日誌分析,這些都需要額外設定。 接下來的章節將更詳細說明每種掃描結果的方法。

顯示檢視和取用惡意程式碼掃描結果流程的圖表。

Blob 索引標籤

blob 索引標籤在 blob 上提供可搜尋的鍵值屬性。 預設情況下,Defender for Storage 會將惡意軟體掃描結果寫入每個掃描的 blob 上的兩個索引標籤:

  • 掃描結果:No threats foundMaliciousError, 或 Not scanned
  • 掃描時間(UTC)

你可以選擇在 Azure 入口網站或 REST API 中停用 blob 索引標籤的使用。

Blob 索引標籤設計用來提供簡潔的掃描結果,方便快速篩選與自動化場景。 不過,索引標籤並非防篡改。 擁有修改標籤權限的使用者可以修改標籤,因此不應僅作為安全控制。 對於安全敏感的工作流程,建議改用警示、事件網格事件或日誌分析。

顯示 Blob 索引標籤範例的螢幕擷取畫面。

Note

存取索引標籤需要適當的權限。 詳情請參見 取得、設定及更新 blob 索引標籤

適用於雲端的 Defender 安全性警示

當偵測到惡意檔案時,Microsoft Defender for Cloud 會產生 安全警示。 這些警示內容包括檔案細節、偵測到的惡意軟體類型,以及建議的調查與修復步驟。

Defender for Cloud 的安全警示對於調查與自動回應非常有用。 您可以:

深入了解回應安全性警示

事件方格的事件

Event Grid 提供近乎即時的惡意軟體掃描結果,以事件驅動自動化。 此方法為可選且需額外設定,但能最快根據掃描結果觸發自動回應。

事件網格支援多種端點類型來處理事件,包括:

  • 功能應用程式 – 執行無伺服器程式碼以移動、刪除、隔離或處理掃描檔案。

  • Webhooks – 通知外部應用程式或服務。

  • 事件集線器與服務匯流排佇列 – 將結果事件前向掃描至下游消費者或處理管線。

當你需要低延遲、自動化工作流程,能立即回應惡意軟體掃描結果時,Event Grid 是推薦的選擇。 深入了解如何設定事件方格以進行惡意程式碼掃描

Log Analytics

Log Analytics 提供一個集中且可查詢的惡意軟體掃描結果資料庫。 此方法為可選且需額外設定,但非常適合合規、稽核及歷史調查,需詳細記錄掃描結果。

啟用 Log Analytics 後,每個惡意軟體掃描結果都會寫入 StorageMalwareScanningResults 設定的 Log Analytics 工作區中的資料表。 您可以查詢此表格以檢視掃描結果、調查模式或產生合規報告。

建議使用 Log Analytics 來建立稽核追蹤或進行深入分析。 為了低延遲自動化,建議改用 blob 索引標籤或事件網格。 深入了解為惡意程式碼掃描設定記錄

Tip

Defender for Cloud Ninja 培訓中,透過 Defender for Storage 實作實驗室探索端到端的惡意軟體掃描。

自動化惡意軟體修復

惡意軟體掃描支援自動回應,讓您能立即且一致地回應掃描結果。 你可以根據工作流程需求,建立基於 blob 索引標籤、Defender for Cloud 安全警示或事件網格事件的自動化。

常見的反應模式包括:

  • 啟用內建的惡意檔案軟刪除 功能,讓偵測到的惡意軟體能自動移動或刪除,無需自訂工作流程。

  • 使用屬性型存取控制 (ABAC) 封鎖對未掃描或惡意檔案的存取

  • 使用由安全警示觸發的邏輯應用,或由事件網格事件觸發的功能應用,刪除或移動惡意檔案至隔離地點。

  • 使用 Event Grid 搭配 Function Apps 將乾淨檔案轉發到其他儲存地點。

了解更多關於 為惡意軟體掃描設定回應動作的資訊。

透過惡意軟體掃描部署的資源

啟用惡意軟體掃描時,Defender for Storage 會自動部署多項 Azure 資源以執行掃描操作:

  • 事件格網系統主題: 建立在與儲存帳號相同的資源群組中。 此系統主題會監聽 blob 上傳事件,並在上傳時觸發惡意軟體掃描。 移除這個資源會讓惡意軟體掃描無法運作。

  • StorageDataScanner 資源: 在您的訂閱中創建的受管理服務資源,並具有系統指派的受管身份。 此身份會獲得 儲存區資料擁有者 角色,以便讀取區塊資料進行惡意軟體掃描及敏感資料發現。 當公共網路存取受限時,它也會被加入儲存帳戶的網路存取控制清單(ACL)規則中,以允許掃描。

  • DefenderForStorageSecurityOperator 資源(訂閱層啟用): 當訂閱層級啟用惡意軟體掃描時所建立。 此身份負責設定、修復並維護現有及新建立儲存帳號間的惡意軟體掃描設定。 它包含執行這些操作所需的角色分配。

這些資源是惡意軟體掃描運作所必需的。 如果其中任何一個被刪除或修改,惡意軟體掃描可能會失效。

Note

若惡意軟體掃描因缺少資源或權限而失效,請停用並重新啟用此功能,以重建並還原所需元件。

支援的內容和限制

支援的內容

  • 檔案類型: 支援所有檔案類型,包括壓縮壓縮檔如 ZIP 和 RAR 檔案。

  • 檔案大小: 大小可達 50 GB 的 blobs 可以被掃描。

Limitations

  • 不支援的儲存帳號: 舊版 v1 儲存帳號不被支援。

  • 非支援服務: Azure 檔案不被支援。

  • 不支援的 Blob 類型:不支援附加 Blob 和分頁 Blob

  • 不支援的用戶端加密: 用戶端加密的 blob 無法被掃描,因為服務無法解密它們。 支援使用客戶自控金鑰 (CMK) 加密待用 Blob。

  • 不支援的協議: 使用網路檔案系統(NFS)3.0 協定上傳的 blobs 不會被掃描。

  • Blob 索引標籤: 對於啟用階層命名空間的儲存帳號(Azure Data Lake Storage Gen2)不支援索引標籤。

  • 無支援區域: 並非所有地區目前都支援惡意軟體掃描。 最新清單請參見 Defender for Cloud 可用性

  • 事件格子: 未啟用公共網路存取的事件網格主題(例如使用私有端點的主題)不支援掃描結果傳遞。

  • 元資料更新時間: 如果 blob 的元資料在上傳後不久就更新,上傳時的掃描可能會失敗。 為避免這種情況,建議在 中 BlobOpenWriteOptions指定元資料,或延遲元資料更新直到掃描完成。

  • 掃描時間限制: 大型或複雜的膠點可能會超過Defender的掃描超時時間(視水塊大小和結構而定,30分鐘到3小時)。 例如,包含多個巢狀條目的 ZIP 檔案通常掃描時間較長。 若掃描時間超過規定時間,結果將被標記為掃描 逾時

性能與成本考量

Blob 掃描和對 IOPS 的影響

每次惡意軟體掃描會執行額外的讀取操作並更新 blob 索引標籤。 這些操作會產生額外的 I/O,但通常對儲存效能(IOPS)的影響很小。 掃描過程中對掃描資料的存取不受影響,應用程式也能持續讀寫該 blob 而不中斷。

你可以透過關閉掃描結果儲存的 blob 索引標籤來降低 IOPS 影響。

額外費用

惡意軟體掃描可能會因依賴的 Azure 服務而產生額外費用,包括:

  • Azure 儲存體讀取作業
  • Azure 儲存體 Blob 索引 (如果使用索引標籤)
  • Azure 事件方格事件

使用 Microsoft Defender for Storage 價格估算儀表板 來估算端到端成本。

惡意程式碼掃描無效的案例

雖然惡意軟體掃描具備廣泛的偵測能力,但某些資料模式或上傳情境會阻礙服務準確識別惡意軟體。 在啟用儲存帳號惡意軟體掃描前,請考慮以下情況:

  • 分塊資料: 當檔案以片段形式上傳時,偵測可能會失敗。 只有標頭的片段會被標記為損毀,而只有結尾的片段則可能看起來無害。 在分塊前或重組後掃描資料以確保覆蓋範圍。

  • 加密資料: 惡意軟體掃描不支援用戶端加密資料。 服務無法解密此數據,因此這些加密 Blob 內的任何惡意代碼都無法偵測到。 若需要加密,請先掃描資料再加密,或使用支援的靜態加密方法,如客戶管理金鑰(CMK),Azure Storage 負責解密以存取。

  • 備份資料: 備份檔案可能包含先前掃描或惡意內容的片段。 由於掃描器評估的是片段本身,而非原始檔案上下文,備份即使整體備份檔案並非惡意,也可能產生警示。

將這些情境納入威脅模型評估,特別是當不信任或用戶產生的內容能上傳到儲存帳號時。

儲存與端點環境間的偵測差異

Defender for Storage 使用與 Defender for Endpoint 相同的反惡意軟體引擎與簽章更新。 然而,當檔案在 Azure Storage 中進行掃描時,端點上可取得的某些情境中繼資料並不存在。 這種缺乏脈絡可能導致漏檢(假陰性)的機率高於在端點掃描。

缺失或無法取得的上下文範例包括:

  • 網印(MOTW): MOTW 會識別來自網際網路的檔案,但當檔案上傳到 Azure Storage 時,這些元資料不會被保留。

  • 檔案路徑上下文: 端點掃描會評估檔案路徑,以判斷檔案是否與敏感系統位置(例如 C:\Windows\System32)進行互動。 blob 儲存無法提供等效的路徑上下文。

  • 行為數據: Defender for Storage 執行靜態分析與有限模擬,但不觀察執行時行為。 有些惡意軟體只會在執行時顯示惡意行為,僅靠靜態檢查可能無法偵測到。

存取和資料隱私權

資料存取需求

要掃描資料是否有惡意軟體,該服務需要存取儲存體帳戶內的 Blob。 當惡意軟體掃描啟用時,Azure 會自動部署你訂閱中指定的 StorageDataScanner 資源。 此資源使用系統指派的管理身份,並被賦予儲存 區資料擁有者 角色以讀取與掃描資料。

如果您的儲存帳號設定為僅允許從特定虛擬網路或 IP 位址存取公共網路,該 StorageDataScanner 資源會被加入儲存帳號網路設定中的 資源實例 區塊。 這確保即使公共網路存取受限,掃描器仍能存取您的資料。

資料隱私權和區域處理

  • 區域加工: 惡意軟體掃描會在與你的儲存帳號相同的 Azure 區域執行,以支援資料駐留與合規要求。

  • 資料處理: 掃描後的檔案不會被服務儲存。 在有限情況下,像 SHA-256 雜湊值這類檔案元資料可能會與 Microsoft Defender for Endpoint 共享以供進一步分析。

處理假陽性和假陰性

誤判為真

誤報是指一個無害檔案被錯誤判定為惡意。 如果您認為檔案被錯誤標記,您可以採取以下措施:

  1. 請提交檔案進行重新分析

    請使用 樣本提交入口網站 回報誤報。
    提交時,請選擇 Microsoft Defender for Storage 作為來源。

  2. 抑制重複警報

    在 Defender for Cloud 中建立 警報抑制規則 ,以減少環境中反覆出現的誤報警報雜訊。

解決未偵測到的惡意程式碼 (誤判為否)

偽陰性是指未偵測到惡意檔案。 若您認為未發現惡意軟體, 請透過範例提交入口網站提交檔案進行分析。 盡可能提供背景說明,支持你認為該檔案是惡意的理由。

Note

報告誤報與漏報有助於隨著時間提高偵測的準確度。