「SecureOWL」は2022年4月1日付で、 京セラコミュニケーションシステム株式会社(KCCS)から エムオーテックス株式会社(MOTEX)へ事業統合されました。

Web脆弱性診断サービスの選び方 脆弱性診断

2022年7月4日

本コラムの目的

従来脆弱性診断サービスといえば、プロの診断員のマニュアル診断(手動診断)がメインでしたが、近年は診断ツールも進化しており、優れたツールによる
自動診断サービスも増えてきています。しかし、あまりにも多くの選択肢があるため、ユーザーのニーズに適したサービスの選択は益々難しくなっています。
特に脆弱性診断をはじめて検討するユーザーは、各サービスの比較検討に悩まれ、価格中心に選択されることも珍しくないと思います。
本コラムでは、脆弱性診断サービスの依頼を検討されている方が考慮すべき様々な観点を紹介しています。
皆様が診断サービスを選ぶうえで、一助になれば幸いです。

診断手法の簡単な紹介

1.マニュアル診断サービス
プロの診断員による、手動脆弱性診断です。
マニュアル診断の場合でも診断ツールのスキャン機能を利用することもありますが、ログ追跡や診断ベンダー固有の診断を実施するなど、マニュアルの性質が強い診断手法です。人によって検証されるため、過剰指摘が抑えられます。

2.自動ツール診断サービス
各診断ベンダーのサービスによって、行っている診断内容は大幅に異なりますが、基本的にはプロの診断員がツールを併用した診断を行います。
診断ツールの診断機能の結果ベースで、診断結果がレポートされます。そのため、診断結果が検証される場合もあれば、過剰指摘のまま報告されることもあります。

診断手法の比較表

ここで、それぞれの診断手法をさらに詳しく、比較表を使ってみていきましょう。今回は、「実施のしやすさ」・「診断対象の選定方法」・「診断項目数」・「精度」・「速度」・「コスト」・「レポートの分かりやすさ」の7項目に分けて比較しています。

比較観点マニュアル診断サービス自動ツール診断サービス
1.実施のしやすさ
2.診断対象の選定方法 手動、自動 自動
3.診断項目数 多い 普通
4.精度 ベンダーの技術力や、担当者のスキルに依存する 得意不得意がある
5.速度 遅い 早い
6.コスト 中、高
7.レポートの分かりやすさ 読み手を考慮して人手で作成される 自動生成され、表現に限界がある

本比較表は、筆者の主観をもとに記載されたものです。

1.実施のしやすさ
マニュアル診断サービスを利用する場合は、少なくとも診断手法について気にすることはありません。診断ベンダー側から診断のために必要な情報を聞かれることはありますが、この質問もほぼ対象システムに対するものです。
自動ツール診断サービスを利用する場合もマニュアル診断とほとんど相違ありません。ただ、自動ツール診断サービスの中では、事前オートクローリング※1を実施することがあり、開発中のシステムにおいてはそもそもサービス利用できない場合があります。

※1 ツールによるサイト巡回

2.診断対象の選定方法
診断対象の選定方法は大きく分けて自動・手動があります。

自動で診断対象を選定する方法は、一般的にクローラーというWebサイト内部を巡回するツールを利用して、診断対象を網羅する方法があります。多くの診断ツールはこの機能を含めており、一般的にはその機能を利用します。ただし、クローラー機能にも限界があり、クローラーが使えないサイトもありますし、対象の網羅性が担保されないという課題があります。例えばあるサイトに、実在する注文番号を入力する画面が存在し、誤った注文番号では次の画面に遷移しない場合、クローラーは次の画面に辿り着くことができません。

手動で診断対象を選定する方法として、依頼元から提供された診断対象の一覧をもとに診断対象を選定する方法があります。けれども、診断対象Webサイトの仕様書が存在しない場合、診断対象一覧の作成は困難になります。また、診断ベンダーが直接対象Webサイトを操作し、診断対象の一覧を作成する方法も用いられます。この場合は、対象Webサイトの仕様が分からないため、依頼元に問い合わせする場合もあります。

診断ベンダーは自動もしくは手動で診断対象を選定します。簡単にまとめると以下の3パターンに分類できます。
a. クローラーツールを用いた対象選別(自動)
b. 診断ベンダーによる調査および対象選別(手動)
c. 診断対象画面/API一覧に基づいた対象選別(手動)

一般的には、上述したクローラー機能の限界から、b、cの方法で選定されることが多いです。ただし、bの方法は、開発中のWebサイトは全ての機能が正常に動作しない場合は適応できません。加えて、診断員が対象を調査することになるので、aやcに比べて時間を要する場合が多いです。

3.診断項目数
ここで説明する診断項目数は、診断することができる脆弱性の種類を意味します。

基本的には、自動ツール診断サービスを利用する場合は診断ツールを利用することになるので、診断ツールがサポートしている部分のみ診断することができます。例えば、アカウントの権限外のデータに対する操作ができてしまう脆弱性など、脆弱性によっては機械的には検出することが難しい場合もあり診断ツールで対応することが困難です。ただし、一部の自動ツール診断サービスでは、プロの診断員が診断ツールではカバーできない部分に対応する場合もあります。

一方で、マニュアル診断サービスを利用する場合は、自動ツール診断サービスと比べて対応範囲が広い場合が多いです。診断ベンダーごとに診断範囲が異なるので、診断内容をよく確認する必要があります。

4.精度
マニュアル診断サービスの場合は、プロの診断員が診断ツールの機能に加え、各診断ベンダーのナレッジに基づいた追加診断をマニュアルで実施します。そのため、少なくとも、診断ツール以上に精度を期待できます。他の特徴としては、診断ベンダーによって得意な診断部分が異なる場合もあります。ただし、診断の精度を担保するための診断ベンダー内の措置は存在するものの、ヒューマンエラーのような人に依存されてしまう部分も存在します。

自動ツール診断サービスの場合は、基本的には診断ツールの精度が診断の精度となります。 診断に使われるツールは、人の判断によるブレがないため、対応している脆弱性において一貫した診断結果が得られます。また、診断ツールは年々進化しており、脆弱性検出性能が高いツールも複数あります。ただし、診断ツールは、人の判断によるブレがないものの、誤検知や過検知が多くあります。自動ツール診断サービスの場合、診断ベンダー各社のサービスによって偏差が大きく、診断ツールの結果がほとんどであるサービスもあれば、マニュアル診断に近いサービスもあります。そのため、診断ベンダーに問い合わせ、どのように診断が行われるサービスなのか確認する方が良いでしょう。

5.速度
診断をするスピードという点だけに注目すると、多くの場合、ツール診断のほうが圧倒的に早いです。
ただし、以下のような場合は、手動診断のほうが早い場合があります。

・サーバーの性能が低く、多くの通信を一気に送れない場合
・重複するパラメータが多い場合(手動診断では抜き取りができる)
・対象Webサイトが自動ツール診断の実施が難しい作りをしている場合
 例1)対象Webサイトがシングルページアプリケーション方式で作成されている場合
 例2)対象Webサイトがトークンを使用して、そのトークンの特定を機械的な方法ではできない場合

6.コスト

自動ツール診断サービスを受ける場合は、診断ベンダーでセットアップなどを行うことになるため、自動ツール診断で使われるツールのライセンス費用より多少値上がりします。料金は「対象通信数 * 通信別料金」で計算され、診断する度に請求されるパターンもあれば、「期間中診断し放題」のパターンもあります。

マニュアル診断サービスを受ける場合は、プロの診断員が直接診断をするので、自動ツール診断より高くなることが多いです。料金は「対象通信数 * 通信別料金」の計算式で計算されることが一般的です。ベンダーによっては、年間診断回数券などの料金プランが存在する場合もあります。

また、単純に診断の価格だけを考えると、自動ツール診断サービスより、マニュアル診断サービスの方が安い場合があります。例えば、一年一回定期診断をすればいい場合、年間契約の自動ツール診断より、一回のマニュアル診断の方が低価格であることもあり得ます。

7.レポートの分かりやすさ
よく見落とされる部分がこのレポートのわかり易さです。

検出された脆弱性は、どういう脆弱性なのか、どこに存在するか、何を持って脆弱性として判断されているか、どう対策できるかなどの情報が存在しなければ対策することが困難です。診断ツールのレポート(診断結果)や、診断ベンダーのレポートにはこのような情報がまとめられています。ただし、各診断サービスがターゲットとしているユーザーが異なるため、レポート形式がさまざまです。

例えば、診断ベンダーによる診断サービスは、丁寧な対策方法や、検証例を提供する場合が多いです。診断ベンダーのレポートは脆弱性が存在することを証明するため、ユーザーが脆弱性を直接検証できるほどの丁寧な検証例を提供する場合もあります。また、脆弱性という一般的に接することがないものについて、詳細にどういうものかを伝えているレポートも多くあります。

一方で、診断ツールのレポートは多くの場合、診断員や開発者向けの自動生成されたレポートになっています。情報が過剰にならないよう、必要最低限の情報を網羅しているため、必然的に脆弱性についてあまり知らない人には向いていません。また、言語的な部分が壁になる場合もあります。著名な診断ツールは海外で開発されたものが多く、日本語レポートをサポートしていない場合がほとんどです。翻訳機を使おうとしても、診断レポートは記号や、独特な表現があるため、適用が難しい場合があります。

また、レポートには脆弱性の検証結果の過程や結果を表す画面キャプチャが付くこともありますので、サンプルレポートを依頼して確認するとよいでしょう。MOTEXのレポートは、一部のプランを除いて、基本的に画面キャプチャ付きで脆弱性を説明しています。

向いているケース

上記でそれぞれの観点で比較していますが、マニュアル診断サービスと自動ツール診断が向いているケースについて以下のように簡単にまとめることができます。
あくまでも一般的な場合ですので、上記の観点として重要視している部分があれば、その観点をより大切にした方が望ましいです。

サービス名向いているケース
マニュアル診断 ・脆弱性情報を閲覧する対象が技術者以外にもいる場合。
・リリース前検査や、一度も実施したことがない場合。
・一年に一回程度、定期診断が必要な場合。
・予算に余裕がある。
自動ツール診断 ・脆弱性情報を閲覧する対象が、技術者である場合。
・短い期間、繰り返し再診断が必要な場合。
・予算が少ない場合。

まとめ

ここまで脆弱性診断サービスの選び方について2つのパターンで区分して紹介させていただきました。
本コラムでは、診断手法の比較においてさまざまな観点の比較をしていますが、それらを全て考慮しなければならないかというとそうでもありません。
本当に大切なのは、どう違うか理解した上で、お客様の目的にあった、脆弱性診断サービスを見つけることです。
是非、本コラムを参考にして適切な脆弱性診断サービスを見つけていただければ幸いです。

なお、エムオーテックスでは本コラムで説明したマニュアル診断型のサービスを提供しております。本サービスは、エムオーテックスのプロの診断員が手動にて診断を実施し、画面キャプチャ付きのレポート(一部プラン除く)にまとめ、対策方法をご説明しています。 ご興味がある方は以下のリンクをご参照ください。


著者プロフィール
曺 炯旭(チョウ ヒョンウク)

2020年、京セラコミュニケーションシステム 入社
セキュリティサービスのイノベーション業務に従事。
情報安全確保支援士であり、普段AI、クラウド、開発を学び中。

掲載されている情報は、発表日現在の情報です。最新の情報と異なる場合がありますのでご了承ください。

ページトップへ