脆弱性診断とは?診断の種類や必要な理由、やり方やツールについても解説

  • セキュリティ

脆弱性診断とは?診断の種類や必要な理由、やり方やツールについても解説

株式会社SHIFT マーケティンググループ
著者 株式会社SHIFT マーケティンググループ

お役立ち資料

Introduction

脆弱性診断とは、情報システムを構成するOSやミドルウェア、Webアプリケーションなどに「脆弱性」がないかを診断することです。近年、インターネットの発展とともにサイバー攻撃による個人情報の流出など、セキュリティインシデントも増加傾向にあります。サイバー攻撃の多くは「脆弱性」を悪用して行われており、情報資産を守るためにはセキュリティ対策が必要不可欠です。本記事では、「脆弱性」とは何か、脆弱性診断とペネトレーションテストとの違いなどのほか、脆弱性診断の種類や方法などについて解説します。

目次

脆弱性診断とは?

脆弱性診断とは、企業などにおける情報システムを構成するOSやミドルウェア、Webアプリケーションなどの問題点(脆弱性)を検知する行為を指します。

これらはセキュリティ上の問題を検出することから、脆弱性診断は、「セキュリティ診断」とも呼ばれる場合もあります。サイバー攻撃の多くが脆弱性を悪用して行われるため、脆弱性診断を行うことで既知の問題となるシステム上の脆弱な部分を改善し、サイバー攻撃による被害を阻止することが可能です。

 

<SHIFTの脆弱性診断>

脆弱性診断LP
>>脆弱性診断サービス特設ページ

関連サービスについて

脆弱性とは

脆弱性のイメージ

「脆弱性」とは、コンピューターのOSやソフトウェアにおいて、プログラムの不具合や設計上のミスが原因となって発生したサイバーセキュリティ上の欠陥のことを言います。(参照:総務省

ISMSなどの規格において、脆弱性は以下のように定義されています。

3.77 ぜい弱性(vulnerability)
一つ以上の脅威(3.74)によって付け込まれる可能性のある、資産又は管理策(3.14)の弱点。
出展:JISC(日本産業標準調査会)JISリスト 規格番号JISQ27000

上記の定義において「脅威」とは、情報漏洩や資産の喪失、業務の停止などのインシデントの原因になりうる人物やイベントを意味します。具体的には、インターネット上の攻撃者や停電、地震などのことです。

「資産又は管理策」とは、具体的にWebアプリケーションのような情報システムやそれが保持する情報資産、それに関わる業務プロセスなどを指します。

要約すると、脆弱性とは「インターネット上の攻撃者や地震などに対して、情報漏洩や資産の喪失につながる可能性のある情報システムや業務プロセスにおける弱点である」といえます。

よく知られる脆弱性としては、Webアプリケーションにおける「SQLインジェクション脆弱性」や「クロスサイトスクリプティング脆弱性」などがあります。 また、容易にオフィスに侵入されて情報資産を持ち出されるような場合も、「入退室管理の脆弱性」や「オフィスでの情報保管の脆弱性」があるといえるでしょう。

脆弱性に関してはこちらの記事もご覧ください。
>>脆弱性とは?その種類や放置する危険性、正しいセキュリティ対策について解説のページへ

脆弱性管理についてはこちらもご覧ください。
>>脆弱性管理とは?脆弱性診断との違いや必要性、プロセスについて解説のページへ

脆弱性診断とペネトレーションテストの違い

脆弱性診断と同様、システムの安全性を確認する方法に、ペネトレーションテストというものがあります。

脆弱性診断が特定の基準をもとにテストを実施して判定するのに対して、ペネトレーションテストではシステムに合わせた攻撃シナリオを用いてシステムに侵入できるかどうかを検証します。双方の違いは、調査対象と目的、方法に表れており、目的に応じて使い分ける必要があるでしょう。システムへの侵入に影響しないクロスサイトスクリプティングのような項目は、ペネトレーションテストでは重要視されないなど、チェックするポイントが異なるのです。

ペネトレーションテストついてはこちらもご覧ください。
>>ペネトレーションテストとは?脆弱性診断との違いやメリット・注意点、手法について解説のページへ

脆弱性診断とペネトレーションテストの違いや選び方についてはこちらもご覧ください。
>>脆弱性診断とペネトレーションテストの違いとは?自社に必要なのはどちらか、選び方を解説のページへ

脆弱性診断の種類

脆弱性診断は「検査する対象」ごとにさまざまな種類が存在します。
「検査する対象」とそれに対応する脆弱性診断の例をあげると以下のようになります。

・Webアプリケーション → Webアプリケーション脆弱性診断
・クラウド基盤 → クラウド診断
・ネットワーク/サービス基盤 → プラットフォーム診断/ペネトレーションテスト
・ソースコード → ソースコード診断
SHIFTの脆弱性診断サービスはこちらをご覧ください。
>>セキュリティ(脆弱性)診断サービスページへ

また、Webアプリケーションのフレームワーク(StrutsやRailsなど)やCMS製品(WordPressやEC-CUBEなど)ごとにも、発生しやすい脆弱性が異なるため、それに応じた診断が必要になる場合もあります。

ここで注意すべき点として、「WebシステムのセキュリティはWebアプリケーションへの脆弱性診断だけでは診断できない」ということがあげられます。Webシステムの構築では、Webアプリケーションを稼働するためのさまざまな基盤・関連製品が必要になります。例えば、「AWS上にEC2サーバーとDB(RDS)・データストア(S3)を構築し、EC2サーバー上のTomcatでWebアプリケーションを稼働する」というシステムを構築した場合、 Webアプリケーションだけを診断しても以下のような観点が十分に検査されません。

・WebサーバーやDB(RDS)サーバーの管理用ポートへのアクセス(プラットフォーム診断/ペンテスト)
・データストア(S3)に保存したデータへのアクセス(クラウド診断)
・AWS管理コンソールへのアクセス(クラウド診断)

以上のことから、システムの構成要素に応じて脆弱性診断を使いわけ、リスクをコントロールすることが重要になります。

Webアプリケーション脆弱性診断

Webアプリケーション脆弱性診断では、WebアプリケーションやWebサイトのセキュリティの診断を行います。WebアプリケーションやWebサイトは、日常業務でも利用する機会が多く、サイバー攻撃の標的にされやすいソフトウェアです。

主にパラメータ改ざんやSQLインジェクションなどの項目を診断します。これらの脆弱性を放置しておくと、サイトの乗っ取りや情報漏洩などの被害にあう可能性が高くなります。

サイバー攻撃についてはこちらもご覧ください
>>サイバー攻撃とは?種類や日本での被害事例、対策について解説しますのページへ

SQLインジェクションについてはこちらをご覧ください
>>SQLインジェクションとは?手口や被害事例、対策をわかりやすく解説のページへ

クラウド診断

クラウド診断では、AmazonやGoogleなどが提供しているようなクラウドサービスの設定状況をセキュリティの観点からチェックして診断を行います。

クラウドサービスでは、さまざまなサービスが提供されており、設定内容も多岐にわたります。仮に、社内向けに公開しているストレージ情報を誤って外部公開に設定した場合、情報漏洩などの危険があります。

▼あわせて読みたい▼
>>クラウドのセキュリティで知っておくべきリスクと対策についてのページへ

プラットフォーム診断/ペネトレーションテスト

プラットフォーム診断では、システムの基盤となるOSやミドルウェアの診断を行います。主に、インターネットなど外部からのネットワークアクセスや、社内で構築されたネットワークに対するセキュリティの診断です。

インターネットなど外部からのネットワークに接続するサーバーの脆弱性を診断することを「リモート診断」、社内で構築されたネットワークに対するセキュリティの診断を「オンサイト診断」といい、サーバーの脆弱性やアクセス権限などを診断します。

ソースコード診断

ソースコード診断では、アプリケーションやシステムなどを動かしているプログラムを解析し問題がないか診断を行います。内部構造や動作ロジック、脆弱性などの診断をツールや目視などにより確認します。

ソースコード診断を「ホワイトボックステスト」と呼ぶのに対して、ソースコードを参照せずにアプリケーションやシステムの脆弱性を検証する方法を「ブラックボックステスト」と呼びます。ソースコード診断では、ブラックボックステストによる検出が難しい脆弱性などを検知することが可能であり、開発プロセスの中で手戻りを減らす手段として用いられています。

関連サービスについて

脆弱性診断が必要な理由

脆弱性診断が必要な理由は、リスクを可視化し、管理するためといえます。リスクとは、脅威が「脆弱性」を利用して、重要情報の漏洩やシステムの停止といった悪い影響をビジネスに対して与える可能性を意味します。

脆弱性を放置してしまうと、例えば不正アクセスによってシステムの乗っ取りや情報漏洩などが発生するおそれがあります。また、ほかのシステムを攻撃するための踏み台に利用されるなど、攻撃者に悪用される危険性も十分に考えられるのです。いずれの場合も、社会的な信頼を失ってしまうことが、何よりも大きなリスクといえるでしょう。

また、近年、攻撃の意図は「ランサムウェア」に代表される経済的な目的だけでなく、政治や宗教などの思想に基づく目的、愉快犯など多様化しており、個人や企業に関係なく「自分を攻撃する者はいない」とは誰もいえない状況にあります。

インターネットが普及し便利に使われていく一方で、攻撃そのものも日々進化を遂げているため、常に脅威へ対応できる状態でいることが求められます。そのため脆弱性診断によって、インターネットへ接続するシステムに脆弱性が存在するかどうかを定期的に検査することが必要なのです。仮に脆弱性が見つかった場合、影響範囲などを加味しながら修正プログラムの適用などの対策を講じることができます。

▼あわせて読みたい▼
>>脆弱性診断の適切な頻度とは?項目ごとの違いやタイミングについて解説のページへ

脆弱性診断のやり方

脆弱性診断のやり方(方法)には、以下の2種類があります。

・ツール診断
・手動診断

  メリット デメリット
ツール診断 ・広範囲を一度に診断できる
・短時間、低コストで活用できる
・システムが複雑だと細部まで診断できない
・診断結果を読むには専門知識が必要になる
手動診断 ・精度が高い
・複雑なシステムにも対応できる
・作業時間を要する
・コストが高い

ツール診断は専用のツールを用いて脆弱性を診断する方法です。広範囲を一度に診断でき、短時間かつ低コストであることがメリットですが、使いこなすために専門知識を要します。

セキュリティ診断サービスなどを提供する専門家が手動で脆弱性を診断してくれる方法もあり、こちらは高精度で複雑なシステムでも対応可能です。しかし、ツール診断よりも時間がかかり、コストもかかることがデメリットといえるでしょう。

ツール診断

ツール診断では、専用の診断ツールを用いて脆弱性を診断するため、決められた項目を自動で検査することができます。コストや時間を多く必要とせず、ツールを購入すれば自社で運用することもできます。具体的には、機械的に疑似攻撃を行うことで見つけ出す仕組みです。

メリットとしては、以下のようなものがあります。
・システムの広範囲を一度に診断できる
・機械的だが大量のパターン診断が短時間、低コストで可能

一方で、以下のようなデメリットも考えられるので、注意が必要です。
・システムが複雑だと適用出来ない場合がある
・診断結果を読むためには専門的な知識が必要となる

脆弱性診断ツールについてはこちらをご覧ください。
>>脆弱性診断ツールとは?種類や導入するメリット・デメリット、選定ポイントを解説のページへ

手動診断

手動診断は、セキュリティ診断サービスなどを提供する専門家が手動で脆弱性を診断する方法です。具体的には、専門知識のある技術者が対象のアプリケーションなどにアクセスし、攻撃者の視点から脆弱性を判断します。

人の手による柔軟な対応が可能なため、複雑なシステムでも対応できます。ただし、技術スキルの高いエンジニアが行うため、コストが高い傾向です。

主な、メリットとしては以下のようなものがあげられます。
・複数のツールによる診断で精度が高く、ツール診断では対応できない脆弱性も検知できる
・複雑なシステムにも柔軟に対応できる

一方で、以下のようなデメリットもあります。
・人手となるため検査できる範囲が狭く、診断に時間を要する
・技術スキルが高いエンジニアが実施するのでコストが高い

脆弱性診断の進め方の手順

脆弱性のイメージ

脆弱性診断は診断対象ごとに内容はさまざまです。 例えば、Webアプリケーションを対象とする場合は、ブラウザで発行するHTTP/HTTPSのリクエスト/レスポンスを解析したり、改ざんしたりします。また、クラウド診断では、クラウド基盤上の設定が適切であるかを確認します。ただし、どの診断においても重要なのは「基準を定め、網羅的に検査を行う」ことです。脆弱性診断と聞くと、「ハッカーのような人がハッカーのように攻撃してみる」ことを想像するかもしれません。たしかに、ペネトレーションテストなどではそのような検査も実施しますが、このような検査は「基本的な脆弱性」を検査したうえで行われます。脆弱性診断が「ソフトウェアテストの一種類」である以上、「基準を定め、網羅的な検査を行う」ことがもっとも重要なポイントになります。

脆弱性診断を実施するには、具体的に以下の手順で進めていきます。

1.事前準備

事前準備として、脆弱性診断を行う対象を明確にする必要があります。プラットフォームを診断するのか、Webアプリケーションを診断するのかによって手順が異なります。Webアプリケーションの診断基準としては OWASP ASVS や OWASP Top 10などがあげられます。また、クラウド基盤や各種製品の設定の基準としては CISベンチマーク などがあります。診断を行う際には、診断対象の性質(個人情報を扱うか、業務へどのような影響があるかなど)に応じて診断基準・項目を選択します。また、ツール診断、手動診断などの実施方法によっても診断内容が大きく異なるため、留意しましょう。

2.脆弱性診断の実施

ツール診断の場合は短期間で済みますが、手動診断の場合は時間を要するケースもあります。業務に支障がないよう、あらかじめスケジュールを立てておくことが必要です。Webアプリケーションのように検査対象機能が膨大である場合には、ソフトウェアテストの手法を活用して網羅性を担保することが重要になります。ソフトウェアテストでは因子水準などに基づいて網羅的なテストケースを準備しますが、脆弱性診断でも同様の技術により、網羅的なテストケースを準備してテストのカバレッジを管理します。

3.レポートの確認

ツール診断であれば、すぐにレポート結果を確認することが可能です。一方で手動診断の場合は、実施者から報告を受け取ります。その際、重要度や対策についての説明を受けられるケースもあります。レポートを確認後、発見した脆弱性に対して対策を行います。

SHIFTの脆弱性診断サービスはこちらをご覧ください。
>>セキュリティ(脆弱性)診断サービスページへ

SHIFTの脆弱性診断ガイド

「脆弱性診断の進め⽅がわからない」「社内でどのように脆弱性診断を検討すればよいかわからない」といった声にお応えするための「脆弱性診断ガイド」です。
脆弱性診断に関する情報、組織内で決めておくべき事項などをまとめております。ぜひご覧ください。

「脆弱性診断の進め⽅がわからない」「社内でどのように脆弱性診断を検討すればよいかわからない」といった声にお応えするための「脆弱性診断ガイド」です。
脆弱性診断に関する情報、組織内で決めておくべき事項などをまとめております。ぜひご覧ください。

ダウンロード

脆弱性診断ツール

脆弱性診断では、診断の種類やベンダーごとにさまざまなツールが利用されています。ここでは、Webアプリケーション診断やプラットフォーム診断で利用される代表的なツールを紹介したいと思います。

Webアプリケーション診断で使われるツール

Webアプリケーション診断でもっともよく利用される診断ツールとしては、「MITMプロキシ」があげられます。一般的に、「プロキシ」とはサーバーとクライアントの間で通信を中継する仕組みのことです。その中でも「MITMプロキシ」は、「中間者(Man-in-The-Middle)攻撃」を再現できるプロキシを意味します。MITMプロキシ製品の例としては、OWASP ZAPやBurp Suiteなどがあげられます。

MITMプロキシは、一般的に以下のような機能をもちます。
・HTTPSで暗号化された通信の復号化・再暗号化
・HTTP/HTTPS通信の記録
・HTTP/HTTPS通信の改ざん・再送信

これら以外にも、MITMプロキシ製品ごとにCookieやHTTPヘッダーの制御やスキャン機能など、さまざまな機能が提供されています。これらを用いることで、クロスサイトスクリプティングやSQLインジェクションなどの検査が効率的に行えるのです。

プラットフォーム診断で使われるツール

プラットフォーム診断でよく利用されるツールとしては、「ポートスキャナ」と「脆弱性スキャナ」があげられます。ポートスキャナ製品としてはNnmapがもっとも有名です。また、脆弱性スキャナ製品の例としてはOpenVASやQualysGuard、Nessusなどがあげられます。

「ポートスキャナ」はネットワーク上で提供されているサービスを列挙するためのツールです。これを利用することで、ネットワーク上のサーバーやそのサーバー上で稼働しているサービス(Webサービス や FTPサービスなど)を列挙し、後述の脆弱性スキャナの対象を洗い出したり、意図しないサービスが提供されていないかを検査したりします。

「脆弱性スキャナ」は、ネットワーク上のサービスや製品に「既知の脆弱性」がないかを検査するツールです。インターネット上の製品に脆弱性が見つかると、「既知の脆弱性」としてデータベース化されます。有名な脆弱性データベースとしてはMITRE(マイター)が管理するCVE(共通脆弱性識別子)があげられます。たとえば、2014年に大きな話題となったOpenSSLの脆弱性「Heartbleed」は「CVE-2014-0160」という番号で管理されています。脆弱性スキャナにより既知の脆弱性を検査することで、攻撃者がその脆弱性を利用する前に対策することが可能です。

まとめ

今回は、「脆弱性診断」について概要を説明してきました。システムを構成するOSやソフトウェアは、脆弱性を根絶することが困難であり、新たな脆弱性が次々と発見されているというのが今日の状況です。

サイバー攻撃によるインシデントでは、脆弱性に対する対策が不十分だったために被害の発生や拡大につながるケースがあります。そのため、「脆弱性診断」を効果的に活用し、セキュリティ対策を行っていきましょう。

SHIFTの脆弱性診断サービスはこちらをご覧ください。
>>セキュリティ(脆弱性)診断サービスページへ

ご相談はこちらから
>>お問い合わせページへ
>>料金についてページへ

資料ダウンロード/動画視聴

この記事を書いた人

株式会社SHIFT マーケティンググループ
著者 株式会社SHIFT マーケティンググループ

SHIFTは「売れるサービスづくり」を得意とし、お客様の事業成長を全力で支援します。無駄のないスマートな社会の実現に向けて、ITの総合ソリューションを提供する会社です。

サービスサイト:https://service.shiftinc.jp/
コーポレートサイト:https://www.shiftinc.jp/
X(旧Twitter):https://twitter.com/SHIFT_cp

ご支援業種

  • 製造、金融(銀行・証券・保険・決済)、情報・通信・メディア、流通・EC・運輸、ゲーム・エンターテイメント

など多数

Top