研究 2025年2月24日 25分

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

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

ℹ️ OWASP Top 10とは何ですか?

ウェブアプリケーションに対する最も重要なセキュリティリスクをランク付けする定期的に更新される啓発文書です。数百の組織からのデータ分析、コミュニティ調査、実世界の侵害データに基づいています。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 インジェクション

古典的なウェブ脆弱性 — 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を読み込む

修正: すべてのソフトウェア/データにデジタル署名。外部リソースのサブリソース整合性(SRI)。アクセス制御と署名による安全なCI/CD。安全でないデシリアライゼーションを避ける — JSONを使用します。

A09 セキュリティログと監視の失敗

ℹ️ 盲目のコスト

侵害を特定するまでの平均時間:204日(IBM 2024)。適切なログ記録がなければ、攻撃者は永続性を確立し、データを流出させ、足場を拡大できます — すべてアラームをトリガーせずに。

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

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

新しいカテゴリ — クラウドネイティブアーキテクチャでの普及の増加により追加されました。

⚠️ SSRFがなぜ危険なのか

  • Capital One侵害(2019): SSRF → AWSメタデータ → 1億以上の顧客レコード露出
  • クラウドメタデータ窃取: IAM認証情報のためにhttp://169.254.169.254/にアクセス
  • 内部サービスアクセス: ファイアウォールの背後にある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 認証の失敗デフォルト認証情報、セッションテスト、クッキー分析
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