リサーチ 2025年2月24日 25分で読めます

OWASP Top 10 2025:Webアプリケーションセキュリティリスク完全ガイド

OWASP Top 10は、Webアプリケーションセキュリティリスクに関する最も広く認知された標準です。開発者、セキュリティエンジニア、ビジネスリーダーのいずれであっても、このガイドでは実例、検出技術、修正戦略とともにすべてのカテゴリを解説します。

ℹ️ OWASP Top 10とは

Webアプリケーションに対する最も重大なセキュリティリスクをランク付けする、定期的に更新される啓発文書です。数百の組織からのデータ分析、コミュニティ調査、実際の侵害データに基づいています。PCI DSS、DORA、NIS2など、多くの業界標準で参照されています。


A01 アクセス制御の不備

最も一般的な脆弱性 第1位 — テスト対象アプリケーションの94%で発見。

⚠️ 実例

  • IDOR:/api/users/123/profile/api/users/124/profileに変更
  • 権限昇格:一般ユーザーが/admin/dashboardにアクセス
  • 機能レベルのアクセス制御の欠如:APIが認証はチェックするが認可はチェックしない
  • CORS設定ミス:悪意のあるサイトが認証済みリクエストを送信可能

✅ 修正方法

  • アクセス制御はサーバーサイドで実装 — クライアントサイドに依存しない
  • デフォルトで拒否 — 明示的な許可を要求
  • 適切なRBACまたはABACを実装
  • アクセス制御の失敗をログ記録し、アラートを設定
  • APIアクセスのレート制限

A02 暗号化の失敗

以前は「機密データの露出」— 根本原因に焦点を当てるため改名されました。

⚠️ よくある間違い

  • ログインページが平文HTTPで認証情報を送信
  • TLS 1.0/1.1や弱い暗号スイートのサポート
  • パスワードがbcrypt/Argon2の代わりにMD5やSHA-1で保存
  • ソースコードにハードコードされた暗号鍵
  • 暗号化されていないデータベースバックアップ

✅ 修正方法

HSTSでHTTPSをどこでも強制。AES-256、bcrypt/Argon2、SHA-256+を使用。シークレットをハードコードしない — VaultまたはAWS Secrets Managerを使用。保存データを暗号化。TLS 1.0/1.1を無効化。

A03 インジェクション

古典的なWeb脆弱性 — 20年以上トップ3に残り続けています。

インジェクションの種類

  • SQLインジェクション:' OR 1=1 --およびさらに高度な攻撃
  • NoSQLインジェクション:MongoDB/CouchDBのJSON操作
  • コマンドインジェクション:アプリケーション入力を通じたOSコマンド
  • XSS:JavaScript注入 — 反射型、格納型、DOMベース
  • テンプレートインジェクション(SSTI):サーバーサイドテンプレートエンジンへのコード注入
  • ヘッダーインジェクション:HTTPヘッダーの操作

✅ 予防策

すべてのDB操作にパラメータ化クエリを使用。許可リストによる入力バリデーション。コンテキストに応じた出力エンコーディング。Content Security Policyヘッダー。最小権限のDBアカウント。ORMの一貫した使用。

A04 安全でない設計

新カテゴリ — 実装のバグではなく、設計レベルの欠陥。

⚠️ 例

  • 無制限の試行を許可するパスワードリセットフロー(レート制限なし)
  • ビジネスルールのクライアントサイド適用(JSでの価格バリデーション)
  • 単一のAPIキーがすべてのリソースへの読み取り・書き込みアクセスを許可

修正:脅威モデリング(STRIDE、PASTA)を設計フェーズに統合。セキュアな設計パターンを使用。ユースケースとともに悪用ケースを記述。

A05 セキュリティ設定ミス

テスト対象アプリケーションの90%で発見。

⚠️ よくある設定ミス

  • データベースや管理パネルのデフォルト管理者パスワード
  • ディレクトリ一覧、デバッグエンドポイント、詳細なエラーメッセージの有効化
  • セキュリティヘッダーの欠如(CSP、X-Frame-Options、X-Content-Type-Options)
  • 公開アクセス可能なS3バケットやAzure Blob
  • 不要なHTTPメソッド(PUT、DELETE、TRACE)の有効化

✅ 予防策

反復可能なハードニングプロセス。不要な機能をすべて削除。すべてのセキュリティヘッダーを実装。IaCによる設定管理の自動化。定期的な設定監査。クラウドにはCSPMを使用。

A06 脆弱で古いコンポーネント

528
アプリあたり平均コンポーネント数
84%
既知の脆弱性を含むコードベース
48%
高リスク脆弱性
252日
平均修正時間

⚠️ 注目すべき例

  • Log4Shell(CVE-2021-44228):数百万のJavaアプリに影響する緊急RCE
  • Spring4Shell(CVE-2022-22965):Spring FrameworkのRCE
  • jQuery XSS:多くのアプリが依然として脆弱なjQueryバージョンを使用

修正:コンポーネントインベントリ(SBOM)を維持。CVEデータベースを継続的に監視。未使用の依存関係を削除。Dependabot/Renovateで更新を自動化。

A07 識別と認証の失敗

⚠️ よくある失敗

  • クレデンシャルスタッフィング:窃取されたパスワードを使用した自動攻撃
  • 弱いパスワードポリシー(「password123」を許可)
  • セッション固定とセッション無効化の欠如
  • URLに露出されたセッショントークン
  • 重要な機能でのMFAの欠如

✅ 予防策

MFAを実装。侵害データベースチェックを含む強力なパスワードポリシーを適用。認証エンドポイントのレート制限。安全なセッション管理(ランダムID、HTTPOnly/Secureフラグ)。ログアウト/パスワード変更時にセッションを無効化。

A08 ソフトウェアとデータの整合性の失敗

⚠️ 実際の攻撃

  • SolarWinds(2020年):正規のソフトウェアアップデートに悪意あるコード — 18,000組織が影響
  • 安全でないデシリアライゼーション:信頼できないデータによる任意のコード実行
  • CI/CDパイプラインの侵害:Codecov、ua-parser-jsの事例
  • SRIの欠如:整合性ハッシュなしでCDNからJSをロード

修正:すべてのソフトウェア/データにデジタル署名。外部リソースにSubresource Integrity(SRI)を使用。アクセス制御と署名によるCI/CDのセキュリティ確保。安全でないデシリアライゼーションを回避 — JSONを使用。

A09 セキュリティログとモニタリングの失敗

ℹ️ 可視性の欠如のコスト

侵害の特定にかかる平均時間:204日(IBM 2024年)。適切なログなしでは、攻撃者は永続化、データ窃取、足場の拡大を — すべてアラームを発せずに — 行えます。

修正:すべての認証イベント、アクセス制御の失敗、入力バリデーションの失敗をログ記録。コンテキスト(タイムスタンプ、ユーザー、IP、アクション)を含める。改ざん耐性のあるSIEMにログを集約。自動アラートを実装。検出能力を定期的にテスト。

A10 サーバーサイドリクエストフォージェリ(SSRF)

新カテゴリ — クラウドネイティブアーキテクチャでの増加に伴い追加。

⚠️ SSRFが危険な理由

  • Capital One侵害(2019年):SSRF → AWSメタデータ → 1億件以上の顧客記録が流出
  • クラウドメタデータの窃取:http://169.254.169.254/にアクセスしてIAM認証情報を取得
  • 内部サービスへのアクセス:ファイアウォール背後のAPI、データベース、管理パネルへの到達

✅ 予防策

ユーザー提供のすべてのURLをサーバーサイドで検証。許可ドメインの許可リストを使用。プライベートIP範囲(10.x、172.16.x、169.254.x、127.x)をブロック。不要なURLスキーム(file://、gopher://)を無効化。AWSではIMDSv2を使用。URL取得サービスをセグメント化。


KENSAIによるOWASP Top 10スキャン

OWASPカテゴリKENSAIのカバレッジ
A01 アクセス制御の不備IDORテスト、認可バイパス、CORSチェック
A02 暗号化の失敗TLS分析、ヘッダーチェック、暗号化検証
A03 インジェクションSQL、XSS、コマンドインジェクション、SSTI、ヘッダーインジェクション
A04 安全でない設計レート制限、予測可能なリソース、ロジックテスト
A05 セキュリティ設定ミスヘッダー、デフォルト値、情報漏洩、HTTPメソッド
A06 脆弱なコンポーネント技術フィンガープリンティング、332K以上のCVEデータベース
A07 認証の失敗デフォルト認証情報、セッションテスト、Cookie分析
A08 整合性の失敗SRIチェック、デシリアライゼーションテスト
A09 ログの失敗セキュリティヘッダー分析、エラーハンドリングレビュー
A10 SSRF内部エンドポイントインジェクション、クラウドメタデータテスト
332K+
追跡CVE数
10/10
OWASPカバレッジ
AI
駆動型の精度
€990
月額開始価格

OWASP Top 10に対してアプリをテスト

無料スキャン — コミットメント不要、クレジットカード不要。コンプライアンス対応レポート付きAI駆動型DAST。

無料スキャンを開始 →

よくある質問

最も一般的なOWASP脆弱性は何ですか?

アクセス制御の不備(A01)— テスト対象アプリケーションの94%で発見されています。5位から1位に上昇し、特にAPIやSPAにおける認可の適用の広範な失敗を反映しています。

OWASP Top 10への準拠は義務ですか?

OWASP Top 10自体は任意です。しかし、PCI DSS(OWASP Top 10への対処を要求)、NIS2(体系的な脆弱性管理を期待)、DORA(業界標準のテストを参照)、および多くのベンダー評価で参照されています。実質的には義務と言えます。

自動ツールでOWASP Top 10のすべてを検出できますか?

自動DASTツールは、ほとんどのカテゴリ — 特にインジェクション(A03)、暗号化の失敗(A02)、設定ミス(A05)、脆弱なコンポーネント(A06)を効果的に検出できます。安全でない設計(A04)やログの失敗(A09)などの一部のカテゴリは手動評価が必要な場合があります。幅広いカバレッジには自動スキャン、深度には手動テストを使用してください。

OWASP Top 10はどのくらいの頻度で更新されますか?

3〜4年ごとです。主要リリース:2013年、2017年、2021年。各更新は脅威の状況の変化を反映しています — 2021年の更新では安全でない設計(A04)とSSRF(A10)が導入され、他のカテゴリが再編成されました。

セキュリティは選択肢ではありません。

🗡️ KENSAIチーム

🛡️ Protect Your Business

Get a free security scan of your website in 60 seconds

Free Security Scan →
📚 More Articles 🏠 Home