この記事では、Microsoft Sentinelで Jupyter ノートブックを実行するための基本的な構成を設定し、単純なクエリを実行する例を示す、Microsoft Sentinel ML Notebook 用のはじめに ガイドを実行する方法について説明します。
Microsoft Sentinel ML Notebooks ノートブックのはじめに ガイドでは、Microsoft Sentinel ノートブック内のセキュリティ調査と脅威ハンティングを強化するために設計された強力な Python ライブラリである MSTICPy を使用しています。 データ エンリッチメント、視覚化、異常検出、自動クエリ用の組み込みツールが用意されており、アナリストは広範なカスタム コーディングを行わずにワークフローを合理化できます。
詳細については、「 ノートブックを使用して調査を強化する 」および「 Jupyter Notebook を使用してセキュリティ上の脅威を検出する」を参照してください。
重要
2027 年 3 月 31 日以降、Microsoft SentinelはAzure portalでサポートされなくなり、Microsoft Defender ポータルでのみ使用できるようになります。 Azure portalでMicrosoft Sentinelを使用しているすべてのお客様は、Defender ポータルにリダイレクトされ、Defender ポータルでのみMicrosoft Sentinelを使用します。
Azure portalでMicrosoft Sentinelを引き続き使用している場合は、スムーズな移行を確保し、Microsoft Defenderによって提供される統合セキュリティ操作エクスペリエンスを最大限に活用するために、Defender ポータルへの移行の計画を開始することをお勧めします。
前提条件
開始する前に、必要なアクセス許可とリソースがあることを確認してください。
| 前提条件 | 説明 |
|---|---|
| アクセス許可 | Microsoft Sentinelでノートブックを使用するには、必要なアクセス許可があることを確認します。 詳細については、「Microsoft Sentinel ノートブックへのアクセスを管理する」を参照してください。 |
| Python | この記事の手順を実行するには、Python 3.6 以降が必要です。 Azure Machine Learning では、Python 3.8 カーネル (推奨) または Python 3.6 カーネルのいずれかを使用できます。 この記事で説明されているノートブックを別の Jupyter 環境で使用する場合は、Python 3.6 以降をサポートする任意のカーネルを使用できます。 Microsoft Sentinel および Azure Machine Learning (ML) の外部で MSTICPy ノートブックを使用するには、Python 環境も構成する必要があります。 必要なパッケージの多くを含む Anaconda ディストリビューションを使用して Python 3.6 以降をインストールします。 |
| MaxMind GeoLite2 | このノートブックでは、IP アドレスに MaxMind GeoLite2 位置情報検索サービスを使用します。 MaxMind GeoLite2 サービスを使用するには、ライセンス キーが必要です。 無料アカウントとキーにサインアップするには、 Maxmind サインアップ ページを参照してください。 |
| Virustotal | このノートブックでは、脅威インテリジェンス ソースとして VirusTotal (VT) を使用します。 VirusTotal 脅威インテリジェンスの参照を使用するには、VirusTotal アカウントと API キーが必要です。 VT エンタープライズ キーを使用している場合は、msticpyconfig.yaml ファイルの代わりにAzure Key Vaultを格納します。 詳細については、MSTICPY ドキュメントの「シークレットをKey Vaultシークレットとして指定する」を参照してください。 Azure Key Vaultを今すぐ設定しない場合は、Key Vaultストレージを設定できるようになるまで、無料アカウントにサインアップして使用してください。 |
はじめに ガイド ノートブックをインストールして実行する
この手順では、Microsoft Sentinelを使用してノートブックを起動する方法について説明します。
Defender ポータルでMicrosoft Sentinelする場合は、[Microsoft Sentinel>Threat management>Notebooks] を選択します。 Azure portalでMicrosoft Sentinelする場合は、[脅威の管理] で [ノートブック] を選択します。
[テンプレート] タブで、[Microsoft Sentinel ML Notebook のはじめに ガイド] を選択します。
[ テンプレートから作成] を選択します。
名前を編集し、必要に応じて Azure Machine Learning ワークスペースを選択します。
[保存] を選択して、Azure Machine Learning ワークスペースに保存します。
[ ノートブックの起動] を選択してノートブックを実行します。 ノートブックには、一連のセルが含まれています。
- Markdown セルには、ノートブックを使用するための手順を含むテキストとグラフィックスが含まれています
- コード セルには、ノートブック関数を実行する実行可能コードが含まれています
ページの上部にある [コンピューティング] を選択します。
引き続き、ノートブックの指示に従って、マークダウン セルを読み取り、コード セルを順番に実行します。 セルをスキップしたり、順序を誤って実行したりすると、ノートブックの後半でエラーが発生する可能性があります。
実行されている関数によっては、セル内のコードがすぐに実行される場合や、完了するまでに時間がかかる場合があります。 セルを実行すると、再生ボタンが読み込みスピナーに変わり、セルの下部に経過時間と共に状態が表示されます。
コード セルを初めて実行するときは、コンピューティング設定によっては、セッションを開始するのに数分かかる場合があります。 ノートブックでコード セルを実行する準備が整うと、[ 準備 完了] が表示されます。 例:
Microsoft Sentinel ML Notebooks ノートブックのはじめに ガイドには、次のアクティビティのセクションが含まれています。
| 名前 | 説明 |
|---|---|
| はじめに | ノートブックの基本について説明し、ノートブックのしくみを確認するために実行できるサンプル コードを提供します。 |
| ノートブックと MSTICPy の初期化 | 環境でノートブックの残りの部分を実行する準備を整えるのに役立ちます。 ノートブックを初期化するときに、まだ何も構成していないため、不足している設定に関する構成警告が予想されます。 |
| Microsoft Sentinelからのデータのクエリ | Microsoft Sentinel設定の確認、構成、テストに役立ちます。 このセクションのコードを使用して、接続をテストするサンプル クエリをMicrosoft Sentinelして実行する認証を行います。 |
| 外部データ プロバイダーの構成とテスト (VirusTotal および Maxmind GeoLite2) | サンプルの脅威インテリジェンス サービスとして VirusTotal と MaxMind GeoLite2 の設定をサンプル geo 位置情報検索サービスとして構成するのに役立ちます。 このセクションのコードを使用して、これらのデータ プロバイダーに対してサンプル クエリを実行してテストします。 |
Microsoft Sentinel ML Notebook のはじめに ガイドのコードでは、ノートブック環境を構成するための一連のタブがある MpConfigEdit ツールが起動します。 MpConfigEdit ツールで変更を行う場合は、続行する前に変更を保存してください。 ノートブックの設定は msticpyconfig.yaml ファイルに格納され、ワークスペースの初期詳細が自動的に設定されます。
各設定と msticpyconfig.yaml ファイルを含め、プロセスを完全に理解できるように、マークダウン セルを注意深く読んでください。 次の手順、追加のリソース、Azure Sentinel Notebooks Wiki からのよく寄せられる質問は、ノートブックの末尾からリンクされます。
クエリをカスタマイズする (省略可能)
Microsoft Sentinel ML Notebooks ノートブックのはじめに ガイドには、ノートブックについて学習するときに使用できるサンプル クエリが用意されています。 組み込みのクエリをカスタマイズするには、クエリ ロジックを追加するか、 exec_query 関数を使用して完全なクエリを実行します。 たとえば、ほとんどの組み込みクエリでは、フィルターやその他の操作をクエリに追加するために使用できる add_query_items パラメーターがサポートされています。
次のコード セルを実行して、アラートの数をアラート名で要約したデータ フレームを追加します。
from datetime import datetime, timedelta qry_prov.SecurityAlert.list_alerts( start=datetime.utcnow() - timedelta(28), end=datetime.utcnow(), add_query_items="| summarize NumAlerts=count() by AlertName" )完全なKusto 照会言語 (KQL) クエリ文字列をクエリ プロバイダーに渡します。 クエリは接続されたワークスペースに対して実行され、データは panda DataFrame として返されます。 実行:
# Define your query test_query = """ OfficeActivity | where TimeGenerated > ago(1d) | take 10 """ # Pass the query to your QueryProvider office_events_df = qry_prov.exec_query(test_query) display(office_events_df.head())
詳細については、以下を参照してください:
他のノートブックにガイダンスを適用する
この記事の手順では、Microsoft Sentinelを使用して、Azure Machine Learning ワークスペースで ml Notebooks ノートブックをMicrosoft Sentinelするためのはじめに ガイドを実行する方法について説明します。 また、この記事は、同様の手順を実行して、ローカルを含む他の環境でノートブックを実行するためのガイダンスとして使用することもできます。
資格情報スキャナー ノートブックや PowerShell と C# の例など、いくつかのMicrosoft Sentinel ノートブックで MSTICPy が使用されていません。 MSTICpy を使用しないノートブックでは、この記事で説明する MSTICPy 構成は必要ありません。
次のような他のMicrosoft Sentinel ノートブックを試してみてください。
- ノートブック環境の構成
- Cybersec ノートブック機能のツアー
- ノートブックの機械学習の例
- エンティティ エクスプローラー シリーズ。アカウント、ドメインと URL、IP アドレス、Linuxホストまたは Windows ホストのバリエーションが含まれます。
詳細については、以下を参照してください:
- Microsoft Sentinelハンティング機能を備えた Jupyter ノートブック
- Microsoft Sentinelでの Jupyter ノートブックと MSTICPy の高度な構成
- 初めてのMicrosoft Sentinel ノートブックを作成する (ブログ シリーズ)
- Linux ホスト エクスプローラー ノートブックのチュートリアル (ブログ)
関連コンテンツ
詳細については、以下を参照してください: