執行時惡意程式掃描會偵測在您的 Kubernetes 叢集中運行的容器中的惡意程式。與部署前的映像掃描不同,執行時惡意程式掃描在運行中的容器的檔案系統上運作,能夠偵測在執行時下載的惡意程式或在部署後透過供應鏈妥協引入的惡意程式。
掃瞄類型
執行時惡意程式掃瞄支援兩種互補的掃瞄類型。
|
掃瞄類型
|
觸發
|
範圍
|
|
預約掃瞄
|
Cron 排程
|
叢集中的所有容器映像檔;在運行中的容器中寫入或修改的個別檔案
|
|
即時掃瞄
|
檔案寫入事件或新映像部署
|
新部署的映像檔;在執行中的容器中寫入或修改的個別檔案
|
注意這兩種掃瞄類型是互補的。預約掃瞄提供針對最新惡意程式模式的所有影像的全面覆蓋,而即時掃瞄則提供部署後引入威脅的即時偵測。
|
如需有關每個掃瞄類型的詳細資訊,請參閱以下內容。
-
預約掃瞄:請參閱啟用預約掃瞄。
-
即時掃瞄:您可以透過部署 Helm 圖表並使用
malwareScanning: enabled來啟用即時掃瞄。請參閱 啟用執行時安全性和掃描功能 以獲取詳細資訊。
啟用預約掃瞄
預約掃瞄是透過分配給叢集的Container Security政策進行配置。掃瞄管理器為叢集中的每個獨特映像創建掃瞄工作,每個工作提取映像
filesystem並將檔案發送到本地惡意程式掃瞄器進行分析。映像是通過其獨特的映像ID識別的。如果相同的映像在多個pod中運行,則每個週期只掃瞄一次。-
移至
-
選取指派給您叢集的策略。
-
在惡意程式掃瞄部分,啟用預約掃瞄中並設定所需的時間表。
注意為了均勻分配掃瞄負載,掃瞄管理器在開始每個掃瞄作業之前會應用隨機抖動(最多90秒)。這樣可以防止所有掃瞄作業同時開始並使掃瞄器不堪重負。
|
掃瞄過濾規則
您可以在 Container Security 政策中配置影像過濾規則,以控制哪些影像被掃瞄。這在您想要排除某些影像的惡意程式掃瞄或僅掃瞄特定影像時非常有用。過濾規則可以與命名空間級別的政策結合,以創建細緻的掃瞄策略。
-
跳過匹配的影像:排除指定的影像不進行掃瞄。例如,您可以排除您信任且不需要掃瞄的第三方運營商影像。
-
僅掃瞄符合的影像:僅掃瞄指定的影像。所有其他影像將不進行掃瞄。
影像過濾規則可以根據命名空間進行範圍設定,允許您在不同命名空間中對同一影像應用不同的掃描政策。例如,Dynatrace 操作員影像可以在應用命名空間中排除掃描(在此命名空間中作為初始化容器運行),而在
Dynatrace 命名空間中仍然進行掃描(在此命名空間中作為長期部署運行)。
重要在安裝 Helm 圖表之前部署的 Pods 不會被掃瞄。如果在安裝 Helm 圖表後重新部署相同的映像,則重新部署的映像將在下一次掃瞄週期中被掃瞄。
|
掃描邏輯
-
自動重新掃瞄:掃瞄完成後,工作負載操作員會等待可配置的重新掃瞄間隔(預設為24小時),然後觸發掃瞄管理器創建新的掃瞄工作。當預約掃瞄啟動或惡意程式掃瞄政策更新時,也會觸發重新掃瞄。
-
影像掃瞄快取:為避免重複掃瞄,掃瞄管理器會維護一個具有24小時到期時間的影像掃瞄快取。過去24小時內已掃瞄的影像將被略過。
-
樣本更新:惡意程式掃描器會自動從TrendAI™的主動更新 (AU) 伺服器下載並套用新的惡意程式樣本更新。更新會在記憶體中套用,無需重新啟動掃描器。
掃瞄範圍和排除的路徑
預設情況下,惡意程式掃描器會掃描容器映像檔案系統中的所有檔案,但不包括以下系統路徑:
-
/proc -
/dev -
/sys
您可以在 Container Security 政策中配置其他排除路徑。排除路徑是以前綴進行匹配的。任何路徑以排除路徑開頭的檔案在掃描時將被跳過。此設定控制在掃描的映像中檢查哪些檔案系統路徑。
注意排除路徑控制選擇掃描的映像中哪些文件被掃描。要排除整個映像或特定命名空間中的特定映像不被掃描,請改用映像過濾規則。請參閱掃瞄過濾規則。
|
緩解措施
在您的 Container Security 政策的惡意程式掃描部分配置自動緩解措施。以下是可用的操作。
-
記錄檔:記錄偵測事件而不採取進一步行動。這是預設設定。
-
終止:自動終止受影響的 Pod。
-
隔離:自動隔離受影響的 Pod,阻斷所有網路流量。

重要
「隔離」 操作需要在叢集中安裝 Kubernetes 網路策略插件(例如 Calico)。
您也可以從控制台中的檢測詳細資訊手動回應,透過隔離、終止或調查受影響的 pod 在 Workbench 中進行操作。了解更多關於 Workbench。
查看掃瞄結果
惡意程式偵測顯示在 Container Security 主控台中。前往以查看偵測結果。使用篩選選項可根據叢集、命名空間、嚴重性或時間範圍縮小結果。
每個偵測包括下列資訊。
|
欄位
|
說明
|
|
惡意程式名稱
|
偵測到的惡意程式的名稱
|
|
檔案名稱
|
偵測到的檔案的名稱
|
|
物件檔案名稱
|
容器內檔案的完整路徑
|
|
檔案 SHA-256
|
偵測到的檔案的 SHA-256 雜湊值
|
|
容器
|
受影響的容器名稱和ID
|
|
Pod
|
Pod 名稱和命名空間
|
|
叢集
|
發生偵測的叢集
|
|
偵測時間
|
偵測的時間戳
|
測試執行時惡意程式掃瞄
使用 EICAR 測試檔案在您的叢集中進行運行時惡意程式掃描,這是一個標準且安全的惡意程式防護測試簽章。
-
部署一個測試 Pod 以下載 EICAR 測試檔案。
kubectl run malware-test --image=busybox --restart=Never -- \ sh -c "wget -q -O /tmp/eicar.com 'https://secure.eicar.org/eicar.com' && sleep 3600"
-
等待掃瞄啟動。如果您已設定預約掃瞄,請等待下一次掃瞄週期。即時掃瞄會偵測到新檔案並自動啟動掃瞄。
-
前往。尋找名稱為
Eicar_test_file的惡意程式檢測,並確認檔案路徑在malware-test容器中顯示為/tmp/eicar.com。 -
清理測試 pod。
kubectl delete pod malware-test
XDR 整合
當政策中啟用 XDR 遠端監控時,惡意程式偵測事件會被發送到 TrendAI Vision One™ 資料湖,從而在 Workbench 中啟用跨來源關聯,並可在搜尋應用程式中進行查詢。
架構與資源
執行時惡意程式掃描包含以下元件,部署在您的叢集中。
|
元件
|
說明
|
|
工作負載操作員
|
監控 pod 部署,並為叢集中每個獨特的容器映像檔創建自訂資源。
|
|
掃瞄管理員
|
管理預約掃瞄的時間表,建立惡意程式掃瞄工作,監控掃瞄完成情況,並維護影像掃瞄快取。
|
|
惡意程式掃瞄工作
|
短期任務,負責提取容器映像檔案系統並將檔案發送至掃描器。每個唯一映像會創建一個任務,並由預約掃瞄使用。
|
|
偵察
|
在每個工作節點上以 DaemonSet 形式運行。即時監控運行中容器中的檔案系統事件,並將檢測到的檔案發送至惡意程式掃描器進行立即分析。
|
|
惡意程式掃描器
|
部署在您叢集中的本地掃瞄器。接收來自掃瞄作業(預約掃瞄)和 Scout(即時掃瞄)的檔案,執行惡意程式分析,並返回檢測結果。掃瞄期間,檔案不會離開您的環境。
|
惡意程式掃瞄器和掃瞄工作具有以下預設資源分配。
|
元件
|
請求
|
限制
|
|
惡意程式掃描器
|
CPU:100m,記憶體:1Gi
|
CPU:1,記憶體:2Gi
|
|
惡意程式掃瞄工作
|
CPU:50m,記憶體:64Mi
|
記憶體:512Mi
|
惡意程式掃描器需要輸出 HTTPS 訪問以下端點。不需要輸入網路訪問。
|
FQDN
|
通訊埠
|
用途
|
|
activeupdate.trendmicro.com
|
443
|
惡意程式模式更新
|
|
TrendAI Vision One™ 區域端點
|
443
|
掃瞄結果報告、政策同步和XDR遙測
|
