フィードのルール

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

この親要素には、フィードのフィードルールが含まれています。

名前

この要素は、ダウンロードしたフィードファイルの名前を指定します。

フィードユーティリティはダウンロード済みフィードの解凍後、指定の文字列で始まる名前のファイルを探します。複数のファイル名が指定の文字列で始まる場合、フィードユーティリティはエラーメッセージを出力し、フィードの処理を停止します。その場合、この競合を手動で解決する必要があります。たとえば、フィードユーティリティがファイルを解凍しているディレクトリから余分なファイルを削除します。このディレクトリは WorkDir パラメータで指定します。

このパラメータは大文字と小文字が区別されます。

このパラメータには一意の値を指定する必要があります。このパラメータの 2 つの Feed 要素に同じ値を割り当てることはできません。

FeedID

この要素は、カスペルスキーのフィードのみに適用されます。

この要素はフィードの識別子を指定します。フィードユーティリティはこのパラメータを使用して更新サーバーからフィードをダウンロードします。

enabled 属性は、フィードをフィードユーティリティで処理する必要があるかどうかを指定します:

Path

Path パラメータは、カスタムフィードまたはサードパーティのフィードのパスとファイル名を指定します。

次の値タイプがサポートされています:

このパラメータには、次の属性があります:

認証タイプは、フィードユーティリティ設定情報ファイルの[Settings]→[Feeds]→[Feed]パラメータを順に選択して指定します。

メールタイプのフィードでは、タイプ属性の値に POP3 または IMAP を指定して接続プロトコルを選択します。

接続プロトコルを選択した場合は、Path 要素でメールサーバーの IPv4 / ホスト名とポートを指定します。

Authorization

カスタムフィードまたはサードパーティのフィードの基本的な認証設定です。

このパラメータには、ネストされた 2 つの要素があります:

このタイプの認証が不要な場合は、このパラメータを指定しないでください。

TAXII

TAXII パラメータは STIX フィードの場所を指定します。この要素には、TAXII サーバーの Poll サービスのアドレスを指定する必要があります。

このパラメータには、次の属性があります:

次の例では、STIX フィードの場所を指定する方法を示します:

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

TAXII サーバー認証設定

TAXII サーバーの承認用の資格情報です。

このパラメータには、ネストされた 2 つの要素があります:

次の例では、このパラメータの使用方法を示します:

<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 要素は任意です。ネストされた Field 要素が Filters 要素にない場合、フィードユーティリティは Filters 要素が省略されたものとしてこの状況を処理します。Filters 要素がない場合、フィルタリングは実行されません。

UrlMatcherField

この要素は、URL マスクのあるフィードをフィードユーティリティでどのように処理するかを定義します。

フィードユーティリティを CyberTrace の一部として Kaspersky CyberTrace サービスと使用する場合、URL マスクを含むフィードをバイナリ形式に変換する必要があります。

Kaspersky CyberTrace サービスなしでフィードユーティリティを使用する場合はマスクをコンパイルする必要がないため、フィードユーティリティ設定情報ファイルに UrlMatcherField 要素は不要です。

この要素には値とオプションの toRegex 属性が 1 つずつあります:

json 出力形式では、次の操作を実行できます:

csv 出力形式と txt 出力形式では、次の操作を実行できます:

openioc 出力形式と stix 出力形式では、この要素を省略してください。これらの出力形式でこの要素を使用することはできません。

RequiredFields

この要素は、処理されたフィードに含めるフィールドを指定します。txt 出力形式と csv 出力形式の場合、この要素は必須です。RequiredFields 要素を省略すると、レコードのすべてのフィールドが処理済みのフィードに書き込まれます。

フィールド名はセミコロン(「;」)で区切られます。フィールド名のスラッシュ(「/」)は、(JSON 形式から見て)ネストされたフィールドを示します。

この要素は、結果として生成されるフィールドを定義します。フィルタリングルールのような機能ではありません。たとえば、<RequiredFields>id;mask</RequiredFields> フィードルールをフィードに対して定義すると、処理済みのフィードのレコードには id フィールドと mask フィールドしか存在しなくなります。1 つ以上の指定のフィールド(id または mask)を持つレコードも含まれます。指定のフィールドが 1 つもないレコードは除外されます。指定のフィールドがないと、処理済みのフィードに空のレコードが書き込まれるためです。指定したすべてのフィールドを持つレコードのみが、生成されるフィードに含まれるようにフィードをフィルタリングする場合は、フィルタリングルールを使用する必要があります。RequiredFields 要素とフィルタリング基準を一緒に使用する方法は、「フィルタリングルール」セクションの「フィールドのないレコードの除外」サブセクションを参照してください。

レコードフィールドは、RequiredFields 要素に記載されている順に csv 形式と txt 形式で書き込まれます。レコードフィールドは、ソースフィードに記載されている順に json 形式で書き込まれます。openioc 形式と stix 形式の場合、レコードの順序は定義されていません。レコードは処理順に書き込まれます。

FeedFields

この要素はフィード内にあるすべてのフィードを一覧表示します。

このパラメータは変更しないでください。フィードユーティリティはフィールドの値をこのパラメータに自動的に書き込みます。

RecordsCount

この要素は、処理済みのフィードに含まれる最大レコード数を指定します。

この要素には 2 つの属性があります:

解析

この要素には、カスタムフィードの解析ルールが含まれています。

メールタイプのフィードのルール

フィードユーティリティは、メールサーバーからサードパーティのフィードをダウンロードできます。

設定情報ファイル 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>

ページのトップに戻る