OWASP
Web アプリケーションセキュリティのベストプラクティスを提供するオープンコミュニティ
セキュリティWeb
OWASP とは
OWASP (Open Worldwide Application Security Project) は、Web アプリケーションのセキュリティ向上を目的とする非営利のオープンコミュニティである。2001 年に設立され、脆弱性のランキング、テストガイド、ツールを無償で公開している。
OWASP Top 10 (2021)
Web アプリケーションで最も深刻なセキュリティリスクのランキング。3〜4 年ごとに更新される。
| 順位 | リスク | 説明 | 対策例 |
|---|---|---|---|
| A01 | アクセス制御の不備 | 認可チェックの欠如 | IAM 最小権限、API Gateway 認証 |
| A02 | 暗号化の失敗 | 平文保存、弱い暗号 | KMS、TLS、Secrets Manager |
| A03 | インジェクション | SQL/NoSQL/OS コマンド注入 | パラメータ化クエリ、入力検証 |
| A04 | 安全でない設計 | 設計段階の脆弱性 | 脅威モデリング、セキュアデザイン |
| A05 | セキュリティ設定ミス | デフォルト設定の放置 | Config ルール、自動スキャン |
| A06 | 脆弱なコンポーネント | 既知の脆弱性を持つ依存 | SBOM、Dependabot |
| A07 | 認証の不備 | ブルートフォース、セッション管理 | Cognito、MFA |
| A08 | データの整合性の不備 | CI/CD パイプラインの改ざん | 署名検証、SBOM |
| A09 | ログと監視の不備 | 攻撃の検知ができない | CloudTrail、GuardDuty |
| A10 | SSRF | サーバーから内部リソースへの不正アクセス | VPC 設計、入力検証 |
OWASP の主要プロジェクト
| プロジェクト | 内容 |
|---|---|
| Top 10 | Web アプリの脆弱性ランキング |
| ASVS | アプリケーションセキュリティ検証標準 |
| Testing Guide | セキュリティテストの手順書 |
| ZAP | オープンソースの脆弱性スキャナ |
| Dependency-Check | 依存ライブラリの脆弱性検出 |
| Cheat Sheet Series | 脆弱性ごとの対策チートシート |
AWS サービスとの対応
OWASP Top 10 の各リスクに対して、AWS サービスで対策を実装できる。
- A01 (アクセス制御): IAM ポリシー + API Gateway オーソライザー + Cognito
- A03 (インジェクション): WAF のマネージドルール (AWS-AWSManagedRulesSQLiRuleSet)
- A06 (脆弱なコンポーネント): ECR イメージスキャン + CodeGuru
- A09 (ログ不備): CloudTrail + CloudWatch Logs + GuardDuty
実務での活用
OWASP Top 10 はセキュリティ要件の出発点として使う。設計レビューで「この機能は A01 (アクセス制御) のリスクがないか」とチェックリスト的に参照し、CI/CD パイプラインに OWASP ZAP を組み込んで自動スキャンを実施する。
関連書籍も参考になる。