DevOps
悪意のあるアクターがデータを盗んだり、莫大な請求をされたりする十分な時間
Googleの API キーが流出していることに気付き、悪意のあるアクターがアカウントで料金を発生させる前にそれを無効にしようと急いでいますね。残念なお知らせです。Aikido のセキュリティ研究者によると、ユーザーが API キーを削除した後、最大 23 分間 API キーを使用できます。これにより、Google の自動請求階層アップグレードと組み合わせると、被害者に壊滅的な打撃を与える可能性のある機会の窓が生まれます。
「Google の流出した API キーにアクセス可能な攻撃者が、キーが無効にされたとユーザーが信じた後でも、その認証情報を悪用し続けることができる実質的な時間枠を特定しました」と Aikido のセキュリティ研究者 Joseph Leon はThe Registerに語りました。「その時間枠では、攻撃者は料金を発生させたり、Gemini にアップロードされた機密ファイルを取得したり、キャッシュされたコンテキストを漏出させたりできます。」
Aikido は 2 日間で 10 回の試行中にこのギャップをテストしました。各試行で、研究者は API キーを作成し、削除してから、数分間有効な応答がなくなるまで、1 秒あたり 3 ~ 5 つの認証されたリクエストを送信しました。
ユーザーが Google API キーを削除してから、それを使用できなくなるまでの時間は、Google のインフラストラクチャ全体に段階的に伝播すると彼は述べています。一部のサーバーはキーを数秒以内に拒否しますが、他のサーバーは 23 分間受け入れ続けます。
これは、削除されたキーを保持している攻撃者が、キャッチアップしていないサーバーに到達するまで繰り返しリクエストを送信できることを意味します」と Leon は述べています。プロジェクトで Gemini が有効になっている場合、アップロードされたファイルをダンプしてキャッシュされた会話を漏出させることができます。
この論文は、12 月に研究者が開示したAWS キーに関する同様の問題を引用しています。その場合、削除後、攻撃者は 4 秒の悪用ウィンドウを持っていました。研究者はその時間内で新しい認証情報を作成する方法を示しました。
「AWS では 4 秒で十分に影響がありました」と Leon は論文に書きました。「Gemini にアクセスするために使用される Google API キーへの最近の注目を考えると、Google の API キー無効化ウィンドウがどのくらい開いたままかを測定することに決めました。」
欠陥は開発者に莫大な予期しない請求をもたらす可能性があります
The Register はGoogle API キーの悪用の多くのケースを報告しており、認証情報が侵害された後、開発者が突然 5 桁の請求を受けています。
この問題は 4 月に Google がユーザー向けの支出階層を含むように請求ポリシーを見直した後、悪化しました。開発者はこれを最初はコストを制限する方法と考えていましたが、Google は彼らの知識なしに支出階層を次のレベルに自動的にアップグレードします。
Google で 30 日以上働き、アカウントの生涯で 1,000 ドル以上を費やしたユーザーの場合、使用量が急増すると上限を 250 ドルから 100,000 ドルに引き上げることができます。認証情報が悪い人の手に渡った場合、これは悪党にとって思わぬ幸運です。
Google API キーが盗まれた開発者はThe Registerに対し、認証情報が盗まれた数分後に請求額が 5 桁に跳ね上がったと述べました。悪意のあるアクターが Google の Gemini モデル (Nano Banana やビデオ製作モデル Veo 3 など) を大量に使用していたためです。
Google はThe Register が注目させた 3 件のケースで払い戻しを発行し、それらの開発者に 154,000 ドルを返金しました。
被害者はThe Registerに対し、攻撃中に支出をシャットダウンし、コストが数千ドル増加する中でも、プロジェクトへのアクセスをオフにしようと必死に取り組んでいたと述べました。Leon は、Google 開発者がアカウントへのアクセスをオフにしようとするケースでは、API キーを削除しても悪党が損害を与えるための時間を与えると述べました。
「それに金銭的な数字を付けるのは難しいです」と Leon は私たちに語りました。「テストの時間枠は平均 16 分でしたが、最悪の場合は 23 分に近づきました。その時間枠では、成功率は非常に予測不可能です。リクエストの 90% 以上がまだ認証された分もあれば、1% 未満の分もありました。このことを知っている攻撃者は、キャッチアップしていないサーバーに到達するオッズを最大化するために、大量のリクエストを送信できます。Gemini アクセス権を持つ Google API キーの場合、損害は計算請求だけではありません。キーが実際に無効になる前に、攻撃者が漏出させるファイルとキャッシュされたコンテキストです。」
VM を使用して、Aikido は 3 つの Google Cloud リージョン (米国東海岸、西ヨーロッパ、東南アジア) でその結果をテストし、別の日付でそれらの結果をスポット チェックしました。各試行で、Aikido は単一の API キーを削除し、3 つの VM それぞれから並列でリクエストを送信しました」と Leon は論文に書きました。
「米国から離れた VM の方が削除をより速くピックアップしました。これは予想と逆です。外部からは理由を正確には言えません。Google のリクエスト ルーティングは「VM リージョン = サーバー リージョン」よりも複雑であり、シンガポールの VM は必ずしもシンガポールのサーバーと通信しているわけではありません」と論文は述べています。「しかし、パターンは試行全体で一貫していました。これは、地域のインフラストラクチャ、キャッシング、またはルーティング アフィニティが違いを導いていることを指しています。」
試験では Gemini へのアクセス権を持つキーを使用しましたが、BigQuery や Maps など他の GCP API にスコープされたキーでも同じ動作を観察しました。Google は他のタイプの認証情報のより高速な無効化を構築していると Leon は述べました。
彼は、Google のサービス アカウント API 認証情報の無効化は約 5 秒で伝播すると述べました。Gemini の新しい API キー形式 (AQ で始まるもの) は約 1 分で伝播します。
「どちらも Google のスケールで実行されます。どちらも Google API キーに対してこれが技術的に解決可能であることを示唆しています」と Leon は書きました。
しかし、Google は Aikido に対し、研究者が見つけた他の API キーの 23 分間のギャップに対応する計画がないことを伝えました。
「私たちのレポートを確認した後、彼らはそれを「修正しない(実行不可能)」として閉じ、「これらのキーの削除の伝播による遅延は意図したとおりに機能しています」というコメントとともに閉じました」と Leon は私たちに語りました。
The Register はこの研究について Google に問い合わせましたが、まだ応答を受け取っていません。®
IT業界を養う手に噛みつく