Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help


title: “OWASP ASVS と Web Security Testing Guide(WSTG)” part: “Part 1” chapter: “1-3”

OWASP ASVS / WSTG の活用

OWASP(Open Worldwide Application Security Project)は、Web アプリケーションセキュリティに関する多数のガイドラインやツールを公開している。その中でも、Pentest 実務で特に重要なのが OWASP ASVS(Application Security Verification Standard)と OWASP Web Security Testing Guide(WSTG)である。

本章では、これらをどのようにテスト設計・実施・報告に活用するかを整理する。記載内容は 2024 年時点の公開情報を前提とする。

本章のゴール

  • 前提:Web アプリケーションに対して「何を確認するか」と「どう検証するか」を分けて考える必要性を理解している。
  • 到達目標:ASVS(要求仕様)と WSTG(テスト手順書)の役割分担を説明し、スコーピング・テスト設計・報告における利用方法を整理できる。
  • 対応演習:任意の機能(例:ログイン、パスワードリセット等)を 1 つ選び、ASVS の該当観点と WSTG の手順を参照して、テスト観点の骨子を作成する。

OWASP ASVS の概要

OWASP ASVS は、Web アプリケーションのセキュリティ要件を体系化した標準であり、以下のような特徴を持つ。

  • 認証、セッション管理、アクセス制御、入力検証、暗号化など、複数のカテゴリに分割された詳細な要件一覧
  • セキュリティレベル(例:Level 1〜3)ごとに要求強度が定義されている
  • 開発・設計・テスト・レビューの各フェーズで利用可能なチェックリスト

Pentest の観点では、ASVS を次のように利用できる。

  • スコーピング時に、「どのカテゴリの要件をどのレベルまで評価するか」を合意するベースラインとして用いる
  • テスト設計時に、ASVS の項目をテストケースにマッピングし、抜け漏れを防ぐ
  • 報告時に、「ASVS のどの項目に対して不適合が見つかったか」を明示する

OWASP Web Security Testing Guide(WSTG)

WSTG は、Web アプリケーションに対するテスト技法を体系的にまとめたガイドラインであり、次のような構成を持つ。

  • 情報収集(Information Gathering)
  • 認証テスト(Authentication Testing)
  • セッション管理テスト(Session Management Testing)
  • アクセス制御テスト(Authorization Testing)
  • 入力検証テスト(Input Validation Testing)
  • エラーハンドリング、暗号化、ビジネスロジックなど

各テスト項目について、目的、テスト手順、確認ポイントの例が記載されており、Pentest 実務者にとっては「標準的なテストのやり方」の参考となる。

ASVS と WSTG の役割分担

ASVS と WSTG は、次のように捉えると理解しやすい。

  • ASVS:
    「何を満たしているべきか」を定義した 要求仕様・チェックリスト
  • WSTG:
    「どのように検証するか」を示した テスト手順書

図1-4 は、スコーピング(合意事項)を起点に、ASVS を「何を確認するか」、WSTG を「どう検証するか」の参照として組み合わせ、計画・実施・報告に接続する関係を示す。

図1-4: ASVS / WSTG の位置づけ(概要)

flowchart LR
    Scope[スコーピング\n(対象/レベル合意)] --> ASVS[ASVS\n(What: 要求/チェックリスト)]
    ASVS --> Plan[テスト計画/観点]
    WSTG[WSTG\n(How: 手順/技法)] --> Plan
    Plan --> Exec[テスト実施]
    Exec --> Report[報告\n(根拠/結果/参照の明示)]

たとえば「パスワードリセット機能」の場合、ASVS では次のような要件が定義されているとする。

  • リセットトークンは十分な長さのランダム値であること
  • トークンは一度のみ使用可能であること
  • 有効期限が短時間に設定されていること

一方 WSTG では、「実際にリセットフローをたどり、トークンの推測可能性や再利用可否を確認するためのテスト手順」が記載される。

Pentest 実務では、ASVS を基準として「何を確認すべきか」を洗い出し、具体的な実施時には WSTG の手順を参考にしながらテストケースを作成するとよい。

本書での扱い

本書では、ASVS および WSTG の全項目を逐一解説するのではなく、次の観点に重点を置く。

  • 代表的なカテゴリ(認証、セッション管理、アクセス制御、入力検証など)の要点整理
  • ASVS の項目を、Web / API / モバイル / クラウドそれぞれの文脈にマッピングする方法
  • 実際のテスト計画書やチェックリストに、ASVS をどう組み込むかの具体例

詳細な原文については、OWASP 公式サイトから最新版を参照することを推奨する。

標準ガイドラインを使う意義

ASVS や WSTG に代表される標準ガイドラインを活用することで、次のメリットが得られる。

  • 個人の経験や属人的な観点に依存せず、網羅的なテストが実施しやすくなる
  • ベンダやチーム間で「どのレベルまで検証したのか」を定量的に比較しやすくなる
  • コンプライアンスや監査の観点から、客観的な根拠を提示しやすくなる

本書に付属するチェックリストやテンプレートも、できる限り ASVS / WSTG との対応関係を意識して設計する。

次に読む章

本章のポイント

  • ASVS は「何を満たしているべきか」を定義する要求仕様(チェックリスト)であり、スコーピング・テスト設計・報告の基準にできる。
  • WSTG は「どのように検証するか」を示すテスト手順書であり、具体的な検証手順の参照として有用である。
  • 実務では Top 10 を入口にしつつ、ASVS と WSTG を組み合わせてテストの抜け漏れと説明可能性を高める。