本記事は
【Advent Calendar 2024】
13日目②の記事です。
🌟🎄
13日目①
▶▶ 本記事 ▶▶
14日目
🎅🎁
はじめに
こんにちは、大林です。2024年のre:Inventでは、生成AIとセキュリティの統合に関する多くのアップデートが発表されました。本記事では、セキュリティ検知の通知方式を説明の上、生成AIを活用してセキュリティ検知を効率的に管理し、対応する方法をご紹介します。また、セキュリティ検知を通知する意義や生成AIを採用する理由についても解説します。
なぜセキュリティ検知を通知するのか
Amazon GuardDuty(以下、GuardDuty)やAWS Config(以下、Config)を使用することで、システムの開発段階で脆弱性やコンプライアンス違反を早期に検出することが可能です。さらに、これらをAWS Security Hub(以下、Security Hub)に統合することで、各セキュリティ系サービスが検知した内容を一元的に確認できるようになります。そのため、開発段階においてもSecurity Hubの検知内容を随時確認しながら作業を進めることが求められます。
しかし、開発プロセスでは時間的な制約が多く、全ての検知内容を即座に確認するのが難しい場合もあると思います。そこで、重要なセキュリティ検知が発生した際に通知を受け取れる仕組みを導入することで、効率的に対応できるようになります。
通知先を選定する
検知した情報を有効活用するには、ユースケースに適した通知ツールを選定し、効率的な対応につなげる仕組みが必要です。通知ツールをどのように選定するべきなのか説明していきます。
メールは広く普及した通知手段であり、導入コストが低い点がメリットです。Amazon SNSやAmazon SESを活用すれば簡単に実現できます。多くの場合、メールは業務で利用されているので導入に対するハードルが低いことが特徴です。
Slackなどのチャットツールは、検知された内容がチャットツールを通じて即座にチームメンバーに共有されるため、議論を開始したり次のアクションを決定したりするのがスムーズになります。特に複数のチームやプロジェクトが絡む環境では、全員が同時に情報を受け取れることで、効率的な連携が可能になります。
また、BacklogやJiraなどのプロジェクト管理ツールを活用し、セキュリティ検知をチケット化することで、タスクが明確になり、担当者や対応内容が一目で把握できるようになります。また、対応履歴を追跡できるため、どのような対応が行われたかを簡単に確認することが可能です
通知内容に対する通知方法がわからない
アカウント運用は、セキュリティ検知を行うだけでは終わりません。検知内容に基づいて修正を加え、検知傾向を分析し、改善まで実施することが求められます。たとえば、以下のようなセキュリティ検知メールが届いた場合、その内容をすぐに理解し、適切なアクションを取れる人は多くないと思います。
アカウント運用でよく直面する課題の一つに、「セキュリティ検知を通知する仕組みは導入したが、検知内容が十分に理解できず、具体的な改善アクションが実施されない」というものがあります。このような状況を解決するために、AWSの生成AIアプリケーションサービスであるAmazon Bedrock(以下 Bedrock)を活用して、この課題を解決したいと思います。
検知情報: 検知アカウント:XXXXXXXXXXXX リージョン:ap-northeast-2 プロダクト名:GuardDuty 重大度:HIGH タイトル:The user IAMUser : test is anomalously invoking APIs commonly used in Exfiltration tactics. 内容:APIs commonly used in Exfiltration tactics were invoked by user IAMUser : test under unusual circumstances. Such activity is not typically seen from this user. 脅威タイプ:TTPs/Exfiltration/IAMUser-AnomalousBehavior オリジナルメッセージ: { "version": "0", "id": "test", "detail-type": "Security Hub Findings - Imported", "source": "aws.securityhub", "account": "XXXXXXXXXXXX", "time": "2024-XX-XXT18:50:15Z", "region": "ap-northeast-1", "resources": [ "arn:aws:securityhub:ap-northeast-1::product/aws/guardduty/arn:aws:guardduty:ap-northeast-1:XXXXXXXXXXXX:detector/test/finding/test" ], "detail": { "findings": [ { "ProductArn": "arn:aws:securityhub:ap-northeast-1::product/aws/guardduty", "Types": [ "TTPs/Exfiltration/IAMUser-AnomalousBehavior"
Amazon Bedrockを活用したセキュリティ通知
上記の課題を解決する方法の一例として、Bedrockを活用して検知内容に対する具体的な対応策を提案し、その結果を通知に組み込む方法をご紹介します。このアプローチにより、検知通知を受け取った担当者がすぐに改善対応を実施しやすくなります。
このプロセスを通知フローに統合することで、単なる検知情報の報告にとどまらず、具体的なアクション指針を提供できるようになります。運用の流れは以下の通りです。
Security HubやGuardDutyで検知された内容をAmazon EventBridgeを経由してLambda関数に送信。
Lambda関数が検知データをBedrockに渡し、生成AIによる解析結果を受け取る。
Bedrockの解析結果を元に、改善策を含む通知をメールやSlack、Backlogなどのツールに送信。
この仕組みにより、通知内容を具体化し、単なる検知情報の報告にとどまらず、即時対応を促すアクションを提示できます。たとえば、「IAMユーザーの不審なAPI呼び出しが検知された場合、直ちにユーザーのアクセス権限を一時停止し、アクセス履歴を確認する」といった改善案が通知に含まれることで、対応速度と精度を大幅に向上させることが期待できます。
Bedrockを使用した場合の通知は以下です。
生成AIによる要約: この検知は、IAMユーザー「test」が通常は使用されないAPIを呼び出していることを示しています。これは、データの不正な持ち出し(エクスフィルトレーション)に使用される可能性のある行動パターンです。リモートIPアドレスは日本の東京に位置するXXXXのものであり、通常は見られない異常な行動と判断されています。 生成AIによる対応方法の提案: ユーザー「test」の行動を調査し、不審な活動がないかを確認することをお勧めします。検知IDは「test」です。また、この検知結果に関する詳細情報は、AWS Security Hubのコンソールで確認できます。 ※要約と対応方法の提案は生成AIによって生成されています。必ずしも正しいとは限らないことに注意してください。 最終的な判断や対応にあたっては、必要に応じて追加の確認や調査を行ってください。 検知情報: 検知アカウント:XXXXXXXXXXXX リージョン:ap-northeast-2 プロダクト名:GuardDuty 重大度:HIGH タイトル:The user IAMUser : test is anomalously invoking APIs commonly used in Exfiltration tactics. 内容:APIs commonly used in Exfiltration tactics were invoked by user IAMUser : test under unusual circumstances. Such activity is not typically seen from this user. 脅威タイプ:TTPs/Exfiltration/IAMUser-AnomalousBehavior オリジナルメッセージ: { "version": "0", "id": "test", "detail-type": "Security Hub Findings - Imported", "source": "aws.securityhub", "account": "XXXXXXXXXXXX", "time": "2024-XX-XXT18:50:15Z", "region": "ap-northeast-1", "resources": [ "arn:aws:securityhub:ap-northeast-1::product/aws/guardduty/arn:aws:guardduty:ap-northeast-1:XXXXXXXXXXXX:detector/test/finding/test" ], "detail": { "findings": [ { "ProductArn": "arn:aws:securityhub:ap-northeast-1::product/aws/guardduty", "Types": [ "TTPs/Exfiltration/IAMUser-AnomalousBehavior"
おわりに
GuardDutyやConfigは、不正なアクティビティやコンプライアンス違反を検知する上で非常に優れたサービスです。しかし、セキュアなAWS環境を維持するためには、これらのサービスによる検知内容を継続的に確認し、適切に対応することが欠かせません。
効率的なアカウント運用を目指すのであれば、生成AIの活用も有効な手段の一つです。AWSでは生成AIに関するアップデートが継続的に行われており、ケースに合わせた最適なモデルを選択することで、より効果的な運用が可能になります。
今後も、セキュリティインシデントの発生を防ぎつつ、運用効率を向上させる方法について情報を発信していきたいと思います。