Experts Uncover Severe AWS Flaws Leading to RCE, Data Theft, and Full-Service Takeovers
2024/08/09 TheHackerNews — Amazon Web Services (AWS) 製品群に複数の重大な脆弱性が存在することが、サイバー・セキュリティ研究者たちにより発見された。クラウド・セキュリティ企業の Aqua は、「2024年2月の時点で、6つの AWS サービスに深刻な脆弱性が発見された。これらの脆弱性が悪用されると、リモート・コード実行/フルサービス・ユーザーの乗っ取り (攻撃者が管理アクセスを獲得する可能性)/AI モジュールの操作/機密データの漏えい/データ流出/DoS 攻撃などにつながる可能性がある」と、The Hacker Newsと共有した詳細なレポートで述べている。

この情報が 2024年2月に開示された後に、Amazon は 3月〜6月の数ヶ月間を費やし、一連の脆弱性に対処した。これらの脆弱性に関する調査結果は、Black Hat USA 2024 で発表されている。
Bucket Monopoly と名付けられた、この問題の中心となるのは、Shadow Resource と呼ばれる攻撃ベクターである。AWS のケースにおいては、CloudFormation/Glue/EMR/SageMaker/ServiceCatalog/CodeStar などのサービスを使用する際に、AWS S3 バケットが自動的に作成されることを指す。
この方法で作成される S3 バケット名は一意であり、かつ事前に定義された命名規則に従っている。具体的に言うと、”cf-templates-{Hash}-{Region}” などの規則に則ったものとなっている。この振る舞いを悪用する攻撃者は、未使用の AWS リージョンにバケットを設定し、いずれかの脆弱性のあるサービスを正当な AWS 顧客が使用し、S3 バケットの内容に秘密裏にアクセスするのを待ち伏せできる。
攻撃者がコントロールする、S3 バケットに付与された権限に基づき、このアプローチからエスカレートする可能性があるものとして、DoS トリガー/コード実行/データ操作/データ窃取などが挙げられる。
Bucket Monopoly を悪用する攻撃の成功率を最大化するために、攻撃者は利用可能な全てのリージョンにあらかじめ未所有のバケットを作成し、そのバケットに悪意のコードを格納していける。標的とされた組織が、新しいリージョンで脆弱性のあるサービスの1つを有効化すると、悪意のコードが密かに実行され、攻撃者のための管理者ユーザーを作成される可能性が生じる。

ただし、この攻撃が成功する前提として、新しいリージョンに新しい CloudFormation スタックが、初めてデプロイされるタイミングを待つ必要がある。S3 バケット内の CloudFormation テンプレート・ファイルを変更して、不正な管理者ユーザーを作成することも、被害者アカウントが IAM ロールを管理する権限を持っているかどうかに依存する。


Aqua によると、S3 バケットに対して、同様の命名方法 {Service Prefix}-{AWS Account ID}-{Region} に依存する、他の5つの AWS サービスが発見されたという。それにより、シャドー・リソース攻撃にさらされ、最終的に攻撃者による権限昇格が達成され、DoS/情報開示/データ操作/任意のコード実行などの、悪意のアクションの実行にいたるという。
- AWS Glue: aws-glue-assets-{Account-ID}-{Region}
- AWS Elastic MapReduce (EMR): aws-emr-studio -{Account-ID}-{Region}
- AWS SageMaker: sagemaker-{Region}-{Account-ID}
- AWS CodeStar: aws-codestar-{Region}-{Account-ID}
- AWS Service Catalog: cf-templates-{Hash}-{Region}
さらに Aqua は、AWS のアカウント ID は、同様の攻撃を仕掛けるために悪用される可能性があるため、機密とみなされるべきだと指摘している。それは、Amazon がドキュメントで述べている考え方とは、真逆のものである。
さらに、AWS アカウントに使用されているハッシュは、GitHub の正規表現検索や Sourcegraph、あるいは、オープン・イシューのスクレイピングで発見できる。そのため、アカウント ID などのメタデータから、ダイレクトにハッシュを計算できない場合であっても、S3 バケット名を特定することが可能だ。
Aqua は、「この攻撃ベクターは、AWS サービスだけではなく、組織が AWS 環境にリソースをデプロイするために使用しているオープンソース・プロジェクトにも影響を与える。数多くのオープンソース・プロジェクトが、その機能の一部として有しているものに、自動的な S3 バケットの作成やデプロイの指示がある。バケット名に予測可能または静的な識別子を使用する代わりに、各リージョンとアカウントに対して一意のハッシュまたはランダムな識別子を生成し、この値を S3 バケット名に組み込むことが望ましい。このアプローチは、攻撃者によるバケットの特定を防止するのに役立つ」と述べている。
AWS の S3 バケットにおける命名規則を悪用するかたちで先回りして、待ち伏せ型の攻撃を成功させる脆弱性 Bucket Monopoly が、BlackHat で発表されたとのことです。この種の攻撃ベクター名は、Shadow Resource と呼ばれるとのことです。これを機に、AWS の安全性が向上すると良いですね。よろしければ、AWS で検索も、ご利用ください。
You must be logged in to post a comment.