7月11日、Cloud Security Clubが「Well, it's just an AWS Account ID(そう、それはただのAWSアカウントIDです)!」と題した記事を公開した。この記事では、AWSアカウントIDの重要性とそのリスクについて詳しく紹介されている。
AWSアカウントIDの重要性
すべてのAWSアカウントには、ユニークな12桁の識別子が割り当てられている。このIDは、ほとんどのAWSリソースのAmazonリソースネーム(ARN)の一部であり、リソースポリシーやリソースアクセスマネージャーを使用してアカウント間でリソースを共有する際に重要な役割を果たす。また、外部ベンダーとリソースを共有する場合にも使用される。
AWSアカウントIDはAWSクラウドにおけるアイデンティティとして機能し、リソースへのアクセスや他者とリソースを共有する際に必要となる。
アカウントIDの知識がもたらす影響
アカウントIDを知ることで、以下のようなことが行える。
IAMエンティティの列挙: IAMユーザーやロールを見つけることができる。この情報はフィッシング攻撃やソーシャルエンジニアリング、パスワードスプレー攻撃に利用されることがある。
- ツールの例としては、validate_iam_principals.pyスクリプトが挙げられる。
使用しているサービスの発見: 特定のAWSサービスリンクドロールを調べることで、どのAWSサービスやサードパーティのセキュリティツールを使用しているかを推測できる。
公開リソースの発見: 公開されているEBSスナップショットやAMIなど、ターゲット企業の意図しない公開リソースを探すことができる。
リソースの相関(ニッチ): リークしたリソースが特定の企業に属しているかどうかを確認するために、アカウントIDを使用することができる。
検出の回避(ニッチ): CanaryTokens.orgのようなセキュリティツールは、既知のAWSアカウントからの資格情報を作成する。この意図的にリークされた資格情報のアカウントIDを特定することで、アラームをトリガーせずに検出を回避することができる。
実際の例
ターゲットのS3バケットにホストされている公開オブジェクトとして、以下のようなURLが見つかる場合がある。
https://cloudsecclub-bucket.s3.amazonaws.com/some.jpg
この場合、以下のような行動が取れる。
- 公開されているEBSスナップショット、RDSバックアップ、またはAMIを探すことができる。
- IAMユーザー名を推測することができる(LinkedInでターゲットの従業員を検索することが有効である)。
- IAMサービスリンクドロールを列挙して、使用しているAWSサービスを確認することができる。
まとめ
AWSアカウントIDは、それ自体では直接的な弱点ではないが、他のクラウド攻撃に利用できる重要な情報である。そのため、AWSアカウントIDの管理には注意が必要である。
詳細はWell, it's just an AWS Account ID!を参照していただきたい。