脆弱性診断(セキュリティ診断)とは? その目的と選定方法まで徹底解説
2024.10.31
デジタル化が進む現代において、サイバー攻撃の脅威がますます増加しています。こうした脅威に備える手段の一つとして「脆弱性診断(セキュリティ診断)」という言葉を耳にしたことがある方も多いでしょう。脆弱性診断は、企業や組織が使用しているシステムやアプリケーションにセキュリティ上の欠陥がないかを確認する診断です。
本記事では、脆弱性診断について詳しく解説します。さらに、診断を行う際の選定方法や、実際にどのように進めていくべきかについてもわかりやすくご説明しますので、ぜひ最後までご覧ください。
脆弱性診断とは?
脆弱性診断とはどのようなものなのか、定義と目的の2つに分けて解説します。
脆弱性診断の定義
脆弱性とは、「ソフトウェア等におけるセキュリティ上の弱点」のことです。
脆弱性診断は、企業や組織が使用している情報システム(OS、ソフトウェア、Webアプリケーションなど)に潜在するセキュリティ上の弱点を発見するために行う検査のことです。
脆弱性診断の目的と効果
脆弱性診断は、システムやソフトウェアなどに存在する脆弱性を見つけることを目的としています。近年、サイバー攻撃の多くは脆弱性を悪用して行われるため、早期に脆弱性を発見し、対策を講じることが重要です。
以前は、官公庁や金融機関などターゲットを決めてサイバー攻撃される事例がありました。しかし現在は、あらかじめターゲットを決めて攻撃を仕掛けるというよりも、外部から検出できる脆弱性を探し、侵入しやすいところを見つけて攻撃する手口も多くなっています。そのため「規模の小さい会社だし、大丈夫だろう」ということはなく、業界や規模を問わず攻撃されるリスクが以前よりも高まっています。
そのため、事前に脆弱性やリスクを特定し、評価を行い、脆弱性やリスクに対する対策を行うことで、標的になりにくくなるでしょう。
脆弱性診断とペネトレーションテストの違い
脆弱性診断とペネトレーションテストは、どちらもサイバー攻撃から情報資産を守るために必要な診断手法です。どちらも実施することで効果的なセキュリティ対策に繋がります。ただし、アプローチに違いがあるため状況に合わせて使い分ける必要があります。
脆弱性診断とペネトレーションテストの違いについて、2つの項目に分けて解説します。
脆弱性診断とペネトレーションテストのアプローチの違い
脆弱性診断とペネトレーションテストには診断対象やその目的に違いがあります。
脆弱性診断の診断目的は、対象となるシステムに内在する不具合や脆弱性を洗い出すことが目的となります。 一方で、ペネトレーションテストは特定の脆弱性に対して実際に侵入経路となりうるのかテストすることを目的としています。攻撃者視点でテストシナリオを設定し、テストシナリオを実行することで攻撃により被害が実現する可能性について推し量るテストとなります。
実施タイミングと報告形式
脆弱性診断の実施のタイミングについては、デジタル庁の「政府情報システムにおける 脆弱性診断導入ガイドライン」によると、システム構築時と年1回以上を目安とした定期的な実施が基準とされています。
構築時診断は、構築時に脆弱性対策の実施内容の確認やセキュリティ品質の確保を目的として実施します。定期診断は、各システムの脆弱性対策が適切に実施されていることの点検や監査が目的です。
一方で、ペネトレーションテストの実施タイミングはシステムの運用開始後から運用中です。設計段階で実施するケースも中にはありますが、運用が始まってからのほうが実際の問題点を発見しやすいためです。
脆弱性診断の種類
脆弱性診断には、診断対象に合わせていくつかの種類があります。システム全体のセキュリティを確保するためには、適度な組み合わせで実施する必要があります。ここでは、代表的な脆弱性診断の種類を3つ紹介します。診断は自動ツールを用いることが多いですが、ツールで検出できない問題は専門家が手動で補完します。
プラットフォーム診断
プラットフォーム診断は、ファイアウォールやVPN機器、サーバOSなどが対象となり、脆弱なポートが開いていないか、古くサポートが切れているOSが使われていないかなどを確認します。
Webアプリケーション診断
Webアプリケーション診断は、WebサイトやWebアプリケーションの脆弱性を診断します。たとえば、データの改ざん、不正情報取得、不正ログイン、といった攻撃に対する脆弱性を特定することで、情報漏えいやサイト改ざんリスクへの対策が可能になります。
スマートフォンアプリ診断
スマートフォンアプリ診断は、AndroidやiOSアプリを対象とした診断です。アプリ自体の脆弱性に加え、アプリとサーバとの間の通信の安全性もチェックします。診断方法には、自動解析ツールの使用や、リバースエンジニアリング※1を用いた詳細な調査があります。
※1 リバースエンジニアリング:製品の内部構造や動作を解析し、元の設計や機能を明らかにする技術
その他の脆弱性診断
脆弱性診断にはこのほかにも、さまざまな種類の診断サービスが存在します。情報システムだけではなく、制御システムやIoT機器を対象とするものや物理環境、組織とその従業員を対象とするものも登場しています。
脆弱性診断の具体的な手順とは?
脆弱性診断は診断対象によって、内容が変わります。ただし対象が違っても、基本的な流れは同じです。ここでは、基本的な手順について紹介します。
事前準備
まず脆弱性診断を行う対象を決めます。脆弱性診断においては、依頼側が認知している対象から任意に選択した対象に診断を実施します。
また、手動で診断するのかツールを使用するのかなど実施方法も決めなければいけません。診断基準や項目もこの段階で決めます。
診断実施
実際に脆弱性診断を実施します。ツールを使うのか手動なのかで、実施にかかる時間も変わってきます。診断対象の保守・開発スケジュールに影響がでないよう、あらかじめスケジュールを立てて計画しましょう。
診断結果の分析と対処
診断結果を確認して、対処すべき重要な脆弱性が発見された場合には対策を行わなければなりません。脆弱性診断サービスを提供している企業であれば、対処法についても知見があるケースが多いのでサポートを利用して適切な対処を行いましょう。
脆弱性診断サービスを選ぶときの4つのポイントとは?
脆弱性診断のサービスを選ぶときには、自社の環境やニーズに合ったものを選ぶ必要があります。選ぶ際にはいくつかのポイントがあるので、とくに気をつけたいポイント4つについて詳しく解説します。
サービス内容はサポートの範囲
脆弱性診断のサービスには、その診断手法や診断結果の提供方法に違いが現れます。診断結果を読み解き、自社が適切な対応をとるために必要なサービスが求められます。
必要があれば、単に診断を受けるだけでなく、診断結果に基づいた具体的なアドバイスや対策を提供してくれる充実したサポート体制が整っているかなどを確認することが重要です。オプションサービスも含めて求めるサービス提供が可能な事業者を選びましょう。
自社の求める範囲はどのくらいか?
脆弱性診断といっても、その範囲や深度はさまざまです。自社のシステムにどの部分で脆弱性が発生しやすいか、どの程度まで診断してもらいたいのかを依頼する企業や組織は明確にする必要があります。診断項目や対象システムの範囲が自社のニーズに合致しているかをよく検討し、適切な診断を提供してくれるサービスを選びましょう。
費用はいくらかかるか?
脆弱性診断の費用は、診断範囲や診断手法、サポート内容によって大きく異なります。数十万円から数百万円に及ぶ場合もあるため、診断を受ける前に費用の内訳を詳細に確認しましょう。コストに見合ったサービスを選ぶことで、無駄な出費を抑えつつ、適切なセキュリティ対策を実施できます。
実績はあるか?
診断サービスを選ぶ際には、導入実績が豊富な会社を選ぶことが重要です。具体的な選定に際しては、IPA(独立行政法人情報処理推進機構)が公表している情報セキュリティサービス基準適合サービスリストの「脆弱性診断サービス」が参考になるでしょう。IPAが公表しているリストは経済産業省の定義する「情報セキュリティサービスに関する審査登録機関基準」を満たすことが確認されています。
脆弱性診断では、検出した脆弱性をふくむ機密情報を取り扱うことになります。そのため、診断を実施する事業者に秘密保持などのルールを守る仕組みについても確認しておきましょう。
ASM(アタックサーフェスマネジメント)と脆弱性診断の関係
脆弱性診断とペネトレーションテストの違いを解説し、どちらもサイバー攻撃から情報資産を守るために重要であることを説明しました。加えて、ASM(アタックサーフェスマネジメント)を導入することでさらなるセキュリティ向上が期待できます。
一般的な脆弱性診断は依頼企業が診断範囲を指定します。そのため、そもそも自社が認知していないIT資産やその脆弱性が存在している場合、対策漏れが発生します。一方で、ASMは範囲を絞らずに外部からアクセス可能な機器すべてが対象となります。また外部からアクセス可能な範囲の診断なので、ツールの種類によっては診断対象企業の同意がなくても診断可能です。そのため、自社だけでなく関連会社や取引先の診断にも活用されています。
ペネトレーションテストや脆弱性診断は、発見された問題点に対して実際に攻撃を試みるため問題の深刻度や攻撃の成功率が高いかどうかなどを具体的に確認できる方法です。一方で、ASMはより広範囲な部分を網羅的に効率よくチェックしたい場合に向いている手法といえるでしょう。
たとえば、外部公開アプリに対しては詳細な脆弱性診断を実施して、把握できていない外部公開サーバの有無や見落としている脆弱性がないかをASMで広範囲に確認します。ASMで脆弱性が見つかった場合には、その箇所に脆弱性診断を追加するなどの対策が可能です。
ASMは脆弱性診断と比較して、診断実施のコストやシステム環境への負荷が低いため高頻度で実施できることも特徴でしょう。
脆弱性診断とASMを組み合わせることで、多角的なアプローチが可能になり、より高いセキュリティシステムの構築ができます。
『MS&ADサイバーリスクファインダー』なら、ASMの初回診断を無料でお試しいただけます
まとめ
本記事では、脆弱性診断の目的とサービスの選定方法について解説しました。脆弱性診断は、システムやアプリケーションのセキュリティリスクを検出・評価することで、サイバー攻撃を未然に防ぐ目的があり、似た用語であるペネトレーションテストとの目的や診断範囲についても比較して紹介しました。また、脆弱性診断サービスを選ぶ際には、診断後に検出された脆弱性に対してどのようにアプローチすべきかまでサポートしてくれるサービスかどうかという点も重要になってきます。
サイバー攻撃を防ぐためには、どれか一つを実施すれば十分というわけではないため、目的に合わせて必要なものを実施したり組み合わせたりすることが重要です。