ここからは Microsoft Sentinel のインシデントを更に活用するための Azure OpenAI 活用を考えてみましょう
本パートでは Microsoft Sentinel の Azure OpenAI の更なる活用ストーリーを実践してみるパートになります。
Microsoft Sentinel のインシデント情報から、セキュリティオペレーターが活用するための様々なアイデア
分析ルールに含まれる MITRE 戦術について、補足情報としてコメントに付与するなどが考えられます。
- prompt 例
MITRE 戦術 ###[ "LateralMovement", "Execution" ]### について、100 文字以内で解説してほしい。
- Chat Completion API 例
[
{
"role": "system",
"content": "You are a security analytist."
},
{
"role": "user",
"content": "I want you to summarize the content of MITRE tactics in 100 characters or less."
},
{
"role": "assistant",
"content":"["LateralMovement", "Execution"]"
}
]
![image](https://private-user-images.githubusercontent.com/55295601/238603375-6e1ccaba-7d4f-4aec-8219-16e0e29a5416.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMDQ1MzIsIm5iZiI6MTcyNDAwNDIzMiwicGF0aCI6Ii81NTI5NTYwMS8yMzg2MDMzNzUtNmUxY2NhYmEtN2Q0Zi00YWVjLTgyMTktMTZlMGUyOWE1NDE2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDE4MDM1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYyMmNhZWQ4NzlhYzEzY2E2NTFiNWQwMmRlNjE3NDEyZTA1MjRjZGNiY2YxNTM4ZDA0MDNjMGMwOTk3YzEyMjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.rDozDDlleUaxk_rMQz2N7-TzoyC900lIKSxLgIJaUWg)
インシデント情報を ChatGPT にまとめて送り、インシデント要約をまとめさせるアイデアです。
- prompt 例
私はセキュリティアナリストです。
セキュリティインシデントの内容を1000文字以内で概要にまとめてほしい。
### [インシデントタイトル], [インシデントの説明], [インシデントのエンティティ] ###
- Chat Completion API 例
[
{
"role": "system",
"content": "You are a security analytist."
},
{
"role": "user",
"content": "I want you to summarize the content of the security incident in 1000 characters or less."
},
{
"role": "assistant",
"content": "[インシデントタイトル], [インシデントの説明], [インシデントのエンティティ]"
}
]
分析ルール名や補足内容、ChatGPT の一次応答を用いて、インシデントを判定するための KQL を生成させます。
- prompt 例
Microsoft Sentinel で脅威を調査するための KQL を提案してほしい
###
あなたのAzureストレージアカウント「Sample-Storage」に実行可能ファイルを異常な方法でアップロードした人がいます。 この警告はADLS Gen2トランザクションによって引き起こされました。
###
- Chat Completion API 例
[
{
"role": "system",
"content": "You are a security analytist."
},
{
"role": "user",
"content": "I would like you to come up with a query idea to hunt in 3000 characters in Japanese or less using KQL."
},
{
"role": "assistant",
"content": "[インシデントタイトル], [インシデントの説明], [インシデントのエンティティ]"
}
]
![image](https://private-user-images.githubusercontent.com/55295601/238606104-b5bd198f-5d6c-41c5-8c22-a47acb566bd3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMDQ1MzIsIm5iZiI6MTcyNDAwNDIzMiwicGF0aCI6Ii81NTI5NTYwMS8yMzg2MDYxMDQtYjViZDE5OGYtNWQ2Yy00MWM1LThjMjItYTQ3YWNiNTY2YmQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDE4MDM1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc3MzlkYTdlZTlkYmRmMDBkYzBkOWUwNWRlOTY2MzA2MWRmN2M4ZTVmY2RiMzhmNGRkYjQ3ODRlYmFjM2E0MTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.WgY_cB95K_LCRp98xT9n16enDyzbHGPm_wueYwoXITw)
様々なユースケースを用いて、Azure OpenAI にリクエストをかけてみましょう
インシデント情報から、ロジックアプリを用いて Azure OpenAI の ChatGPT/GPT3 に以下のリクエストをかけるテンプレートを試してみましょう。なお、本テンプレートは ChatGPT3.5turbo or GPT4 を想定して、Chat Completion API を用いて作成しています。デプロイするモデルは GPT35-turbo
を選定するようにして下さい。
- インシデントの要約
- インシデント補足情報の日本語化
- インシデント
これまでと同様に JapanEast のリソースグループでテンプレートを利用して下さい
- 本演習で作成するリソース(例:ロジックアプリなど)のためのリソースグループを作成して下さい
- 演習 1 と同じリソースグループでも OK です - 以下設定例です。リージョンは東日本を前提として下さい
- リソースグループ名
rg-Sentinel-AzureOpenAI-Workshop
- リージョン
Japan East
- Azure OpenAI は
gpt-35-turbo
を選択する
![image](https://private-user-images.githubusercontent.com/55295601/239793511-6d4c6cb6-ff8a-498c-b98e-df531a96b360.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMDQ1MzIsIm5iZiI6MTcyNDAwNDIzMiwicGF0aCI6Ii81NTI5NTYwMS8yMzk3OTM1MTEtNmQ0YzZjYjYtZmY4YS00OThjLWI5OGUtZGY1MzFhOTZiMzYwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDE4MDM1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkwMGI0YzU0N2MwNWFkZWVjNzcyOWRkYjBmZjBjOTMxODUxNjllNmRkYzRlZGQ5NjVlZDY4MmEzMTcyYzY4ODgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.k04XpKhrWnQ5bik6fKFuFKt5aN-QIC77Gxt0acOjlUQ)
以下から、ARM テンプレートをデプロイして下さい。
これまでの演習と同様に、ロジックアプリの内容を編集して下さい。
- Azure OpenAI RESTAPI URIの編集
- RESTAPI の URI が変わっていることに注意して下さい。
https://{yourname}.openai.azure.com/openai/deployments/{yourmodel}/chat/completions?api-version=2023-05-15
- ロジックアプリ / マネージド ID の「Sentinel レスポンダー」、「Cognitive Services OpenAI User」ロールの付与
- Microsoft Sentinel ロジックアプリ実行権限設定
- Microsoft Sentinel オートメーションルールの作成
サンプルアラートを発砲してみましょう。ChatGPT/GPT3 を用いることで、どのような情報が付与されましたか?
テンプレートによって実現できたこと
デプロイされているテンプレートをカスタマイズして、自分なりの AI 活用を考えてみて下さい。
ここまでお疲れさまでした。作成したリソースグループを削除してクリーンナップして下さい。
- 質問事項などを FAQ にまとめています。合わせてご参照下さい。
- ご意見などございましたら、Discussion にてご連絡下さい。
7. アンケートにご記入下さい。
作成者のモチベーションになります