facebook

16.3.2 Пример написания правил корреляции

Например, события поступили в следующем виде:

  1. Vnimanie: computer1 - dostup k vredonosnomy website - https://plohoywebsite.com
  2. Vnimanie: computer2 - dostup k vredonosnomy website - https://ochenplohoywebsite.com
  3. Vnimanie: computer3 - dostup k vredonosnomy website - https://neochenplohoywebsite.com

Напишем для примера такие правила:

Block of code

<group name="test_rules">

<rule id="100022" level="5">

<decoded_as>parent_test</decoded_as>

<field name="website">https://neochenplohoywebsite.com</field>

<description>Test successful. $(computer_name) obratilsya k

$(website)!</description>

</rule>

</group>

   

<group name="test_rules">

<rule id="100023" level="10">

<decoded_as>parent_test</decoded_as>

<field name="website">https://plohoywebsite.com</field>

<description>Test successful. $(computer_name) obratilsya k opasnomy

$(website)!</description>

</rule>

</group>

   

<group name="test_rules">

<rule id="100024" level="12">

<decoded_as>parent_test</decoded_as>

<field name="website">https://ochenplohoywebsite.com</field>

<description>Test successful. $(computer_name) obratilsya k ochen opasnomy

$(website)!</description>

</rule>

</group>

 Атрибуты, используемые в составленных правилах:

  1. Атрибут «group» используется для классификации.
  2. Обязательный атрибут «rule id» и его опции.
  3. Атрибут «decoded_as» указывает анализировать события, которые были обработаны определенным парсером.
  4. Атрибут «field» используется как необходимое условие для запуска правила. Он проверит совпадение содержимого поля, извлеченного парсером.
  5. Атрибут «description» содержит описание, поясняющее цель создания правила.

В данных парсерах для примера различается уровень угрозы и описание в зависимости от того, какое значение атрибута «"website"» было передано после процесса парсинга. В зависимости от переданных атрибутов выполнялись разные правила корреляции и присваивались различные уровни.

Результат:

Block of code

**Messages:

WARNING: (7003): '75d568d7' token expires

INFO: (7202): Session initialized with token '51ee9aa0'

 

**Phase 1: Completed pre-decoding.

   full event: 'Vnimanie: computer1 - dostup k vredonosnomy website - https://plohoywebsite.com'

   

**Phase 2: Completed decoding.

    name: 'parent_test'

    computer_name: 'computer1'

    website: 'https://plohoywebsite.com'

   

**Phase 3: Completed filtering (rules). 

    id: '100023'

    level: '10'

    description: 'Test successful. computer1 obratilsya k opasnomy https://plohoywebsite.com !'

    groups: '["test_rules"]'

    firedtimes: '1'

    mail: 'false'

**Alert to be generated.

   

**Phase 1: Completed pre-decoding.

   full event: 'Vnimanie: computer2 - dostup k vredonosnomy website - https://ochenplohoywebsite.com'

    

**Phase 2: Completed decoding.   

   name: 'parent_test'

   computer_name: 'computer2'

   website: 'https://ochenplohoywebsite.com'

   

**Phase 3: Completed filtering (rules).

   id: '100024'

   level: '12'

   description: 'Test successful. computer2 obratilsya k ochen opasnomy https://ochenplohoywebsite.com !'

   groups: '["test_rules"]'

   firedtimes: '1'

   mail: 'true'

**Alert to be generated.

   

**Phase 1: Completed pre-decoding.

   full event: 'Vnimanie: computer3 - dostup k vredonosnomy website - https://neochenplohoywebsite.com'

    

**Phase 2: Completed decoding.

   name: 'parent_test'

   computer_name: 'computer3'

   website: 'https://neochenplohoywebsite.com'

   

**Phase 3: Completed filtering (rules).

   id: '100022'

   level: '5'

   description: 'Test successful. computer3 obratilsya k https://neochenplohoywebsite.com !'

  groups: '["test_rules"]'

  firedtimes: '1' 

  mail: 'false'

**Alert to be generated.