Overview
OWASP(Open Worldwide Application Security Project)とは、Webアプリケーションのセキュリティ向上を目的とする非営利のオープンコミュニティです。世界中のセキュリティ専門家がボランティアで参加し、ツール、ドキュメント、フォーラムなどを通じてアプリケーションセキュリティの知見を共有しています。
OWASP Top 10は、Webアプリケーションにおける最も重大なセキュリティリスクを10項目にまとめたランキングです。数年ごとに改訂され、最新版は2025年版です(前回は2021年版)。開発者やセキュリティ担当者にとっての必読資料であり、多くの組織がWebアプリケーションのセキュリティ基準として採用しています。
OWASP Top 10は単なるリスク一覧ではなく、各リスクの概要・攻撃シナリオ・対策方法が体系的にまとめられた啓発ドキュメントです。PCI DSS等のコンプライアンス基準でも参照されており、Webアプリケーションセキュリティの事実上の国際標準として広く認知されています。
At a Glance|図解でわかる
OWASPという国際的な非営利団体が、Webアプリの最も重大なセキュリティリスクを10項目にまとめたランキングです。
開発者が最低限押さえるべきリスクがまとまっており、多くの企業や業界基準がWebセキュリティの目安にしているからです。
交通事故の「原因ワースト10」のように、よく起きて被害が大きい順にまとめた、Web開発の安全運転マニュアルです。
- 1アクセス制御の不備:A01:権限チェック漏れ
- 2設定ミス:A02:初期設定のまま等
- 3サプライチェーン:A03:部品・配布経路(新設)
- 4暗号化の失敗:A04:暗号化なし・弱い暗号
- 5インジェクション:A05:SQL注入・XSS等
- 6ほか5項目:A06〜A10:設計・認証等
Details
2025年版 OWASP Top 10の10項目
- A01:2025 — Broken Access Control(アクセス制御の不備):2021年版に続き1位。ユーザーが権限外のデータや機能にアクセスできてしまう脆弱性。IDOR(安全でない直接オブジェクト参照)やパストラバーサルに加え、2021年版で独立していたSSRFもこの項目に統合された
- A02:2025 — Security Misconfiguration(セキュリティ設定のミス):2021年版の5位から上昇。不要な機能の有効化、デフォルト設定の未変更、過剰なエラー情報の表示、クラウドの公開設定ミスなど
- A03:2025 — Software Supply Chain Failures(ソフトウェアサプライチェーンの不備):新設。2021年版の「脆弱で古いコンポーネント」を広げ、ライブラリだけでなく、ビルド環境・配布経路・依存関係全体のリスクを扱う
- A04:2025 — Cryptographic Failures(暗号化の失敗):暗号アルゴリズムの不適切な使用、弱い鍵管理、平文でのデータ送信などが含まれる
- A05:2025 — Injection(インジェクション):SQLインジェクション、OSコマンドインジェクション、クロスサイトスクリプティング(XSS)など。ユーザー入力が適切に検証・無害化されずに処理される脆弱性
- A06:2025 — Insecure Design(安全でない設計):設計段階でのセキュリティ欠如に焦点。脅威モデリングやセキュアデザインパターンの未適用が原因
- A07:2025 — Authentication Failures(認証の失敗):ブルートフォース攻撃への無防備、弱いパスワードの許可、セッション管理の不備など
- A08:2025 — Software or Data Integrity Failures(ソフトウェアやデータの整合性の不備):署名や検証のない更新・プラグインの利用、改ざんされたデータの信頼など
- A09:2025 — Security Logging and Alerting Failures(セキュリティログとアラートの不備):記録するだけでなく、異常に気づいて知らせる「アラート」の重要性を強調する名前に変更
- A10:2025 — Mishandling of Exceptional Conditions(例外的な状況の不適切な処理):新設。エラー処理の不備や、異常時に安全側ではなく「開いた状態」で動き続ける(フェイルオープン)問題など
2025年版は、2025年11月のOWASP Global AppSecで発表されました。2021年版との主な違いは、サプライチェーンと例外処理の2項目が新設されたことと、SSRFがアクセス制御の不備に統合されたことです。
OWASP ASVS(Application Security Verification Standard)
OWASP ASVSは、Webアプリケーションのセキュリティ要件を体系的に定義した検証基準です。Top 10が「最低限注意すべきリスク」であるのに対し、ASVSはより包括的なセキュリティ要件を3つのレベル(Level 1〜3)で定義しています。セキュリティテストの計画策定やセキュリティ要件の仕様書作成に活用されます。
OWASP ZAP(Zed Attack Proxy)
OWASP ZAPは、OWASPが開発・維持するオープンソースのWebアプリケーション脆弱性スキャナーです。プロキシとして動作し、Webアプリケーションの通信を傍受・解析して脆弱性を自動検出します。CI/CDパイプラインへの統合も可能で、DevSecOpsの実践においてDASTツールとして広く利用されています。
Comparison|OWASPの主な成果物
| 名前 | どんなものか | 主な使い道 |
|---|---|---|
| OWASP Top 10 | 重大リスクの上位10項目 | 教育・優先順位の目安 |
| ASVS | アプリのセキュリティ検証の基準 | 要件定義・テストのチェックリスト |
| Cheat Sheet Series | 対策ごとの実践ガイド集 | 開発者が実装時に参照 |
| ZAP | 無料のWeb脆弱性スキャナー | 自社サイトの簡易診断 |
※ Top 10は数年ごとに改訂されます。ZAPはもとOWASPのプロジェクトで、現在は別団体のもとで開発が続いています。
Security Measures
- 01セキュアコーディングガイドラインの策定と遵守:OWASP Top 10を基にした組織独自のセキュアコーディングガイドラインを策定し、開発者全員に教育を実施してください。コードレビューのチェックリストにもTop 10の観点を組み込みましょう。
- 02定期的な脆弱性スキャンとペネトレーションテスト:OWASP ZAPやBurp Suiteを使用したDASTスキャン、SonarQubeやSemgrepを使用したSASTスキャンを定期的に実施してください。重要なリリース前にはペネトレーションテストも推奨します。
- 03依存関係の継続的な監視と更新:SCA(Software Composition Analysis)ツールを導入し、使用しているオープンソースコンポーネントの脆弱性を継続的に監視してください。Dependabot、Snyk、OWASP Dependency-Checkなどが有効です。
- 04入力バリデーションと出力エンコーディングの徹底:すべてのユーザー入力に対してホワイトリスト方式のバリデーションを実施し、出力時にはコンテキストに応じたエンコーディングを適用してください。パラメータ化クエリの使用でSQLインジェクションを防止しましょう。
- 05セキュリティ設定の標準化と自動検証:Infrastructure as Codeを活用してセキュリティ設定を標準化し、設定ドリフトを自動検出する仕組みを構築してください。デフォルト設定のまま運用しないよう、ハードニングガイドラインを適用しましょう。
- 06脅威モデリングの設計段階での実施:STRIDE、PASTA等の脅威モデリング手法を設計段階で実施し、セキュリティリスクを早期に特定してください。A06(安全でない設計)への対策として、セキュリティバイデザインの原則を組織に定着させましょう。
Incidents
📋 Equifax 大規模個人情報漏洩事件(2017年)— A03: サプライチェーンの不備
2017年、米国大手信用情報機関Equifaxが約1億4,700万人分の個人情報(社会保障番号、生年月日、住所など)を漏洩した事件です。原因は、Apache Strutsフレームワークの既知の脆弱性(CVE-2017-5638)にパッチを適用していなかったことでした。
脆弱性の公開からパッチ適用までの2ヶ月間に攻撃者が侵入し、76日間にわたってデータを窃取しました。この事件は2025年版A03(ソフトウェアサプライチェーンの不備、2021年版ではA06「脆弱で古いコンポーネント」)の典型例であり、パッチ管理とソフトウェア構成管理の重要性を世界中に知らしめました。Equifaxは約7億ドルの和解金を支払うこととなりました。
📋 Capital One クラウド情報漏洩事件(2019年)— A01: アクセス制御の不備(SSRF)
2019年、Capital Oneが約1億600万人分の顧客データ(クレジットカード申請情報、社会保障番号など)を漏洩した事件です。攻撃者はAWS上のWAF(Web Application Firewall)の設定ミスを悪用し、SSRF攻撃によってEC2インスタンスのメタデータサービスからIAM認証情報を取得しました。
取得した認証情報を使用してS3バケットから大量のデータを窃取しました。SSRFとアクセス制御の不備の複合的な悪用であり(2025年版ではどちらもA01に分類)、クラウド環境特有のセキュリティリスクを顕在化させた事件です。Capital Oneは8,000万ドルの罰金を課されました。
📋 Log4Shell 脆弱性(2021年)— A03: サプライチェーンの不備
2021年12月、Javaの広範に使用されるログライブラリ「Apache Log4j」にリモートコード実行の脆弱性(CVE-2021-44228、通称Log4Shell)が発見されました。CVSS最高スコアの10.0が付与された極めて深刻な脆弱性です。
Log4jは数百万のJavaアプリケーションで使用されており、影響範囲は史上最大級でした。攻撃者はログメッセージに特殊な文字列を含めるだけでリモートコード実行が可能となり、発見直後から大規模な攻撃が世界中で観測されました。この事件は2025年版A03(サプライチェーンの不備)の危険性を象徴するものであり、SBOM(Software Bill of Materials)の重要性と依存関係管理の必要性を強く認識させる契機となりました。