Hello there, ('ω')ノ
✅ 定義
垂直的権限昇格(Vertical Privilege Escalation)とは:
低権限のユーザーが、本来アクセスできない上位の権限(例:管理者機能)に不正にアクセスすること
🧠 例で理解する
ユーザー種別 | 本来できること | 権限昇格の結果 |
---|---|---|
一般ユーザー | プロフィール変更 | 他人のアカウントを削除 |
一般ユーザー | 自分の注文履歴を見る | 全ユーザーの注文情報にアクセス |
編集者 | 記事の編集 | サイト全体の設定変更(管理者権限) |
💥 攻撃例
例えば以下のようなURLがあるとします:
https://example.com/admin/delete-user?id=101
ログイン中のユーザーが管理者でなくても直接このURLにアクセスできてしまう場合:
→ 一般ユーザーが「他人の削除」操作をできてしまい、垂直的権限昇格が成立
🛡 なぜ危険か?
- 🔥 操作範囲が一気に拡大する(他人のデータの削除・改変など)
- 🔓 アプリケーション全体のセキュリティが破綻する
- 🧨 管理者向け機能が「誰でも使える状態」になっていることを意味する
✅ 対策
対策 | 説明 |
---|---|
✅ サーバー側でユーザーのロール(権限)を常に検証 | フロントエンドだけでボタンを隠すのは不十分 |
✅ 管理機能にアクセスするAPIにも認可チェックを導入 | if (user.role != 'admin') return 403 など |
✅ 監査ログを記録して権限外の操作を検知 | 攻撃兆候の早期発見が可能に |
✅ まとめ
垂直的権限昇格とは「本来許されない操作を、上位権限として実行してしまうこと」。
多くのアクセス制御の脆弱性の中でも特に重大で、攻撃者がアプリの運用を妨害したり、情報を漏洩させる要因となります。
Best regards, (^^ゞ