OWASP Top 10 おわすぷとっぷてん
Webセキュリティ脆弱性インジェクション認証セキュアコーディングペネトレーションテスト
OWASP Top 10について教えて
簡単に言うとこんな感じ!
Webアプリの「やられやすいワースト10」リストだよ!世界中のセキュリティ専門家が「ハッカーに狙われやすい弱点」をランキングにまとめたもので、これを知っておくだけでセキュリティの発注・確認がぐっとラクになるんだ!
OWASP Top 10とは
OWASP(Open Worldwide Application Security Project) は、Webアプリケーションのセキュリティ向上を目的とした国際的な非営利団体です。その団体が発行している「Webアプリケーションに対する最も重大なセキュリティリスクのトップ10」が「OWASP Top 10」です。数年ごとに改訂され、現在の最新版は 2021年版 です。
このリストは、世界中の企業・政府機関・開発者が「セキュリティ対策のチェックリスト」として活用しています。システムを発注する立場であれば、「OWASP Top 10に対応しているか」という確認を開発会社に求めるだけで、セキュリティの品質担保に大きく役立ちます。
たとえば「個人情報を扱うWebサービスを外注する」場合、納品物に対して「OWASP Top 10の脆弱性診断を実施してください」と要件に盛り込む、というのが実務上の典型的な使い方です。
OWASP Top 10(2021年版)の全項目
| 順位 | ID | リスク名(日本語) | 概要 |
|---|---|---|---|
| 1 | A01 | アクセス制御の不備 | 本来見られてはいけいデータに不正アクセスできてしまう |
| 2 | A02 | 暗号化の失敗 | パスワードや個人情報が平文や弱い暗号で保存・送信される |
| 3 | A03 | インジェクション | 悪意のあるコマンドをフォームなどから注入される(SQLインジェクション等) |
| 4 | A04 | 安全でない設計 | そもそも設計段階でセキュリティが考慮されていない |
| 5 | A05 | セキュリティの設定ミス | デフォルトパスワードのまま・不要な機能が有効のまま、など |
| 6 | A06 | 脆弱なコンポーネント | 古いライブラリやフレームワークの既知の脆弱性を突かれる |
| 7 | A07 | 認証・認可の失敗 | ログイン機能の欠陥、セッション管理の不備 |
| 8 | A08 | ソフトウェアとデータの整合性の失敗 | 更新プログラムの改ざん、CI/CDパイプラインへの不正介入 |
| 9 | A09 | ログ・監視の失敗 | 攻撃を検知・記録できず、被害が拡大する |
| 10 | A10 | サーバーサイドリクエストフォージェリ(SSRF) | サーバーを踏み台にして内部システムへ不正アクセスする |
覚え方のヒント:「ア・ア・イン・ア・セキ・ライ・ニン・ソフ・ログ・エス」
頭文字を並べると「アアインアセキライニンソフログエス」。呪文みたいだけど、10項目を口に出して読むだけでも頭に残りやすいよ。実務では全部暗記しなくていいので「こういうリストが存在する」「確認基準になる」という認識だけで十分です。
2017年版→2021年版で何が変わった?
- アクセス制御の不備が1位に浮上(2017年は5位)
- インジェクションが3位に後退(2017年は1位)
- 新たに「安全でない設計」「SSRF」が追加
- 「XXE(XML外部エンティティ)」などはインジェクションに統合
歴史と背景
- 2001年 — OWASPが設立。Webアプリのセキュリティ問題が急増する時代背景
- 2003年 — OWASP Top 10の初版を公開。当時はSQLインジェクションが猛威を振るっていた
- 2010年 — クラウド・スマートフォン普及に対応した改訂
- 2013年 — セッション管理・認証の問題が上位に
- 2017年 — XMLインジェクション(XXE)や安全でない逆シリアル化を追加
- 2021年 — アクセス制御・設計レベルのリスクを重視。ソフトウェアサプライチェーンのリスク(A08)も新登場
- 現在 — PCI DSS(クレジットカード業界のセキュリティ基準)や各国政府の調達基準でも参照される国際標準的な指標に
OWASP Top 10 と他のセキュリティ指標の比較
| 指標 | 運営 | 対象 | 特徴 |
|---|---|---|---|
| OWASP Top 10 | OWASP(非営利) | Webアプリ | 無料・オープン、最も広く参照される |
| CWE Top 25 | MITRE | ソフトウェア全般 | コードレベルの脆弱性分類 |
| PCI DSS | PCI SSC | 決済システム | クレカ取扱業者への義務的な準拠要件 |
| IPA 安全なウェブサイト作り方 | IPA(日本) | Webサイト | 日本語で読める入門向け資料 |
| NIST SP 800-53 | NIST(米国) | 政府・企業全般 | 広範なセキュリティ管理策の体系 |
OWASP Top 10 と攻撃の関係(SVG図解)
発注・選定時の実務チェックポイント
システム開発を外注する際、以下の観点でOWASP Top 10を活用できます。
【要件定義時に追記するセキュリティ要件の例】
□ OWASP Top 10(2021年版)の全項目に対して
脆弱性診断を実施し、報告書を納品すること
□ 高リスク・中リスクの指摘事項はリリース前に修正すること
□ 使用するOSSライブラリの既知脆弱性(A06)を
SCA(ソフトウェア構成分析)ツールで確認すること
□ ログ設計(A09)について別途レビューを実施すること
発注時に確認すべき3つの質問:
- 「OWASP Top 10に対応した脆弱性診断を実施しますか?」
- 「診断結果のレポートは納品物に含まれますか?」
- 「指摘事項の修正対応はどの範囲まで含みますか?」
関連する規格・RFC
| 規格・文書 | 内容 |
|---|---|
| OWASP ASVS(Application Security Verification Standard) | OWASPが策定するWebアプリの検証基準(Level 1〜3で詳細度を選択) |
| PCI DSS v4.0 | クレジットカード決済システムのセキュリティ基準。OWASP Top 10を参照 |
| IPA「安全なウェブサイトの作り方」 | 日本語で読めるWebセキュリティ入門ガイド。OWASP Top 10と重複する内容多数 |
| NIST SP 800-53 | 米国政府の情報セキュリティ管理策。エンタープライズ向けの包括基準 |
| CWE(Common Weakness Enumeration) | ソフトウェアの弱点を分類した体系。OWASP Top 10の各項目と対応 |
関連用語
- SQLインジェクション — データベースへの不正なSQLコマンドを注入する攻撃手法
- XSS(クロスサイトスクリプティング) — Webページに悪意あるスクリプトを埋め込む攻撃
- 脆弱性診断 — システムのセキュリティ上の弱点を発見・評価する作業
- ペネトレーションテスト — 実際の攻撃を模擬してシステムの耐性を確認するテスト
- WAF(Webアプリケーションファイアウォール) — Webアプリへの攻撃を検知・遮断するセキュリティ機器
- CSRF(クロスサイトリクエストフォージェリ) — ユーザーを騙して意図しないリクエストを送信させる攻撃