解析ルール

解析ルールは、カスタムフィード([Path]要素を使用して指定したフィード)のルールです。これらのパラメータでは、フィードユーティリティによる各フィードの解析方法を指定します。

解析ルールは、カスタムフィードのフィードルールの[Parsing]要素で定義します。

次に、カスタムフィードの解析ルールの例を示します。これらのルールでは、入力フィードは JSON 形式であることを指定します。MD5 解析ルールは、入力フィードの[files/md5]フィールドで定義します。このフィールドの値は、MD5 ハッシュとして解析されます。

<Feed>

...

<Parsing type="json">

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

</Parsing>

...

<Feed>

解析要素

親要素[Parsing]には、ネストされたすべての解析ルールが含まれています。その属性により、入力形式を定義します。

この要素には、次の属性があります:

次の例では、XML 入力フィードに[Parsing]要素を使用する方法について示します。この場合、解析ルールは、[Feeds]→[Example]→[Contents]要素の内部でネストされた要素に適用されます。

<Feed>

...

<Parsing type="xml" rootElement="Feeds/Example/Contents">

...

</Parsing>

...

<Feed>

個別の解析ルール

入力フィードの個別のフィールドの解析ルールは、[Parsing]要素内部でネストする必要があります。フィードユーティリティが入力フィードを処理する時には、これらのルールに従って出力フィードのフィールドを作成します。

各ルールは次の形式です:

<%OUTPUT_NAME% type="%VALUE_TYPE%">%INPUT_NAME%</%OUTPUT_NAME%>

上では、次のルール名要素が使用されています:

次の例は、JSON 入力形式の解析ルール構文を示しています:

<Feed>

...

<Parsing type="json">

<Field type="url">URL</Field>

<Field type="ip">IP</Field>

<Field type="context">GEO</Field>

<Field type="md5">files/md5</Field>

</Parsing>

...

<Feed>

次の例は、CSV 入力形式の解析ルール構文を示しています:

<Feed>

...

<Parsing type="csv" delimiter=";">

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

<IP type="ip">2</IP>

<GEO type="context">3</GEO>

<MD5 type="md5">4</MD5>

</Parsing>

...

<Feed>

次の例は、XML 入力形式の解析ルール構文を示しています:

<Feed>

...

<Parsing type="xml" rootElement="Feeds/Example/Contents">

<URL type="url">url</URL>

<IP type="ip">ip</IP>

<GEO type="context">context</GEO>

<MD5 type="md5">md5_hash</MD5>

</Parsing>

...

<Feed>

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

サードパーティのフィードの解析ルールを設定するには、type 属性で次の値を指定します:

メッセージボディの解析(メールタイプのフィード)

フィードユーティリティは、Parsing 要素の type 属性で messageBody 値が設定されている場合にメールサーバーからロードされたメールのボディを解析します。

メッセージボディの解析では、Parsing 要素で指定された正規表現が使用されます。

メッセージボディの解析では、正規表現で 1 つ以上のルールを設定できます。

各ルールは次の形式です:

<%FIELD_NAME% type="%FIELD_TYPE%">%REG_EXP%</%FIELD_NAME%>

意味は次の通りです:

%FIELD_NAME% では、出力フィード内のフィールドの名前を定義します。たとえば、%FIELD_NAME% が MD5 の場合、出力フィードでこの値を持つフィールドも MD5 という名前になります。

%FIELD_TYPE% はインジケータータイプです。

%REG_EXP% は正規表現です。

各正規表現は、メッセージボディに適用されます。

フィードの形式は、ロードされたメールのコンテンツに従って設定されます。フィードの形式は、次の条件を満たす必要があります:

メッセージの添付書類の解析(メールタイプのフィード)

Parsing]要素の type 属性で messageAttach 値が設定されている場合は、フィードユーティリティはメールサーバーからロードしたメールの添付ファイルを解析します。

添付ファイルのタイプで 1 つ以上のルールを設定できます。

各ルールは次の形式です:

<Attach type="%ATTACH_TYPE%"></Attach>

意味は次の通りです:

%ATTACH_TYPE% は添付ファイルのタイプです。

%ATTACH_TYPE% には次の値を指定できます:

Attach]要素は、1 つ以上の値を持ちます。

正規表現で 1 つ以上のルールを設定できます。

各ルールは次の形式です:

<%FIELD_NAME% type="%FIELD_TYPE%">%REG_EXP%</%FIELD_NAME%>

意味は次の通りです:

%FIELD_NAME% では、出力フィード内のフィールドの名前を定義します。たとえば、%FIELD_NAME% が MD5 の場合、出力フィードでこの値を持つフィールドも MD5 という名前になります。

%REG_EXP% は正規表現です。

%FIELD_TYPE% はインジケータータイプです。[%FIELD_TYPE%]要素では、次の値を使用して type 属性を指定します:

次の例は、メッセージの添付ファイルの解析ルール構文を示しています:

<Attach type="pdf">

<hash1 type="md5">([\da-fA-F]{32})</hash1>

<hash2 type="sha1">([\da-fA-F]{40})</hash2>

</Attach>

フィードユーティリティは、次の拡張子を持つファイルを解析します。

Parsing]要素の type 属性

ファイルの拡張子

csv

csv および txt

json

json

xml

xml

stix1

xml

stix2

json

pdf

pdf

解析ルールが stix1 および xml(または stix2 および json)で同時に設定されている場合は、フィードユーティリティは次の処理を実行します:

  1. 添付ファイルを stix(xml/json 拡張子を持つ)として解析します。
  2. 解析中にエラーが発生し、ファイルが有効な stix フィードである場合は、このファイルはフィードの設定で指定された xml/json 添付ファイルの解析のルールに従って解析されません。
  3. 解析中にエラーが発生し、ファイルが有効な stix フィードでない場合は、このファイルはフィードの設定で指定された xml/json 添付ファイルの解析のルールに従って解析されます。

メールに複数の添付ファイルがある場合は、各添付ファイルの情報が 1 つの結果のフィードになります。

フィードの形式は、ロードされたメールのコンテンツに従って設定されます。フィードの形式は、次の条件を満たす必要があります:

PDF フィードとメールフィードの[Excluded]要素

pdf、messageBody または messageAttach 値が[Parsing]要素の type 属性で指定されている場合は、[Feed]要素に[Excluded]セクションを含め、結果のフィードのインジケーター除外ルールと共に <Item/> 要素を置くことができます。

Excluded]セクションは、次の形式になります:

<Excluded>

<Item>{RegExp}</Item>

...

</Excluded>

{RegExp} は正規表現です。

Excluded]セクションと[Item]要素は必須ではありません。

次の例は、除外ルールを示します:

<Excluded>

<Item>(\w{3}\s+\d+\s+[\d\:]+)\s</Item>

<Item>(https:\/\/badurl\.com)</Item>

</Excluded>

ページのトップに戻る