<第5回>Splunkでセキュリティダッシュボードを作成しよう!SPLの書き方(その1)

Security 肥垣津 雄日

本記事では、「Splunkでセキュリティダッシュボードを作成しよう!」シリーズにおける第5回として、Splunkのサーチ言語であるSPL(Search Processing Language)の書き方について説明します。

第1回:全体概要(ゴールと内容の説明)
第2回:データの取り込み(その1)
第3回:データの取り込み(その2)
第4回:フィールド抽出と正規化
第5回:SPLの書き方(その1) ←今ここ
第6回:SPLの書き方(その2)
第7回:SPLの書き方(その3)
第8回:Dashboard Studioでダッシュボードを作成(その1)
第9回:Dashboard Studioでダッシュボードを作成(その2)
第10回:Dashboard Studioでダッシュボードを作成(その3)

1. 伝えたいこと

今回のブログでは、SPLの主要なコマンド10個を説明します。これらのコマンドはシリーズ後半で説明するdashboard作成で使用します。非常に多用されるコマンドのため、これらを覚えることで基本的なデータ分析や表示が可能です。個人的な意見ですが、SPLは人が使う言語に近く、わかりやすいため、すぐに扱えるようになると思っています。このブログを通じてSPLマスターになりましょう!

説明するSPL

テーブル表示(table)、表示するフィールドの整形(fields)、並び替え(sort)、変換(eval)、統計(timechart, stats)、フィールド抽出(rex)、付与(lookup)、地図表示(iplocation&geostats)

2. SPLの書き方(文法)を知る

SPLの概要

SPLの基本構造

サーチ

詳細については下記のオープンワークショップや参考情報をご確認ください。

  1. オープンワークショップ
    Splunk Japanでは定期的に無償のオープンワークショップを実施しています。その中で、Entry workshop、またはBasic workshopを受講することでSPLの基本について学ぶことが可能です。詳細はこちらのブログをご確認ください。

  2. 参考情報

統計処理と整形処理については次のセクションで詳しく説明します。

3. SPLのコマンドを知る

まずはじめに、データの整形処理をするコマンドを4つ説明します。

1. table

IPA重要セキュリティ情報

上記パネルの表示に使用しているSPLと結果は次のとおりです。
サーチ
サーチ内容の紹介

index=main source="syndication://IPA"      ← 対象データの検索
|eval time = strftime(_time, "%Y/%m/%d")   ← 日時を年/月/日の表記に整形 (後ほど紹介)
|table time title                          ← 表形式化
|sort - time                               ← 日付で並び替え (後ほど紹介)

tableコマンドの検索前と検索後の結果比較 tableコマンドの検索前と検索後の結果比較

2. fields

fieldsコマンドの検索前と検索後の結果比較

3. sort

fieldsコマンドの検索前と検索後の結果比較

4. eval

evalコマンドの検索前と検索後の結果比較

フィールドの値と文字列の連結

次に統計処理をするコマンドを2つ説明します。

5. stats

statsコマンドの検索前後の結果

6. timechart

timechartコマンドの検索前後の結果

以上、今回はデータ整形、統計処理をする6つのコマンドを説明しました。残りのコマンドについては、次回のブログにて、引き続き説明します。

関連記事

<第7回>Splunkでセキュリティダッシュボードを作成しよう!SPLの書き方(その3)
セキュリティ
11 分程度

<第7回>Splunkでセキュリティダッシュボードを作成しよう!SPLの書き方(その3)

全10回のブログを通して、Splunkを使ったセキュリティダッシュボード作成手順を説明します。シリーズの第7回目として、Splunkの検索言語SPL (Search Processing Language) について使い方を紹介します。
AppLockerルールを悪用した防御回避:詳細分析
セキュリティ
44 分程度

AppLockerルールを悪用した防御回避:詳細分析

Splunk脅威調査チームが「Azorult loader」(独自のAppLockerルールをインポートするペイロード)を解析して、その戦術と技法を明らかにします。このタイプの脅威を防御するためにお役立てください。
脅威ハンティングにstats、eventstats、streamstatsコマンドを活用する方法
セキュリティ
8 分程度

脅威ハンティングにstats、eventstats、streamstatsコマンドを活用する方法

statsコマンドは脅威ハンティングで非常に重要な役割を果たします。関連するeventstatsとstreamstatsも同様です。このブログ記事では、これらのコマンドについてご紹介します。