4分読了

出典:Alamy Stock Photo経由Sandwish
ユーザーが削除後もGoogle APIキーは完全に非アクティブにならず、攻撃者が引き続き悪用するための小さいながら重要なウィンドウを与えています。
ベルギーのスタートアップAikido Securityのリサーチャーであるジョー・レオン氏は、クラウド大手のAPIキーの取消ウィンドウ(キー削除から最後の成功した認証までの時間)を最近分析しました。本日公開されたブログ投稿で、レオン氏はGoogle Cloud Platform(GCP)の顧客はキー削除直後にAPIアクセスが終了することを期待していますが、実際はそうではないと述べています。
一連のテストで、レオン氏は取消ウィンドウの中央値が約16分であり、最長で23分に及ぶことを発見しました。これはAPIキーが認証に成功し続けるための「信じられないほど長い時間」であると彼は指摘しています。
そしてこれらのウィンドウは組織に深刻な影響を及ぼします。「削除されたキーを保持している攻撃者は、追いついていないサーバーに到達するまでリクエストを送り続けることができます。プロジェクトでGeminiが有効な場合、アップロードしたファイルをダンプしてキャッシュされた会話を流出させることができます」とレオン氏は述べています。「GCPコンソールはそのキーを表示せず、キーがまだ機能していることを通知しません。Googleのインフラストラクチャが最終的に追いつくことを信頼する必要があります。」
Google APIキーの取消ウィンドウはさまざまです
レオン氏はDark Readingに、Offensaiの共同創業者であるエドゥアルド・アガヴリロアエ氏が昨年後半に公開したAWSの認証情報における取消遅延に関する研究に触発されて、GCPの取消ウィンドウを検証することを決めたと語っています。しかしレオン氏がブログ投稿で指摘したように、それらの遅延はわずか4秒であり、AWSは当該問題に対応しました。
「4秒でさえAWSでは重要でした」と彼は述べています。
比較すると、GoogleのAPIキーの取消ウィンドウは指数関数的に長かったです。AikidoのリサーチチームはGCPの異なるリージョンに仮想マシン(VM)を作成し、APIキーを削除し、削除後にキーが機能する期間を確認するために1秒あたり最大5つの認証済みリクエストを送信する2日間にわたり10回のテストを実施しました。
テスト結果は「非常に予測不可能」でした。1つの試行は1分後に79%の認証成功率を示しましたが、別のテストではわずか5%の成功率でした。さらに、Aikidoのリサーチチームはウォーミング成功率がVMのリージョンに基づいて大幅に異なることを発見しました。
例えば、テスト結果によると、GCPのasia-southeast1のVMは1分後に22%という中央値のリクエスト認証成功率を記録しましたが、us-east1およびeurope-west1リージョンの成功率は約49%でした。レオン氏は米国から遠いVMの方が削除リクエストをより速く受け取ったことに気づきました。これは「期待していたこととは正反対」ですが、理由は明らかではありません。
「Googleのリクエストルーティングは「VMリージョン=サーバーリージョン」よりもはるかに複雑であり、シンガポールのVMが必ずしもシンガポールのサーバーと通信しているわけではありません」とレオン氏は述べています。「しかしパターンは試行全体で一貫していました。これは地域インフラストラクチャ、キャッシング、またはルーティングアフィニティの違いを示唆しています。」
原因が何であれ、レオン氏は地域差は「研究者(または攻撃者)がリクエストを発信した場所によって完全に決定され」、顧客の地理的位置とは無関係であると述べています。
APIキー削除の遅延はインシデント対応を複雑にしています
Aikidoのレポートは、キー削除のためのGCPのユーザーインターフェース(UI)が「削除されると、APIリクエストを作成するために使用することはできません」と表示されていることを指摘しました。レオン氏は、このUIは明らかに誤りであり、APIキーが完全に取消されるタイミングについて顧客を無知なままにしていると述べています。
レオン氏はDark Readingに、GoogleのAPIキーの取消ウィンドウと予測不可能な認証成功率が、潜在的な侵害に対処しているインシデント対応チームの問題を複雑にしていると述べています。
「これはIRチームが漏洩した認証情報に対応するときに持つメンタルモデルを破壊しています」と彼は述べています。「「削除」または「取消」をクリックすれば認証情報は機能しなくなると想定されています。しかし今、IRチームはGCP認証情報の場合、「削除された」認証情報が攻撃者に対してまだ機能するウィンドウが存在することを忘れてはいけません。」
そのため、AikidoはセキュリティチームとIR担当者がGoogle APIキー削除のために30分のウィンドウを使用することを推奨しています。さらに、組織はGCPコンソールの「有効なAPIとサービス」セクションを通じて認証情報別のAPIリクエストを監視し、認証情報別のAPIリクエストを確認する必要があります。「削除後その認証情報から予期しない使用が見られた場合、誰かがそれを積極的に悪用している可能性があります」とレオン氏は述べています。
AikidoはGoogleに調査結果を報告しましたが、ブログ投稿によるとGoogleは報告を「修正しない」として却下しました。Dark Readingは研究についてコメントするためにGoogleに連絡しましたが、掲載時点で返答がありませんでした。
レオン氏は、Googleがサービスアカウント削除がプラットフォーム全体に約5秒で伝播し、Geminiの新しいAPIキー形式が約1分で完全に取消されるなど、他のタイプの認証情報に対してはより速い取消を実現していることに気づいています。これはGoogle APIキーの取消ウィンドウを削減することが「技術的に解決可能」であることを示唆しています。
「Googleの規模の分散システムは困難であり、これはGCP IAMチームへの批評ではありません」とレオン氏は述べています。「しかし23分の取消ウィンドウはユーザーが削除ボタンに期待するものと根本的に矛盾しています。」