セキュリティ診断の基礎知識|「セキュリティ診断」「脆弱性診断」「ペネトレーションテスト」の言葉の違いからその種類、サービスの選び方まで大公開。

ビジネスが取り組むセキュリティ対策は、広範囲であり、また複雑化してきています。システムに弱点があると、内外の攻撃により、機密情報の流出や金銭的損失に加え、企業の評判にも影響を与える深刻な問題になり得ます。

先ず冒頭でお伝えしておくのは言葉の持つ範囲についてです。

脆弱性診断とセキュリティ診断はほぼ同意語で実施内容も一緒です。しかし、ベネトレーションテストはやや異なります。

こちらでは、システムのセキュリティ管理や情報保全などの役割を持つ方々に対し、各言葉の意味や違い、脆弱性診断導入の利点・欠点や、その方法について説明します。

 

脆弱性診断(セキュリティ診断)の定義

脆弱性診断とは、ネットワークやOS、ミドルウェア、Webアプリケーションなどの悪用可能性のある弱点を探し出し、セキュリティ状況を確認する作業です。脆弱性とは、OS、ソフトウェア、ハードウェア等に存在し、情報の保護を損なう可能性のある欠陥を指します。脆弱性診断を行うことで、セキュリティの現状を把握し、現状に対応した適切な対策により、情報漏えいなどのリスクを減少させることが可能となります。

脆弱性診断の目的は、侵害の可能性が存在する既知の脆弱性を識別し、ランク付けし、報告することです。これは意図的、もしくは非意図的な行為により情報が漏れ出したり、システムが機能しなくなる事態を防ぐためです。発見した脆弱性の種類やリスクレベルは、「共通脆弱性評価システム(CVSS)」を用いて評価し、必要となる対策を立てます。

脆弱性診断に近い概念としてペネトレーションテストがあります。

「脆弱性診断」はサイバー攻撃の原因となる弱点を見つけるためにシステム全体を広範に検討し、より多くのリスクを把握することを目指します。一方、「ペネトレーションテスト」はシステムに直接アクセスし、現実的な攻撃シナリオを用いて問題箇所を特定し、サイバー攻撃を防ぐ手段となります。

 

ペネトレーションテストとの違い

ペネトレーションテストと脆弱性診断は行う目的が異なります。下記に目的・調査対象の違いをまとめました。専門用語のみで記載するとわかりにくくなる可能性があるので、「イメージ」に住宅に置き換えて違いを記載してみました。

イメージ 内容 調査対象

脆弱性診断

自宅の外側、内側の鍵や防犯性の確認をする。鍵がピッキング可能か、セキュリティシステムが正常に作動しているかなど。 手動やツールを用いて既に認識されている脆弱性を特定、報告することを目的としています。 Webアプリケーション、社内ネットワーク、システムなど全体に対して実施します。

ペネトレーションテスト

家の中にある金庫を開けられないか確認する。この金庫を盗む為に考えられる行動を予想し実行可能かをテストする。 対象システムの構成などに応じて攻撃のシナリオを作成し実施します。特定の脆弱性や問題点を発見することを目的としています。 対象システムに対して攻撃者が目的を達成できるかを確認するため、システム毎によって検査対象が異なる。

 

脆弱性診断とペネトレーションテストは、両者とも弱点を発見するという共通点がありますが、その目的とアプローチは異なります。脆弱性診断ではシステム全域に対して行われ、総合的にシステムの欠点を把握します。一方、ペネトレーションテストでは、具体的なサイバー攻撃を模倣し、特定の目標達成が可能かどうかをテストします。

これら二つのセキュリティ診断はそれぞれ異なる目的を持っているため、どのリスクを理解したいかで適切に使い分けることが求められます。

 

脆弱性診断(セキュリティ診断)の重要性

過去と異なり、現在ではWebサービスやアプリケーション自体が利益を生む存在となりました。生活や経済活動がインターネット空間を使わずには行えない現代において、脆弱性診断のようなセキュリティ対策は、事業を続けるとともに、サービスユーザーの安心感を保つために必要不可欠な要素となっています。

もし脆弱性を調査せずに攻撃者がシステムの隠れた弱点を最初に見つけてしまった場合、個人情報やクレジットカード情報など、重要な秘密事項が漏えいする事故や、システムが予期しない動きをするなど、多くの対策や復旧へのコストや時間が発生します。さらに、企業の評判も落としかねません。

情報という資産の「秘密性」「完全性」「利用性」を保護するため、脆弱性診断によって情報セキュリティの視点から構造上の欠陥を見つけだすことが可能です。そして、見つけた問題に対する対策を実行し、より堅牢なシステム環境・組織体制を築くことができます。

 

脆弱性診断の主要な分類

脆弱性診断には、対象によってアプリケーション診断とプラットフォーム診断の2つの主要な分類があります。

アプリケーション診断は、Webアプリケーションの問い合わせや会員登録などの入力フォームの処理や、ログイン機能の認証処理などを調査します。一方、プラットフォーム診断は、Webアプリケーションを運用するネットワーク機器やOS、サーバー、ミドルウェアを対象とします。

 

アプリケーション診断

アプリケーション診断は、企業が開発したWEBアプリケーションに潜む弱点を見つける診断方法です。

調査対象となるアプリケーションは、ECサイトやゲームアプリ、SNS、バックオフィスなど、インターネット上で使われる全てのアプリケーションが含まれます。WEBアプリケーションは顧客の需要に応じて様々な機能が実装されているため、弱点が見つかる場所は多岐にわたる可能性があります。また、使用するプログラミング言語も多様であるため、WEBアプリケーションの特性に応じて柔軟な診断が求められます。

ここで、「SQLインジェクション」や「クロスサイトスクリプティング」、「なりすまし」などの既知のWebアプリケーションの脆弱性に加えて、システムの利用環境に合わせた診断方法で調査を実施し、システムダウンや情報漏洩、データの不正改ざん、不正アクセス、認証回避などにつながる可能性のある脆弱性を見つけます。

SQLインジェクションとは?被害事例や対策とあわせてどこよりもわかりやすく!

 

プラットフォーム診断

プラットフォーム診断は、Webアプリケーションを実行するためのネットワーク機器やOS、サーバー、ミドルウェアに弱点が無いか、設定に問題が無いかをチェックする手法です。

客先のネットワーク機器やサーバーなど、インターネットに公開されている対象に対して診断を行い、ネットワークスキャナなどを使って脆弱性を探したり、各種機器の設定状況を確認したりします。新たにWebサービスを開始する企業や、前回の脆弱性診断から1年以上経過している企業はプラットフォーム診断を行うことを推奨します。

 

WEBアプリケーション脆弱性診断(セキュリティ診断)のやり方

セキュリティリスクは日々新たに発生し続け複雑になっています。定期的な脆弱性診断は企業運営にとって必須要件となるでしょう。日々変化するセキュリティ対策に対応するため、脆弱性診断は専門のサービスを利用したほうが良いでしょう。

脆弱性診断サービスは主に手動診断とツール診断の2種類に分かれています。ツール診断の特長は、迅速性、範囲広さ、そしてリーズナブルな価格だと言えます。セキュリティ対策の必要性が認識されているが、短い時間での実施が求められる場合でも活用できます。一方、手動診断は専門のエンジニアが直接行う診断方法です。例えば、ツール診断では取り扱えないようなセッション管理系の診断等も実施でき、ECサイトや大量の個人情報を管理するサイト等で必要とされる方法となります。

 

セキュリティ診断(脆弱性診断)サービスの選定方法

脆弱性診断サービスは、調査の範囲、深さ、費用、そして継続的なサポートなどを元に、対象となるシステムの状況や特性を考慮しながら選択することが必要です。次のセクションでは、これらの要素を探す際の重要なポイントをまとめています。

 

診断範囲を基に選ぶ

診断対象となるサービスやツールにより、可能な診断範囲は異なります。例えば、Webアプリケーションの診断では、クロスサイトスクリプティング対策の一環として、コンテンツ生成や入力方法のチェックを行うこともあります。さらに、アクセス制御、セッション管理、コンテンツの公開設定など多くの面にわたって診断されます。「何を検査して欲しいか」「どの程度詳細なテストが必要か」等、脆弱性診断の目的を明確にしながら、チェックの範囲を確認しましょう。

 

診断の深度により選ぶ

脆弱性診断サービスを選定する際、診断内容の深さも決定要素として考慮します。ツールによるチェックと人の目によるものでは診断の深度が違います。人間による手動診断では、経験豊かな専門家がシステムの構成を理解し、それぞれのサービスに応じた検査を行うことが可能です。特定の権限関連の診断や設計ミスなど、特に徹底的に確認したい点があるなら、それが可能かどうかを先に確認しましょう。特定の要件を満たす必要がある、または初めて診断するために細かいテストが必要な場合など、要望があるときは、それを伝えてからサービスを選択するべきです。

 

診断費用により選ぶ

同じ内容の検査依頼でも、サービスによって料金は異なることがあります。中には無料で提供されるツールも存在します。脆弱性診断のコストは、無料のものから数十万〜数百万円のものまで様々です。定期的に検査を行うプランも提供されています。診断の頻度と内容を明確にして、複数の脆弱性診断サービス提供企業から見積もりを取り、組織の状況に最適なサービスを選びましょう。ツール診断は手動診断と比べて比較的安価になりますが、とは言え高価であることは間違いありません。

以下の記事でWEBアプリケーション診断の種類や詳細、金額についても細かく記載していますのでぜひ参考にしてください。

無料から数百万円|自動から手動診断まで脆弱性診断(セキュリティ診断)サービスの費用の仕組みを解説

 

アフターサポートにより選ぶ

脆弱性診断が完了した後のアフターサポートも重要な要素です。診断結果として問題点が見つかったとしても、修正策が示されなければ開発チームはどのように対応すればいいのかを判断できません。診断後に報告書が提供されるか、問題が見つかった際に対策案が提示されるか等、事前に確認しておくと良いでしょう。また、改善策を実行後に再診断を行ってくれるサービスも存在します。アフターサポートの内容はサービスによって異なるので、依頼する前にしっかりと確認しましょう。

 

まとめ 「まずは低コストで簡単に導入出来る脆弱性診断から」

一般に、脆弱性の検査を行うと、約90~95%の割合で何らかの脆弱性が見つかると考えられています。システムに問題点が存在すると、自社が攻撃の対象となるだけでなく、個人データなどの情報流出につながり、WEBサービスのユーザーが影響を受ける可能性もあります。そのため、システムを安全に運用するには、脆弱性の検査とそれに対する対策が必要となります。

脆弱性検査を行うことで、具体的な問題点を把握し、それに対応する適切な手段を講じることが可能になります。それぞれの予算に合ったサービスを選定し、脆弱性診断から始めてみてはいかがでしょうか。

まずは自社サイトのリスクの有無を無料で確認してみることからお薦め致します。