Cloud One Workload Security Technical Essentials-第 10 課:阻擋未經核准的軟體
Application Control
概觀
Application Control 模組會管理並追蹤新增或變更的軟體,協助掌握並控管攻擊面。啟用此模組後,Agent 會建立目前安裝於伺服器上的軟體清單。不在清單或現有規則中的應用程式嘗試執行時,系統會依設定的執行模式決定允許或阻擋該程式。
Application Control 可追蹤多種形式的新增或變更軟體,包括:
- 使用者安裝但不需要或未經核准的軟體
- 新增的 PHP 網頁、Python 指令碼或 Java 應用程式
- 未預先安排的自動更新
- 零時差惡意程式

Application Control 會將不在軟體清單中、且沒有現有規則可套用的新增或更新軟體,視為未經核准的軟體變更。遇到未經辨識的軟體時,系統會依執行模式決定處理方式:
- 在阻擋模式下,只有清單中的軟體或具有 Allow 規則的軟體可以執行。
- 在允許模式下,新增或更新的軟體預設可以執行;如果在 Application Control 事件中發現不需要的應用程式,則可建立 Block 規則,防止其後續執行。
Application Control 的目的在於控制軟體是否獲准執行,而不是直接判定未知程式是否為惡意程式。
在 Windows 電腦上,Application Control 只會追蹤本機檔案系統中的變更,不會追蹤網路位置、CD/DVD 光碟機或 USB 裝置上的軟體。因此,不能將這些位置視為已受到 Application Control 的自動追蹤或阻擋。
Application Control 適合軟體狀態相對穩定且不常更新的伺服器;不適合軟體會自行變更或通常會產生可執行檔的環境,例如部分 Web 或郵件伺服器,也不建議用於軟體變更頻繁的工作站或伺服器。
建立軟體清單
啟用 Application Control 後,Agent 會掃瞄目前安裝的軟體並建立初始軟體清單,作為判斷哪些軟體可以在該電腦上正常執行的依據。清單中的軟體都會視為已知並允許執行。不同於會監控各類物件的 Integrity Monitoring,Application Control 在建立清單及監控變更時只處理軟體檔案。
Application Control 評估的軟體類型包括:
編譯後的二進位檔與程式庫
- Windows 應用程式及系統檔,例如
*.exe、*.com、*.dll、*.sys
- Linux 共用程式庫及其他二進位檔,例如
*.so
- Java 位元組碼及其他編譯後的位元組碼,例如
*.jar、*.class
解譯或即時編譯的指令碼與 Web 應用程式
- PHP、Python、shell 及其他 Web 應用程式與指令碼
- Windows PowerShell 指令碼與批次檔,例如
*.bat
- 其他 Windows 專用指令碼,例如
*.wsf、*.vbs、*.js
- 其他受支援的 Web 應用程式,例如
app.war
Application Control 會識別編譯後的二進位檔、程式庫及指令碼。對指令碼而言,副檔名是判斷依據之一;因此,PHP、Python 或 Java 等受支援的檔案即使沒有執行權限,仍會被識別為軟體。在 Linux 上,具有執行權限的檔案也會視為指令碼。Application Control 不會將 .docx 等一般文件視為可執行軟體,因此這些檔案不在評估範圍內。
Agent 會持續監控軟體檔案的磁碟寫入活動及執行嘗試,也能監控由 root 或 Administrator 帳戶安裝的軟體。Agent 版本 11.0 及更新版本會以檔案的 SHA-256 雜湊與檔案大小,判斷該檔案是新加入的軟體,還是既有軟體已經變更。由這些版本的 Agent 建立的規則只會比對 SHA-256 雜湊與檔案大小,因此即使軟體檔案重新命名或移動,規則仍會繼續套用。
軟體清單儲存在 Agent,不會完整顯示於 Workload Security 主控台。
執行模式與策略啟用
Application Control 提供兩種執行模式:
Block unrecognized software until it is explicitly allowed
此模式會阻擋所有未經辨識的新增或變更軟體,直到您為該軟體建立 Allow 規則。
Allow unrecognized software until it is explicitly blocked
此模式預設允許未經辨識的新增或變更軟體執行。發現不需要的軟體後,您可以建立 Block 規則,防止該軟體再次執行。

對多數環境而言,初次啟用 Application Control 時,建議先選取 Allow unrecognized software until it is explicitly blocked,讓系統建立清單並觀察軟體變更。隨著規則逐步調整,未經辨識的變更數量應會減少。當環境趨於穩定後,再評估是否切換為預設阻擋,並只允許已確認可信任的軟體。
在策略中啟用 Application Control

Application Control 可以在策略階層的任何層級啟用。未覆寫相關設定的子策略會沿用從上層策略繼承的 Application Control 設定。
- 前往 Policies,然後雙擊要設定的策略。
- 前往 Application Control > General。
- 將 Application Control State 設為 On。
- 選取其中一種執行模式。
- 點擊 Save。
Agent 下次與 Workload Security 進行 heartbeat 通訊時,會取得更新後的策略設定,接著掃瞄目前安裝的軟體並建立清單。所需時間取決於環境及安裝的軟體數量,可能超過 15 分鐘。
示範:在策略中啟用及驗證 Application Control
以下影片示範如何在策略中啟用 Application Control、建立初始軟體清單,以及針對遭阻擋的程式建立 Allow 規則。