OWASP Top 10
OWASP Top 10
OWASP(世界中の専門家が運営する非営利団体)がまとめた『Webアプリで最も危険な脆弱性ワースト10』。2021年版が現行で、面接では『A01は何?』『この攻撃はどのカテゴリ?』と問われやすい定番リスト。
OWASP Top 10 とは何か
まず用語から。OWASP(オワスプ, Open Worldwide Application Security Project)は、Webセキュリティの知見を無償公開している世界的な非営利団体です。その代表作が Top 10 — 『Webアプリで最も重大な脆弱性ワースト10』のランキングです。
たとえるなら、**料理人にとっての『食中毒を起こしやすい原因ワースト10』**のようなもの。全部を暗記する必要はありませんが、『これだけは押さえておけ』という共通認識として、開発者・面接官の間で物差しになっています。現行は2021年版です。
ワースト10 一覧(2021年版)
| ID | 名称(英/日) | どんな問題か(ひとことで) | 主な対策 |
|---|---|---|---|
| A01 | Broken Access Control / アクセス制御の不備 | 認可チェック漏れで他人のデータや管理機能に触れてしまう(IDOR、権限昇格)。堂々の1位 | サーバ側で毎回権限確認、デフォルト拒否、所有者チェック |
| A02 | Cryptographic Failures / 暗号化の失敗 | 機密データを平文保存・弱い暗号・TLS未使用で漏洩 | 強い暗号(AES-GCM)、TLS強制、パスワードはハッシュ+ソルト |
| A03 | Injection / インジェクション | 入力が命令として解釈される(SQLi、OSコマンド)。XSSもここ | パラメータ化クエリ、出力エスケープ、入力検証 |
| A04 | Insecure Design / 安全でない設計 | 実装ミスではなく設計段階の欠陥(2021新設) | 脅威モデリング、設計レビュー |
| A05 | Security Misconfiguration / 設定の不備 | デフォルトパスワード放置、公開バケット、詳細エラー露出 | ハードニング、不要機能オフ、エラー抑制 |
| A06 | Vulnerable and Outdated Components / 脆弱で古い部品 | 既知の穴があるライブラリを使い続ける(Log4Shell型) | 依存スキャン(SCA)、定期更新 |
| A07 | Identification and Authentication Failures / 認証の失敗 | 弱いパスワード許容、総当たり放置、セッション固定 | MFA、レート制限、安全なセッション管理 |
| A08 | Software and Data Integrity Failures / 完全性の不備 | 署名検証なしの更新、安全でないデシリアライズ(2021新設) | 署名検証、信頼できる供給元 |
| A09 | Security Logging and Monitoring Failures / ログと監視の不備 | 攻撃に気づけない(ログ不足、アラートなし) | 重要イベントのログ、集中監視、アラート |
| A10 | Server-Side Request Forgery (SSRF) | サーバに任意のURLを叩かせる(2021新設) | 宛先allowlist、内部IP遮断 |
つまずきポイント(面接ではここを突かれる)
- 『XSSはどのカテゴリ?』→ A03 Injection。昔は独立項目でしたが2021年版で統合されました。『XSSはA7』などと答えると古い知識とバレます。
- 1位は A01 Broken Access Control。直感的には『暗号化の失敗が一番ヤバそう』と思いがちですが、実際に最も多発するのは『権限チェックの抜け』です。ログイン後のURLの数字を
/orders/123から/orders/124に変えたら他人の注文が見えた、というアレ(IDOR)がこれ。 - 2021新設の3つ(A04・A08・A10) はよく聞かれます。語呂で『**設計(4)・完全性(8)・SSRF(10)**が新顔』と覚えると楽です。
関連リスクの相関(イメージ)
図を描画中...
1つの不備が次の不備を呼ぶ『連鎖』として捉えると、なぜ多層防御(1枚破られても次が守る)が必要かが腑に落ちます。
📊 図解
OWASP Top 10 (2021) の分類整理(マインドマップ)
A01〜A10 を俯瞰します。新設の A04・A08・A10 は面接頻出です。
図を描画中...