2024年セキュリティの現状:競争が激化するAIの活用
先進的なサイバーセキュリティ対策を推進する組織がどのように課題を克服し、AIを活用してイノベーションを推進し、デジタルレジリエンスを強化しているかをご確認ください。
本記事では、「Splunkでセキュリティダッシュボードを作成しよう!」シリーズにおける第4回として、取り込んだデータのフィールド抽出と正規化の方法について説明します。
第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)
第2回、第3回において取り込んだAzure signinログ、Juniper idpログ、RSSログを確認します。Search & Reporting appのサーチ画面において取り込んだインデックスとソースタイプを指定して検索します。
※ indexはデータ取り込み時に設定したindexを指定してください(インデックスに関する説明はこちら)。
※ Azure signinのデータはsourcetype=ms:aad:signin、juniper idpのデータはsourcetype=juniper:junos:idp、RSSのデータはsourcetype=syndicationをそれぞれ指定してください(ソースタイプに関する説明はこちら)。
> を開いてデータの詳細を確認します。
イベントの詳細と抽出しているフィールドの一覧を確認することができます。取り込んだ生データがjson形式であること、フィールド情報を識別できていることがわかります。
今回のAzure signinデータはjson形式であるため、キーと値のペアが簡単に識別できますが、他のデータ形式であっても、Splunkでは専用のadd-onを使用してデータを取り込むことで、ユーザーはフィールド抽出されたフィールドをそのまま利用できます。さらに、Add-onを使用すると、抽出されたフィールドを正規化(CIM化:Common Information Model)された状態で利用できるという利点もあります。
Azure signinログに焦点をあて、ログをCIMに対応させることの利点について見ていきます。
ログをCIMに対応させる背景は、異なるシステムやアプリケーションから収集された多種多様なフォーマットのログを一貫した形式に揃えることで、効率的なデータ分析や可視化を可能にするためです。CIM化(正規化)によって、統一されたフィールドや構造を持つログが生成され、検索や相関分析が容易になり、セキュリティ監視や運用効率が向上します。
Azure signinログでは統一されたフィールドとしてapp、user、action、src_ipフィールドが生成されていることがわかります。
では取り込んだデータがCIM化(正規化)されているかはどのように確認すればいいのでしょうか?
add-onを用いてデータを取り込んだ場合、そのadd-onがCIMに対応した設定になっているかについてsplunkbaseで確認することができます。対象のadd-onページにcompatibilityが記載されており、CIM version: xxxと記載があればCIMに対応していることがわかります。
また、取り込んだデータが実際に正規化できているかをSplunkのUIから確認することも可能です。CIMのappをダウンロード後、Search&Reporting app の [データセット] タブから確認できます。
Azureのsigninログは認証ログ(Authentication)のデータ類のため、Authenticationのデータモデルをクリックします。
時間範囲を調整してSplunkに取り込んでいるログを検索することで、認証関連の正規化されたフィールドが定義されているかどうかを確認できます。うまくCIM化されていれば定義されているフィールドに値が入ります。
ではここで、RSSのデータを確認してみます。
第3回においてIPAとpiyologのRSSフィードを取り込んでいましたが、それぞれのデータはsourceフィールドで識別できそうです。sourceフィールドの値には第3回のデータ追加において指定した「データ入力の名前」が入っていました。それぞれのログを確認してみます。
IPAのRSSログ
RSSのログについてもキーと値のペアで記載されているため、Splunkはログに記載された内容からフィールド情報を識別していることがわかります。しかし、このadd-onはCIMに対応していないため、フィールド名称にばらつきがあることがわかります。
Splunkでは、データを取り込んだ後に柔軟にフィールド定義を作成することが可能です。次のセクションでは、新しいフィールドの作成方法やフィールド名の変更方法について詳しく見ていきましょう。
RSSで取得したデータについて分析しやすくするために、フィールド名称の書き換え、フィールドの新規作成を行います。
RSSログにおいてauthors_0_nameというフィールドが存在しました。このフィールドをauthors_nameというフィールドとして名称を書き換えたいと思います。
はじめに、[設定] > [フィールド] を選択します。
フィールドの設定にはいくつかのタイプがあります。
それぞれのタイプについて、説明とユースケースは下記の通りです。
フィールド名称の書き換えを行いたいため、まずは、フィールドエイリアスの設定を追加します。
宛先App
設定名(任意)
フィールドエイリアス
オプション
設定した内容が反映されているかについて、検索して確認します。
1. 下記のクエリーを使って検索します。
index=* sourcetype=syndication
2. サーチ結果を確認します。
既存のフィールド名(authors_0_name)に加えて、新たに作成したフィールド(authors_name)が表示されていることを確認
次に、生ログの中から正規表現を用いてフィールド抽出するための設定を説明します。この方法を知っておくことで、カスタムログ(独自フォーマット)に対してもフィールド設定を定義することが可能です。
設定の方法は複数あります。
以降は2の方法について設定方法を紹介します。
はじめに、フィールド抽出を設定したい対象のデータを検索します。検索結果のイベントデータの詳細画面から [イベントアクション] > [フィールドの抽出] を選択します。
フィールドの抽出方法は [正規表現] と [区切り文字] の2種類から選択可能です。今回は正規表現を用いて、フィールドを抽出します。
フィールド抽出したい範囲をクリックで範囲選択します。そしてフィールド名を入力し、 [次へ] を選択します。
プレビュー画面で、抽出したい文字範囲が抽出できているか確認します。この例では、2つ目のイベントに赤い×印がついており、うまくフィールド抽出できていないことがわかります。
正しくフィールド抽出ができるように正規表現を修正する必要があります。
正規表現の作り方については説明を省きますが、フィールド抽出に失敗したイベントを分析し、文字のばらつき、予期しない区切り文字などをチェックします。正規表現をテストするサイトとして、regex101が有用です。このサイトを使い、複数のイベントでフィールドを正しく抽出することを確認します。
次に、正しい正規表現を入力するために [正規表現を表示] > [正規表現を編集] を選択します。正規表現を入力し、[プレビュー] を選択します。
プレビューにおいてフィールド抽出が成功していることを確認できたら [保存] を選択します。
最後に設定の保存名称を入力する画面が表示されるため、[完了] を選択することで設定が完了します。
先ほどと同様、検索をしてフィールド抽出ができているかを確認します。
無事新しいフィールド(page)が抽出されていたことがわかりました。
GUIにてプレビューを確認しながらフィールド抽出設定ができるため、独自フォーマットのカスタムログについてもわかりやすく、柔軟にフィールド抽出設定を行うことが可能です。
今回のブログでは、「フィールド抽出と正規化」をテーマに、Splunkに取り込んだデータの扱い方について学びました。Splunkでは、Add-onを使用することでフィールド抽出の手間を大幅に削減でき、さらに正規化まで行うことが可能です。また、カスタムログについても、ユーザーが柔軟にフィールド抽出条件を設定できることを確認しました。
このように、データを柔軟に扱うためのエコシステムや機能が充実しているため、データ分析がより簡単かつ効率的に行えます。
次回は、取り込んだログをSplunkの検索言語であるSPL(Search Processing Language)を用いて加工する方法について解説します。どうぞお楽しみに!
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。