AWSの主要サービスに深刻な脆弱性が発見されました。「バケットモノポリー」と名づけられた攻撃手法です。S3バケットの命名規則を悪用してAWSアカウントを乗っ取れる可能性がありました。しかし、AWSはすでに修正を完了しています。そこで今回は、この脆弱性の仕組みと対策を詳しく解説します。

バケットモノポリー攻撃の仕組み

AWSの多くのサービスはS3バケットを自動作成します。たとえば、CloudFormationやSageMakerなどです。問題はバケット名の命名規則が予測可能だった点です。具体的には、サービス名やアカウントID、リージョン名で構成されます。つまり、パターンを知れば名前を予測できたのです。

攻撃者はまだ作成されていないバケット名を予測します。次に、先にそのバケットを自分のアカウントで作成します。しかし、ターゲットが新しいリージョンでサービスを有効化すると攻撃者のバケットが使われます。なぜなら、S3のバケット名はグローバルで一意だからです。さらに、攻撃者はバケット内のデータを操作できるようになります。

影響を受けたAWSサービス

複数の主要サービスが影響を受けました。まず、CloudFormationが対象です。また、Glue、EMR、SageMakerも含まれます。さらに、CodeStarやService Catalogも影響されました。

特に、CloudFormationへの影響は深刻でした。なぜなら、テンプレートを通じてコードを実行できるからです。つまり、任意のコード実行が可能になるリスクがありました。しかし、AWSは迅速に修正パッチを適用しています。実際、現在は修正済みです。なお、この脆弱性はBlack Hat USA 2024で発表されました。

Shadow Resourcesの概念

この攻撃はShadow Resourcesという概念に基づいています。ユーザーが知らないうちに作成されるリソースです。具体的には、AWSサービスが裏側で自動的にS3バケットを作成します。しかし、ユーザーはその存在を意識していません。

つまり、管理されていないリソースが攻撃の足がかりになります。さらに、このようなリソースはセキュリティ監査でも見落とされがちです。実際、多くの組織がShadow Resourcesの存在を把握していません。特に、複数リージョンを使用する大規模環境で問題が顕著でした。

バケットモノポリーへの対策

いくつかの対策が推奨されています。まず、S3バケットポリシーの確認が基本です。また、不要なバケットの削除も重要です。さらに、バケット名にランダム文字列を含める方法も有効です。

具体的には、AWS CloudTrailでバケットの作成ログを監視します。しかし、最も重要なのはAWSの最新パッチを適用することです。つまり、サービスのアップデートを怠らないことが防御の基本です。なお、AWS Organizationsのサービスコントロールポリシー(SCP)も活用できます。特に、許可されたリージョンのみを使用する制限が効果的です。

まとめ

AWSのバケットモノポリー脆弱性はS3の命名規則を悪用した攻撃でした。しかし、AWSはすでに修正を完了しています。特に、Shadow Resourcesの管理が重要な教訓です。また、バケットポリシーの定期的な見直しも必要です。実際、クラウドセキュリティは常に進化する脅威への対応が求められます。