Amazon ECR リポジトリの欠陥を修正:非文書化 API を介した侵害を研究者が証明

Amazon ECR Public Gallery flaw could have wiped or poisoned any image

2022/12/13 BleepingComputer — Amazon ECR (Elastic Container Registry) Public Gallery の深刻なセキュリティ欠陥が生じている。その損害に成功した攻撃者により、任意のコンテナ・イメージの削除や、他の AWS アカウントのイメージへの悪意のコード・インジェクションなどが可能だった。Amazon ECR Public Gallery とは、Nginx/EKS Distro/Amazon Linux/CloudWatch Agent/Datadog Agent などの、各種のアプリケーションや Linux ディストリビューションを、直ちに共有/使用するためのコンテナ・イメージのパブリック・リポジトリである。


Lightspin のセキュリティ・アナリストたちは、ECR Public Gallery において、文書化されていない API アクションを悪用することで、他ユーザーのパブリック・イメージ/レイヤー/タグ/レジストリ/リポジトリを変更することが可能な、新しい不具合を発見した。2022年11月15日に、彼らは AWS Security に報告し、Amazon は 24時間以内に修正プログラムを展開した。

この欠陥が、野放し状態で悪用された形跡はないが、数多くのユーザーに対する大規模なサプライチェーン攻撃で、この欠陥を脅威アクターたちが利用した可能性は否定できない。

特筆すべきは、ECR Public Gallery で最も人気のある上位6つのコンテナ・イメージが、130億回以上もダウンロードされていることだ。そこに悪意のインジェクションがあれば、制御不能な感染につながった可能性がある。

Lightspin の分析によると、すべての Kubernetes クラスタの 26% は、ECR Public Gallery からイメージを引き出すポッドを、少なくとも1つは持っているため、その影響が大きかった可能性があるとのことだ。

文書化されていない API アクションの活用

Lightspin の研究者たちは、ECR Public Gallery で発見したのは、特定のコマンドやユーザー・アクションをサポートするために使用されるが、一般には公開されていない、いくつかの内部 API アクションが存在していることだ。

これらの API アクションのうち、以下の4つはトリガーを持たないが、このプラットフォーム上で現時点でも有効であるため、呼び出すことが可能だ。

  • DeleteImageForConvergentReplicationInternal
  • DeleteTagForConvergentReplicationInternal
  • PutImageForConvergentReplicationInternal
  • PutLayerForConvergentReplicationInternal

Amazon Cognito からの一時的な認証情報を使って、ECR 内部 API を認証する方法を見つけた後に、アナリストたちは悪意の API リクエストを偽造し、それを受け入れさせることに成功した。

もちろん、上記が機能するためには、リクエストは有効な JSON 構造を持っている必要がある。それらの API コールに関するドキュメントが存在しないため、いくつかの実験を繰り返して推測することが必要だった。

Lightspin のレポートで提供された、PoC エクスプロイトの例は、以下の通りである。このリクエストでは、DeleteImage API コールと、一般に公開されているリポジトリと Image ID を用いて、研究者がアップロードした一般公開用のイメージをワイプしている。

Request to delete the target container image
Request to delete the target container image (Lightspin)

研究者たちは、エクスプロイトの手順を Python スクリプトに焼き付けているため、文書化されていない API コールを悪用して、公開イメージを攻撃するプロセスを自動化できた可能性がある。

Amazon の対応

Amazon は BleepingComputer に対して、「Lightspin により発見された問題を直ちに修正した。また、内部調査の結果、脅威アクターたちによる悪用の兆候は見つからなかった」と述べている。

Amazon は、調査したログと証拠に基づき、顧客のアカウントやアップロードされたものなどの資産が、侵害されていないことを確信しているという。

Amazon の声明全文は以下のとおりである:

2022年11月14日にセキュリティ研究者たちが、公開コンテナ・イメージを検索/共有するための公開サイト Amazon Elastic Container Registry (ECR) Public Gallery に問題があることを報告してくれた。研究者たちは、ECR API のアクションを呼び出すと、ECR Public Gallery で利用可能なイメージの変更/削除が可能になることを確認した。

2022年11月15日現在において、特定された問題は改善されている。私たちは、すべてのログを徹底的に分析しました。私たちのレビューによる結論として、この問題に関連する唯一のアクティビティは、研究者たちが所有するアカウント間でのみ発生したことを確信している。したがって、顧客のアカウントは影響を受けず、また、何の措置も必要ない。この問題を報告してくれた、Lightspin に感謝する。

各種のアプリケーションや Linux ディストリビューションを、直ちに共有/使用するためのコンテナ・イメージのパブリック・リポジトリである、Amazon ECR Public Gallery の欠陥が FIX したという話です。文書化されていない Shadow API を介した攻撃経路が、Lightspin の研究により明らかにされたわけです。よろしければ、2022年11月1日の「Zombie API と Shadow API の恐ろしさ:API 乱立の副産物に向き合う」を、ご参照ください。

%d bloggers like this: