OWASP (Open Web Application Security Project) は、Webアプリケーションのセキュリティ向上を目的とした非営利団体で、定期的に「OWASPトップ10」として、最も重大なWebアプリケーション脆弱性をリストアップしています。最新のOWASPトップ10は以下の通りです(2021年版を基にしていますが、将来的に更新されることがあります):
- A01:2021 – Broken Access Control (不適切なアクセス制御)
- 認可が適切に実装されていないため、ユーザーが意図しない機能やデータにアクセスできる脆弱性。
- A02:2021 – Cryptographic Failures (暗号化の失敗)
- 機密データが不適切に暗号化されている、または暗号化が全く行われていないために、データが漏洩する脆弱性。
- A03:2021 – Injection (インジェクション)
- SQLインジェクションやOSコマンドインジェクションなど、ユーザーの入力が直接データベースやシステムコマンドに渡される脆弱性。
- A04:2021 – Insecure Design (不適切な設計)
- セキュリティを考慮しない設計が原因で、脆弱性が作り込まれること。
- A05:2021 – Security Misconfiguration (セキュリティ設定ミス)
- サーバーやデータベース、アプリケーションのセキュリティ設定が不適切であるために発生する脆弱性。
- A06:2021 – Vulnerable and Outdated Components (脆弱なコンポーネントの使用)
- 古いバージョンや既知の脆弱性を持つライブラリやフレームワークの使用。
- A07:2021 – Identification and Authentication Failures (識別および認証の失敗)
- 弱いパスワードポリシーやセッション管理の不備など、認証や識別に関する脆弱性。
- A08:2021 – Software and Data Integrity Failures (ソフトウェアとデータの整合性の失敗)
- ソフトウェア更新や重要なデータが不正に変更される可能性がある脆弱性。
- A09:2021 – Security Logging and Monitoring Failures (セキュリティロギングと監視の失敗)
- セキュリティインシデントを検知するためのロギングや監視が不十分なことによる脆弱性。
- A10:2021 – Server-Side Request Forgery (SSRF) (サーバーサイドリクエストフォージェリ)
- アプリケーションがサーバー側でリクエストを生成し、攻撃者がこれを悪用して内部システムへのアクセスを試みる脆弱性。
各脆弱性の概要
- Broken Access Control:
- 不適切なアクセス制御により、攻撃者が管理者権限を持つ機能にアクセスしたり、他ユーザーのデータに不正にアクセスできる。
- Cryptographic Failures:
- 弱い暗号化、暗号化されていない機密データの保存、または適切なキー管理の欠如により、データが漏洩するリスク。
- Injection:
- 悪意のあるデータがシステムコマンドやSQLクエリに注入され、システムが不正な動作をする。
- Insecure Design:
- セキュリティを考慮せずに設計されたシステムが、脆弱性を生み出す。
- Security Misconfiguration:
- 不適切なセキュリティ設定(例:デフォルトのままの設定や不要な機能の有効化)による脆弱性。
- Vulnerable and Outdated Components:
- 古いバージョンのソフトウェアや既知の脆弱性を持つコンポーネントを使用することによるリスク。
- Identification and Authentication Failures:
- 弱いパスワード、セッションハイジャック、認証情報の漏洩など、認証に関する問題。
- Software and Data Integrity Failures:
- 不正なソフトウェア更新や重要データの改ざんが検出されないリスク。
- Security Logging and Monitoring Failures:
- セキュリティインシデントが検出されず、対応が遅れるリスク。
- Server-Side Request Forgery (SSRF):
- サーバーが攻撃者の意図したリクエストを内部システムに送信し、内部ネットワークにアクセスされるリスク。
OWASPトップ10は、Webアプリケーションの開発者やセキュリティ専門家にとって重要なガイドラインであり、これらの脆弱性を理解し、適切な対策を講じることがセキュリティの向上につながります。