Amazon GuardDutyの結果 - Amazon GuardDuty

Amazon GuardDutyの結果

GuardDuty の結果は、ネットワークで検出された潜在的なセキュリティの問題を示しています。GuardDuty は、お使いの AWS 環境で予期しないアクティビティや潜在的な悪意のあるアクティビティを検出したときに結果を生成します。

GuardDuty の結果は、GuardDuty コンソールの [Findings] ページ、GuardDuty の CLI や API オペレーションを使用して表示および管理できます。Amazon CloudWatch のイベントを使用して、GuardDuty の結果の通知を設定することができます。詳細については、「Amazon CloudWatch Events を使用した GuardDuty の結果に対するカスタムレスポンスの作成」を参照してください。

トピック:

結果のサンプル

GuardDuty のテストまたは理解のために、結果のサンプルを生成する方法について説明します。

アクティブな結果タイプ

GuardDuty で利用可能なすべての結果をタイプ別で示します。各結果タイプの内容には、その結果の説明と修正のためのヒントと推奨事項が含まれています。

結果のカスタマイズ

結果をフィルタリングする方法について説明します。また、抑制ルールやアップロードしたリストを使用することにより、GuardDuty でアラートを行う結果をカスタマイズする方法について説明します。

GuardDuty 結果形式

GuardDuty の結果タイプの形式と GuardDuty で追跡するさまざまな脅威の目的について説明します。

GuardDuty によって検出されたセキュリティ問題の修復

GuardDuty の結果で検出されたセキュリティの脅威を修正するための AWS のセキュリティのベストプラクティスについて説明します。

GuardDuty 結果の重要度

GuardDuty の各結果には、当社のセキュリティエンジニアが定めたネットワークの潜在的なリスクを示す重大度と値が割り当てられます。重大度の値の範囲は 0.1~8.9 です。値が大きいほど、セキュリティリスクが高いことを示します。結果が示す潜在的なセキュリティの問題への対応を判断するために役立つように、GuardDuty ではこの範囲を「高」、「中」、「低」の重大度に分けています。

注記

値 0 と 9.0 から 10.0 が将来使用するために現在予約されています。

以下に、GuardDuty の結果について現在定められている重大度と値とそれぞれの一般的な推奨事項を示します。

重大度 値の範囲

8.9~7.0

「高」の重大度は、問題になっているリソース (EC2 インスタンスや IAM ユーザー認証情報のセット) が侵害され、不正な目的で活発に使用されていることを示します。

重大度が「高」の結果のセキュリティの問題は、優先事項として処理し、リソースのそれ以上の不正使用を防ぐために直ちに修正を行うことをお勧めします。たとえば、EC2 インスタンスをクリーンアップまたは終了するか、IAM 認証情報を更新します。詳細については、修正の手順を参照してください。

ミディアム

6.9~4.0

「中」の重大度は、通常観察される動作から逸脱する不審なアクティビティを示し、場合によってはリソースが侵害されていることを示します。

できるだけ早く、関連するリソースを調査することをお勧めします。修正の手順はリソースと結果のタイプによって異なりますが、通常、アクティビティが許可されており、ユースケースに沿っていることを確認する必要があります。原因を特定できない場合やアクティビティが許可されたことを確認できない場合は、リソースが侵害されたとみなし、修正の手順に従ってリソースを保護する必要があります。

以下に、重大度が「中」の結果を確認する場合に考慮する事項を示します。

  • 未承認のユーザーがインストールした新しいソフトウェアでリソースの動作が変更されていないか確認してください。たとえば、通常より高いトラフィックが許可されている場合や、新しいポートの通信が有効化されている場合などがあります。

  • 許可されているユーザーがコントロールパネルの設定を変更しているかどうかを確認します (セキュリティグループの設定の変更など)。

  • 該当するリソースでアンチウィルススキャンを実行し、未承認のソフトウェアを検出します。

  • 該当する IAM ロール、ユーザー、グループ、または認証情報セットにアタッチされているアクセス許可を検証します。以下のアクセス許可を変更または更新する必要がある場合があります。

3.9~1.0

「低」の重大度は、ネットワークが侵害されなかった不審なアクティビティが試行されたことを示します (ポートスキャンや侵入の失敗など)。

すぐに推奨されるアクションはありませんが、この情報は、だれかがネットワークの弱点を探していることを示している可能性があるので、念のためメモしてください。

GuardDuty の結果の集約

すべての結果は動的です。これは、GuardDuty で同一のセキュリティの問題に関連する新しいアクティビティが検出されると、新しい結果が生成されるのではなく、元の結果が新しい情報で更新されることを意味します。この動作により、同様のレポートを複数確認しなくても現在の問題を識別することが可能となり、認識済みのセキュリティの問題が重複してノイズになることを減らせます。

例えば、結果が UnauthorizedAccess:EC2/SSHBruteForce の場合、インスタンスへの複数のアクセスの試行が同じ結果 ID に集約され、検索の詳細のカウント数が増加します。これは、その結果が、インスタンスの SSH ポートがそのタイプのアクティビティに対して適切に保護されていないことを示す単一のセキュリティの問題を示しているためです。ただし、GuardDuty で環境の新しいインスタンスをターゲットとする SSH アクセスのアクティビティが検出されると、一意の結果 ID を持つ新しい結果が作成され、新しいリソースに関連するセキュリティの問題があることがアラートで示されます。

結果が集約されると、そのアクティビティが発生した最新の情報で更新されます。上記の例では、インスタンスが新しいアクターからのブルートフォース攻撃のターゲットである場合、結果の詳細は最新の攻撃元のリモート IP を示すように更新され、古い情報が置き換えられます。個々のアクティビティの試行についての詳細は、CloudTrail または VPC フローログに引き続き記録されます。

GuardDuty で既存の結果を集約するのではなく新しい結果を生成するようにトリガーする条件は、結果タイプによって異なります。各結果タイプの集約の条件は、お使いのアカウントの個別のセキュリティの問題を明確にするために、当社のセキュリティエンジニアによって決定されます。

GuardDuty 結果の検索と分析

GuardDuty の結果を表示および分析するには、次の手順を使用します。

  1. GuardDuty コンソール (https://console.aws.amazon.com/guardduty/) を開きます。

  2. [結果] をクリックし、特定の結果を選択して詳細を表示します。

    各結果の詳細は、結果タイプ、関連リソース、アクティビティの性質によって異なります。使用可能な結果フィールドの詳細については、「結果の詳細」を参照してください。

  3. (オプション) 結果をアーカイブする場合は、結果のリストから結果を選択し、[アクション] メニューをクリックします。次に、[アーカイブ] をクリックします。

    アーカイブされた結果を表示するには、[最近] ドロップダウンから [アーカイブ済み] を選択します。

    現時点の GuardDuty では、GuardDuty メンバーアカウントのユーザーが結果をアーカイブすることはできません。

    重要

    上記の手順を使用して検索結果を手動でアーカイブする場合は、この検索後に発生した結果 (アーカイブ完了後に生成された結果) はすべて、現在の検索結果のリストに追加されます。現在のリストにこの結果を表示しない場合は、自動アーカイブすることができます。詳細については、「結果のカスタマイズ」を参照してください。

  4. (オプション) 結果をダウンロードするには、結果のリストから結果を選択し、[アクション] メニューをクリックします。次に、[エクスポート] をクリックします。結果をエクスポートすると、完全な JSON ドキュメントが表示されます。

    注記

    GuardDuty 結果の信頼度が 0 に設定されている場合のみ、[信頼度] フィールドが完全な結果の JSON に表示されます。0 に設定された [信頼度] フィールドがあることは、この GuardDuty 結果が誤検出であることを示します。

結果の詳細

Amazon GuardDuty の結果をコンソールで表示すると、以下の結果の情報を含む結果の概要セクションが表示されます。

結果にどのような情報が表示されるかを決める基本的な情報が 2 つあります。1 つはリソースタイプです。これは、AccessKey または Instance です。結果の情報を決めるもう 1 つの情報はリソースロールです。これは、アクセスキー (および S3 バケット) では Target になり、リソースが不審なアクティビティのターゲットであることを意味します。ただし、インスタンスの結果では Actor になる場合があります。これは、リソースが不審なアクティビティを実行したアクターであることを意味します。以下の情報は、通常表示される情報のいくつかを説明したものです。ただし、表示される情報は検索タイプによって異なります。

  • 結果の概要セクションには、以下の情報が含まれます。

    • 検索タイプ – 検索をトリガーしたアクティビティのタイプを表す、書式設定された文字列。詳細については、「GuardDuty 結果形式」を参照してください。

    • 結果 ID – この検索タイプおよびパラメータセットに対応する一意の結果 ID。このパターンに一致するアクティビティが新しく出現した場合は、同じ ID に集約されます。

    • 重大度 – 結果には重大度 (高、中、低) が割り当てられています。詳細については、「GuardDuty 結果の重要度」を参照してください。

    • リージョン – 結果が作成された AWS リージョン。サポートされるリージョンについては、「リージョンとエンドポイント」を参照してください。

    • カウント – GuardDuty が、このパターンに一致するアクティビティをこの結果 ID に集約した回数。

    • アカウント ID – この結果の生成を GuardDuty に求めるアクティビティを実行した AWS アカウントの ID。

    • リソース ID – この結果の生成を GuardDuty に求めるアクティビティを実行した AWS リソースの ID。

    • 作成時刻 – この結果が初めて生成された日時。この値が [更新時刻] と異なる場合は、アクティビティは進行中の問題であり複数回発生していることを示します。

      注記

      GuardDuty コンソールの結果のタイムスタンプはローカルタイムゾーンで表示されます。一方、JSON エクスポートおよび CLI 出力では UTC でタイムスタンプが表示されます。

    • 更新時刻 – この結果の生成を GuardDuty に求めるパターンに一致する新しいアクティビティで、この結果を最後に更新した時刻。

      注記

      GuardDuty コンソールの結果のタイムスタンプはローカルタイムゾーンで表示されます。一方、JSON エクスポートおよび CLI 出力では UTC でタイムスタンプが表示されます。

  • [影響を受けるリソース] には、トリガーアクティビティの対象となった AWS リソースの詳細が表示されます。利用可能な情報は、リソースタイプとアクションタイプによって異なります。

    • リソースロール – 検索をトリガーした AWS リソースのロール。有効値は TARGET または ACTOR です。それぞれの値は、リソースが不審なアクティビティのターゲットか、不審なアクティビティを実行したアクターであったことを表します。

    • リソースタイプ – 該当するリソースのタイプ。この値は、AccessKey または Instance のいずれかです。リソースタイプによって、使用可能な結果の詳細が異なります。

      • インスタンスの詳細:

        • インスタンス ID – 結果の生成を GuardDuty に求めるアクティビティを行った EC2 インスタンスの ID。

        • インスタンスタイプ – 結果に関連する EC2 インスタンスのタイプ。

        • 起動時刻 – サポートが開始された日時。

        • Outpost ARN– AWS Outpost の Amazon リソースネーム (ARN)。AWS Outposts インスタンスにのみ適用されます。詳細については、「AWS Outposts とは」を参照してください。

        • セキュリティグループ名 – 関連するインスタンスにアタッチされたセキュリティグループの名前。

        • セキュリティグループ ID – 関係するインスタンスにアタッチされたセキュリティグループの ID。

        • インスタンスの状態 – ターゲットインスタンスの現在の状態。

        • アベイラビリティーゾーン – ターゲットインスタンスの現在の状態。

        • イメージ ID – アクティビティに関連するインスタンスの構築に使用される Amazon マシンイメージの ID。

        • イメージの説明 – アクティビティに関連するインスタンスの構築に使用される Amazon マシンイメージの ID に関する説明。

        • タグ – このリソースにアタッチされているタグのリスト。リストの形式は key:value です。

      • アクセスキーの詳細:

        • アクセスキー ID 結果の生成を GuardDuty に求めるアクティビティを行ったユーザーの – アクセスキー ID。

        • プリンシパル ID – 結果の生成を GuardDuty に求めるアクティビティを行ったユーザーのプリンシパル ID。

        • ユーザー型 – 結果の生成を GuardDuty に求めるアクティビティを行ったユーザーのタイプ。詳細については、「CloudTrail userIdentity 要素」を参照してください。

        • ユーザー名 – 結果の生成を GuardDuty に求めるアクティビティを行ったユーザーの名前。

      • S3 バケットの詳細

        • 名前 – 結果に関連するバケットの名前。

        • ARN – 結果に関連するバケットの ARN。

        • 所有者 – 結果に関連するバケットを所有するユーザーの正規ユーザー ID。正規ユーザー ID の詳細については、「AWS アカウント ID」を参照してください。

        • タイプ – バケット検索のタイプ。[送信先] または [ソース] を指定できます。

        • Default server side encryption (デフォルトのサーバー側暗号化) – バケットの暗号化に関する詳細。

        • Bucket Tags (バケットタグ) – このリソースにアタッチされたタグのリスト。リストの形式は key:value です。

        • Effective Permissions (有効なアクセス許可) – 関連するバケットが公開されているかどうかを示す、バケットに関するすべての有効なアクセス許可とポリシーの評価。有効値は PUBLIC または NOT PUBLIC です。

  • 結果の [アクション] は、その検索のトリガーとなったアクティビティのタイプに関する詳細を示します。利用可能な情報は、アクションタイプによって異なります。

    • アクションタイプ – 検索アクティビティのタイプ。これには、次のいずれかの値を指定できます。

      • NETWORK_CONNECTION – 識別済み EC2 インスタンスとリモートホスト間でネットワークトラフィックが交わされたことを示します。

      • PORT_PROBE – 複数の開いているポートで識別済みの EC2 インスタンスがリモートホストによって調査されたことを示します。

      • DNS_REQUEST – 識別済みの EC2 インスタンスによってドメイン名が照会されたことを示します。

      • AWS_API_CALL – AWS API が呼び出されたことを示します。

    • 接続方向 – 結果の生成を GuardDuty に求めるアクティビティで確認されたネットワーク接続方向。これには、次のいずれかの値を指定できます。

      • INBOUND – アカウントの識別済み EC2 インスタンスのローカルポートへの接続がリモートホストによって開始されたことを示します。

      • OUTBOUND – 識別済み EC2 インスタンスがリモートホストへの接続を開始したことを示します。

      • UNKNOWN – GuardDuty が接続の方向を判別できなかったことを示します。

    • プロトコル – 結果の生成を GuardDuty に求めるアクティビティで確認されたネットワーク接続プロトコル。

    • ローカル IP – 検出をトリガーしたトラフィックの元の送信元 IP。この情報を使用して、トラフィックが通過する中間レイヤーの IP アドレスと、結果をトリガーしたトラフィックの元の送信元 IP アドレスを区別します。たとえば、EKS ポッドが実行されているインスタンスの IP アドレスではなく、EKS ポッドの IP アドレスです。

    • API – 呼び出されたため、GuardDuty にこの結果の生成を求める API オペレーションの名前。

      注記

      これらのオペレーションは、CloudTrail によってキャプチャした API 以外のイベントを含めることもできます。詳細については、CloudTrail によってキャプチャされる API 以外のイベントを参照してください。

    • サービス名 – 検索をトリガーした API 呼び出しを実行しようとした AWS のサービスの DNS 名。

  • [リソースロール] の値が TARGET の場合、結果には [アクター] セクションが含まれます。これは、リソースをターゲットとするアクティビティが不審なものであったことを示します。また、[アクター] セクションには、リソースをターゲットとしたエンティティの詳細が含められます。

    [リソースロール] の値が ACTOR の場合、結果には [ターゲット] セクションが含まれます。これは、リソースがリモートホストに対する不審なアクティビティに関与していたことを示します。また、このセクションには、リソースのターゲットになった IP またはドメインに関する情報が含められます。

    [アクター] セクションまたは [ターゲット] セクションには、次の情報を含めることができます。

    • IP アドレス – 結果の生成を GuardDuty に求めるアクティビティが行われた IP アドレス。

    • 場所 – 結果の生成を GuardDuty に求めるアクティビティが行われた IP アドレスの位置情報。

    • 組織名 – 結果の生成を GuardDuty に求めるアクティビティが行われた IP アドレスの ISP 組織情報。

    • ポート – 結果の生成を GuardDuty に求めるアクティビティが行われたポート番号。

    • ドメイン – 結果の生成を GuardDuty に求めるアクティビティが行われたドメイン。

  • 結果の [Additional information] セクション。次のような情報が含まれます。

    • 脅威リスト名 - この結果の生成を GuardDuty に求めるアクティビティに関する IP アドレスまたはドメイン名が含まれている脅威リストの名前。

    • [サンプル] – サンプル結果であるかどうかを示す true または false の値。

    • アーカイブ済み – 結果がアーカイブ済みかどうかを示す true または false の値。

    • 異常 – 履歴で確認されていないアクティビティの詳細。これらには、通常とは異なる (以前に確認されていない) ユーザー、場所、時間などが含まれます。

    • 異常プロトコル – GuardDuty に結果の生成を求めるアクティビティが行われたネットワーク接続プロトコル。