Правила потоков данных об угрозах

Способ обработки каждого конкретного потока данных об угрозах в Feed Utility, определяется правилами, заданными для потоков данных об угрозах в элементах Feed.

По умолчанию в конфигурационном файле присутствуют записи, содержащие правила для всех потоков данных об угрозах. Записи для коммерческих потоков данных об угрозах отключены. Если для скачивания потоков данных об угрозах используется коммерческий сертификат, следует раскомментировать записи потоков данных об угрозах, доступных с используемым сертификатом.

Пример правил потока данных об угрозах

Ниже приведен пример правил потока данных об угрозах. Правила потока данных об угрозах указываются индивидуально для каждого потока данных об угрозах.

<Settings>

...

<Feeds>

<Feed enabled="true">

<Name>Botnet_CnC_URL_Data_Feed</Name>

<FeedID>65</FeedID>

<Filters>

<Field name="geo" value="RU"/>

</Filters>

<UrlMatcherField toRegex="false">mask</UrlMatcherField>

<RequiredFields>mask;geo;first_seen;last_seen</RequiredFields>

<RecordsCount perFile="100" total="1000" />

<FeedFields/>

</Feed>

<Feed enabled="false">

<Name>CustomFeed</Name>

<Path>./custom_example/example_feed.json</Path>

<Parsing type="json">

<MD5 type="MD5">files/MD5</MD5>

</Parsing>

<FeedFields/>

</Feed>

...

</Feeds>

...

</Settings>

Feed

Этот родительский элемент содержит правила для определенного потока данных об угрозах.

Имя

Этот элемент задает имя загруженного файла потока данных об угрозах.

После того, как Feed Utility распаковывает загруженные потоки данных об угрозах, выполяется поиск файла с именем, начинающимся с указанной строки. Если указанная строка присутствует в начале имен нескольких файлов, Feed Utility выводит сообщение об ошибке и прекращает обработку потоков данных об угрозах. В этом случае необходимо вручную разрешить этот конфликт, например, путем удаления лишних файлов из каталога, в который Feed Utility их распаковывает. Этот каталог задается параметром WorkDir.

В значении этого параметра регистр не учитывается.

Значение этого параметра должно быть уникальным. У каких-либо двух элементов Feed не должно быть одинакового значения этого параметра.

FeedID

Этот элемент применяется только к потокам данных об угрозах «Лаборатории Касперского».

Этот элемент задает идентификатор потока данных об угрозах. Feed Utility использует этот параметр для загрузки потоков данных об угрозах с серверов обновлений.

Атрибут enabled указывает, должна ли Feed Utility обрабатывать этот поток данных об угрозах:

Path

Параметр Path задает путь и имя файла для пользовательского или стороннего потока данных об угрозах.

Поддерживаются следующие типы значений:

У этого параметра есть следующие атрибуты:

Тип аутентификации указывается в параметре Settings > Feeds > Feed конфигурационного файла Feed Utility.

Для потока данных об угрозах типа «электронная почта» необходимо выбрать протокол соединения путем указания POP3 или IMAP в качестве значения атрибута «type».

Если выбран протокол соединения, укажите в элементе Path «IPv4/Host name» и порт почтового сервера.

Authorization

Базовые параметры аутентификации для пользовательских или сторонних потоков данных об угрозах.

У этого параметра есть два вложенных элемента:

Если этот тип аутентификации не требуется, не указывайте этот параметр.

TAXII

Параметр TAXII указывает расположение потока данных об угрозах STIX. Этот элемент должен содержать адрес сервиса опроса (Poll) сервера TAXII.

У этого параметра есть следующие атрибуты:

В следующем примере демонстрируется указание местоположения потока данных об угрозах STIX:

<TAXII collection_name="example-collection" version="2.1">http://192.0.2.10:9000</TAXII>

Настройка авторизации на сервере TAXII

Учетные данные для авторизации на сервере TAXII.

У этого параметра есть два вложенных элемента:

Следующий пример демонстрирует использование этого параметра:

<Feed>

<Name>TAXII</Name>

<TAXII collection_name="example-collection" version="2.1">http://192.0.2.10:9000</TAXII>

<Authorization>

<User>zQYq33rAY7dgImLtk8W0jQ==</User>

<Password>OUYWpkPDoH+vv/IFfCrshw==</Password>

</Authorization>

</Feed>

Filters

Этот элемент задает правила фильтрации для потока данных об угрозах. Каждое правило фильтрации определяется в отдельном элементе Field.

Элемент Filters не является обязательным. Если элемент Filters не содержит вложенных элементов Field, Feed Utility ведет себя так, как будто элемент Filters пропущен. Если элемент Filters отсутствует, фильтрация не производится.

UrlMatcherField

Этот элемент определяет способ обработка в Feed Utility потоков данных об угрозах с масками URL.

Если Feed Utility используется как часть CyberTrace вместе с Kaspersky CyberTrace Service, потоки данных об угрозах, содержащие маски URL, должны быть преобразованы в двоичный формат.

Если Feed Utility используется отдельно от Kaspersky CyberTrace Service, нет необходимости компилировать маски, поэтому в таком случае элемент UrlMatcherField может отсутствовать в конфигурационном файле Feed Utility.

Этот элемент имеет значение и необязательный атрибут toRegex:

В случае формата вывода json можно принять следующие меры:

В случае выходных форматов csv и txt можно принять следующие меры:

В случае выходных форматов openioc и stix этот элемент не следует указывать. Этот элемент невозможно использовать с этими выходными форматами.

RequiredFields

Этот элемент определяет поля, которые включаются в обработанный поток данных об угрозах. Этот элемент является обязательным для выходных форматов txt и csv. Если элемент RequiredFields не указан, в обработанный поток данных об угрозах попадают все поля записи.

Имена полей разделяются точкой с запятой («;»). Косая черта («/») в имени поля указывает на вложенное поле (в смысле формата JSON).

Этот элемент определяет поля в итоговом потоке данных об угрозах; это работает не как правило фильтрации. Например, если для потока данных об угрозах определено правило <RequiredFields>id;mask</RequiredFields>, в записях в обрабатываемом потоке данных об угрозах присутствуют только поля id и mask. Также будут включены записи, в которых есть хотя бы одно из указанных полей (id или mask). Записи, в которых нет хотя бы одного из указанных полей, будут исключены, поскольку отсутствие указанных полей приводит к добавлению пустой записи в обрабатываемый поток данных об угрозах. Если требуется отфильтровать поток данных об угрозах так, чтобы в итоговый поток данных об угрозах включались только записи, содержащие все указанные поля, необходимо использовать правила фильтрации. Сведения об использовании элемента RequiredFields одновременно с критериями фильтрации приведена в подразделе «Исключение записей с пропущенными полями» в разделе Правила фильтрации.

Поля записи записываются в форматы csv и txt в том порядке, в котором они указаны в элементе RequiredFields. Поля записи записываются в формате json в том порядке, в котором они встречаются в исходном потоке данных об угрозах. В случае форматов openioc и stix порядок записей не определен; записи выводятся в порядке обработки.

FeedFields

В этом элементе перечислены все поля, присутствующие в потоке данных об угрозах.

Не изменяйте этот параметр. Feed Utility автоматически записывает в него значения полей.

RecordsCount

Этот элемент задает максимальное количество записей, которые будут включены в обрабатываемый поток данных об угрозах.

У этого элемента есть два атрибута.

Parsing

Этот элемент содержит правила парсинга для пользовательских потоков данных об угрозах.

Правила для потоков данных об угрозах типа «электронная почта»

Feed Utility может загружать сторонние потоки данных об угрозах типа «электронная почта» с почтового сервера.

Настройте подключение к почтовому серверу в следующих элементах конфигурационного файла kl_feed_util:

В следующем примере демонстрируются настройки подключения к почтовому серверу:

<Feed enabled="true">

<Name>Email_OSINT</Name>

<Path type="pop3">myemailserv.com:3125</Path>

<MailboxConnection use_tls="false" receive_period="7">

<User>==asd</User>

<Password>==ewq</Password>

<Filters>

<Filter field="from" condition="not_match">mywife@ya.ru</Filter>

<Filter field="subject" condition="contains">Best IoCs ever</Filter>

</Filters>

</MailboxConnection>

<Parsing type="messageBody">

<ip type="ip">(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})</ip>

</Parsing>

<Parsing type="messageAttach">

<Attach type="csv">

<ip type="ip">1</ip>

</Attach>

<Attach type="pdf">

<url type="url">1</url>

</Attach>

</Parsing>

<Excluded>

<Item>VALUE1</Item>

<Item>VALUE2</Item>

</Excluded>

</Feed>

В начало