Google Cloud API キーは削除後も最大23分間機能し続ける可能性があります。これは攻易なクラウドサービスへの不正アクセスを許す重大なセキュリティギャップを露呈しており、認証情報が失効した後でも攻撃者が権限を保持できます。
Google API 削除キーがアクセスを保持
Joe Leon率いるAikido社のセキュリティ研究者は、削除されたGoogle API キーが予想通りに直ちにアクセスを失うわけではないことを発見しました。代わりに、失効がGoogle の分散インフラ全体に段階的に伝播し、その間キーが間欠的に有効な「失効ウィンドウ」が生じます。
10回の試験にわたる検査で、研究者は以下を観察しました:
- 失効の遅延は最長で約23分
- 最短で約8分の遅延
- 中央値で約16分の失効時間
このウィンドウ中、認証動作は一貫性を欠きます。処理するバックエンドサーバーに応じて、リクエストがすぐに失敗する場合もあれば、成功し続ける場合もあります。この不一貫性により、流出したAPI キーを持つ攻撃者は、すべてのシステムが削除を完全に認識するまで、リクエストを送信し続けることができます。

Gemini またはBigQuery にリンクされたGoogle API キーが流出した場合、攻撃者は以下のことができます:
- キー削除後もAPI リクエストを送信し続ける
- 保存されたファイルやAI対話履歴などの機密データにアクセスする
- 地域間の不均等な失効を利用してアクセスを延長する
たとえば、削除から10分後でも、リクエストが遅れているインフラノードを経由してルーティングされた場合、リクエストの一部は成功し続ける可能性があります。
研究はまた、失効動作における地域的な顕著な違いも明かしました。Google Cloudリージョン(us-east1、europe-west1、asia-southeast1)全体で実施された試験は、削除直後の成功率が異なることを示しました。

場合によっては、米国に遠いシステムの方が近いシステムより高速に失効することが示唆され、内部ルーティング、キャッシング、またはインフラ設計が削除がいかに迅速に伝播するかに影響を与えます。
さらに、GCP ログは削除されたキーで行われたリクエストを一般的な「apikey:UNKNOWN」ラベルでグループ化します。これはセキュリティチームがキーが削除されると特定の侵害されたキーにアクティビティを簡単に帰属させられないため、インシデント対応を複雑にします。
すべてのGoogle 認証情報がこの遅延を示すわけではありません。研究者は以下を発見しました:
- サービスアカウントキーは約5秒で失効
- 新しいGemini API キー(AQ接頭辞)は約1分で失効
- レガシーGoogle API キーは最大23分かかる
この格差は、より迅速な失効が技術的に可能であるが、認証情報タイプ全体で均一に実装されていないことを示しています。
Google は問題を「対応しない」と分類したと報告されており、最終的一貫性を既知のアーキテクチャ特性として、脆弱性としてではなく引用しています。最終的一貫性は大規模システムのパフォーマンス維持に役立ちますが、認証に適用すると悪用可能なタイミングギャップが生じます。
この問題はまた、ユーザーの期待に関する誤解に関する懸念も生じさせます。Google Cloud コンソールは削除されたキーはもう使用できないと述べていますが、失効ステータスまたはアクセスが完全に終了するときの確認への可視性を提供しません。
軽減に関する推奨事項
変更が実装されるまで、Google API キーを使用する組織はセキュリティプラクティスを調整する必要があります:
- API キー削除を遅延プロセスとして扱い、最大30分の継続的なエクスポージャーを想定する
- 削除後、不正なアクティビティの兆候がないかAPI 使用状況を厳密に監視する
- インシデント対応中に削除のみに依存しないでください。キーを積極的にローテーションおよび制限する
- 可能な限り、サービスアカウントなど、より安全な認証情報タイプを優先する
この発見は、分散システムにおけるより広いセキュリティの課題を強調しています。最終的一貫性はスケーラビリティを向上させますが、認証情報失効に必要な厳密な即時性と矛盾する可能性があります。
翻訳元: https://gbhackers.com/google-api-key-issue-allows-deleted-keys-to-retain-access/