こんにちは。新規事業の開発や既存業務の効率化などに使える補助金・助成金の無料診断 / 申請支援を行う『補助金サポート』を提供しているクラウド軍師運営チームです。

利用しているシステムのセキュリティを万全にするには、ペネトレーションテストや脆弱性診断の活用が効果的です。
これらはシステムのセキュリティ状態を判断するものであり、実施することでより適切なセキュリティ対策の構築を目指すことができます。

今回は、ペネトレーションテストと脆弱性診断について、概要や進め方など詳しく解説します。

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

ペネトレーションテストと脆弱性診断は、どちらも情報セキュリティに関するテストおよび診断です。
これらは混同されやすいですが、その内容や手法、目的は異なります。

ペネトレーションテストとは

攻撃者による侵入を想定し、それが成功するかどうか検証するテストを、ペネトレーションテストと呼びます。

このテストは、「セキュリティ対策は万全か」また「侵入による被害レベルはどの程度か」を確認するのに効果的で、対象に対し、想定される攻撃者による攻撃を実施し、侵入や乗っ取り、改ざんなどを試みてその結果を検証します。
その手法から、このテストは「侵入テスト」とも呼ばれます。

ペネトレーションテストは専門技術者によって行われますが、その結果は技術者のスキルに依存する部分があります。

脆弱性診断とは

システムのセキュリティ的な欠陥を、脆弱性と呼びます。脆弱性診断とは、システムの脆弱性を網羅的に発見するための診断です。
これは、セキュリティ診断とも呼ばれます。

近年、脆弱性を狙ったサイバー攻撃は多く発生しており、その放置は不正アクセスやマルウェア感染などといった大きな被害に繋がりかねません。この被害を防ぐにあたって、事前に自社で脆弱性を見つけ、その対策を実施するために行われるのが、脆弱性診断です。

この診断には、専門技術者が診断を行う手法とツールを用いる手法があります。

ペネトレーションテストの目的は「セキュリティの万全性を図ること」で、実際に攻撃者に見立てた侵入を行う手法でそれをテストします。
一方の脆弱性診断の目的は「脆弱性を発見すること」にあり、ツールや技術者の手作業による診断によって実施されます。
このような点で、これらのテスト・診断の特徴は異なります。

ペネトレーションテストのやり方

ここからは、ペネトレーションテストのやり方として、その流れや種類、手法などを確認していきます。

実施の流れ

ペネトレーションテストは、「準備→実施→確認」という流れで行われます。

【準備】
テストの事前準備として、対象システムの要求分析や環境分析、実施計画の策定、テスト環境構築などを行う。
【実施】

対象に対し、実際にテストを進めていく。攻撃を行う前には、それぞれの対象に対する情報収集を行い、それに合った攻撃を行う。
実施後にはレポートを作成する。
【確認】
レポートで報告した問題点に対する改善が行われているか確認する

ただ攻撃を行なってその結果を報告するだけでなく、事前準備や実施後の問題改善にまで関わるのが、ペネトレーションテストです。

ペネトレーションテストの種類

このテストは、「外部ペネトレーションテスト」と「内部ペネトレーションテスト」の2種に分類されます。

【外部ペネトレーションテスト】
ネットワークを通じてアクセスできるシステム・機器を対象としたテスト
(対象例:システム、機器、公開サーバなど)
【内部ペネトレーションテスト】
ネットワークからはアクセスできない内部システムを対象としたテスト
(対象例:アプリケーションサーバ、認証サーバ、DBサーバなど)

より強固なセキュリティ体制を目指すには、外部テストだけでなく内部テストも実施し、あらゆる面からのリスクを減らす必要があります。

ペネトレーションテストの型式

このテストは、「シナリオ型」「脅威リード型」「組込システム向け」「PCI DSS向け」という4つの形式に分かれます。

【シナリオ型】
目的によって想定されるシナリオを複数用意し、それに沿って攻撃を行う方法。リモートワーク環境やVDI基盤に対して行われる。【脅威リード型】
実際の脅威をベースにテストを行う方法。シナリオ型よりも戦略的で、金融システムをはじめとした強固なセキュリティを必要とする対象に用いられる。
【組込システム向け】
組込システムやIoT機器向けの模擬ハッキングテスト。
【PCI DSS向け】
クレジット業界のグローバルセキュリティ基準であるPCI DSSが定めたガイドラインに沿って行う方法。主にクレジット情報を処理するシステムで用いられる。

対象によって、ペネトレーションテストの適した形式は異なります。実施にあたっては対象とテスト形式の相性をよく確認する必要があります。

ペネトレーションテストの手法

このテストは、「ホワイトボックス」と「ブラックボックス」という2つの手法に分かれます。

【ホワイトボックス】
事前に、対象の構成や機器などといった情報を共有した上で、テストを行う方法。
ブラックボックスに比べると短時間で高い効果を得られ、生産性に優れている。
【ブラックボックス】
事前に、対象の構成や機器などといった情報を共有せず、テストを行う方法。
事前情報がないため効果を得るには時間がかかるものの、ホワイトボックスよりも一般的。

近年では、上記2種の中間にあたるグレーボックスという型も用いられるようになっています。

脆弱性診断のやり方

脆弱性診断のやり方についても、その手順を確認していきましょう。
この診断は、専門技術者による手動診断とツールを用いた自動診断の2種に分かれます。

手動診断の手順

手動診断は、「準備」「診断」「報告・フォロー」という3つの手順で行われます。

【準備】
・対象の調査(構成の確認、画面遷移図作成)
・診断範囲の決定
・診断方法の決定
【診断】
・技術者が攻撃者の視点から対象にアクセス
・脆弱性を検証
【報告・フォロー】
・報告書の作成
・結果や対策の説明
・問題箇所を改修後、再診断

手動の場合、画面遷移数が多ければ多いほど診断に時間が必要で長ければ数ヶ月かかることもありますが、その分高い精度を期待できます。

ツール診断(自動診断)の手順

ツール診断も、「準備」「診断」「報告・フォロー」という3つの手順で行われます。

【準備】
・ツールをインストール
・各種設定(ネットワーク、対象、診断基準、要認証箇所など)
・対象となる診断箇所のクロール(情報収集)
【診断】
・診断箇所をスキャン
・スキャン結果の記録
【報告・フォロー】
・結果をレポート化
・問題箇所の確認、改修、再診断

ツール診断は手動と比べ手軽ですが、使いこなすには専門知識が必要です。

ぺネトレーションテストのメリット・デメリット

ペネトレーションテストには、次のようなメリットとデメリットがあります。

【メリット】
・攻撃者の立場から脆弱性を検証できる
・システムの環境に合ったテストを行える
・具体的なセキュリティ対策に繋がる
【デメリット】
・コストが高い
・テストを行う技術者にスキルが必要

このテストは、想定だけでなく実際に対象に対して攻撃を行う点が特徴です。これは、具体的で効果的な対策の構築に繋がります。
また、事前の調査により、システムに合ったテストを行える点も、メリットのひとつです。

ただし、ペネトレーションテストは規模や内容によってはコストが膨れ上がることも。
またその精度は、技術者のスキルに依存する部分があります。

脆弱性診断のメリット・デメリット

脆弱性診断には、次のようなメリットとデメリットがあります。

【メリット】
・網羅的な診断ができる
・サイバー攻撃のリスクに備えられる
【デメリット】
・未知の脆弱性に対応できない

この診断では、システムの脆弱性を網羅的に検証し、その状態を可視化することができます。これにもとづき対策を行うことで、いつ狙われるかわからないサイバー攻撃に備えておくことが可能です。

しかしこの手法では、既存の脆弱性に関するデータをもとに検証を進めるため、未知の脆弱性には対応できないことが多く、この点はデメリットだと言えます。

まとめ

ペネトレーションテストと脆弱性診断は、どちらも情報セキュリティリスクを低減させるために有効な手段です。これらは手法や目的が異なるものなので、より安全性を高めるために、併用を検討するのも良いでしょう。

ただし実施にあたっては、それぞれのメリットとデメリット、セキュリティに対する自社のニーズを把握しておくことが大切です。各手段のうち、どの手法を選ぶかによっても検証手順や精度は異なるので、ニーズとの擦り合わせも必要でしょう。