ESET PROTECT – 目錄

規則語法

快速連結: <definition> , <operations>, <description>, <actions>

規則是一組使用以 XML 為基礎的語言所定義的運算式。ESET PROTECT Web Console 包含一組預先定義的規則,但您也可以新增及編輯自己的規則。

規則的一般主體結構為:

Definition 標籤

ancestor—可以接受一個額外的屬性:

•distance—指定所比對的上層程序與目前程序之間的實際距離,例如:1 代表父程序、2 代表祖父程序,依此類推。若未指定,則此屬性會與所有祖系處理程序進行比對。

•unique—可讓祖系標籤移除祖系樹中的重複處理程序。例如,惡意軟體會建立同一程序的多個執行個體以規避偵測(explorer > cmd > cmd > cmd > malware),而此屬性會去除這些重複項目(explorer > cmd > malware)。

Process 與 parentprocess

process 這個部分讓資安工程師能將事件限制在特定的處理程序;因此,你可以撰寫像是「Outlook 建立 EXE 檔案」這樣的規則。若 process 元素為空,則會針對所有處理程序評估 parentprocess 與 operations。

這個 parentprocess 部分與程序類似,但允許安全工程師測試父程序的屬性。這讓「PowerShell 由 Word 啟動,並連線至網際網路」這類規則得以實現。

process、parentprocess、ancestor 與 operation 使用 expression 元素來描述邏輯運算式,該運算式會被評估以檢查是否應觸發偵測。運算式由條件與邏輯運算子組成。條件會檢查某個屬性的值,而邏輯運算子則將這些條件組合成邏輯運算式。

運算式範例:

Operations

operations 部分定義處理程序執行的哪些操作會觸發該指示器。若為空白,當該處理程序產生事件時,即會觸發此指示器。

操作是使用具有 type 屬性的 operation 元素與 expression 元素來定義的。

<operation type="WriteFile">Expression</operation>

如需支援的操作完整清單,請參閱 操作 主題。

Operator

支援的邏輯運算子為:AND、OR 和 NOT。邏輯運算子可以巢狀使用。因此,一個邏輯運算子可以是另一個邏輯運算子的引數。除了邏輯運算子之外,條件元素也可以作為邏輯運算子的引數使用。您可以如本範例所示使用運算子標籤:

條件元素由三個部分組成:

•操作的引數或處理程序之屬性。

•由規則作者指定的值。

•值與屬性之間的關係。

屬性會以階層方式分組為「元件」。

嚴重程度分為三個層級:1–39 > Info、40–69 > Warning,以及 70–100 > Threat。

屬性類型及其關係(條件屬性)如下:

 

is(not)set

is(not)

is(not)empty

(not)starts

(not)contains

(not)ends

less, lessOrEqual, greater, greaterOrEqual

String

✔

✔

✔

✔

✔

✔

 

Int

✔

✔

 

 

✔

 

✔

Value

✔

✔

✔

 

 

 

 

Bool

✔

✔

 

 

 

 

 

Date

✔

✔

 

 

 

 

✔

字串集合

✔

 

✔

 

✔

 

 

IPv4 位址

✔

✔

✔

 

 

 

 

IPv6 位址

✔

✔

✔

 

 

 

 

IPv4 位址集合

✔

 

✔

 

✔

 

 

IPv6 位址集合

✔

 

✔

 

✔

 

 

Description 標籤

描述為必填,且必須包含名稱與類別,其餘則為選填。定義以下列出的欄位會很有幫助,因為它們會出現在詳細資料中:

name – 規則名稱。它會顯示在規則清單中。

category—可讓您將規則分類。您可以指定自己的類別。

explanation—說明規則觸發的原因。

os—包含該規則適用的作業系統。可能的值為:Windows, Linux, OSX, ANY.

mitreattackid—包含 MITRE ATT&CK® 的識別碼。

maliciousCauses—描述事件的惡意原因或觸發規則的變更。

benignCauses—描述該事件的良性成因,或觸發規則的變更。

recommendedActions—描述資安工程師應採取的建議行動。

guid—用於內部規則。外部規則會自動產生 guid。它用於在匯出/匯入期間唯一識別規則。

maliciousTarget 標籤

您可以使用 maliciousTarget 標籤來指定預設會受到 自訂回應 動作影響的目標。例如,當您選取封鎖可執行檔時,變更會取決於 maliciousTarget。它不會改變 Actions 標籤的行為。可能的值為 current、module、none 和 parent。

maliciousProcess 標籤已由 maliciousTarget 標籤取代。它仍在舊版支援中,但我們建議使用 maliciousTarget 標籤。

Actions 標籤

Actions 標籤可讓您指定一組在規則觸發時執行的動作。

您可以將多個動作放入單一的 action 元素中:

<action name="BlockProcessExecutable"/>

或者將多個 action 元素堆疊成單一 actions 元素(如下列範例所示):

單一規則可觸發多個動作。