説明
権限の割り当て、変更、追跡、確認が適切でないと、必要以上のアクセスや操作を許可してしまう可能性があります。
想定される影響
- 攻撃者が過剰な権限を得て、許可されていない操作を行ったり、別のユーザーとして振る舞ったりするおそれがあります。
対処方法
- 最小権限の原則に従い、ユーザーやプロセスには必要な権限だけを付与します。
- ロールベースのアクセス制御(RBAC)で権限を管理します。
- 権限の変更をログに記録し、定期的に確認します。
- 権限を変更するときは、定められた手順で承認を得ます。
以下の例は、@EnableMethodSecurityなどでメソッドセキュリティを有効にし、Springが管理するBeanのセキュリティプロキシを経由して呼び出す構成を前提としています。
例
変更前
java
@PreAuthorize("hasRole('USER')")
public void performAdminTask() {
// 管理操作を実行します
}
変更後
java
@PreAuthorize("hasRole('ADMIN')")
public void performAdminTask() {
// 管理操作を実行します
}
説明:
- 変更前:
USERロールだけで管理操作を実行できます。 - 変更後: このメソッドへのアクセスを
ADMINロールに制限しています。このロール自体も、適切なユーザーだけに付与する必要があります。
関連するCVE
- CVE-2001-1555: ログアウト時に端末の権限がリセットされない問題
- CVE-2001-1514: 子プロセスへのセキュリティコンテキストの引き継ぎが不適切で、権限昇格につながる可能性がある問題
- CVE-2001-0128: ロールの算出が不適切な問題