Missing Function Level Access Control
関数レベルのアクセス制御欠落とは、サーバが特定の機能やエンドポイントに対して認可チェックを行わないことである。フロントエンドのメニュー隠蔽だけに頼る状態を指す。
目的
フロントエンドの隠蔽はセキュリティではなく、サーバ側の認可が必要であると理解する。よくあるアクセス制御の欠陥である。
メカニズム
フロントエンドは管理者メニューを隠していても、サーバ側の /api/admin に認可チェックがなければ、攻撃者がエンドポイントを直接呼んで管理者操作を行えてしまう。防御策は、すべてのエンドポイントでのサーバ側認可チェックと、中央ミドルウェアである。
ユースケース
- 関数レベルの認可監査(audit)
- サーバー側のアクセス制御
- エンドポイントの保護