[アップデート]GuardDutyで新しいS3のアノマリタイプFindingsが5つ追加されました

GuardDutyがS3に対するアノマリを検知するために5つのFinding Typesをサポートしました。より精度が良くなったようですね!
2022.07.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、臼田です。

みなさん、GuardDugyで脅威検知してますか?(挨拶

今日は新しく追加された5つのFinding Typesについて紹介します。

アップデート概要

GuardDuty Announcementsより下記の通知が届きました。

{
    "version": "1",
    "type": "NEW_FINDINGS",
    "findingDetails": [
        {
            "link": "https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-s3.html#discovery-s3-anomalousbehavior",
            "findingType": "Discovery:S3/AnomalousBehavior",
            "description": "This finding informs you that an IAM entity has invoked an S3 API to discover S3 buckets in your environment, such as ListBuckets. This type of activity is associated with the discovery stage of an attack wherein an attacker gathers information to determine if your AWS environment is susceptible to a broader attack. This activity is suspicious because the IAM entity invoked the API in an unusual way. For example, an IAM entity with no previous history invokes an S3 API, or an IAM entity invokes an S3 API from an unusual location."
        },
        {
            "link": "https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-s3.html#exfiltration-s3-anomalousbehavior",
            "findingType": "Exfiltration:S3/AnomalousBehavior",
            "description": "This finding informs you that an IAM entity in your AWS environment is making API calls that involve an S3 bucket and this activity differs from that entity's established baseline. The API call used in this activity is associated with the exfiltration stage of an attack, wherein an attacker attempts to collect data. This activity is suspicious because the IAM entity invoked the API in an unusual way. For example, an IAM entity with no previous history invokes an S3 API, or an IAM entity invokes an S3 API from an unusual location."
        },
        {
            "link": "https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-s3.html#impact-s3-anomalousbehavior-write",
            "findingType": "Impact:S3/AnomalousBehavior.Write",
            "description": "This finding informs you that an IAM entity in your AWS environment is making API calls that involve an S3 bucket, and this behavior differs from that entity's established baseline. The API call used in this activity is associated with an attack that attempts to write data. This activity is suspicious because the IAM entity invoked the API in an unusual way. For example, an IAM entity with no previous history invokes an S3 API, or an IAM entity invokes an S3 API from an unusual location."
        },
        {
            "link": "https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-s3.html#impact-s3-anomalousbehavior-delete",
            "findingType": "Impact:S3/AnomalousBehavior.Delete",
            "description": "This finding informs you that an IAM entity in your AWS environment is making API calls that involve an S3 bucket, and this behavior differs from that entity's established baseline. The API call used in this activity is associated with an attack that attempts to delete data. This activity is suspicious because the IAM entity invoked the API in an unusual way. For example, an IAM entity with no previous history invokes an S3 API, or an IAM entity invokes an S3 API from an unusual location."
        },
        {
            "link": "https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-s3.html#impact-s3-anomalousbehaviour-permission",
            "findingType": "Impact:S3/AnomalousBehavior.Permission",
            "description": "This finding informs you that an IAM entity in your AWS environment has changed a bucket policy or ACL on the listed S3 buckets. This change may publicly expose your S3 buckets to all the authenticated AWS users."
        }
    ]
}

ここでは下記5つのFinding Typesが追加されています。

  • Discovery:S3/AnomalousBehavior
  • Exfiltration:S3/AnomalousBehavior
  • Impact:S3/AnomalousBehavior.Write
  • Impact:S3/AnomalousBehavior.Delete
  • Impact:S3/AnomalousBehavior.Permission

すべてアノマリのタイプですね。それぞれ翻訳に当てた説明を見てみましょう。

  • Discovery:S3/AnomalousBehavior
    • この検出結果は、IAMエンティティがS3 APIを呼び出して、ListBucketsなどの環境内のS3バケットを検出したことを通知します。 このタイプのアクティビティは、攻撃者が情報を収集してAWS環境がより広範な攻撃を受けやすいかどうかを判断する攻撃の発見段階に関連しています。 IAMエンティティが異常な方法でAPIを呼び出したため、このアクティビティは疑わしいものです。 たとえば、以前の履歴がないIAMエンティティがS3 APIを呼び出すか、IAMエンティティが異常な場所からS3APIを呼び出します。
  • Exfiltration:S3/AnomalousBehavior
    • この結果は、AWS環境のIAMエンティティがS3バケットを含むAPI呼び出しを行っており、このアクティビティがそのエンティティの確立されたベースラインとは異なることを示しています。 このアクティビティで使用されるAPI呼び出しは、攻撃者がデータを収集しようとする攻撃の抽出段階に関連付けられています。 IAMエンティティが異常な方法でAPIを呼び出したため、このアクティビティは疑わしいものです。 たとえば、以前の履歴がないIAMエンティティがS3 APIを呼び出すか、IAMエンティティが異常な場所からS3APIを呼び出します。
  • Impact:S3/AnomalousBehavior.Write
    • この結果は、AWS環境のIAMエンティティがS3バケットを含むAPI呼び出しを行っていることを示しており、この動作はそのエンティティの確立されたベースラインとは異なります。 このアクティビティで使用されるAPI呼び出しは、データを書き込もうとする攻撃に関連付けられています。 IAMエンティティが異常な方法でAPIを呼び出したため、このアクティビティは疑わしいものです。 たとえば、以前の履歴がないIAMエンティティがS3 APIを呼び出すか、IAMエンティティが異常な場所からS3APIを呼び出します。
  • Impact:S3/AnomalousBehavior.Delete
    • この結果は、AWS環境のIAMエンティティがS3バケットを含むAPI呼び出しを行っていることを示しており、この動作はそのエンティティの確立されたベースラインとは異なります。 このアクティビティで使用されるAPI呼び出しは、データを削除しようとする攻撃に関連付けられています。 IAMエンティティが異常な方法でAPIを呼び出したため、このアクティビティは疑わしいものです。 たとえば、以前の履歴がないIAMエンティティがS3 APIを呼び出すか、IAMエンティティが異常な場所からS3APIを呼び出します。
  • Impact:S3/AnomalousBehavior.Permission
    • この結果は、AWS環境のIAMエンティティがリストされたS3バケットのバケットポリシーまたはACLを変更したことを通知します。 この変更により、認証されたすべてのAWSユーザーにS3バケットが公開される可能性があります。

Discoveryは情報収集、Exfiltrationはバケット内のデータの取得、Impactは書き込み、削除、権限変更を、それぞれ通常のIAMベースラインと異なる場合に検知します。

通常利用しているIAMエンティティが、第3者によって乗っ取られている場合などに役立ちそうです。

また、この更新に合わせて1件のFindingsに対する変更が通知されました。

{
    "version": "1",
    "type": "UPDATED_FINDINGS",
    "findingDetails": [
        {
            "link": "https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-retired.html#exfiltration-s3-objectreadunusual",
            "findingType": "Exfiltration:S3/ObjectRead.Unusual",
            "description": "This finding type has been retired."
        }
    ]
}

これに合わせてExfiltration:S3/ObjectRead.Unusualが廃止となりました。通常とは異なる場所からの読み込みを検知していましたが、おそらく今回出てきたExfiltration:S3/AnomalousBehaviorなどが代わりになるということでしょう。

やってみた

検知させようと思って、通常利用しているユーザーをVPN経由で海外からアクセスさせてみました。

以前のGuardDutyではこれくらいで検知をしていたのですが、残念ながら(?)今回は検知してくれませんでした。

もう少し凝ったアクティビティでないと検知してくれないかもしれませんね。また今度アプローチしてみようと思います。

まとめ

5つのアノマリタイプのS3 Finding Typesが登場しました。どんどん精度が良くなっていくのは嬉しいですね。

GuardDutyをガンガン活用していきましょう!