インシデント対応とフォレンジックを自動化する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

インシデント対応とフォレンジックを自動化する

作成者: Lucas Kauffman (AWS) と Tomek Jakubowski (AWS)

コードリポジトリ: aws-automated-incident-response-and-forensics

環境:本稼働

テクノロジー:セキュリティ、アイデンティティ、コンプライアンス

AWS サービス: Amazon EC2、AWSLambda、Amazon S3、AWSSecurity Hub、AWSIdentity and Access Management

[概要]

このパターンは、AWSLambda 関数を使用して以下を提供する一連のプロセスをデプロイします。

  • 最小限の知識でインシデント対応プロセスを開始する方法

  • AWS セキュリティインシデント対応ガイドに沿った、自動化された反復可能なプロセス

  • 自動化ステップを運用、アーティファクトを保存、フォレンジック環境を作成するアカウントの分離

自動インシデントレスポンスとフォレンジックフレームワークは、以下のフェーズからなる標準的なデジタルフォレンジックプロセスに従います。

  1. 封じ込め

  2. 取得

  3. 試験

  4. 分析

静的データ (取得したメモリまたはディスクイメージなど) や、ライブではあるが別のシステム上にある動的データを調査できます。

詳細については、追加情報セクションを参照してください。

前提条件と制限

前提条件

  • 2 つのAWSアカウント:

    • セキュリティアカウントは、既存のアカウントを使用することもできますが、できれば新しいアカウントが望ましい

    • フォレンジックアカウント (できれば新規)

  • AWS 組織のセットアップ

  • Organizations メンバーアカウント

    • Amazon Elastic Compute Cloud (Amazon EC2) ロールには、Amazon Simple Storage Service (Amazon S3) への Get and List アクセスと AWS Systems Manager によるアクセスが必要です。AmazonSSMManagedInstanceCore AWS マネージドロールを使用することをお勧めします。インシデント対応が開始されると、このロールは自動的にEC2インスタンスにアタッチされることに注意してください。レスポンスが完了すると、AWSIdentity and Access Management (IAM) はインスタンスに対するすべての権限を削除します。

    • AWS メンバーアカウントおよび Incident Response and Analysis の仮想プライベートクラウド (VPC) エンドポイントVPCs。これらのエンドポイントは、S3 Gateway、EC2Messages、SSM、SSMMessages です。

  • AWS EC2インスタンスにインストールされたコマンドラインインターフェイス (AWSCLI)。EC2 インスタンスAWSCLIがインストールされていない場合は、ディスクスナップショットとメモリ取得が機能するためにインターネットアクセスが必要です。この場合、スクリプトはインターネットに連絡してAWSCLIインストールファイルをダウンロードし、インスタンスにインストールします。

制限

  • このフレームワークは、法廷に提出できる電子的証拠と見なされるアーティファクトを生成することを意図していません。

  • 現在、このパターンは x86 アーキテクチャーで実行中の Linux ベースのインスタンスのみをサポートしています。

アーキテクチャ

ターゲットテクノロジースタック

  • AWS CloudFormation

  • AWS CloudTrail

  • AWS 設定

  • IAM

  • Lambda

  • Amazon S3

  • AWS キー管理システム (AWS KMS)

  • AWS Security Hub

  • Amazon Simple Notification Service (Amazon SNS)

  • AWS Step Functions

ターゲット アーキテクチャ

ターゲット環境は、メンバーアカウントに加えて、セキュリティアカウントとフォレンジックアカウントの 2 つのメインアカウントで構成されています。2 つのアカウントは、次の理由で使用されます。

  • フォレンジック分析に失敗した場合に爆発半径を狭めるため、他の顧客アカウントと区別する

  • 分析対象のアーティファクトの分離と完全性の保護を確実に行う

  • 調査の機密性を保つ

  • 攻撃者が、サービスクォータをヒットして侵害されたAWSアカウントですぐに利用可能なすべてのリソースを使用して、Amazon EC2インスタンスをインスタンス化して調査を実行できない状況を回避するため。 

また、セキュリティアカウントとフォレンジックアカウントを分離することで、証拠を取得する応答者とそれを分析する調査員という別のロールを作成できます。各ロールは別のアカウントにアクセスします。

次の図は、アカウント間のインタラクションのみを示しています。各アカウントの詳細は後続の図に示され、図全体が添付されています。

メンバー、セキュリティ、フォレンジックのアカウントとユーザー、インターネット、スラック間の相互作用。

次の図はメンバーアカウントを示しています。

AWS KMS キー、IAMロール、Lambda 関数、エンドポイント、2 つのEC2インスタンスVPCを持つメンバーアカウント。

1. イベントが Slack Amazon SNSトピックに送信されます。

次の図はセキュリティアカウントを示しています。

インシデント対応EC2DdCopyInstanceの VPCと LiME メモリモジュールを持つセキュリティアカウント。

2. セキュリティアカウントのSNSトピックはフォレンジックイベントを開始します。

次の図はフォレンジックアカウントを示しています。

フォレンジックアカウントは、フォレンジックインスタンスと被害者EC2インスタンス、分析 VPC、メンテナンス を使用しますVPC。

セキュリティアカウントでは、メモリとディスクイメージの取得用に 2 つの主要な AWS Step Functions ワークフローが作成されます。ワークフローの実行後、インシデントに関連するEC2インスタンスを持つメンバーアカウントにアクセスし、メモリダンプまたはディスクダンプを収集する一連の Lambda 関数を開始します。これらのアーティファクトはフォレンジックアカウントに保存されます。

フォレンジックアカウントは、Step Functions ワークフローによって収集されたアーティファクトを、分析アーティファクト S3 バケットに保持します。フォレンジックアカウントには、フォレンジックインスタンスの Amazon マシンイメージ (AMI) を構築する EC2 Image Builder パイプラインもあります。現在、イメージは SANS SIFT Workstation に基づいています。 

ビルドプロセスではVPC、インターネットに接続できるメンテナンス を使用します。このイメージは、後で分析 で収集されたアーティファクトの分析のためにEC2インスタンスをスピンアップするために使用できますVPC。 

分析にはインターネット接続VPCがありません。デフォルトで、このパターンは 3 つのプライベート分析サブネットを作成します。最大 200 個のサブネットを作成できます。これは、 内のサブネット数のクォータですがVPC、AWSSystems Manager Sessions Manager で実行中のコマンドを自動化するには、VPCエンドポイントにこれらのサブネットを追加する必要があります。

ベストプラクティスの観点から、 AWS CloudTrail と AWS Config を使用して以下を実行することをお勧めします。 

  • フォレンジックアカウントで行われた変更を追跡する

  • 保存および分析されたアーティファクトへのアクセスと整合性を監視する

ワークフロー

次の図は、インスタンスが侵害されてから分析されて封じ込められるまでのプロセスと決定ツリーを含むワークフローの主要な手順を示しています。

  1. SecurityIncidentStatus タグには Analyze という値が設定されていますか? 設定されている場合は、以下を実行します。

    1. AWS Systems Manager と Amazon S3 の正しいIAMプロファイルをアタッチします。

    2. Amazon メッセージを Slack の Amazon SNSキューSNSに送信します。

    3. Amazon メッセージをキューに送信SNSします SecurityIncident

    4. メモリとディスクの取得ステートマシンを呼び出します。

  2. メモリとディスクは取得されていますか? いいえの場合は、エラーです。

  3. EC2 インスタンスに タグをContain付けます。

  4. IAM ロールとセキュリティグループをアタッチして、インスタンスを完全に分離します。

前述のワークフローステップ。

自動化とスケール

このパターンの目的は、単一の AWS Organizations 組織内の複数のアカウントでインシデント対応とフォレンジックを実行するためのスケーラブルなソリューションを提供することです。

ツール

AWS サービス

  • AWS CloudFormation は、AWSリソースをセットアップし、迅速かつ一貫してプロビジョニングし、AWSアカウントとリージョン全体のライフサイクルを通じてリソースを管理するのに役立ちます。

  • AWS コマンドラインインターフェイス (AWS CLI) は、コマンドラインシェル内のコマンドを介してAWSサービスとやり取りするためのオープンソースツールです。

  • AWS Identity and Access Management (IAM) は、誰が認証され、誰に使用を許可されているかを制御することで、AWSリソースへのアクセスを安全に管理できます。

  • AWS Key Management Service (AWS KMS) は、データを保護するための暗号化キーの作成と制御に役立ちます。

  • AWS Lambda は、サーバーのプロビジョニングや管理を必要とせずにコードを実行するのに役立つコンピューティングサービスです。必要に応じてコードを実行し、自動的にスケーリングするため、課金は実際に使用したコンピューティング時間に対してのみ発生します。

  • Amazon Simple Storage Service (Amazon S3) は、任意の量のデータを保存、保護、取得する上で役立つクラウドベースのオブジェクトストレージサービスです。

  • AWS Security Hub は、 のセキュリティ状態を包括的に表示しますAWS。また、セキュリティ業界標準やベストプラクティスに照らしてAWS環境を確認するのにも役立ちます。

  • Amazon Simple Notification Service (Amazon SNS) は、ウェブサーバーや E メールアドレスなど、パブリッシャーとクライアント間のメッセージ交換の調整と管理に役立ちます。

  • AWS Step Functions は、Lambda AWS 関数とその他のサービスを組み合わせてビジネスクリティカルなアプリケーションを構築するのに役立つサーバーレスオーケストレーションAWSサービスです。 

  • AWS Systems Manager は、AWSクラウドで実行されているアプリケーションとインフラストラクチャの管理に役立ちます。アプリケーションとリソースの管理を簡素化し、運用上の問題を検出して解決する時間を短縮し、AWSリソースを大規模に安全に管理できるようにします。

コード

コードと具体的な実装と使用に関するガイダンスについては、 GitHub 「Automated Incident Response and Forensics Framework」リポジトリを参照してください。

エピック

タスク説明必要なスキル

CloudFormation テンプレートをデプロイします。

CloudFormation テンプレートには、テンプレートをデプロイする必要があるアカウントを示すスクリプト名の最初の単語が 1~7 とマークされています。 CloudFormation テンプレートの起動順序は重要です。

  • 1-forensic-AnalysisVPCnS3Buckets.yaml: フォレンジックアカウントにデプロイされます。S3 バケットと分析 を作成しVPC、 をアクティブ化します CloudTrail。

  • 2-forensic-MaintenanceVPCnEC2ImageBuilderPipeline.yaml: に基づいてメンテナンスVPCと Image Builder SANS パイプラインをデプロイしますSIFT。

  • 3-security_IR-Disk_Mem_automation.yaml: ディスクとメモリの取得を可能にする関数をセキュリティアカウントにデプロイします。

  • 4-security_LiME_Volatility_Factory.yaml: ビルド関数を開始し、指定された AMI に基づいてメモリモジュールの作成を開始しますIDs。AMI IDs はAWSリージョンによって異なることに注意してください。新しいメモリモジュールが必要な場合はいつでも、新しい AMI を使用してこのスクリプトを再実行できますIDs。これをゴールデン Image AMI Builder パイプラインと統合することを検討してください (環境で使用する場合)。

  • 5-member-IR-automation.yaml: インシデント対応プロセスを開始するメンバーインシデント対応自動化関数を作成します。これにより、アカウント間で Amazon Elastic Block Store (Amazon EBS) ボリュームを共有したり、インシデント対応プロセス中に Slack チャネルに自動的に投稿したり、フォレンジックプロセスを開始したり、プロセス終了後にインスタンスを分離したりできます。

  • 6-forensic-artifact-s3-policies.yaml: すべてのスクリプトをデプロイ後、このスクリプトはすべてのクロスアカウント間のインタラクションに必要な権限を修正します。

  • 7-security-IR-vpc.yaml: インシデント対応ボリューム処理VPCに使用される を設定します。

特定のEC2インスタンスのインシデント対応フレームワークを開始するには、 キーSecurityIncidentStatusと 値 を使用してタグを作成しますAnalyze。これで、メンバーの Lambda 関数が開始され、自動的に孤立化とメモリーならびにディスク取得が開始されます。

AWS 管理者

フレームワークを操作します。

また、Lambda 関数は、最後に(または失敗時に)アセットに Contain タグを再付与します。これにより封じ込めが開始され、INBOUND/OUTBOUND セキュリティグループがなく、すべてのアクセスを禁止するIAMロールを持つインスタンスが完全に分離されます。

GitHub リポジトリ のステップに従います。

AWS 管理者
タスク説明必要なスキル

CloudFormation テンプレートを使用して、カスタム Security Hub アクションをデプロイします。

Security Hub のドロップダウンリストを使用できるようにカスタムアクションを作成するには、 Modules/SecurityHub Custom Actions/SecurityHubCustomActions.yaml CloudFormation テンプレートをデプロイします。次に、アクションを実行する Lambda 関数が IRAutomation ロールを引き受けられるように、各メンバーアカウントの IRAutomation ロールを変更します。詳細については、GitHub リポジトリ を参照してください。

AWS 管理者

関連リソース

追加情報

この環境を使用することで、セキュリティオペレーションセンター (SOC) チームは、以下を通じてセキュリティインシデント対応プロセスを改善できます。

  • 分離された環境でフォレンジックを実施できるため、本稼働リソースの偶発的な侵害を回避できる。

  • 封じ込めと分析するための、標準化され、反復可能な自動プロセスがあります。

  • アカウント所有者または管理者に、タグの使用方法に関する最低限の知識でインシデント対応プロセスを開始できる能力を付与する

  • インシデント分析とフォレンジックを大規模環境のノイズなしで実行する、標準化され、クリーンな環境がある

  • 複数の分析環境を並行して作成できる能力がある

  • クラウドフォレンジック環境のメンテナンスとドキュメントではなく、インシデント対応にSOCリソースを集中させる

  • スケーラビリティを実現するために、手動プロセスから自動プロセスに移行する

  • CloudFormation テンプレートを使用して一貫性を保ち、反復可能なタスクを回避する

さらに、永続的なインフラストラクチャの使用を避け、必要なときにリソースに支払います。

添付ファイル

このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip