ESET PROTECT – Spis treści

Składnia reguł

Szybkie łącza: <definition> , <operations>, <description>, <actions>

Reguła to zbiór wyrażeń zdefiniowanych za pomocą języka opartego na XML. ESET PROTECT Web Console zawiera wstępnie zdefiniowany zestaw reguł, ale możesz dodawać i edytować własne reguły.

Ogólna struktura treści reguły jest następująca:

Definition Tag

ancestor – może przyjmować dodatkowy atrybut:

•distance – określa rzeczywistą odległość dopasowywanego procesu przodka od bieżącego procesu, na przykład 1 to proces nadrzędny, 2 to proces nadrzędny drugiego stopnia (dziadek) itd. Jeśli nie określono, właściwość jest dopasowywana do wszystkich procesów nadrzędnych.

•unique – umożliwia znacznikowi przodka usuwanie zduplikowanych procesów w drzewie przodków. Na przykład złośliwe oprogramowanie tworzy wiele instancji tego samego procesu, aby uniknąć wykrycia (explorer > cmd > cmd > cmd > malware), a ten atrybut pozwoli pozbyć się tych duplikatów (explorer > cmd > malware).

Process i parentprocess

Część process pozwala inżynierom bezpieczeństwa ograniczyć zdarzenia do konkretnego procesu; dzięki temu można pisać reguły typu „Outlook tworzy plik EXE”. Jeśli element procesu jest pusty, parentprocess i operations są oceniane dla wszystkich procesów.

Część parentprocess jest podobna do procesu, ale pozwala inżynierom bezpieczeństwa testować atrybuty procesu nadrzędnego. Umożliwia to tworzenie reguł takich jak „PowerShell, uruchomiony przez program Word, łączy się z internetem”.

process, parentprocess, ancestor i operation używają elementu wyrażenia do opisania wyrażenia logicznego, które jest ewaluowane w celu sprawdzenia, czy należy wyzwolić wykrycie. Wyrażenie składa się z warunków i operatorów logicznych. Warunek sprawdza wartość pewnej właściwości, a operatory logiczne grupują te warunki w wyrażenia logiczne.

Przykład wyrażenia:

Operations

Część operations określa, które operacje wykonywane przez proces wyzwalają wskaźnik. Jeśli jest pusty, wskaźnik jest wyzwalany w momencie wygenerowania zdarzenia przez proces.

Operacje definiuje się za pomocą elementu operation z atrybutem type oraz elementu expression.

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

Pełną listę obsługiwanych operacji można znaleźć w temacie Operacje.

Operator

Obsługiwane operatory logiczne to: AND, OR oraz NOT. Operatory logiczne mogą być zagnieżdżane. Dlatego operator logiczny może być argumentem innego operatora logicznego. Poza operatorami logicznymi, jako argument operatorów logicznych może być użyty element warunku. Możesz użyć tagu operatora, jak pokazano w tym przykładzie:

Elementy warunku składają się z trzech części:

•Właściwość argumentu lub procesu operacji.

•Wartość określona przez autora reguły.

•Relacja między wartością a właściwością.

Właściwości są hierarchicznie grupowane w „komponenty”.

Istnieją trzy poziomy ważności: 1–39 > Info, 40–69 > Warning oraz 70–100 > Threat.

Typy właściwości i ich relacje (atrybuty warunkowe) to:

 

is(not)set

is(not)

is(not)empty

(not)starts

(not)contains

(not)ends

less, lessOrEqual, greater, greaterOrEqual

String

✔

✔

✔

✔

✔

✔

 

Int

✔

✔

 

 

✔

 

✔

Value

✔

✔

✔

 

 

 

 

Bool

✔

✔

 

 

 

 

 

Date

✔

✔

 

 

 

 

✔

Zbiór ciągów znaków

✔

 

✔

 

✔

 

 

Adres IPv4

✔

✔

✔

 

 

 

 

Adres IPv6

✔

✔

✔

 

 

 

 

Zbiór adresów IPv4

✔

 

✔

 

✔

 

 

Zbiór adresów IPv6

✔

 

✔

 

✔

 

 

Description Tag

Opis jest obowiązkowy i musi zawierać nazwę oraz kategorię, ale reszta jest opcjonalna. Warto zdefiniować wymienione poniżej pola, ponieważ pojawiają się one w szczegółach:

name – Nazwa reguły. Jest to widoczne na liście reguł.

category–Umożliwia kategoryzowanie reguł. Możesz określić własne kategorie.

explanation – Wyjaśnia przyczynę uruchomienia reguły.

os–Zawiera system operacyjny, którego dotyczy reguła. Możliwe wartości to: Windows, Linux, OSX, ANY.

mitreattackid–Zawiera identyfikator MITRE ATT&CK®.

maliciousCauses – Opisuje złośliwe przyczyny zdarzenia lub zmiany, która wyzwoliła regułę.

benignCauses – Opisuje nieszkodliwe przyczyny zdarzenia lub zmiany, która wywołała regułę.

recommendedActions – Opisuje zalecane działania, które powinni podjąć inżynierowie bezpieczeństwa.

guid – używane do reguł wewnętrznych. Reguły zewnętrzne mają automatycznie generowany identyfikator GUID. Służy do jednoznacznej identyfikacji reguł podczas eksportu/importu.

maliciousTarget Tag

Możesz użyć tagu maliciousTarget, aby określić cel, którego będą domyślnie dotyczyć akcje niestandardowej odpowiedzi. Na przykład, gdy wybierzesz opcję blokowania pliku wykonywalnego, zmiany zależą od maliciousTarget. Nie zmienia to zachowania tagu Akcji. Możliwe wartości to current, module, none oraz parent.

Znacznik maliciousProcess został zastąpiony znacznikiem maliciousTarget. Nadal jest objęty wsparciem dla starszych wersji (legacy support), ale zalecamy stosowanie znacznika maliciousTarget.

Actions Tag

Znacznik Actions umożliwia określenie zestawu akcji, które są wykonywane po wyzwoleniu reguły.

Akcje można umieścić w jednym elemencie action:

<action name="BlockProcessExecutable"/>

Albo umieść wiele elementów action w pojedynczym elemencie actions (jak pokazano w poniższym przykładzie):

Pojedyncza reguła może wyzwalać wiele akcji.