Jupyter Notebook を使用すると、高度なプログラミング性と膨大なライブラリ コレクションを組み合わせて、機械学習、視覚化、データ解析を行えます。 こうした特性から、Jupyter は、セキュリティの調査や検出にうってつけのツールとなっています。
Microsoft Sentinel の基盤となるのは、ハイ パフォーマンス クエリと動的スキーマを併用して大規模なデータ ボリュームまでスケーリングするデータ ストアです。 Azure portal とすべての Microsoft Sentinel ツールでは、このデータ ストアにアクセスする際に、共通の API が使用されます。 Jupyter Notebook や Python などの外部ツールでも、同じ API を使用できます。
重要
Microsoft Sentinel は、Microsoft Defender XDR または E5 ライセンスを持たないお客様を含め、Microsoft Defender ポータルで一般提供されています。 詳細については、 Microsoft Defender ポータルの Microsoft Sentinel を参照してください。
Jupyter Notebook を使用するタイミング
ポータルでは多くの一般的なタスクを実行できますが、Jupyter では、データに対して、より幅広い処理が可能です。
たとえば、次の目的にノートブックを使用します。
- 一部の Python 機械学習機能など、Microsoft Sentinel ですぐに使用できない分析を実行する
- カスタム タイムラインやプロセス ツリーなど、Microsoft Sentinel ですぐに使用できないデータ視覚化を作成する
- オンプレミスのデータ セットなど、Microsoft Sentinel の外部のデータ ソースを統合します。
Jupyter のエクスペリエンスが Azure portal に統合されているため、簡単にノートブックを作成して実行し、データを解析できます。 Kqlmagic ライブラリには、Microsoft Sentinel から Kusto クエリ言語 (KQL) クエリを取得し、ノートブック内で直接実行できる接着剤が用意されています。
Microsoft Sentinel には、Microsoft のセキュリティ アナリストが開発した複数のノートブックがパッケージされています。
- これらのノートブックの中には、特定のシナリオ向けに作成され、そのまま使用できるようになっているものがあります。
- 一方、技術や機能を説明するサンプルとして作成されたものもあります。これをコピーまたは改造して、独自のノートブック内で使用することができます。
Microsoft Sentinel GitHub リポジトリから他のノートブックをインポートします。
Jupyter Notebook のしくみ
ノートブックは、次の 2 つのコンポーネントから構成されています。
- クエリとコードを入力して実行し、実行の結果が表示されるブラウザー ベースのインターフェイス。
- コード自体の解析と実行を担当するカーネル。
Microsoft Sentinel ノートブックのカーネルは、Azure 仮想マシン (VM) で実行されます。 VM インスタンスは、一度に多数のノートブックを実行することをサポートします。 ノートブックに複雑な機械学習モデルが含まれている場合は、より強力な仮想マシンを使用するためのライセンス オプションがいくつか存在します。
Python パッケージについて
Microsoft Sentinel ノートブックでは、 pandas、 matplotlib、 bokeh などの多くの一般的な Python ライブラリが使用されています。 次の分野に対応したその他の多数の Python パッケージから選択することもできます。
- 視覚化とグラフィックス
- データ処理と解析
- 統計と数値計算
- 機械学習とディープ ラーニング
複雑で反復的なコードをノートブックセルに入力または貼り付ける必要を回避するために、ほとんどの Python ノートブックは パッケージと呼ばれるサードパーティ製ライブラリに依存しています。 ノートブックでパッケージを使用するには、パッケージをインストールしてインポートする必要があります。 Azure Machine Learning コンピューティングには、一般的なパッケージのほとんどがプレインストールされています。 パッケージ、またはパッケージの関連部分 (モジュール、ファイル、関数、クラスなど) をインポートしていることを確認します。
Microsoft Sentinel ノートブックでは、 MSTICPy と呼ばれる Python パッケージを使用します。これは、データの取得、分析、エンリッチメント、視覚化のためのサイバーセキュリティ ツールのコレクションです。
MSTICPy ツールは、特に検出や調査用のノートブックの作成に役立つように設計されており、新機能の開発や改良が鋭意進められています。 詳細については、次を参照してください。
- MSTIC Jupyter と Python Security Tools のドキュメント
- Microsoft Sentinel で Jupyter Notebook と MSTICPy の使用を開始する
- Microsoft Sentinel での Jupyter Notebook と 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 のノートブックを使用するには、まず、ユーザーの役割に応じた適切なアクセス許可が必要です。
JupyterLab または Jupyter クラシックで Microsoft Sentinel ノートブックを実行できますが、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 リポジトリに移動して問題を作成するか、投稿をフォークしてアップロードします。
関連するコンテンツ
- Jupyter Notebook を使用してセキュリティ上の脅威を検出する
- Microsoft Sentinel で Jupyter Notebook と MSTICPy の使用を開始する
- 脅威を事前に検出する
- Microsoft Sentinel を使用したハンティング中のデータの追跡
ブログ、動画、その他のリソースについては、以下を参照してください。