Jupyter ノートブックと Microsoft Sentinel ハンティング機能

Jupyter Notebook を使用すると、高度なプログラミング性と膨大なライブラリ コレクションを組み合わせて、機械学習、視覚化、データ解析を行えます。 こうした特性から、Jupyter は、セキュリティの調査や検出にうってつけのツールとなっています。

Microsoft Sentinel の基盤となるのは、ハイ パフォーマンス クエリと動的スキーマを併用して大規模なデータ ボリュームまでスケーリングするデータ ストアです。 Azure portal とすべての Microsoft Sentinel ツールでは、このデータ ストアにアクセスする際に、共通の API が使用されます。 同じ API を Jupyter Notebook や Python などの外部ツールでも使用できます。

重要

Microsoft Sentinel は、Microsoft Defender ポータルの統合セキュリティ オペレーション プラットフォームのパブリック プレビューの一部として利用できます。 詳細については、Microsoft Defender ポータルの Microsoft Sentinel に関する記事を参照してください。

Jupyter Notebook を使用するタイミング

ポータルでは多くの一般的なタスクを実行できますが、Jupyter では、データに対して、より幅広い処理が可能です。

たとえば、次の目的にノートブックを使用します。

  • Microsoft Sentinel で追加設定なしでは提供されていない、一部の Python 機械学習機能などの分析を実行する
  • Microsoft Sentinel で追加設定なしでは提供されていない、カスタム タイムラインやプロセス ツリーなどのデータ視覚化を作成する
  • オンプレミスのデータ セットなど、Microsoft Sentinel の外部にあるデータ ソースを統合する

Jupyter のエクスペリエンスが Azure portal に統合されているため、簡単にノートブックを作成して実行し、データを解析できます。 Kqlmagic ライブラリは、Microsoft Sentinel から Kusto Query Language (KQL) クエリを取得して、ノートブック内で直接実行できるようにする接着剤の働きをします。

Microsoft Sentinel には、Microsoft のセキュリティ アナリストが開発した複数のノートブックがパッケージされています。

  • これらのノートブックの中には、特定のシナリオ向けに作成され、そのまま使用できるようになっているものがあります。
  • 一方、技術や機能を説明するサンプルとして作成されたものもあります。これをコピーまたは改造して、独自のノートブック内で使用することができます。

他のノートブックを Microsoft Sentinel GitHub リポジトリからインポートします。

Jupyter Notebook のしくみ

ノートブックは、次の 2 つのコンポーネントから構成されています。

  • ブラウザーベースのインターフェイス。クエリやコードを入力して実行すると、実行結果が表示されます。
  • "カーネル" 。コード自体を解析して実行する役割を果たします。

Microsoft Sentinel ノートブックのカーネルは、Azure 仮想マシン (VM) で実行されます。 VM インスタンスは、一度に多数のノートブックを実行することをサポートします。 ノートブックに複雑な機械学習モデルが含まれている場合は、より強力な仮想マシンを使用するためのライセンス オプションがいくつか存在します。

Python パッケージについて

Microsoft Sentinel ノートブックでは、pandasmatplotlibbokeh など、多くの一般的な Python ライブラリが使用されています。 次の分野に対応したその他の多数の Python パッケージから選択することもできます。

  • 視覚化とグラフィックス
  • データ処理と解析
  • 統計と数値計算
  • 機械学習とディープ ラーニング

ノートブックのセルに複雑なコードを繰り返し入力しなければならない状況を避けるために、ほとんどの Python ノートブックは "パッケージ" と呼ばれるサードパーティのライブラリに依存します。 ノートブックでパッケージを使用するには、パッケージをインストールしてインポートする必要があります。 Azure Machine Learning コンピューティングには、一般的なパッケージのほとんどがプレインストールされています。 パッケージ、またはパッケージの関連部分 (モジュール、ファイル、関数、クラスなど) をインポートしていることを確認します。

Microsoft Sentinel のノートブックでは、MSTICPy という名前の Python パッケージを使用します。これは、データの取得、分析、強化、視覚化のためのサイバーセキュリティ ツールのコレクションです。

MSTICPy ツールは、特に検出や調査用のノートブックの作成に役立つように設計されており、新機能の開発や改良が鋭意進められています。 詳細については、次を参照してください。

ノートブックを検索する

Microsoft Sentinel で、[ノートブック] を選択して、Microsoft Sentinel が提供するノートブックを表示します。 Azure Log Analytics での資格情報のスキャンガイド付き調査 - プロセス アラートなどのノートブック テンプレートを詳しく見て、脅威のハンティングと調査でのノートブックの使用についてさらに説明します。

Microsoft によってビルドされり、コミュニティから投稿されりしたノートブックについては、Microsoft Sentinel の GitHub リポジトリにアクセスしてください。 Microsoft Sentinel GitHub リポジトリでは、独自のノートブックを開発するときに使用できる役立つツール、図、コード サンプルとして、共有されているノートブックを使用します。

  • Sample-Notebooks ディレクトリにはデータと共に保存されるサンプル ノートブックが含まれており、目的の出力を表示するために使用できます。

  • HowTos ディレクトリには、既定の Python バージョンの設定や、ノートブックからの Microsoft Sentinel ブックマークの作成などの概念を説明するノートブックが含まれています。

Microsoft Sentinel ノートブックへのアクセスを管理する

Microsoft Sentinel で Jupyter のノートブックを使用するには、まず、ユーザーの役割に応じた適切なアクセス許可が必要です。

Microsoft Sentinel のノートブックは JupyterLab や Jupyter クラシックで使用できる一方で、Microsoft Sentinel では、ノートブックは Azure Machine Learning プラットフォーム上で実行されます。 Microsoft Sentinel でノートブックを実行するには、Microsoft Sentinel ワークスペースと Azure Machine Learning ワークスペースの両方に対する適切なアクセス権が必要です。

権限 説明
Microsoft Sentinel のアクセス許可 他の Microsoft Sentinel リソースと同様に、[Microsoft Sentinel Notebooks] ブレードでノートブックにアクセスするには、Microsoft Sentinel 閲覧者、Microsoft Sentinel レスポンダー、または Microsoft Sentinel 共同作成者のロールが必要です。

詳細については、「Microsoft Sentinel のアクセス許可」を参照してください。
Azure Machine Learning のアクセス許可 Azure Machine Learning ワークスペースは Azure リソースの 1 つです。 他の Azure リソースと同様に、新しい Azure Machine Learning ワークスペースが作成されるときに、既定のロールが提供されます。 ワークスペースにユーザーを追加し、これらの組み込みロールのいずれかに割り当てることができます。 詳細については、Azure Machine Learning の既定のロールに関するページと、「Azure 組み込みロール」を参照してください。

重要: ロールのアクセス権のスコープは、Azure の複数のレベルで指定できます。 たとえば、ワークスペースへの所有者アクセス権を持つユーザーであっても、そのワークスペースが含まれるリソース グループへの所有者アクセス権を持っていないことがあります。 詳細については、「Azure RBAC のしくみ」を参照してください。

Azure ML ワークスペースの所有者である場合は、ワークスペースのロールを追加および削除し、ロールをユーザーに割り当てることができます。 詳細については、次を参照してください。
- Azure portal
- PowerShell
- Azure CLI
- REST API
- Azure Resource Manager テンプレート
- Azure Machine Learning CLI

組み込みロールが十分ではない場合は、カスタム ロールを作成することもできます。 カスタム ロールには、そのワークスペース内のリソースの読み取り、書き込み、削除、コンピューティングのアクセス許可を与えることができます。 ロールは、特定のワークスペース レベル、特定のリソース グループ レベル、または特定のサブスクリプション レベルで使用できるようにすることができます。 詳細については、「カスタム ロールの作成」を参照してください。

ノートブックのフィードバックを送信する

フィードバック、機能の要求、バグ レポート、または既存のノートブックの改善点を送信します。 問題またはフォークを作成して、投稿をアップロードするには、Microsoft Sentinel GitHub リポジトリにアクセスしてください。

ブログ、動画、その他のリソースについては、以下を参照してください。