手動脆弱性診断

手動脆弱性診断は一般的に、次のような手順で行われます。

  • 事前準備
    • 対象となるWebアプリケーションの調査
      構成を確認し、詳細な画面遷移図を作成
    • 診断範囲の検討
      画面遷移の数(リクエスト数)や、画面遷移の中で送信されるパラメータ数が多くなるとコストが上乗せされる
      予算や期間によって、重要な機能のみに絞って診断したり、サンプリングした対象について診断したり、さらにその結果に応じて範囲を拡大する等の対応も
    • 診断方法の検討
      対象アプリケーションの特性や、依頼者の希望により、基本の診断メニュー/診断項目をカスタマイズすることも
      診断項目は診断会社によって異なるが、SQLインジェクション、クロスサイトスクリプティング、コマンドインジェクションの他、認証周りやセッション関連の診断は通常含まれている
  • 診断
    • 専門家が実際に対象アプリケーションにアクセスし、攻撃者の視点に立って脆弱性の有無を検証
    • 診断員がネットワーク経由でアクセスすることが多いが、客先でオンサイトの診断を行うことも
    • 対象となる画面遷移数が多ければ作業に数日を要する
  • レポート/フォロー
    • 診断実施後、数日から数週間程度で報告書が提出され、検出された脆弱性の内容や重要度、対策の説明などが提供される
    • 必要に応じて報告会を行う
    • 指摘箇所の改修後に再診断
    • 一定期間の問い合わせ対応
  • ●メリット
    • 検査精度の高さ
      (検査項目の網羅性や、人間が判断しないと認識しにくいタイプの脆弱性の発見など)
    • 診断後のフォローアップ
    • 柔軟性、カスタマイズ性
  • ●デメリット
    • 診断員のスキルによるばらつき
    • 高コスト(予算に応じて検査範囲を絞る必要性も)
    • 検査や報告までの所要時間の長さ
    • 外注の場合、早期に診断業者のスケジュールを確保する必要性
    • 社内で行う場合、診断員の確保育成コストが大きい

自動脆弱性診断(ツール診断)

ツールを利用したWebアプリケーション脆弱性診断です。ここでは、プログラマーをはじめ専門的なセキュリティ診断の知識を持たない方による実施を前提としています。ツールによる自動脆弱性診断は、実施段階によってさらに2種類に分けられます。

リリース前診断用ツール

自社内の開発部門等において、Webアプリケーションのリリース前に脆弱性診断を行うための自動検査ツールです。後述のクラウド型Web脆弱性診断ツール「VAddy(バディ)」も、このリリース前診断用ツールのカテゴリに属します。

※自社内で行う場合でも、セキュリティ部門のエンジニアなどが手動で行う診断は「手動診断」に分類されます。
 また、セキュリティ診断事業者が、診断サービスの中でリリース前診断用ツールを専門知識を活かしながら使用することもあります。

リリース前診断用ツールの利用イメージ

  • 事前準備
    • インストール(ソフトウェア型の場合)
    • プロキシ等のネットワーク設定
    • 診断対象、診断基準の設定
    • 要認証箇所に関する設定
    • 診断対象箇所のクロール(手動または自動での画面遷移記録)
  • 診断
  • レポート/フォロー
    • レポート出力/閲覧
    • 指摘箇所の確認(誤検知でないか等)
    • 指摘箇所の改修、再診断
  • ●メリット
    • 複数回利用すれば低コスト(クラウド型の場合はさらに低価格なサービスあり)
    • 自社都合のスケジュールでいつでも何度でも実施でき、所要時間も短い
    • コストを気にせず対象となるアプリケーションの全体を漏れなく診断しやすい
    • ツールによるが、セキュリティの深い知見があれば詳細なチューニングも可能
  • ●デメリット
    • 設定や操作に関する学習コストが高い
    • 脆弱性に関する専門知識がないと使いこなせないツールが多い
    • オートクロール機能があるツールでも、画面遷移のすべてを網羅できない場合がある
  • VAddyの特徴 ~選ばれる理由~
    • VAddyは、上記メリットを最大限に活かしつつ、デメリットを根本的に解決するために生まれたツールです。また、クラウド型サービスのため、ご利用にあたってインストールは不要。ブラウザだけでご利用いただけます。

リリース後診断用ツール

本番環境で運営されているアプリケーションに対して、日次、週次など定期的に検査リクエストを送信して脆弱性の有無を判断するタイプのツールです。主にSaaS型で、安価なものでは月額数千円から提供され、ここで紹介する診断のカテゴリの中では、最も安価で手軽なものです。他のサービスの付加機能として提供される場合もあります。

本番環境に大きな悪影響を与えず検査を行わなければならないこともあり、一般的に、高機能なリリース前診断用ツールと比較すると検査できることが限られます。主に、既に公開済みで開発も落ち着いているWebサイトのアプリケーションについて、主要な「脆弱性が無い」ことを簡易的に確認するために用いるツールといえます。

  • ●メリット
    • 最も安価
  • ●デメリット
    • 本番環境に影響を与えない範囲の簡易的診断にとどまる