Decoder:Snort Parser

Document created by RSA Information Design and Development Employee on Apr 29, 2019
Version 1Show Document
  • View in full screen mode
 

Snort®ルールおよび設定は、InvestigationおよびDecoder用のparsers/snortディレクトリに追加されます。Decoderは、Snortルールのペイロード検出機能をサポートしています。ルール ファイルには拡張子.rulesが必要であり、設定ファイルには拡張子.confが必要です。SnortルールのDecoderでの実装では、Snortルール内に定義されているコンテンツ文字列をトークンとして使用することが中心になります。トークンが一致すると、ルール ヘッダーと追加のルールのオプションを評価できます。現在、コンテンツを定義しないルール(contentまたはuricontentのルール オプション)はサポートされていません。

設定

設定ファイルは、ルールの前にロードされます。

                                           

設定オプション

説明

変数定義

説明

ipvar リスト、CIDR、否定など、IPアドレス変数を定義するための完全な言語がサポートされています。
portvar リスト、範囲、否定など、IPアドレス変数を定義するための完全な言語がサポートされています。
var サポートされていません。ipvarまたはportvarを使用します。

アクション定義

説明

ruletype 追加のruletypesの定義がサポートされています。ただし、alertの基本ルール タイプを持つルールのみがサポートされています。

全般的な設定

説明

nopcre この設定オプションは、pcreを含むすべてのルールを無効化します。

ルール

Snortルールは、PCSのロード時に解析され、ロードされます(Investigatorの任意のインポートまたは収集、Decoderでの初期の収集の開始とParserのリロード)。

  • 正しく解析されないルールは無視されます。
  • 有効なSnortルールは正常に解析されるはずですが、Decoderによってサポートされておよず、完全に解析されないルール オプションもあります。
                                   

セクション

説明

ヘッダーヘッダー条件は、ルールがストリームの最初のトークン コールバックを受信したときに評価されます。ヘッダーはストリームごとに1回評価され、条件が満たされない場合、特定のストリームに対するルールのそれ以上の評価は行われません。
アクションルールを有効と見なすには、指定されているアクションまたはルールを定義する必要があります(ネイティブのSnort アクションのいずれか、またはruletypeステートメントを使用した設定での定義)。Decoderは、アラート アクションを含んでいるルールのみを使用します。
プロトコルDecoderは、現在のSnortプロトコル キーワード(tcpudpicmpip)をサポートしています。
IPアドレスリスト、CIDR、否定など、IPアドレスを定義するための完全な言語がサポートされています。
ポート番号リスト、範囲、否定など、ポート番号を定義するための完全な言語がサポートされています。
方向演算子方向演算子は、from-to(->)と双方向(<>)の値をサポートしています。 to-from(<-)の値は無効であり、ルールの読み込みは失敗します。

一般オプション

Decoderは、次の一般的なSnortルール オプションを使用します。

                           

オプション

説明

msg

ルールが一致する場合、msgの値はルールの優先度に応じて、risk.inforisk.warning risk.suspiciousのいずれかのメタとして追加されます。

sid ルールが一致する場合、sidの値はメタとして追加されます。

classtype

ルールが一致する場合、classtypeの名前はthreat.catメタとして追加されます。

priority ルールが一致し、priorityオプションが含まれている場合は、msgの値に関連付けられているリスク メタのタイプを判断するためにそれが使用されます。

ペイロード オプション

Decoderは、次のペイロード ルール オプションをサポートしています。

                                               

オプション

説明

content contentオプションは、Decoderが一致に使用するトークンを作成します。3バイト以上のトークンのみが受け入れられます。また、ルールは単一のパケットだけではなく、再構築されたストリームのペイロード全体で評価されるという点において、DecoderはSnortとは異なる点に注意することも重要です。これにより、特に位置オプションを考慮する場合に、SnortとDecoderではルールの一致結果が異なることがあります。

nocase

現時点ではサポートされていません。このオプションは無視され、大文字と小文字を区別する一致が行われます。

depth このオプションは、ストリームの先頭からのトークンの距離に適用されます。トークンの位置がこの値より大きい場合は、一致していません。

offset

このオプションは、ストリームの先頭からのトークンの距離に適用されます。トークンの位置がこの値より小さい場合は、一致していません。

distance このオプションは、以前のトークンの一致の終わりからのトークンの距離に適用されます。相対するトークンの位置がこの値より小さい場合は、一致していません。

within

このオプションは、以前のトークンの一致の終わりからのトークンの距離に適用されます。相対するトークンの位置がこの値より大きい場合は、一致していません。

http_uri ヒットしたトークンは、HTTP Parserによって示されるように、http_uri内に収まることが確認されます。URIの正規化は適用されません。

uricontent

URIの正規化は適用されていません。それ以外については、これはhttp_uri修飾子を持つcontentオプションと同じです。

pcre 現在、PCREはURIにのみ適用され、Uオプションを指定する必要があります。

ペイロード以外のオプション

                                                       

オプション

説明

flow ルールがクライアントまたはサーバ ストリームにのみ適用されていることを確認します。

to_client

Decoderがサーバとして定義したストリームでのみ一致するようにルールを制限します。

from_server to_clientと同義語です。

from_client

Decoderがクライアントとして定義したストリームでのみ一致するようにルールを制限します。

flowbits

セッションごとに状態を維持し、各セッションの終了時にリセットされます。

set ルールが一致すると、指定されているflowbitが設定されます。

unset

ルールが一致すると、指定されているflowbitがクリアされます。

toggle ルールが一致すると、指定されているflowbitが反転されます。

isset

ルールを一致させるには、ルールの評価時に、指定されているflowbit状態を設定する必要があります。

isnotset ルールを一致させるには、ルールの評価時に、指定されているflowbit状態を設定しないようにする必要があります。

noalert

一致する場合、ルールがメタ データを生成できないようにします。

Previous Topic:Lua Parser
Next Topic:Search Parser
You are here
Table of Contents > FeedおよびParserの参考事例 > Snort Parser

Attachments

    Outcomes