Decoder:エントロピーParserの有効化と構成

Document created by RSA Information Design and Development on Apr 19, 2018Last modified by RSA Information Design and Development on Apr 29, 2019
Version 2Show Document
  • View in full screen mode
 

NetWitness Platform 11.0以降では、管理者は、エントロピーParserと呼ばれるNetWitnessネイティブのParserを使用するようDecoderを構成できます。エントロピーParserを有効にすると、アナリストは、他のトラフィックが混合するものの、通常のプロトコルの動作に従っていないチャネルを把握できます。これにより、通常の環境のトラフィックのベースラインに準拠しておらず、調査に値するチャネルの特定に役立ちます。

このParserは、ネイティブのNetWitness Platform Parserによって収集された統計情報に基づいてメタ キーを作成します。これは、多くのネットワーク トラフィックが発生しているチャネルの動作を識別するために役立ちます。Parserを最初に有効にすると、アナリストは、バイトの頻度と通常のクライアントおよびサーバ ペイロードを理解するために、収集されたセッションに見られる別個のチャネルの全体的な動作に詳しくなる必要があります。正常な動作を把握すると、アナリストはメタ キーを使用して、予想と一致しない動作を確認できます。

デフォルトでは、エントロピーParserは10個のメタ キーを追加しますが、これによってDecoderの負荷が大幅に増加することはなく、この特殊な状況に役立ちます。Parserはデフォルトで無効化されています。

パケットのペイロード バイトの解析に基づく興味深いセッションの確認に関心がある場合は、インデックス作成を有効にします。デフォルトでは、インデックス作成を簡単にするために、entropy.reqおよびentropy.resの通常のFloat32値に10kを乗算してUInt16に保存します(したがって0~10,000の4桁の精度が得られます)。

ただし、Decoder言語のentropy.*フィールドをFloat32に定義する場合、Decoderはこれを0.0~1.0の範囲の浮動小数として格納します。これをFloat32として保持することにした場合、すべての環境での言語の変更を慎重に行ってください。

精度の小さな変更により一意なカウントが増加するため、RSAはFloat32としてのインデックス作成を推奨していません。

デフォルトでは、次の新しいメタ キーがエントロピーParserによって生成されます。

  • entropy.reqおよびentropy.res:これらのメタ キーは、Shannonエントロピー式を使ってエントロピーを収集します。その結果、浮動小数点値が得られます。0~1.000の浮動小数点値に10000を乗算し、NetWitness PlatformにUInt 16(0~10000の符号なし整数)として書き込まれます。
  • mcb.reqおよびmcb.res:最も一般的なバイトは、両端(0~255)で最も多く出現するバイトです。
  • mcbc.reqおよびmcbc.res:最も一般的なバイト数は、最も一般的なバイト(上記)がセッション ストリームに出現する回数です。
  • ubc.reqおよびubc.res:- 一意のバイト数は、ストリームごとに出現する一意のバイト数です。256は、0~255の間で少なくとも1回出現するすべてのバイト値を意味します。

DecoderでエントロピーParserを有効化して構成するには、次の手順に従います。

  1. RSA NetWitnessにログインし、NetWitness Platformメニューで[管理]>[サービス]を選択します。
  2. [サービス]ビューで、構成するDecoderを選択し、Actions iconの[表示]>[
    構成]を選択します。選択したDecoderのサービスの[構成]ビューが表示されます。
  3. エントロピーParserはデフォルトで無効化されています。[構成]の下のドロップダウン リストをクリックして、[Enabled]を選択します。一部のメタ キーを無効化する場合は、ドロップダウン リストをクリックし、メタ キーの隣にある[Disabled]を選択します。
    Services configuration view for the Decoder with Entropy parser highlighted.
  4. 適用]をクリックします。
    エントロピーParserが有効化され、Concentratorのカスタム インデックス ファイルで設定されているとおりに新しいメタ キーの作成を開始します。
  5. [サービス]の[構成]ビューで、このDecoderからトラフィックを集計するConcentratorを選択します。[表示]>[ファイル]を選択し、Concentratorのカスタム インデックス ファイルを開きます。エントロピーParserのメタ キーを検索して、これらが含まれていてコメント解除されているかどうか確認します。
    デフォルトでは、キーはコメント アウトされているため、有効化されていません。一部の言語を有効にするには、管理者はインデックス ファイルの一部をindex-concentrator-custom.xmlにコピーして、各メタ キーのkey descriptionの行のコメントを解除する必要があります。エントロピーParser キーおよび手順を含むカスタム インデックス ファイルの例を次に示します。
  6. エントロピー メタ キーが有効になっていると、アナリストの調査で使用できるますが、デフォルトでは非表示になっています。メタ キーを[値の調査]ビューで表示するには、非表示ではなくオープンな状態になるように[デフォルトのメタ キー]ダイアログでデフォルトのメタ キーを編集します。これらのメタ キーは、その他のメタ キーと同様に管理できます。
    This is an example of the Manage Default Meta Keys dialog.

 

Concentratorのカスタム インデックス ファイルでのエントロピーParserの構成

管理者がカスタム インデックス ファイルにコピーする必要があるConcentratorのインデックス ファイル行の抜粋を次に示します。コメントは、Parserの構成に関するガイドラインを提供します。

<!-- This section is commented out because it's only used by the Entropy parser which is disabled by default. To enable this part of the language, copy to index-concentrator-custom.xml and uncomment the keys. HOWEVER, take note that depending on how the Entropy parser is configured, the entropy.req and entropy.res format might be a Float32 instead of a UInt16. So make sure to change to the correct type if necessary.-->

<!-- Entropy parser meta - enable indexing if you have interest in exploring this for interesting sessions based on payload byte analysis of the packets. By default, to make indexing easier, the normal Float32 value for entropy.req and entropy.res is multiplied by 10k and stored in a UInt16 (thus giving 4 digits of precision, 0 to 10,000). However, if you define the entropy.* fields in the Decoder language to be Float32, it will store it as a float with a range of 0.0 to 1.0. Take care to change the language everywhere if you decide to keep it as a Float32. We do not recommend indexing as a Float32 because of the high unique counts due to minute changes in precision. -->

<!--

<key description="Entropy Request (Client)" format="UInt16" level="IndexNone" name="entropy.req" valueMax="10001"/>

<key description="Entropy Response (Server)" format="UInt16" level="IndexNone" name="entropy.res" valueMax="10001"/>

-->

<!-- The most common byte is simply which byte for each side (0 thru 255) was seen the most -->

<!--

<key description="Most Common Byte Request" format="UInt8" level="IndexNone" name="mcb.req"/>

<key description="Most Common Byte Response" format="UInt8" level="IndexNone" name="mcb.res"/>

-->

<!-- The most common byte count is the number of times the most common byte (above) was seen in the session streams -->

<!--

<key description="Most Common Byte Count Request" format="UInt32" level="IndexNone" name="mcbc.req" valueMax="500000"/>

<key description="Most Common Byte Count Response" format="UInt32" level="IndexNone" name="mcbc.res" valueMax="500000"/>

-->

<!-- Unique byte count is the number of unique bytes seen in each stream. 256 would mean all byte values of 0 thru 255 were seen at least once -->

<!--

<key description="Unique Byte Count Request" format="UInt16" level="IndexNone" name="ubc.req"/>

<key description="Unique Byte Count Response" format="UInt16" level="IndexNone" name="ubc.res"/>

-->

<!-- The payload size metrics are the payload sizes of each session side at the time of parsing. However, in order to keep indexing from having high unique counts (bad for performance), the two payload size metas below are indexed in buckets. -->

<!--

<key description="Payload Size Request" format="UInt32" level="IndexNone" bucket="true" name="payload.req" valueMax="500000"/>

<key description="Payload Size Response" format="UInt32" level="IndexNone" bucket="true" name="payload.res" valueMax="500000"/>

-->

 
You are here
Table of Contents > FeedおよびParserの構成 > エントロピーParserの有効化と構成

Attachments

    Outcomes