このトピックでは、特定のタイム フレームを指定するなど、ルール ステートメントに条件を追加する方法について説明します。ステートメントを作成するときには、ルールで何を検出するかを指定します。その状況が何回またはいつ発生したかなど、より詳細な規定を設定するために条件を追加します。
例
次の図はルール ビルダーの条件にステートメントが2つ追加されている例を示しています。ステートメントと条件の組み合わせにより、ルールの基準が構成されます。
このルールではログオンの試行が5回失敗し、その後に1回成功していることを検出しています。これは何者かがユーザー アカウントをハッキングしようとしている兆候である可能性があります。ルールの基準は次のとおりです。
- ログオンの失敗が5回。
- それらの失敗の後にログオンが1回成功。
- すべてのイベントが5分以内に発生する必要がある。
- ステップAとBは同じ宛先ユーザーアカウントで実行する必要があるため、ユーザー(user_dst)によりアラートをグループ化する。また、同じマシンからログインしたユーザーが1つのアカウントに複数回ログインしていないかを確認するためにマシン(device_class)でグループ化する。
- 厳格にパターンが一致する必要がある。つまり、パターンの途中でイベントが発生することなく完全に一致する必要があります。
手順
ルール ステートメントに条件を追加するには、次の手順を実行します。
- [条件]セクションでステートメントを選択し、をクリックします。
- [発生]フィールドをクリックし、ルールの基準を満たすために必要な発生回数の値を指定します。
-
ステートメントが複数になる場合は、[コネクタ]フィールドをクリックし、ステートメントを別のステートメントと組み合わせるための論理演算子を次から選択します。
- followed by
- not followed by
- AND
- OR
-
[相関づけ]は[not followed by]を選択した時にだけ適用されます。
前のステップで[not followed by]を選択した場合は、後に続いてはいけないメタ キーを入力します。
- 指定したタイム フレーム内にイベントが発生する必要がある場合は、[期間]フィールドに分数を入力します。
- パターンが厳格な一致または非厳格な一致のどちらに従う必要があるか選択します。厳密な一致の指定とは、パターンが指定したものと全く同じ順序で発生し、間に他のイベントは一切発生しないことを意味します。たとえば、5回のログイン失敗(F)の後にログインが1回成功(S)することをシーケンスで指定すると、このパターンはユーザーが次のシーケンスを実行した場合にのみ一致します。F,F,F,F,F,S。非厳格な一致を指定した場合、シーケンス内に他のイベントが発生しても、指定されたイベントがすべて発生していればルールはトリガーされます。たとえば、5回のログイン失敗(F)が発生する途中で、任意の回数のログイン成功(S)が発生し、その後で1回ログインが成功する、次のようなパターンが考えられます。F,S,F,S,F,S,F,S,F,S。この場合、途中でログインが成功しても、ルールはトリガーされます。
- ドロップダウン リストからグループ化するフィールドを選択します。[Group by]フィールドにより、受信イベントをグループ化して評価できます。たとえば、5回のログオン失敗の後に1回成功するパターンを検出するルールでは、同一ユーザーである必要があるため、user_dstが[Group By]のメタ キーになります。複数のメタ キーでグループ化することもできます。前述の例では、ユーザーとマシンでグループ化し、同じマシンからの同じユーザー アカウントによる複数回のログイン試行であることを確認します。 これを行うには、device_classとuser_dstでグループ化します。