LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

サービス・製品 | 

効果的なペネトレーションテストの始め方~攻撃シナリオを作るコツ

デジタルペンテスト部で、セキュリティコンサルタント/テクニカルコミュニケーターをしている川島です。

標的型攻撃やランサムウェアといった、サイバー攻撃による被害が相次いでいます。その対策の一つとして、自分たちだけでは認識することが難しい潜在的な脅威を洗い出す、「ペネトレーションテスト(侵入テスト)」があります。

ペネトレーションテストでは、現実的な攻撃シナリオを用いて攻撃者の目的が達成されるかどうかを実証します。実証をする際、どのような攻撃を行うかを定義する「攻撃シナリオ」の内容がとても重要です。本記事では、ペネトレーションテストにおける攻撃シナリオ検討のポイントを解説します。

ペネトレーションテストと「攻撃シナリオ」

「ペネトレーションテストを実施しよう」と考えたとき、まずは何から着手すればよいのでしょうか。テストの実施内容のイメージをつかみ、テストにかかる期間やコストを見積もるために、ペネトレーションテストのテスト内容にあたる「攻撃シナリオ」の検討をおすすめします。

※ 攻撃シナリオは「脅威シナリオ」や「調査シナリオ」、「侵入シナリオ」などと呼ばれるケースもあります

「攻撃シナリオ」という言葉の定義

率直にいって、この「攻撃シナリオ」という言葉はかなりの曲者です。以前の記事「脆弱性診断とペネトレーションテストの使い分け─サイバー攻撃から企業を守る」で、「ペネトレーションテスト」という用語の定義や意味するテストの内容が文脈によってさまざまである状況について解説しましたが、「攻撃シナリオ」という用語についても同様の状況があります。

日本国内でのペネトレーションテストに関連するWebサイトやドキュメントなどでは、以下に示す要素のいずれか、もしくは複数を組み合わせたものを指す用語として使用されている状況が見受けられます。

  • スコープ:テストの対象を指します。攻撃者視点では、何に対して攻撃を行うのかということにあたります。
  • 起点:テストの開始地点を指します。攻撃者視点では、どこから攻撃を仕掛けるかということにあたります。
  • 目標:テストのゴール、目的を指します。攻撃者視点では、何を目的に攻撃するのかということにあたります。
  • 攻撃手法:テストのゴールを達成するための手段を指します。攻撃者視点では、目的達成のための手法を指します。

ラックでは上記のうち、「『スコープ』をふまえた上で、『起点』と『ゴール』を組み合わせたもの」を「攻撃シナリオ」として取り扱うケースが多いです。

スコープ:テストの対象、起点:テストの開始地点、目標:テストのゴール、攻撃手法:ゴールを達成するための手法
ペネトレーションテストの「攻撃シナリオ」を形成する要素

「攻撃シナリオ」は攻撃の一連の流れ

ペネトレーションテストは、実際のサイバー攻撃を模した「疑似攻撃」を用いたテストであり、テストの中でどういった流れで攻撃を行うかという内容が「攻撃シナリオ」にあたります。

実際のサイバー攻撃には、単に「PCをマルウェアに感染させる」「脆弱性を悪用してサーバに侵入する」といった局所的な攻撃ではなく、「まずターゲットの組織に関する情報を収集して、収集した情報を元にサーバに侵入して、そのサーバを乗っ取って別のサーバへ横展開......」というような一連の流れがあります。こういった攻撃の流れを構造化したものの例として、「サイバーキルチェーン」や「MITRE ATT&CK」のようなフレームワークがあります。「攻撃シナリオ」はこのようなフレームワークに示されるような一連の攻撃の流れを形作るものです。

それぞれの会社や組織では異なる事業を行っていて、それに合わせて使用している情報システムも異なるように、ペネトレーションテストにおける攻撃シナリオもその組織の環境に沿ったものを用いることで、ペネトレーションテストの効果は高まります。そのため、世の中で発生している脅威動向や、それぞれの組織の情報システム、さらには事業の性質に合わせた攻撃シナリオを作成することが重要です。

ペネトレーションテストの「スコープ」

「スコープ」は、ペネトレーションテストの対象となるシステムの範囲にあたります。ラックでは、「情報システムペネトレーションテスト」「アプリケーションペネトレーションテスト」「IoTデバイスペネトレーションテスト」など、さまざまなシステムに対するペネトレーションテストサービスを提供しています。

例えば「IoTデバイスペネトレーションテスト」では、スマート家電やコネクティッドカーといったIoT機器単体だけではなく、IoT機器を操作するためのアプリケーション、さらにはデータを保管するクラウドなどの要素間との通信などIoT機器に関連するシステム全体について調査を行います。

IoTデバイスペネトレーションテストのサービス検証範囲
IoTデバイスペネトレーションテスト」ではIoT機器だけではなく関連するシステム全体について調査を行う

攻撃者視点での「スコープ」

お客様からペネトレーションテストのご相談をいただく中で、「社内の指定したサーバ○台に侵入できるか試してほしい」のように特定サーバ、特定のIPアドレスのみをスコープとするようなテストのご要望をいただくことがあります。サーバやアプリケーション自体の、セキュリティ上の問題点を検出することを目的とする脆弱性診断であれば、テストの対象となるIPアドレスをスコープとして指定し、個々のサーバを1台ずつ順番に診断していくようなアプローチが適しています。

一方で、ペネトレーションテストは「現実的な攻撃シナリオを用いて攻撃者の目的達成可否を実証する」アプローチで行う、攻撃者視点のテストであることが特徴です。攻撃者は攻撃を行う際にはスコープのようなものは意識せず、組織のシステム全体を俯瞰して、自身がアクセス可能な範囲から情報を収集して、目標とするサーバへの侵入や各種の侵害行為を行うことが現実的であると考えられます。このことから、実際の攻撃を想定したリスク評価であるペネトレーションテストを実施する際は、スコープを可能な限り広く設定することを推奨します。

ペネトレーションテストの「起点」

「起点」はテストの開始地点にあたります。攻撃者はターゲットとする組織の内部ネットワークに侵入することで侵害を開始するとした場合、攻撃者はターゲットとする組織にどこから侵入するのでしょうか。ペネトレーションテストの「起点」を検討する上では、世の中で発生しているサイバー攻撃の状況が参考になります。世の中で多く発生しているサイバー攻撃は、自組織においても発生する可能性が高いと考えられるためです。このような攻撃が発生した際に、自組織ではどうなるかをシステム環境に当てはめて考えることが、シナリオ検討の一助になります。

以下の円グラフは、ラックの「サイバー119」で出動したセキュリティインシデントの傾向を示すものです。当該期間において、マルウェア関連(36%)、およびサーバ不正侵入(27%)により被害を受けた組織からの相談が全体の60%以上を占めています。

2022年7月から9月の重要インシデントの内訳
「サイバー119」で出動したセキュリティインシデントの傾向(LAC Security Insight 第2号 2022 秋より)

PCのマルウェア感染

PCのマルウェア感染は、セキュリティインシデントの中でも常に多くの割合を占めています。PCを業務で使用する場合は、メールの送受信やWebサイトの閲覧などインターネットに接続して使用するケースが多く、PCがインターネットに接続される以上はマルウェア感染のリスクが常に存在するためです。

インターネットへの接続経路上のWebゲートウェイやエンドポイントでウイルス対策ソフトなどのセキュリティ対策を行っていたとしても、100%完全に防ぐことは難しいのがマルウェア感染です。そのため、マルウェアに感染しないための対策だけではなく、感染した場合を想定した対策を合わせて行うことが重要です。

マルウェアに感染した場合を想定した対策の一例として、組織内部で攻撃者がさらなる侵害を行うことを防ぐ特権アカウントの適切な管理や、ログの取得・監視が挙げられます。こういった対策の有効性を評価する場合は、「PCがマルウェアに感染した場合に、組織内部でどのような侵害行為が可能か」という攻撃シナリオが適しており、これは多くの組織にとって有用な攻撃シナリオであるといえます。

サーバへの不正侵入

メールの送受信やWebサイトの閲覧などのインターネット利用を行うPCと並んで、攻撃者にとっての侵入経路になりうるものが、インターネット上に公開されているサーバです。Webアプリケーションや、アプリケーションが動作するサーバのようなプラットフォームの脆弱性を悪用して、攻撃者がサーバに不正侵入する方法などが具体的な攻撃手法として挙げられます。

サーバをインターネット上に公開している以上は、PCのマルウェア感染と同様に攻撃を100%防ぐことは困難です。脆弱性診断を実施して脆弱性に対処していたとしても、例えばゼロデイ脆弱性が存在するタイミングで攻撃を受けるリスクが考えられます。特に顧客向けにWebサービスを提供しているような組織では、サーバに侵入されないようにする対策と合わせて、サーバに侵入された場合を想定した対策も行うことが重要であるといえます。

最近ではWebサービスだけではなく、コロナ禍におけるリモートワークの広がりに伴い、リモートワークのための社内システムへのアクセス経路であるVPN機器などが攻撃経路になるケースも増えてきています。VPN機器に対する攻撃としては、機器の脆弱性を悪用するケースのほかに、何らかの原因で漏えいした正規のID・パスワードが不正ログインに利用されるケースも増加しています。こういった組織においても、外部公開サーバに侵入された場合を想定した攻撃シナリオによるペネトレーションテストは有用です。

ペネトレーションテストの「目標」

「目標」はテストのゴール、つまり攻撃者視点では攻撃者が達成したい目的にあたります。攻撃者は何のために、何を狙って攻撃を仕掛けてくるのでしょうか。

お客様から多くいただくご相談に「ペネトレーションテストで、システムに侵入できるか調査してほしい」というものがあります。しかし、攻撃者にとって組織のネットワークに侵入することは目的ではなく、あくまでも目的を達成するための手段にあたります。攻撃者は何を目的としてターゲット組織のネットワークに侵入するのでしょうか。

攻撃者が組織のネットワークの奥深くに侵入する攻撃として、まず挙げられるものが高度標的型攻撃です。高度標的型攻撃は、ターゲットとする組織が保有する重要な情報を窃取することを目的とします。重要な情報は組織によってさまざまですが、例えば価値の高い知的財産や個人情報などを狙って攻撃が行われるケースが多くみられます。攻撃者はこのような重要な情報を盗み出すことを目的として、ターゲットとする組織のPCやサーバへの侵入を足掛かりに、組織内部を横断的に侵害し、ネットワークの奥深くへ侵入していきます。

高度標的型攻撃の他に、重要なデータを暗号化することで身代金を要求するランサムウェア攻撃や、データの暗号化に加えてその情報を窃取し、インターネット上で不特定多数に暴露するという脅迫によって金銭を得ることを目的とした二重脅迫型ランサムウェア攻撃による被害も最近では増加しています。このような攻撃では情報の窃取に加え、情報を暗号化して復号できない状態にすることも攻撃者の目的にあたります。

望ましい「目標」は組織でそれぞれ異なる

ペネトレーションテストの「起点」の検討には世の中で発生しているサイバー攻撃の状況が参考になるのに対して、「目標」の検討においては、自組織にとって「サイバー攻撃から守るべきものは何か」を考えることが重要です。組織によって「サイバー攻撃から守るべきもの」は異なります。自組織のシステム環境や業務内容に沿った「目標」を含む攻撃シナリオを用いることで、ペネトレーションテストは組織にとってより有益なものとなります。

Active Directoryのドメインコントローラは目標の一つ

組織のネットワーク内部に侵入した攻撃者が目的を達成する上で重要なポイントになりやすいのが、「Active Directoryのドメインコントローラ」です。

特にOA環境と呼ばれるような一般的な業務用ネットワークでは、Active DirectoryのドメインコントローラによってPCやサーバの管理をしているケースがほとんどです。Domain Adminsグループに属するドメインアカウント、つまりドメイン管理者権限を奪取することで、攻撃者は組織のネットワーク全体を制御下におくことができるためです。そのため、組織のネットワーク内部に侵入した攻撃者は、まず初めにドメインコントローラを制圧することを目標とすることが多く、重大な被害が発生したインシデントにおいてもドメインコントローラが侵害されているケースが散見されます。

つまり、Active Directoryのドメイン管理者権限は、攻撃者にとってシステム全体を制圧するための手段であり、一次的な目標であるともいえます。

ペネトレーションテストの「目的」の検討においては、自組織にとって「サイバー攻撃から守るべきものは何か」を考えることが重要と先述しましたが、Active Directory環境におけるドメイン管理者権限は組織にとって守るべきものの一つであり、ドメイン管理者権限の奪取を「目標」とする攻撃シナリオでのペネトレーションテストは、多くの組織において実施すべきシナリオの一つであると考えます。

ペネトレーションテストの「攻撃手法」

ラックの「情報システムペネトレーションテストサービス」では、これまでに説明してきた「スコープ」「起点」「目標」の三つを組み合わせたものを攻撃シナリオとして定義し、そのシナリオに沿ってテストを実施します。

「テストのゴールを達成するための手段」にあたる「攻撃手法」は、シナリオ検討の段階であらかじめ決めることはせず、テストを行う段階で実際のシステム環境をふまえ適切なものを選択します。MITRE ATT&CKにおける「Tactics(戦術)」レベルでは事前に調査の方針を定めることもありますが、具体的な「Techniques(攻撃手法)」はテストを実施する際に、実際のシステム環境や状況において有効なものをその場で選択します。

例えば、すでに権限の奪取に成功している端末から他の端末への横展開をするための攻撃手法は、遠隔操作が実行可能なプロトコルを悪用するものや、サービスの設定不備を悪用するものなどさまざまです。

ペネトレーションテストでこういった横展開の可否を調査する場合は、横展開を試行可能な状況に至るまでの過程で収集したシステム環境をふまえて、攻撃手法を選択します。横展開に用いることができる手法やその条件は攻撃シナリオの進行状況で変わってくるため、事前のヒアリングなどだけでシステム環境を確認していても、攻撃手法をあらかじめ「調査項目」のように決めておくということは困難です。

ペネトレーションテストを実施する技術者であるペンテスターが攻撃者の視点で、攻撃の進み具合の展開に応じて疑似攻撃を仕掛けることがペネトレーションテストの本質といってもよいでしょう。

「攻撃手法」を事前に定義するケース

ただし、ペネトレーションテストの目的を「攻撃者の目的達成可否」ではなく、「導入しているセキュリティ対策の有効性の検証」におく場合は、考え方が少し変わってきます。「セキュリティ対策の有効性の検証」を目的とする場合は、対策のために導入しているセキュリティ製品などが想定する攻撃手法をあらかじめ定義しておいて、その攻撃がセキュリティ製品による防御を回避して成功するかを検証する方法を取るケースもあります。特に、サイバー攻撃に対するシステムや人のレジリエンス向上を目的とした脅威ベースのペネトレーションテスト(TLPT)では、このようなアプローチを行うこともあります。

さいごに:「攻撃シナリオ」を構成するスコープ・起点・目標

ペネトレーションテストのテスト内容である「攻撃シナリオ」を構成する要素として、テストの対象である「スコープ」、テストの開始地点である「起点」、テストのゴールである「目標」について解説しました。自組織のシステム環境や世の中のサイバー攻撃の動向をふまえた攻撃シナリオを用意することで、ペネトレーションテストはより効果的なものとなります。「情報システムペネトレーションテストサービス」では攻撃シナリオ検討の段階から、お客様のシステム環境をふまえたご提案を行っておりますので、ぜひご活用ください。

「ペネトレーションテスト」に関するお問い合わせ

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

はい いいえ