Microsoft Azure APIの脆弱性とロールの過剰権限設定でVPNキーが漏洩する可能性

セキュリティニュース

投稿日時: 更新日時:

Microsoft Azure APIの脆弱性とロールの過剰権限設定でVPNキーが漏洩する可能性

企業の情報システム部門では、クラウド環境でのアクセス制御が日常的な業務になっています。その中でも、Microsoft AzureのRBAC(ロールベースアクセス制御)はよく使われる仕組みです。今回は、Azureで標準提供されているロールの一部に過剰な権限が与えられていたことと、それがサイバー攻撃につながる具体的なシナリオについて、Token Securityが危険性を指摘しています。

RBAC(ロールベースアクセス制御)とは?

Azureでは、誰に、どの範囲で、どんな操作を許可するかを「ロール」で制御します。ロールには「閲覧専用(Reader)」や「仮想マシン管理(VM Contributor)」など多くの種類があり、対象となるユーザーやグループに割り当てることで操作権限が与えられます。

問題点:一部の標準ロールに過剰な権限が

Token Securityが調査したところ、「Managed Applications Reader」など10種類以上のAzure標準ロールに、必要以上の閲覧権限(”*/read”)が含まれていることがわかりました。

これにより、本来は特定の機能に限定したアクセスのはずが、Azure内の他の多くの情報にもアクセスできてしまう状態になっていました。

また、Azure APIの設計ミスにより、閲覧権限しか持たないユーザーがVPN接続に必要な「事前共有キー(PSK)」を取得できてしまう脆弱性も見つかりました。このキーを使えば、Azure上のネットワークに外部から不正アクセスすることが可能になります。

攻撃の流れ(例)

  1. 閲覧専用ロールを持つユーザーを攻撃者が乗っ取る
  2. VPNキーをAPI経由で取得する
  3. 外部ネットワークからAzureの内部ネットワークに接続
  4. 内部システムやオンプレミス環境にもアクセスが可能に

なお、Token Securityによる簡易的なToken Security

対策方法

  • 問題があるロールの使用を見直す
  • ロールの割り当て範囲(スコープ)を最小限にする
  • 不要な標準ロールの代わりに、必要な操作だけを許可する「カスタムロール」を使う

Microsoftの対応

VPNキーの漏えいについては重要な脆弱性とされ、修正済みです。一方で、過剰な閲覧権限のあるロールについては、ドキュメントに注意書きを加える対応に留まり、技術的な修正は行われていません。