Hunters社のサイバーセキュリティ研究者は、Google WorkspaceにWorkspace APIへの不正アクセスを許す脆弱性を発見しました。この脆弱性は、攻撃者が権限昇格を利用して、本来はスーパー管理者権限を持つユーザーのみがアクセスできるアクセス権限を取得できるという点で重大です。Hunters社はこのセキュリティ脆弱性を「DeleFriend」と名付けました。
ジャンプ先:
- Googleのドメイン全体の委任に脆弱性が発見される
- このGoogle Workspaceの脆弱性が特に危険な理由
- DeleFriendの検出と防御方法
- DeleFriend を手動で実行するための概念実証ツール
Googleのドメイン全体の委任に脆弱性が発見される
Hunters チームによると、この脆弱性は、Google Workspace が Google Cloud サービス全体のユーザー ID を管理する役割に起因しています。ドメイン全体の委任(DWD)は、Google Workspace Marketplace または Google Cloud Platform サービス アカウントの ID オブジェクトを Workspace に接続します。
ドメイン全体の委任は、攻撃者が主に2つの方法で利用できます。1つは、別の攻撃によって標的のWorkspace環境のスーパー管理者権限にアクセスした後に新たな委任を作成すること、もう1つは「サービスアカウントキーとOAuthスコープの有効な組み合わせを列挙すること」です。この2つ目の方法は、研究者が発見した新しい手法です。HuntersのTeam Axonで脅威ハンティングの専門家であるYonatan Khanashvilli氏は、DeleFriendについてより詳細な説明を投稿しています。
Googleからの回答
ハンターズは2023年8月にこの欠陥をGoogleに開示し、「Googleは現在、製品チームと共同でこの問題を検討し、私たちの推奨事項に基づいて潜在的な対策を評価している」と書いている。
匿名のGoogle担当者は2023年11月、The Hacker Newsに対し、「このレポートは、当社製品の根本的なセキュリティ問題を特定するものではありません。ベストプラクティスとして、すべてのアカウントに可能な限り最小限の権限を付与することをお勧めします(ガイダンスはこちら)。これが、この種の攻撃に対抗する鍵となります。」と述べた。
このGoogle Workspaceの脆弱性が特に危険な理由
ハンターたちは、この脆弱性は長期的なもの(GCPサービスアカウントキーにはデフォルトで有効期限がない)であり、隠蔽しやすく、検出が困難なため、特に危険だと述べています。特権管理者権限を持つアカウントに侵入すると、攻撃者はGmailのメールを閲覧したり、Googleカレンダーで誰かのスケジュールを閲覧したり、Googleドライブからデータを盗み出したりできる可能性があります。
「悪意のある攻撃者がドメイン全体の委任を悪用した場合、深刻な結果を招く可能性があります。個々のOAuth同意の場合のように単一のIDのみに影響を与えるのではなく、既存の委任を利用してDWDを悪用すると、Workspaceドメイン内のすべてのIDに影響を与える可能性があります」とKhanashvili氏はプレスリリースで述べています。
参照:オーストラリアの中小企業で多忙を極めるITプロフェッショナルには、サイバーセキュリティ対策として複数の選択肢がある。(TechRepublic)
DeleFriendの検出と防御方法
Googleが指摘しているように、権限が適切に設定されていることを確認することに加え、IT管理者は可能であれば各サービスアカウントを別々のプロジェクトに作成できるとHunters氏は述べている。Hunters氏は、DeleFriendの悪用を防ぐためのその他の推奨事項として、以下の点を挙げている。
- 最小権限の原則を使用して、委任内の OAuth スコープを可能な限り制限します。
- https://www.googleapis.com/auth/admin などの管理スコープは避けてください。
- 短時間で疑わしい委任や複数の秘密鍵の作成に、検出エンジニアリングと脅威ハンティングの実践を集中させます。
- セキュリティ体制と衛生のベスト プラクティスを維持します。
Google は次のことを提案しています。
- 管理コンソールページにアクセスして、現在ドメイン全体の委任を使用しているかどうかを確認してください。現在ドメイン全体の委任を使用していない場合は、現時点でのリスクはありません。今後ドメイン全体の委任を使用する場合は、今後公開されるベストプラクティスガイドに従ってください。
- DWD 用に設定したサービス アカウントがある場合は、各設定を確認し、次の方法でそれらのサービス アカウントへのアクセスを保護する必要があります。
- 管理コンソールのこのページにアクセスし、未使用のスコープへのサービス アカウント アクセスを取り消すことで、サービス アカウントに付与された API スコープに関してサービス アカウントに最小限の権限が付与されていることを確認します。
- GCP コンソールのスーパー管理者または同等のセキュリティ ロールを持つユーザーのみが、これらのサービス アカウントと関連キーを作成/更新できるようにします。
DeleFriend を手動で実行するための概念実証ツール
Huntersは、DeleFriendのエクスプロイト手法を手動で実行するための概念実証ツールを作成しました。このツールは、Resource Manager APIを使用してGCPプロジェクトを列挙し、GCPサービスアカウントリソースとプロジェクトリソースを反復処理して列挙し、そこから特定のロールと権限を調査します。これには、privateKeyData属性キーから秘密鍵の値を抽出することも含まれます(図A)。最終結果はJWTオブジェクトであり、これを一時アクセストークンと交換することでGoogle APIへのアクセスを許可できます。Konanshviliのブログ投稿には詳細が記載されています。
図A

このツールは、研究者が誤った設定を検出し、「GCP および Google Workspace における OAuth 委任攻撃に関する認識を高め、ドメイン全体の委任機能を使用する組織のセキュリティ体制を改善することを目的としている」とハンターズ氏は書いている。
注: このストーリーは Google からの推奨事項に基づいて更新されました。