Google Kubernetes Misconfig Lets Any Gmail Account Control Your Clusters
2024/01/24 TheHackerNews — Google Kubernetes Engine (GKE) に影響を与える脆弱性が、ybersecurity の研究者たちにより発見された。この脆弱性は、クラウド・セキュリティ企業 Orca によりコードネーム Sys:All と命名されており、現存する 250,000 ものアクティブな GKE クラスタに影響を与える可能性があると推定される。
Orca のセキュリティ研究者である Ofir Yakobi は、「Google Kubernetes Engine の system:authenticated グループに含まれるのは、検証された ID のみだと認識されているようだ。しかし、実際のところは、組織外を含む、あらゆる Google 認証アカウントも含まれている」と、The Hacker News に共有したレポートの中で述べている。
この system:authenticated グループは、人間のユーザーやサービス・アカウントなどの、すべて認証済みエンティティを含む特別なグループである。そのため、このグループに対して、管理者が誤って過度に寛容な役割を与えてしまうと、深刻な結果を招く可能性がある。
具体的に言うと、Google アカウントを所有する外部の脅威アクターが、自身の Google OAuth 2.0 ベアラー・トークン (Bearer Token) を使用することで、このミスコンフィグレーションの悪用が可能になる。その結果として、クラスタ制御権が掌握されてしまい、横移動/クリプト・マイニング/サービス運用妨害/機密データの窃取などの可能性が生じる。
さらに厄介なことに、このアプローチでは、OAuth ベアラー・トークンを取得した、実際の Gmail や Google Workspace アカウントにリンクする痕跡が残らない。
Sys:All は多くの組織に影響を及ぼすものであり、JWT トークン/GCP API キー/AWS キー/Google OAuth 認証情報/プライベート・キー/コンテナ登録への認証情報などの、様々な機密データの暴露につながることが判明している。
この報告を受けた Google は、GKE 1.28 以降で system:authenticated グループとクラスタ管理ロールのバインドを、ブロックするという措置を講じた。
Google は、「クラスタ管理者のアクセス・ミスコンフィグを悪用する、マルウェアによる大量攻撃からクラスタを保護する必要がある。そのため、バージョン 1.28 以降を実行している GKE クラスタでは、クラスタ管理者の ClusterRole を system:anonymous ユーザー/system:unauthenticated グループ/system:authenticated グループにバインドすることはできない」と、公開した関連文書で述べている。
さらに同社が推奨するのは、system:authenticated グループを RBAC (Role Based Access Control) にバインドしないこと、そして、ClusterRoleBindings と RoleBindings の双方を使用するクラスタが、対象となるグループにバインドされていることの確認である。もちろん、安全ではないバインディングの削除も、そこに加えられる。
Orca は、「この方法を利用した大規模な攻撃について、現時点ではパブリックな記録はない。しかし、それは時間の問題だと思われるため、クラスタのアクセス制御を保護するために、適切な措置を講じる必要がある。すでに問題は改善されているが、グループに割り当てられる、多数の役割や権限が残っていることに注意すべきである」と警告している。
Google Kubernetes Engine の system:authenticated グループには、人間のユーザーやサービス・アカウントなどの、すべて認証済みエンティティを含む特別なグループとのことです。そして、このグループに対して、過度に寛容な役割を与えてしまうと、つまり、ミスコンフィグしてしまうと、深刻な結果を招く可能性があるようです。ご利用のチームは、ご注意ください。よろしければ、Kubernetes で検索も、ご利用ください。


You must be logged in to post a comment.