株式会社ラック

トップレベルのセキュリティ技術を駆使した
ITトータルソリューションで、未来をきり拓く

セキュリティ事故発生時はこちら
閉じる

ご相談は予約不要、24時間対応

緊急対応窓口:サイバー救急センター®

セキュリティに係るお客様の緊急事態に際し迅速にお客様をご支援する緊急対応サービスです。
緊急事態が発生したら今すぐ「サイバー救急センター」にご相談ください。

電話で相談する

メールで相談する

サイバー救急センター®のメールアドレス

自分で調べる

LAC WATCH
2020年11月12日 | サービス・製品

脆弱性診断とペネトレーションテストの使い分け─サイバー攻撃から企業を守る

新型コロナウイルス感染症によるリモートワークの増加により、マルウェア対策が不十分なPCがサイバー攻撃の標的になるなど、セキュリティへの脅威がさらに高まっています。

ここ最近では、「Emotet(エモテット)」と呼ばれるウイルスへの感染を狙う攻撃メールが、国内の多くの企業に送られており、危機感が高まっています。セキュリティ侵害を受ければ、金銭面の負担や企業ブランドの棄損などさまざまな被害が想定されます。サイバー攻撃が増える中で、自社システムの脆弱性をしっかりと検証しておくことは、今後企業にとって必須の取り組みになってきます。

こんにちは、2016年からAPT先制攻撃サービスにはじまり、現在はペネトレーションテストサービスの実査を担当している戸谷です。世界中のセキュリティ技術者によるクラウドソーシング・セキュリティテストサービス「Synack」の日本向けカルチャライズを担当している川島です。

本記事では昨今ラックでも多く引き合いをいただく「脆弱性診断」や「ペネトレーションテスト」について、ラックの両サービスの違いや、どのようなお客様にどのサービスが適するかを解説します。診断サービスを選ぶ際は、システム全体の脆弱性を発見したいのか、攻撃者がゴールを達成するまでに遭遇するハードルを見つけたいかなど、目的を明確にしたうえで、達成するためのサービスを検討するのがコツです。それを、より鮮明にイメージできるような情報をお届けします。

ゆれる「ペネトレーションテスト」という言葉の定義

昨今のセキュリティインシデントの報道を受け、ラックでは「システムが攻撃者から侵入されないかどうかを診断してほしい」という引き合いを多くいただきます。例えば以下のようなものがあります。

  • テレワーク環境を構築したが、外部から侵入されないか不安なので診断してほしい
  • 外部に公開しているWebサーバへの侵入が可能かどうか、ペネトレーションテストで確認してほしい
  • 脆弱性スキャンツールのみの診断ではないペネトレーションテストを実施してほしい

ラックでは脆弱性診断を「システム全体を網羅的に確認する」診断、ペネトレーションテストを「現実的な攻撃シナリオを用いて攻撃耐性を確認する」診断と位置付けています。しかし、各サービスで具体的にどんな作業が実施されるかが見えづらいため、お客様のご要望に適するサービスの判断が難しい状況になっています。

ご要望の詳細をお聞きすると、本来は脆弱性診断で確認するべき内容であるにも関わらずペネトレーションテストを希望されるケースや、逆に脆弱性診断を希望ということでお話を伺ったところ、実際にはペネトレーションテストのほうがふさわしい内容だった、というケースがしばしば発生しています。

脆弱性診断
ペネトレーションテスト
ラックによる「脆弱性診断」と「ペネトレーションテスト」の位置付け
(ラック「セキュリティ診断レポート 2020 春 〜標的型攻撃への次の一手『ペネトレーションテスト』」より)

どの診断サービスがお客様のご要望に適しているか

お客様からたくさんのご要望をお聞きする中で、「侵入されないか」を確認したいというご要望は、以下の7つのレベルに分けられることがわかってきました。また、これらのご要望をラックが提供するサービス内容と結び付けて分類すると以下の表になります。

表:「侵入されないか」を確認したいというお客様のご要望の分類
Lv. 概要 内容
1 脆弱性スキャンツールによる診断 脆弱性スキャンツールを利用してシグネチャベースによる脆弱性の有無を調査します。

※ シグネチャベース:既知の脆弱性を検出するための特徴的なデータパターン

2 脆弱性スキャンツールおよび手動の調査を併用する診断 シグネチャベースで動作する脆弱性スキャンツールでは検出しきれない問題点を手動で確認します。
3 検出した脆弱性が実際に悪用可能かどうかを診断 脆弱性スキャンツールや手動の調査で脆弱性が見つかった場合に、悪用可否を確認します。なお、脆弱性を悪用し、対象システムへの侵入が可能な場合には、実際にリモート操作の可否などを確認しますが、リモート操作後に何をどこまでできるのかまでは調査しません。
4 検出した脆弱性を実際に悪用して何をどこまでできるかの診断 脆弱性スキャンツールや手動の調査で侵入を可能とする脆弱性などが見つかった場合に、実際に侵入可否を確認し、侵入後に何をどこまでできるかを含めて調査します。
5 機密情報の窃取といったゴールを定め、そのゴールを満たせるか否かの診断 機密情報の窃取など攻撃者にとっての「ゴール」を満たせるか否かに着目した調査を実施し、満たした際には、検出された問題点と対策を併せて報告します。
6 機密情報の窃取といったゴールを定め、その目的を満たすための問題点を洗い出す診断 機密情報の窃取など、攻撃者にとっての「ゴール」を満たすために悪用可能な問題点を調査期間の中で可能な限り洗い出す調査を行い、対策と併せて報告します。なお、攻撃者による建物への侵入の検知といった物理的なセキュリティ対策の効果なども確認する診断は「レッドチーム演習」と呼ばれます。
7 脅威ベースのペネトレーションテスト(TLPT) お客様の組織全体の情報資産における脅威を分析し、洗い出した上で、その脅威の実現可否に着目した調査を行い、検出した問題点とその対策、およびお客様組織全体のインシデントレスポンスの有効性やその改善案を併せて報告します。
Lv.1
脆弱性スキャンツールによる診断
脆弱性スキャンツールを利用してシグネチャベースによる脆弱性の有無を調査します。

※ シグネチャベース:既知の脆弱性を検出するための特徴的なデータパターン

Lv.2
脆弱性スキャンツールおよび手動の調査を併用する診断
シグネチャベースで動作する脆弱性スキャンツールでは検出しきれない問題点を手動で確認します。
Lv.3
検出した脆弱性が実際に悪用可能かどうかを診断
脆弱性スキャンツールや手動の調査で脆弱性が見つかった場合に、悪用可否を確認します。なお、脆弱性を悪用し、対象システムへの侵入が可能な場合には、実際にリモート操作の可否などを確認しますが、リモート操作後に何をどこまでできるのかまでは調査しません。
Lv.4
検出した脆弱性を実際に悪用して何をどこまでできるかの診断
脆弱性スキャンツールや手動の調査で侵入を可能とする脆弱性などが見つかった場合に、実際に侵入可否を確認し、侵入後に何をどこまでできるかを含めて調査します。
Lv.5
機密情報の窃取といったゴールを定め、そのゴールを満たせるか否かの診断
機密情報の窃取など攻撃者にとっての「ゴール」を満たせるか否かに着目した調査を実施し、満たした際には、検出された問題点と対策を併せて報告します。
Lv.6
機密情報の窃取といったゴールを定め、その目的を満たすための問題点を洗い出す診断
機密情報の窃取など、攻撃者にとっての「ゴール」を満たすために悪用可能な問題点を調査期間の中で可能な限り洗い出す調査を行い、対策と併せて報告します。なお、攻撃者による建物への侵入の検知といった物理的なセキュリティ対策の効果なども確認する診断は「レッドチーム演習」と呼ばれます。
Lv.7
脅威ベースのペネトレーションテスト(TLPT)
お客様の組織全体の情報資産における脅威を分析し、洗い出した上で、その脅威の実現可否に着目した調査を行い、検出した問題点とその対策、およびお客様組織全体のインシデントレスポンスの有効性やその改善案を併せて報告します。

これらのパターンに対し、ラックの診断サービスがどのご要望に合うのかをマッピングした表が以下です。以降では、このマッピング表に沿ってラックが提供する各サービスについて説明します。

お客様のご要望とラックの診断サービスのマッピング表
お客様のご要望とラックの診断サービスのマッピング表

余談ですが、2019年12月にISOG-J(日本セキュリティオペレーション事業者協議会)とOWASP(Open Web Application Security Project)Japanの共同WGである「脆弱性診断士スキルマッププロジェクト」により、セキュリティテストを活用する組織が実施目的に合うサービスを選択できることを目的とした「ペネトレーションテストについて」というドキュメントが公開されています。

GitHub - ueno1000/about_PenetrationTest: ペネトレーションテストについて

このドキュメントは、日本における「ペネトレーションテスト」の位置づけを初めて明確に定義したドキュメントといえます。当該ドキュメントではペネトレーションテストを「明確な意図を持った攻撃者にその目的が達成されてしまうかを検証するためのセキュリティテストの一種」と位置づけており、上記の表ではLv.5の「機密情報の窃取といったゴールを定め、そのゴールを満たせるか否かの診断」に対応します。

脆弱性診断でも「侵入できるか」を確認できる

ラックのサービスラインナップのうち、脆弱性診断サービスはLv.1~4に当てはまります。各サービスで具体的にどのような調査を行うかのイメージを以下に記載します。

Lv. 実施内容 具体的な調査内容の例 わかりやすく例えると...
1 ツール診断 手動ツールでスキャンを行い、稼働しているサービスやバージョンを調査 ドアの鍵のメーカーや型番を調べる
(古い型番なら偽の鍵で開くかも)
2 ツール+手動診断 Webアプリケーションの操作など手動での複雑な操作を含む調査 自分で作った鍵をさして回してみる
(どうやらこの鍵でドアをひらけそうだ)
3 脆弱性が
悪用可能かの診断
OSコマンドが実行可能な脆弱性が存在する場合は実行してみる 鍵がガチャッと鳴ったのでドアを開く
(家に侵入できる)
4 どこまで何が
できるかの診断
脆弱性を利用することでシステム内を探索し機密情報を探す 開いたドアから家に入ってみる
(家の中に何があるか探索)
Lv.1 ツール診断
手動ツールでスキャンを行い、稼働しているサービスやバージョンを調査
ドアの鍵のメーカーや型番を調べる
(古い型番なら偽の鍵で開くかも)
Lv.2 ツール+手動診断
Webアプリケーションの操作など手動での複雑な操作を含む調査
自分で作った鍵をさして回してみる
(どうやらこの鍵でドアをひらけそうだ)
Lv.3 脆弱性が悪用可能かの診断
OSコマンドが実行可能な脆弱性が存在する場合は実行してみる
鍵がガチャッと鳴ったのでドアを開く
(家に侵入できる)
Lv.4 どこまで何ができるかの診断
脆弱性を利用することでシステム内を探索し機密情報を探す
開いたドアから家に入ってみる
(家の中に何があるか探索)
ラックのサービスラインナップイメージ

上記の通り、対象のサーバや特定のアプリケーションなどに対し、脆弱性を悪用して「侵入できるか」の調査をするのであれば、Lv.3相当のサービスで対応できます。サービス提供者によっては、このようなLv.3相当のサービスを「ペネトレーションテスト」として提供している場合もあるため、注意が必要です。

なお、脆弱性診断では一般的に、調査対象のサーバや特定のアプリケーションからは得られない情報を用いたケースは診断の対象外になっています。例えばシステムの管理用アカウントの認証情報などが外部に公開されており、その情報を用いて調査対象に侵入を試みるような内容の調査などです。あくまでも、調査対象のサーバやアプリケーションから得られる情報のみを用いて診断します。

従来の脆弱性診断とクラウドソーシング・セキュリティテスト「Synack」

ところで、Lv.3にはラックが長年提供しているプラットフォーム診断「アドバンスト」や、Webアプリケーション診断などの脆弱性診断サービスとクラウドソーシング・セキュリティテスト「Synack」が横並びになっています。これらのサービスはお客様のシステムにどこまで侵入するか、つまり「侵入の深さ」の観点では同じということになります。

違いは、診断を実施する人数と診断項目の網羅性です。脆弱性診断サービスでは、通常1~2人の診断員が診断項目に基づき、診断期間内に全ての診断項目を網羅できるように診断を行います。

それに対してクラウドソーシング・セキュリティテスト「Synack」では、数十名のセキュリティ技術者がテストに参加し、そのうち脆弱性を発見したセキュリティ技術者に対して、見つけた脆弱性の重大さに応じた報奨金を支払うバグ報奨金制度(バグバウンティ)の仕組みを活用しています。

(参考 レッドチーム・テクノロジーズ:Synackのクラウド型脆弱性検査サービスのミクシィ様への導入事例

そのためクラウドソーシング・セキュリティテストに参加するセキュリティ技術者は、高額の報奨金の獲得につながりそうな箇所、すなわち大きな被害に繋がる可能性のある脆弱性が見つかりそうな箇所に絞り、それぞれの得意分野を生かして集中的に診断します。

脆弱性診断とクラウドソーシング・セキュリティテストの違いは診断を実施する人数と診断項目の網羅性
各サービスの違いは診断を実施する人数と診断項目の網羅性

すなわち、脆弱性診断サービスでは診断項目の網羅性を重視するのに対し、クラウドソーシング・セキュリティテストではインパクトのある脆弱性を検出することを重視します。

脆弱性診断、クラウドソーシング・セキュリティテストそれぞれの、調査にかける工数と脆弱性のインパクトの大きさ

脆弱性診断:
診断すべきポイントをまとめた診断項目に従って診断をするため、インパクトの大きいものから小さいものまで幅広く網羅性を持った診断が可能

クラウドソーシング・セキュリティテスト:
技術者それぞれの得意な技術を用いて、報奨金につながるインパクトの大きな脆弱性が出そうな箇所を狙って調査するため、インパクトの大きな脆弱性が見つかる可能性が高い

従来の脆弱性診断とクラウドソーシング・セキュリティテストは診断項目の「網羅性」が違う

ペネトレーションテストでは「侵入できるか」は調査の手段の一つ

ラックのペネトレーションテストサービスは、Lv.6の「機密情報の窃取といったゴールを定め、そのゴールを満たすための問題点を洗い出す調査」の位置づけです。ここでいうゴールとは、攻撃者にとっての目的達成条件とも言い換えられます。

ゴールを満たすための手段として、サーバやクライアント端末などに侵入する必要があれば、実際に侵入して調査します。しかし、侵入しなくてもゴールを容易に達成する別の手段が存在する場合には、その方法も試行します。

なお、ラックのペネトレーションテストサービスは、ゴールを満たし次第すぐに調査が終了するわけではありません。調査期間中、可能となるあらゆる手段を用いて、問題点を洗い出します。また、脆弱性診断のように、対象のサーバやアプリケーションを選定して診断するのではなく、お客様が持つすべてのサーバやサービスの中から調査の対象外のケースも想定して、診断を実施するのも特徴です。

実施内容 具体的な調査内容の例 わかりやすく例えると...
脆弱性診断 脆弱性を悪用して侵入できるか
  • 自動ツールでの調査
  • Webアプリケーションの操作など
  • 発見した脆弱性の悪用
ドアの鍵メーカーや型番を調べる、自分で作った鍵をさして回すなど、どうにか鍵をこじ開ける
ペネトレーションテスト 攻撃者のゴール(=目的)を達成できるか

攻撃者のゴールが「住人の重要情報窃取」であれば以下の施策を実施する

  • 自動ツールでの調査
  • Webアプリケーションの操作など
  • 発見した脆弱性の悪用
  • 状況に応じたソーシャルエンジニアリング
  • 公開情報からのアカウント推測
住人と仲良くなって教えてもらう
(必ずしも侵入は不要)

住人がたまたまその辺に落としていた鍵を拾って家に入る
(必ずしも脆弱性の悪用は不要)
脆弱性診断
脆弱性を悪用して侵入できるか
  • 自動ツールでの調査
  • Webアプリケーションの操作など
  • 発見した脆弱性の悪用
ドアの鍵メーカーや型番を調べる、自分で作った鍵をさして回すなど、どうにか鍵をこじ開ける
ペネトレーションテスト
攻撃者のゴール(=目的)を達成できるか
攻撃者のゴールが「住人の重要情報窃取」であれば、脆弱性診断の調査内容以外、状況に応じてソーシャルエンジニアリング、公開情報からのアカウント推測
住人と仲良くなって教えてもらう
(必ずしも侵入は不要)
住人がたまたまその辺に落としていた鍵を拾って家に入る
(必ずしも脆弱性の悪用は不要)
脆弱性診断とペネトレーションテストは調査内容が異なる

調査内容の例として、マルウェアの感染を想定した一般従業員の端末や外部公開サーバなどから、特定のサーバやネットワークに「侵入できるか」を調査する場合、Lv.1〜4のように侵入につながる脆弱性が調査対象に存在すればそれを利用します。

そのほか、アクセス可能なファイルサーバ内に認証情報が存在しているといった運用不備を悪用して対象サーバにアクセスするといった手法や、導入されたセキュリティ製品の設定不備を悪用してマルウェアの検知を回避する手法など、脆弱性を悪用しない手法も用いてゴールの達成を試みます。

脆弱性を悪用しない手法は、ソーシャルエンジニアリングのような人間の弱さや盲点を突く方法もあれば、扉や建物といった物理的なセキュリティ体制の弱点を突く方法もあります。特に、物理的なセキュリティ体制の弱点も合わせて調査を行うようなテストは「レッドチーム演習」と呼ばれるケースもあります。

まとめ

脆弱性診断とペネトレーションテストのサービスの違いは、診断の目的にあります。脆弱性診断は、特定のサーバやアプリケーションにおいて攻撃につながる脆弱性が存在するかを確認する診断であり、システムへの侵入につながる脆弱性の発見は、診断項目の一つです。

一方で、ペネトレーションテストは、調査対象のシステムにおいて攻撃者の目的を達成できるかを確認する診断です。システムへの侵入につながる脆弱性の発見は、攻撃者がゴールを達成するための手段の一つでしかありません。

各種診断サービスの選定においては、脆弱性を発見することが目的なのか、攻撃者にとってのゴール達成までに存在する問題点を発見することが目的なのか、そしてどのサービスであればその目的を満たせるのかを検討する必要があります。

より詳しく知るにはこちら

より詳しく知るにはこちら

ラックが提供するセキュリティ診断サービスは多岐に渡ります。お客様が懸念される脅威に対して、的確なサービスを選択または複数サービスを組み合わせることにより、サイバー攻撃の脅威への耐性を調べることができます 。

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • セキュリティ診断レポート 2020 春 〜標的型攻撃への次の一手「ペネトレーションテスト」の最新情報

  • Androidアプリ脆弱性検査ツール「Secure Coding Checker®」入門

  • セキュリティ診断レポート 2020 秋 〜テレワーク環境で攻撃者が狙いやすい3つのポイントとセキュリティ対策

サイバーセキュリティに関する
様々な情報をお届けします

メルマガでは、より厳選した情報を
配信しています
詳しくはこちら

page top