脆弱性診断前に押さえておきたい準備

「うちのシステム、大丈夫かな?」そんな不安を抱えているWebサイト運営者の方も多いのではないでしょうか。サイバー攻撃は常に企業や組織にとって大きな脅威となっています。情報漏えいやシステム停止といった事態を引き起こす可能性があり、企業の評判や収益に深刻な影響を与える恐れがあります。そのようなリスクを低減するため、システムに潜むセキュリティ上の問題点を発見するのが、脆弱性診断の役割です。
本特集では、Webサイトのセキュリティ対策において不可欠な「脆弱性診断」に焦点を当て、実際に脆弱性診断サービスを提供する現場で、診断案件の調整を行う担当やエンジニアへのインタビューを通じて、脆弱性診断サービスを検討されている方の抱える疑問や課題解決に役立つ情報を紹介します。
※本記事は、SSTが提供する脆弱性診断サービス(Webアプリケーション診断やプラットフォーム診断)を基にしています。世の中にはさまざまな脆弱性診断サービスや手法が存在し、他社製品も含めて多様なアプローチがあります。本記事の内容が全てのケースに適用されるわけではありません。安全なWebサイト運用の参考としてご活用いただければ幸いです。
今回のテーマは、「脆弱性診断前に押さえておきたい準備」についてです。脆弱性診断を実施する際、多くの企業が「どのような準備をすれば効果的な診断ができるのか」「社内でどのような体制を整えるべきか」といった疑問をもつのではないでしょうか。こうした疑問に対して、少しでも役に立つヒントをお届けします。
依頼する前に「予算」と「診断範囲」を決める!
Q. 依頼前に予算をどのように決めるのか?
脆弱性診断を依頼する前に、まず予算をしっかりと確定しておきましょう。診断範囲や診断対象の数によって費用は大きく変動するため、計画段階で診断の目的に応じた予算設定が求められます。例えば、システム全体の診断が必要な場合と、特定の機能に絞った診断では、診断範囲及び費用が変わります。診断対象の範囲が広ければ広いほど、費用が増加するため、どの部分に重点を置くかを最初に明確にすることが必要です。
予算と診断対象範囲が合わない場合は、優先順位をつけて診断範囲を調整することがあります。そこで、診断対象の機能やシステムを洗い出し、できる範囲で優先順位をつけられるとよいでしょう。具体的には、新たに機能を追加した箇所、認証に関連する機能、重要情報を取り扱う箇所などを特定し、重要度とリスクのレベル分けを行う方法があります。このようにして、特にリスクが高い部分やビジネスにとって重要な機能を優先的に診断対象として選定することで、限られた予算内でも効果的な診断を実現できます。
SSTでは、脆弱性診断の依頼をいただく際に、予算と優先的に診断したい範囲などをお客様に事前に決めていただくことを推奨しています。お客様の限られた予算内で重要な箇所に焦点を当てた効果的な診断を提案できるよう努めています。また、予算に限りがある場合には、診断範囲を分割し、実施時期をずらすなどして段階的に行い、重要な部分から優先して進めることで、予算を有効に活用するケースもあります。
Q. 診断範囲を決める際に必要なことは?
上記予算の決定と同時に診断対象を明確にしましょう。診断対象となるシステムやアプリケーション、ネットワークの範囲などを具体的に特定することで、診断の効率化を図り、必要な対策を絞り込むことができます。
SSTの場合は、脆弱性診断の依頼をいただく際に、診断に必要な情報をヒアリングシートにご記入いただきます。具体的には、診断対象のURL一覧、診断環境の詳細(IPアドレスやFQDNなど)、WAF(Webアプリケーションファイアウォール)などのセキュリティ設定の有無が含まれます。この情報を基に、事前調査を実施し、診断対象の範囲をより詳細に明確化していきます。
SSTの事前調査では、診断対象のURLをもとに一つ一つリクエストを確認し、サイトの構造や機能を理解しながら事前調査の専用シートを作成します。重要な意味を持つ可能性のあるパラメータを推測したり、リスクが高いと考えられる特定の機能に焦点を当てることで、お客様が診断範囲を適切に選定できるように丁寧にサポートします。さらに、お客様の予算を考慮し、重複している機能や類似機能を省くことや、特に重視すべき箇所を特定します。このような細やかなサポートは他社にはない特徴であり、多くのお客様から高い評価をいただいています。
診断対象の特定や情報の整理は重要なプロセスです。特に、特定の分野の専門知識が必要な機能を備えたシステムの場合、その操作方法や業務の流れを詳細に説明したマニュアルや資料を事前に用意しておくとよいでしょう。これは、診断担当者が初めて目にするシステムであっても、迅速かつ正確に診断を行えるようにするためです。具体的には、操作手順や画面遷移のメモ、承認フローなどの業務プロセスの資料などが診断時に大いに役立つことがあります。
Q:診断実施時に注意が必要なポイント
予算と診断範囲を決めた後は、スケジュール、報告書の締め切り希望日、診断用の環境準備の目処などを事前に確認しておくことで、診断申込後の対応や進行をスムーズに行うことができます。
診断を開始した後の予期せぬトラブルを回避するためにも、関係する部署間での連携が重要です。社内のセキュリティポリシーや手順を確認し、必要な承認や許可を事前に得ておくことを推奨します。開発部門、インフラ部門、セキュリティ部門など、診断対象に関わる可能性のあるすべての部署と事前に情報共有を行いましょう。自社で導入されているWAFにより攻撃として認識されて診断が中断されたり、診断中に開発チームから「デプロイのために中断してほしい」と依頼されるなど、診断中に想定外の事態が起こらないよう、診断を依頼する担当部門は関連部門にあらかじめ調整を行っておくことが大切です。
診断実施までに準備しておくべきこと
Q:診断開始までに準備すること
脆弱性診断に申し込んだ後、診断を実施するまでには、依頼側で準備しなければならないことがいくつかあります。これらの準備を怠ると、診断プロセスがスムーズに進まず、診断結果にも影響を及ぼす可能性があります。
(参考記事:「脆弱性診断における「ロール」を考慮したアカウントや「データ」の準備について」)
- 診断用のテストアカウントの準備
- 複数の役割(管理者、一般ユーザーなど)がある場合、各役割で実行できる操作やアクセスできる範囲が異なるため、役割に応じたアカウントを用意することで、より効果的な診断が可能です。
例:管理者アカウント、一般ユーザーアカウント
- 複数の役割(管理者、一般ユーザーなど)がある場合、各役割で実行できる操作やアクセスできる範囲が異なるため、役割に応じたアカウントを用意することで、より効果的な診断が可能です。
- テスト用のデータ作成の準備
- 各アカウントで利用可能なデータを作成することで、実際の操作環境を模したシミュレーションに役立ちます。
例:作成・編集できるデータ、アクセスできるファイルや情報
- 各アカウントで利用可能なデータを作成することで、実際の操作環境を模したシミュレーションに役立ちます。
- ファイアウォールやWAFの一時的な設定変更
- ファイアウォールの設定を一時的に変更することで、診断チームが診断対象のシステムやアプリケーションにアクセスできるようにします。
- 診断中はWAFの設定を一時的に緩和したり、特定のルールを無効にする必要があります。これは、診断では意図的にシステムに様々な攻撃を仕掛けて脆弱性を見つけるためです。WAFはこのような攻撃をブロックする役割があるため、設定を変更しないと診断ツールが正常に動作できないなど、診断作業が進められなくなります。
※これらの設定変更は診断期間中のみ行い、診断が終了した後には必ず元の設定に戻す必要があります。
- 脆弱性診断用のテスト環境の準備
- 本番環境に影響を与えずに、安全に診断を実施できるテスト環境が必要です。
本番環境での脆弱性診断はトラブルの原因になるため、本番環境とは別に、脆弱性診断用のテスト環境を用意することを推奨します。脆弱性診断は、攻撃と同様にシステムの脆弱性を突くプロセスであり、何が起こるかは実際に診断を実施してみないと分かりません。診断の過程で、あるパラメーターに対して攻撃値を送信した際、それが思いがけずトリガーとなって稼働中のサービスが突然ダウンすることもあります。サービス提供中の本番環境で診断を実施し、万が一サービスがダウンした場合、診断が停止するだけでなく、サービスを提供している側の企業としての信用問題にも発展しかねません。
発見された脆弱性の危険度を判定するために、アプリケーションの仕様を確認したり、診断中にアカウントの追加やデータ作成などを依頼することがあります。これに迅速に対応できない場合、診断が一時的に中断されたり、報告書の作成が遅れる可能性があります。したがって、診断中はできるだけ早く対応できる体制をお客様側で整えていただくようお願いしています。
Q:実際に起きた診断中のトラブルは?
過去の事例として、脆弱性診断を実施中に、稼働中のWAFが診断による攻撃をブロックしたため、WAFの設定変更を依頼することがありました。しかし、診断の窓口を担当していたアプリケーション部署と、WAFを担当するインフラ部署の間で調整がうまくいかず、設定を変更できない事態に直面しました。設定変更には遅くとも数週間前に交渉を開始する必要があるとのことでしたが、診断のタイミングに間に合わず、やむを得ずWAFが有効な状態で手動診断を実施せざるを得ませんでした。その結果、WAFにブロックされない範囲を慎重に手探りで調査する限定的な診断となり、期待される診断の精度に達しない結果となってしまいました。
この経験を通じて、部署間の調整の重要性を改めて認識しました。SSTでは事前に各部署の状況を把握できず、お客様側で関連する部署やメンバーと連携いただくことが不可欠です。
診断後の対応と今後に向けて
Q:診断後の対応に備えた準備は?
SSTでは診断報告から3ヶ月以内であれば無償で再診断を提供しています。無償再診断サービスを効果的に活用するためにも、初回の診断結果を受けてからの改修作業スケジュールをあらかじめ立てましょう。特に診断結果を受け取った後は、改修の余裕がないケースが多く見受けられます。3ヶ月以内に改修が完了せず、無償の再診断を利用できないことも少なくありません。したがって、改修を見越したスケジュール設定や必要なリソースの確保をおすすめします。
(参考記事:「脆弱性診断の結果を受け取ったあとの対応」)
押さえておきたい!チェックポイント
さいごに、スムーズな脆弱性診断のために、下記ポイントを押さえておきましょう。本記事が、皆さまの安全なWebサイト運用に少しでも役立つことを期待しています。
- 予算の確保
- 脆弱性診断の目的を明確にした上で、適切な予算を設定しましょう。診断の目的や範囲に応じて予算を調整し、実施のタイミングを考慮することが必要です。
- ︎診断対象と範囲の明確化
- 診断対象となる機能やURLを確定させ、優先順位を決めておきましょう。診断対象の範囲が不明瞭だと、結果の有効性が低下するため、初期段階でしっかりと設定しておくことが重要です。
- ︎診断対象についての詳細な資料の準備
- Webサイトの操作手順や業務フローの説明資料を可能な範囲で用意しましょう。事前に資料を整えることで、診断の効率が向上します。
- ︎スケジュールの調整
- 診断可能な環境の準備から報告書締め切りまでのスケジュールを明確にしましょう。
- ︎診断実施までに必要な準備
- 脆弱性診断用のテスト環境の準備、テスト用のアカウントやデータの用意、ファイアウォールやWAFの一時的な設定変更など、関連部署との連携も必要です。
- ︎社内・関連部門との情報共有
- 診断実施前に関係部署との情報共有を行い、それぞれの部署で診断に備えた準備を整えておきましょう。
- ︎診断後の対応フローを整備
- 診断結果を受け取った後の脆弱性への対応方針や改修スケジュールなどを事前に決めておきましょう。
取材協力メンバー
高橋(プロジェクト推進チーム リーダー)
豊島(プロジェクト推進チーム)
久田松(プロジェクト推進チーム)
※SSTのプロジェクト推進チームは、お客様のニーズに合わせた脆弱性診断の計画から診断の実施、報告書の提出、その後のアフターフォローまで一貫してサポートします。

