このように提供しているサービスを安全に保つ上で有効な脆弱性診断ですが、一方でサービスを提供しているベンダー選びを間違えると思わぬ失敗にもつながりかねません。それでは、具体的な失敗例からベンダー選びのポイントを見ていきましょう。
ケース1:報告書の内容が理解できない!
A社では提供するサービスで利用するシステムの安全性を確認するために、第三者の脆弱性診断を受けることを決めます。ただし、あまり予算がなかったため、見積もりを依頼したベンダーの中から最も安価なところを選びました。
安価ではあるものの、テストは網羅的に行われること、そしてきちんと報告書も提出されるとのことで、A社は安心していました。しかし実際に診断が終わり、提出された報告書を見て担当者は困ってしまいます。脆弱性が発見されたWebページと脆弱性の種類が記載されているだけで、詳細な説明は何もありませんでした。慌てて脆弱性診断を依頼したベンダーに電話しましたが、「ウチが対応できるのは報告書の提出までです」という、つれない返事。これでは開発を依頼したベンダーに具体的な修正指示を出すこともできず、上司にも報告できないと、A社の担当者は頭を抱えました。
実は同様のトラブルは決して少なくありません。Webアプリケーション診断においても、脆弱性の有無を自動でチェックするツールが使われていることがあり、ベンダーによっては、そこから出力されたレポートをそのまま報告書として提出しているところもあります。また、そのようなベンダーの中には、レポートの出力結果を説明できるレベルにないところもあります。
一方で、専門家が手作業で1ページずつ確認を行っているベンダーもあります。ツールによる診断とは異なり、専門家による診断では疑いがある箇所についてはサーバーへのリクエストをいろいろ変えてみるなど、ツールではわからない脆弱性も発見できます。そのようなハイレベルな診断をする業者においては、報告書についても、単に脆弱性の有無を記載するだけでなく、画面や脆弱性を利用するための具体的な方法にまで踏み込んで記載されていて、システムの開発ベンダーへ容易に修正依頼を出すことができるレベルにあります。さらに実際に調査を行った専門家による報告会もセットになっていれば、開発ベンダーを同席させて直接不明な点について質問させるといったことも可能となり、自身の負担が大幅に軽減され、迅速な脆弱性修復作業にもつながります。報告書に総評まで記載されていれば、上層部への説明に利用できるため、さらに手間が省けるでしょう。
脆弱性診断を行うのは、そもそも脆弱性の改修を行うため。従って診断後の対処を念頭に、脆弱性診断の委託先を選定する必要があります。一見、診断サービス内容は同じに見えても、決して見積額のみで決定せず、以下の点を確認してから、委託先と契約しましょう。
<チェックポイント>
□診断方法は専門家がしっかりチェック(手動診断等)を行っているか?
□診断をする担当者の経歴や実績は?
□報告書の内容は?(報告書のサンプルを要求し、キャプチャー画面が添付されている、あるいは再現手順が明記されているなど、問題点がわかりやすく指摘されているか、ベンダーに対する修正指示や社内での説明にそのまま使えるかなどといった観点からチェックしましょう)
□報告会はあるか?報告会に診断を担当した専門家の同席はあるか?
□システム開発ベンダーへの修正指示におけるフォローはしてもらえるか?その対応期間は十分か?
ケース2:何が本当に必要な項目なの!?
あるグループの子会社として事業を行っているB社に、親会社から突然、脆弱性診断の要請と診断項目の一覧が届きました。別の子会社が脆弱性を狙った攻撃を受け、早急にグループ全社で脆弱性の有無を緊急で診断することになったとのことです。
この話を聞いたB社の担当者は、慌ててインターネットで脆弱性診断を行っているベンダーを探し、自社のWebサイトの脆弱性診断を依頼します。B社の担当者は、見積書を見てビックリ。想定していた費用を遙かに上回る金額だったのです。上司に相談すると、なんとか費用を下げるようにとのこと。時間もなく、B社の担当者は診断項目の一覧と見積書を見比べながら、すっかり困り果ててしまいます。
脆弱性診断において網羅性は当然重要ですが、一方で診断する必要がないWebページや脆弱性、診断項目もあります。たとえば入力画面がないWebページであれば、何らかの値を入力して脆弱性の有無を検査するといったことはできないため、診断項目として不要です。こうした個別の事情を鑑みず、顧客からの依頼書に沿って単に診断項目とページ数の掛け算で費用が算出されれば、コストが膨らむのは当然でしょう。顧客と目線を合わせた質問でヒヤリングを行い、要望をきちんと理解して必要な診断項目を提案してくれるベンダーでないと、このようなことになってしまいます。決まり切ったサービスを押しつけるのではなく、ユーザーの要望を受けた上で過不足のないサービスを適正価格で提供してくれる。そういったベンダーを探すようにしたいところです。
<チェックポイント>
□システム概要や改修箇所を示した際に、必要な診断項目を特定するためのヒヤリングをしてくれるか?
□診断項目について、なぜ必要かを説明できるか?
□診断項目の提示を発注者側に要求してこないか?
□診断サービスを自社サービスとして提供しているか?(自社提供でない場合、適切なヒヤリングは行われないケースが多く、緊急対応にも応じられない場合があります)
ケース3:定期的に行う脆弱性診断のコストが重荷になっている
C社ではインターネット上で提供しているサービスの安全性を確保するため、定期的に脆弱性診断を受けていました。しかし依頼しているベンダーの脆弱性診断の費用が高く、そのコストがC社にとって大きな負担となっていました。
そこで脆弱性診断を依頼しているベンダーに、もう少し安価に済ませられるサービスはないかと相談しましたが、その高価なサービスを受けるしか方法はないと言われてしまいます。仕方なく、C社の担当者は別のベンダーを探し始めました。
このC社のように、定期的に脆弱性診断を受けて安全性を維持したいが、そこで発生するコストが問題になるといったケースは少なくないでしょう。その際、こちらの要望に合わせて柔軟に対応してもらえるベンダーであれば、コスト負担を抑えながら適切に脆弱性への対応を進められます。
具体的な打ち手として考えられるのは、先ず、システムのライフサイクルに応じて、適切なサービスを選ぶことです。さらに、ケース2にあるように、診断項目を必要なものにしぼることです。契約方法の工夫も考えられます。年間で複数回の実施が見込まれる場合、チケット制とすることで、合計金額も抑えられ、かつ契約行為も診断ごとにする必要がなくなります。ユーザーにある程度のスキルがある場合、SaaSサービスを利用して診断を行うことも検討できます。ただし、そのようなセルフ診断サービスを利用する場合でも、システムのリリース前や運用フェーズにおける四半期に1度の定期診断などの場合は専門家にチェックしてもらうことをお勧めします。
<チェックポイント>
□システムライフサイクルを意識した診断計画となっているか?
□年間契約、チケット制の制度はあるか?
□SaaSサービス(セルフ診断)を利用する場合、ユーザー自身が診断結果を理解し、システム開発ベンダーへの改修指示が出せるか?また診断結果は日本語か?
【コラム】OWASP TOP10をすべて検査できるって本当??
「OWASP Top10」をすべて検査できると話すベンダーがいたら、それは注意が必要です。OWASP(The Open Web Application Security Project)と呼ばれるコミュニティでは、対処すべきWebアプリケーションの脆弱性を「OWASP Top10」としてランキングにまとめています。その2017年版で10位として追加された「不十分なロギングとモニタリング」は脆弱性診断(ブラックボックス検査)では確認できず、セキュリティアセスメント等も含めた対応も必要になりますので、1つの確認要素になるでしょう。
「OWASP TOP 10 2014」から「-2017」の変更点

ここまでの3つの失敗例でわかるとおり、脆弱性診断サービスの内容やユーザーへの対応はベンダーによって大きく異なります。適切に脆弱性に対処し、Webサイトを運営する上でのリスクを最小化するためにも、適切なサービスなのか、信頼できるベンダーなのかをしっかり見極めましょう。
※掲載されている内容は公開日時点のものです。
※掲載されているサービスの名称、内容及び条件は、改善などのために予告なく変更することがあります