ESET PROTECT – 목차

규칙 구문

빠른 링크: <definition> , <operations>, <description>, <actions>

규칙은 XML 기반 언어를 사용하여 정의된 표현식들의 집합입니다. ESET PROTECT 웹 콘솔에는 미리 정의된 규칙 세트가 포함되어 있지만, 사용자가 직접 규칙을 추가하고 편집할 수 있습니다.

규칙의 일반적인 본문 구조는 다음과 같습니다:

Definition 태그

ancestor—는 추가 속성을 가질 수 있습니다:

•distance—일치시킬 상위 프로세스가 현재 프로세스로부터 떨어진 실제 거리를 지정합니다. 예를 들어 1은 부모 프로세스, 2는 조부모 프로세스 등입니다. 지정하지 않으면 해당 속성은 모든 프로세스 상위 항목(조상)과 대조됩니다.

•unique—조상 태그가 조상 트리에서 중복 프로세스를 제거할 수 있도록 합니다. 예를 들어, 악성코드는 탐지를 회피하기 위해 동일한 프로세스의 인스턴스를 여러 개 생성하는데(explorer > cmd > cmd > cmd > 악성코드), 이 속성은 이러한 중복을 제거해 줍니다(explorer > cmd > 악성코드).

Process 및 parentprocess

process 부분은 보안 엔지니어가 이벤트를 특정 프로세스로 제한할 수 있게 해줍니다. 따라서 "Outlook이 EXE 파일을 생성함"과 같은 규칙을 작성할 수 있습니다. 프로세스 요소가 비어 있으면 모든 프로세스에 대해 parentprocess 및 operations이(가) 평가됩니다.

parentprocess 부분은 프로세스와 유사하지만, 보안 엔지니어가 부모 프로세스 속성을 테스트할 수 있게 해줍니다. 이를 통해 "PowerShell이(가) Word에 의해 시작되어 인터넷에 연결됨"과 같은 규칙을 사용할 수 있습니다.

process, parentprocess, ancestor 및 operation은(는) 표현식(expression) 요소를 사용하여 탐지를 트리거해야 하는지 확인하기 위해 평가되는 논리 표현식을 기술합니다. 표현식은 조건과 논리 연산자로 구성됩니다. 조건은 특정 속성의 값을 검사하며, 논리 연산자는 이러한 조건들을 논리 표현식으로 묶습니다.

표현식 예:

Operations

operations 부분은 프로세스가 실행하는 어떤 작업이 지표를 발생시키는지 정의합니다. 비어 있으면 프로세스가 이벤트를 생성할 때 지표가 트리거됩니다.

연산은 type 속성과 expression 요소를 가진 operation 요소를 사용하여 정의됩니다.

<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®의 ID를 포함합니다.

maliciousCauses—이벤트의 악의적인 원인 또는 규칙을 트리거한 변경 사항을 설명합니다.

benignCauses—이벤트의 무해한 원인 또는 규칙을 트리거한 변경 사항을 설명합니다.

recommendedActions—보안 엔지니어가 수행해야 할 권장 조치를 설명합니다.

guid—내부 규칙에 사용됩니다. 외부 규칙은 GUID가 자동으로 생성됩니다. 내보내기/가져오기 시 규칙을 고유하게 식별하는 데 사용됩니다.

maliciousTarget 태그

maliciousTarget 태그를 사용하여 기본적으로 사용자 지정 응답 작업의 영향을 받을 대상을 지정할 수 있습니다. 예를 들어, 실행 파일 차단을 선택하면 변경 사항은 maliciousTarget에 따라 달라집니다. Actions 태그의 동작은 변경하지 않습니다. 가능한 값은 current, module, none 및 parent입니다.

maliciousProcess 태그가 maliciousTarget 태그로 대체되었습니다. 아직 레거시 지원 중이지만, maliciousTarget 태그를 사용하는 것을 권장합니다.

Actions 태그

Actions 태그를 사용하면 규칙이 트리거될 때 실행되는 작업 집합을 지정할 수 있습니다.

여러 작업을 하나의 action 요소에 넣을 수 있습니다:

<action name="BlockProcessExecutable"/>

또는 여러 action 요소를 하나의 actions 요소로 묶을 수도 있습니다(다음 예시에 나와 있는 것처럼):

단일 규칙에서 여러 작업을 트리거할 수 있습니다.