不適切な権限管理

不適切な権限管理

説明

権限の割り当て、変更、追跡、確認が適切でないと、必要以上のアクセスや操作を許可してしまう可能性があります。

想定される影響

  • 攻撃者が過剰な権限を得て、許可されていない操作を行ったり、別のユーザーとして振る舞ったりするおそれがあります。

対処方法

  1. 最小権限の原則に従い、ユーザーやプロセスには必要な権限だけを付与します。
  2. ロールベースのアクセス制御(RBAC)で権限を管理します。
  3. 権限の変更をログに記録し、定期的に確認します。
  4. 権限を変更するときは、定められた手順で承認を得ます。

以下の例は、@EnableMethodSecurityなどでメソッドセキュリティを有効にし、Springが管理するBeanのセキュリティプロキシを経由して呼び出す構成を前提としています。

例

変更前

java
@PreAuthorize("hasRole('USER')")
public void performAdminTask() {
    // 管理操作を実行します
}

変更後

java
@PreAuthorize("hasRole('ADMIN')")
public void performAdminTask() {
    // 管理操作を実行します
}

説明:

  • 変更前: USERロールだけで管理操作を実行できます。
  • 変更後: このメソッドへのアクセスをADMINロールに制限しています。このロール自体も、適切なユーザーだけに付与する必要があります。

関連するCVE

参考資料