OWASP
Web アプリケーションセキュリティのベストプラクティスを提供するオープンコミュニティ
OWASP とは
OWASP (Open Worldwide Application Security Project) は、Web アプリケーションのセキュリティ向上を目的とする非営利のオープンコミュニティである。2001 年 12 月 1 日に発足し、2004 年 4 月 21 日に米国の非営利慈善法人 (OWASP Foundation) として法人化された。世界に 250 以上の地域チャプターを持ち、脆弱性のランキング、検証標準、テスト手順書、ツールをすべて無償・オープンライセンスで公開している。特定の商用製品やサービスを推奨しないベンダー中立を運営原則に掲げており、これが「どの製品を買うべきか」ではなく「何を検証すべきか」という形の成果物が中心になっている理由である。
OWASP Top 10
Web アプリケーションで最も重大なセキュリティリスクを 10 個に絞って提示する文書で、数年おきに改訂される。2026 年 8 月時点の最新版は 2025 版 (通算 8 回目) で、それ以前は 2021 版・2017 版である。実務では「A03」のような番号だけが独り歩きしやすいが、番号の指す中身は版ごとに入れ替わるため、必ず版を添えて参照する。
Top 10 は OWASP 自身が「意識向上のための標準文書 (standard awareness document)」と位置づけており、これを満たせば安全と言える網羅的な検査基準ではない。要件を漏れなく定義したい場合は ASVS、実装時の具体的な書き方はチートシートシリーズを併用する。
以下は 2025 版のカテゴリである。
| 番号 | リスク | 説明 | 対策例 |
|---|---|---|---|
| A01 | アクセス制御の不備 | 認可チェックの欠如。2021 版で独立項目だった SSRF はこの分類に統合された | IAM 最小権限、API Gateway 認証、外向き通信の制限 |
| A02 | セキュリティ設定ミス | 既定設定の放置、不要な機能の有効化。2021 版の 5 位から 2 位へ上昇 | Config ルール、構成の自動診断 |
| A03 | ソフトウェアサプライチェーンの不備 | 2021 版「脆弱なコンポーネント」を、依存だけでなくビルド基盤や配布経路まで広げた新分類 | SBOM、依存更新の自動化、ビルドの署名 |
| A04 | 暗号化の失敗 | 平文保存、弱い暗号 | KMS、TLS、Secrets Manager |
| A05 | インジェクション | SQL/NoSQL/OS コマンド注入。XSS もこの分類に含まれる | パラメータ化クエリ、出力エスケープ、入力検証 |
| A06 | 安全でない設計 | 設計段階で埋め込まれた欠陥 | 脅威モデリング、セキュアデザイン |
| A07 | 認証の不備 | 総当たり攻撃、セッション管理の甘さ (2021 版の「識別と認証の不備」から改称) | Cognito、MFA、パスキー |
| A08 | ソフトウェアとデータの整合性の不備 | 配布物や更新経路の改ざん | 署名検証、更新の検証 |
| A09 | ログと警報の不備 | 記録が足りず攻撃に気づけない、気づいても通知されない | CloudTrail、CloudWatch アラーム、GuardDuty |
| A10 | 例外的状況の扱いの誤り | 想定外の状態やエラー処理の失敗が情報漏洩や停止につながる新分類 | 失敗時は安全側に倒す設計、異常系のテスト |
OWASP の主要プロジェクト
プロジェクトは用途が異なり、要件を定義するもの (ASVS)、検査手順を示すもの (WSTG)、実装時に引くもの (チートシートシリーズ) を混同すると「Top 10 だけ見て終わり」になりやすい。
| プロジェクト | 内容 |
|---|---|
| Top 10 | Web アプリの脆弱性ランキング |
| ASVS | アプリケーションセキュリティ検証標準。安定版は 5.0.0 (2025 年 5 月公開) |
| WSTG (Web Security Testing Guide) | Web アプリのセキュリティテスト手順書 |
| Dependency-Check | 依存ライブラリの脆弱性検出 |
| Cheat Sheet Series | 脆弱性ごとの対策チートシート |
脆弱性スキャナの ZAP を「OWASP ZAP」と紹介している資料は古い。ZAP は 2023 年 9 月に OWASP を離れ、現在は Checkmarx が支援する独立したオープンソースプロジェクトとして開発されている。ツール自体は使えるが、OWASP の成果物として社内標準や監査資料に書くと出典がずれる。
AWS サービスとの対応
Top 10 の各リスクに対して、AWS サービスで対策を実装できる。番号は 2025 版に合わせている。
- A01 (アクセス制御): IAM ポリシー + API Gateway オーソライザー + Cognito。SSRF がこの分類に入ったため、セキュリティグループや NAT 構成で外向き通信を絞る対策も同じ枠で考える
- A03 (サプライチェーン): ECR の拡張スキャン (Amazon Inspector との統合でコンテナイメージの OS パッケージと言語パッケージを検査) + 依存更新の自動化
- A05 (インジェクション): WAF のマネージドルールグループ (
AWSManagedRulesSQLiRuleSet) で既知の攻撃パターンを弾く。ただし WAF は緩衝材であり、パラメータ化クエリという根本対策の代わりにはならない - A09 (ログと警報): CloudTrail + CloudWatch Logs で記録し、メトリクスフィルターと SNS で通知まで届かせる。GuardDuty で異常検知を補う
実務での活用
Top 10 はセキュリティ要件の出発点として使う。設計レビューで「この機能は A01 (アクセス制御) のリスクがないか」とチェックリスト的に参照し、CI/CD パイプラインに ZAP などの DAST ツールを組み込んで自動スキャンを実施する。指摘や課題票には「2025 版の A03」のように版を添えて書くと、改訂で番号が入れ替わっても後から読み解ける。監査や契約で網羅性を求められる水準になったら、Top 10 ではなく ASVS の要件番号で管理対象を定義する。
関連書籍も参考になる。
この記事は役に立ちましたか?
関連用語
関連する記事
セキュリティ本ガイド - Web 開発者が読むべき技術書の選び方
Web セキュリティの基礎から実践まで学べる技術書の選び方マトリクスと、読了後にやるべき 3 つのアクションを紹介します。
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。
バグを生むのは知識不足ではなく想像力不足である
バグの多くは、コードを書いた時点で「こういうケースもありうる」と想像できなかったことが原因です。想像力を鍛える読書法と、エッジケースへの感度を高める方法を解説します。