レポート:集計クエリー

Document created by RSA Information Design and Development on Feb 17, 2017
Version 1Show Document
  • View in full screen mode
  

このトピックでは、NWDB集計クエリーに関するシナリオについて説明します。集計クエリーを使用するには、NWDBのルール構文について理解している必要があります。詳細は、次のトピックを参照してください:NWDBルールの構文.

サポートされる集計関数

次の表に、サポートされる集計関数を示します。

                                                         
集計関数説明入力データ タイプ出力データ タイプ
countメタ値を返します。その中には、重複値も含まれます。数値数値
countdistinct固有値または一意値の合計数を返します。数値数値
distinctすべての一意値を返します。任意任意
first最初に出現するメタ値を返します。任意入力と同じ
last最後に出現するメタ値を返します。任意入力と同じ
sumグループ内のメタキーの、NULL以外のすべての値の合計を返します。数値数値
avg(平均)グループ内のメタキーの、NULL以外のすべての値の平均値を返します。数値数値
min(最小)各グループ内のメタキーの、すべての値の最小を返します。この値は、[Order By]フィールドに基づきます。任意任意
max(最大)各グループ内のメタキーの、すべての値の最大を返します。最大値は、[Order By]フィールドによって返される値です。任意任意
lengthメタキーの値の長さを返します。これは、SQLの「スカラー関数」と呼ばれます。任意数値

各関数のクエリーと結果の例

Count

この関数は、指定されたメタ キーの値の数を返します。NULL値は含まれませんが、重複値は含まれます。

次の図は、宛先IPおよびそのソースIPに対してcount関数を使用したクエリーの例を示しています。

Min_threshold.png

次の図は、前述のクエリーの結果を示しています。

Min_test_rule.png

この例では、一意のip.src(ソースIP)ごとに、ip.dst(宛先IP)値の合計数またはカウントを返しています。その中には、重複値も含まれます。

注:RSA Security Analyticsがバージョン10.5以降の環境で、いずれかのSecurity Analytics Coreデバイスがバージョン10.3または10.4の場合には、いくつかの集計関数で予期しないエラーが表示される場合があります。ただし、sum()やcount()などの集計関数はバージョン10.4でサポートされています。

countdistinct

countdistinct関数は、メタキーの一意値または固有値のカウントを返します。言い換えると、countdistinct関数を使用して、指定されたメタキーの固有値の数を取得できます。

次の図は、IPソース(ip.src)およびデータ サイズ(size)とともにcountdistinct関数を使用するクエリーの例を示しています。

Min_threshold.png

次の図は、前述のクエリーの結果を示しています。

Min_limit.png

ここで、このページには、それぞれのIPソースからの固有のファイル名の合計数またはカウントとともに、データ サイズが表示されています。count関数とは異なり、countdistinctでは、結果から重複値が除外されます。

distinct

この関数は、メタキーのすべての一意値または固有値を返します。

次の図は、さまざまなソースIPと宛先IP(ip.dst)の間で、メールの取得に使用されるdistinct関数のクエリーの例を示しています。

Min_threshold.png

次の図は、前述のクエリーの結果を示しています。

Min_test_rule.png

ここで、このページには、それぞれのIPソースと宛先の間で交換された一意のメールのリストが表示されています。

first

この関数は、指定されたメタキーの順序づけられたシーケンスから最初の値を取得します。

次の図は、最初の宛先市町村名を取得するfirst関数のクエリー例を示しています。

Min_threshold.png

次の図は、前述のクエリーの結果を示しています。

Min_limit.png

ここで、このページには、対応するソースIPと宛先IPの最初の宛先市町村名が表示されています。first関数を使用して、検索結果から特定の値を分離できます。

last

この関数は、指定されたメタキーの順序づけられたシーケンスから最後の値を取得します。

次の図は、最新のユーザー名を取得するlast関数のクエリー例を示しています。

Min_threshold.png

次の図は、前述のクエリーの結果を示しています。

Min_test_rule.png

ここで、このページには、ソースIPと宛先IPの間で交換された最新または最後のユーザー名の氏名のリストが表示されます。

sum

この関数は、グループ内のメタキーのNULL以外の値の合計を返します。

次の図は、パケットに対して使用されるsum関数のクエリーを示しています。

Min_threshold.png

次の図は、前述のクエリーの結果を示しています。

Min_test_rule.png

ここで、このページには、それぞれの宛先の国について、データのサイズとともに、パケットの合計または総計が表示されます。

avg

平均関数は、グループ内のメタのNULL以外の値の平均を返します。

次の図は、ソースIPと宛先IPの間で伝送される平均データ サイズに関するクエリー例を示しています。

Min_threshold.png

次の図は、前述のクエリーの結果を示しています。

Min_test_rule.png

ここで、このページには、ソースIPと宛先IPの間で交換される平均データ サイズが表示されます。

maxとmin

max関数とmin関数は、それぞれ指定されたメタ値の最大と最小を提供します。

次の図は、ソースIPと宛先の国に関して、さまざまなデータ サイズに対するmax関数とmin関数のクエリー例を示しています。

Max_threshold.png

次の図は、前述のクエリーの結果を示しています。

Min_test_rule.png

ここで、このページには、ソースIPおよび宛先の国とともに、[max(size)]列と[min(size)]列が示されています。[max(size)]列には、交換された最大データ サイズが示され、[min(size)]列には交換された最小データ サイズが示されています。

集計メタ結果をMax_thresholdでフィルタ

閾値ルール アクションを使用して、関数の結果をさらにフィルタできます。


Then]フィールドでmax関数とともに使用されるmax_thresholdのクエリーの例:
max_threshold(5000,max(size))

次の図は、前述のクエリーに対する[ビルド ルール]画面を示しています。

Max_threshold.png

ここで、max_thresholdは、上限が5000のデータ サイズに適用されています。次の図に結果を示します。

Min_limit.png

ここで、結果のページには、クエリー内の最大閾値である5000より小さいデータ サイズが、それに対応するIPソースおよびそのディレクトリとともに、[max(size)]列に表示されます。

集計メタ結果をMin_thresholdでフィルター

同様に、min_thresholdを使用して関数の結果をフィルタします。この説明には、max_thresholdと同様のシナリオが考えられます。


Then]フィールドでmax関数とともに使用されるmin_thresholdのクエリーは、
min_threshold(5000,max(size))

次の図は、前述のクエリーに対する[ビルド ルール]画面を示しています。

Max_threshold.png

ここで、min_thresholdは、下限が5000のデータ サイズに適用されています。次の図に結果を示します。

Min_test_rule.png

ここで、結果のページには、クエリー内の最小閾値である5000より大きいデータ サイズが、それに対応するIPソースおよびそのディレクトリとともに、[max(size)]列に表示されます。

注:Max_thresholdおよびMin_thresholdルール アクションは、すべての関数に対して共通であり、[Then]フィールド内で別のクエリーとともに使用して、それぞれの結果を取得することができます。

length

この関数は、メタ値の長さを返します。言い換えれば、length関数は、実際の値を格納するのに使用されるバイト数を返します。
たとえば、「Analytics」の値の場合、長さとして9が返されます。同様に、ip.srcのIPv4の場合、4(4バイトを表す)が返されます。

次の図は、ユーザー名に対して使用されるlength関数のクエリー例を示しています。

Max_threshold.png

次の図は、前述のクエリーの結果を示しています。

Max_limit.png

ここで、このページには、ユーザー アカウントおよびそのソースIPに関連づけられている長さが表示されています。

追加情報

セッション内で複数の値を持つメタに対して[Group By]で集計(たとえば、sum(size))のクエリーを行う場合、複数の値を持つセッションは、そのメタの値ごとに集計計算の対象となります。

Alias.hostに対して[Group By]でcount集計関数のクエリーを行うとき、セッション内で列に複数の値がある場合には、重複する値を含めて、値ごとにセッションがカウントされます。

以下の表を参照してください。

                           
sessionidalias.hostip.srcサイズ
1host-a、host-b、host-aa10
2host-b、host-c、host-a、host-cc20
3host-b、host-c、host-db30
4host-c、host-aa40

この表では、host-ahost-cのalias.hostが、単一セッションに重複値として示されています。次のクエリーを考えてみましょう。

Select : alias.host, count(ip.src), sum(size)
Group By : alias.host

ここで、host-ahost-cは3つのセッションに存在し、別々の2つのセッションで重複しています。しかし、出力は次に示すようになります。

                      
alias.hostcount(Ip.src)sum(size)
host-a480
host-b360
host-c4110
host-d130

出力テーブルでは、host-ahost-cのcountが4と示されています。これは、各alias.host値に対して、セッション全体が対象となるためです。同様に、sum(size)を計算するには、alias.host値ごとに同じセッションが対象となります。

You are here
Table of Contents > Reportsモジュールの参考資料 > ルールに関する参考情報 > 集計クエリー

Attachments

    Outcomes