Column

ペネトレーションテスト(侵入テスト)とは?脆弱性診断との違いや方法を解説

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

ペネトレーションテストとはサイバーセキュリティの評価手法の一つで、セキュリティエンジニアが実際の攻撃者と同様の手法を用いて組織の情報システムに侵入を試みることでそのシステムの攻撃耐性を検証するテストのことです。

「ペネトレーション(Penetration)」という言葉には「侵入」の意味があり、攻撃者の視点からシステムやネットワークに対して擬似攻撃を行い侵入を試みることから「侵入テスト」とも呼ばれます。

サイバー攻撃に用いられる手法の変化や、新たな脆弱性の発見、ネットワークやシステムの更新や運用に伴う設定変更などによってシステムのリスクは変化することから、定期的にペネトレーションテストを行い、システムの脆弱性を特定し、対策を講じることが望ましいと言えます。

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

手法 目的 実施方法 期間 適用場面
脆弱性診断 脆弱性の洗い出し 自動スキャンと手作業による診断 対象の範囲によるが数日〜1週間程度 定期的なチェック
ペネトレーションテスト 実攻撃の検証 主にテスターによる手作業の試行 対象の範囲によるが1週間〜1ヶ月程度 リスク評価
脆弱性診断
ペネトレーションテスト
                  
目的 脆弱性の洗い出し
実施方法 自動スキャンと手作業による診断
期間 対象の範囲によるが数日〜1週間程度
適用場面 定期的なチェック
目的 実攻撃の検証
実施方法 主にテスターによる手作業の試行
期間 対象の範囲によるが1週間〜1ヶ月程度
適用場面 リスク評価
         

ペネトレーションテストも脆弱性診断もどちらもセキュリティを評価する手法ですが、そのアプローチは異なります。

ペネトレーションテストは攻撃者の視点からシステムに侵入し、実際の攻撃を模擬して特定の目標達成の可否を検証するためのテストです。リアルな攻撃シナリオに基づいて侵入を試行するため、システムの持つリスクを実践的に評価できます。

一方で脆弱性診断は、スキャンツールや手動によりシステム内に存在する潜在的な脆弱性を洗い出し、それらの深刻度を評価する手法です。

どちらもセキュリティ強化の一環として重要であり、それぞれの特性を理解したうえで選択または組み合わせて、セキュリティを向上させることが望ましいと言えます。

なぜペネトレーションテストが必要なのか?

ペネトレーションテストの目的

ペネトレーションテストの目的は、具体的かつ現実的なシナリオに基づいて目標を設定し、システムに対して擬似的な攻撃を行うことにより、その目標を達成可能かどうかを検証することです。

例えば、「個人情報の窃取」や「業務システムの停止」など組織が抱えるビジネスリスクをシナリオのゴールとして設定し、そのゴール達成のためにさまざまな攻撃手法やツールを組み合わせて攻撃シナリオを設計・実行します。

ゴールに向けた実践的な侵入試行の結果から、特定の脆弱性に対する適切なリスク分析やテスト対象システム自体の堅牢性の評価が可能となることに加え、テストで侵入を許した問題があった場合は、現実的な侵入の経路を特定できます。

これにより、問題に対して対策を実施することで攻撃によるリスクを低減することが期待でき、組織が導入しているセキュリティソリューションの有効性がわかる場合もあります。

ペネトレーションテストの必要性

近年サイバーセキュリティの脅威は急速に進化しており、それに伴い企業や組織もセキュリティソリューションを積極的に導入したり、セキュリティ意識向上のトレーニングを実施するなど様々なセキュリティ対策に取り組んでいます。

その中でもペネトレーションテストはそれらの対策の有効性を確認するための重要な手段として位置づけられています。 現状のセキュリティ対策が個々のシステムに対して有効であっても、システムが複雑に連携している場合に発生するセキュリティリスクを見逃す可能性があります。

そのため、個々のシステムだけでなく、システム全体における潜在的なリスクを評価することが必要であり、ペネトレーションテストによって実際の攻撃を模倣し、システム全体への侵入を試みることで、潜在しているセキュリティリスクやシステム全体の課題を浮き彫りにします。

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

内部テスト

内部テスト(Internal Penetration Test)は組織のネットワーク内部から擬似的な攻撃を行うことで、組織の関係者がアクセスできるシステムやリソースに対するセキュリティを評価する手法です。

悪意のある従業員による内部不正や従業員を対象とした標的型攻撃に起因する内部からの攻撃などを想定して行うことで、ネットワーク内部でのセキュリティの堅牢性を評価し、不正アクセスのリスクを特定します。

内部テストの範囲は組織によって異なりますが、通常は内部ネットワークやアプリケーション、データベース、エンドポイントデバイス、共有ファイル、メールシステムなどが含まれます。

外部テスト

外部テスト(External Penetration Test)は攻撃者の視点で外部から組織のネットワークやシステムへのアクセスを目的とした擬似的な攻撃を行うことで、システムの脆弱性やセキュリティリスクを評価するための手法です。

なりすましによるログインや、既知脆弱性を悪用した権限の奪取など、あらゆる手段で侵入の足がかりを探し、悪用できるかを検証します。

外部テストの範囲は、外部ウェブサイト、公開されたアプリケーション、クラウドサービス、ネットワーク機器など組織の外部にあるリソースやシステムが対象です。

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

ホワイトボックステスト

ホワイトボックス型のペネトレーションテストは、ペネトレーションテスターがネットワーク構成、システム内部の構造にアクセスできるため、非常に詳細な洞察が可能です。これにより、脆弱性の特定がより包括的で、攻撃者が利用し得る可能性のある脅威を正確に特定できます。

さらに、ホワイトボックス型のアプローチは、ネットワーク構成、システムの内部構造やアーキテクチャを正確に理解できるため、脆弱性の深刻度と攻撃の可能性をより正確に評価できます。これにより、セキュリティリスクを適切に評価し、優先順位付けするのに役立ちます。

このアプローチはまた、テストケースを特定の要件や脆弱性に合わせてカスタマイズできるため、実際のシステムに特有のセキュリティ課題に焦点を当てることができます。さらに、コードの品質向上やセキュリティ意識の向上にも貢献します。

ブラックボックステスト

ブラックボックス型のペネトレーションテストは、ペネトレーションテスターが被監査組織からシステムの詳細な情報を提供されること無く、攻撃を模擬します。

ブラックボックステストの主な利点の一つは、外部攻撃者と同じ立場から攻撃シナリオを模擬できるため、外部からの攻撃の挙動と脆弱性をリアルな状況で評価できます。また、外部からの攻撃に対するセキュリティ対策や防御メカニズムの有効性をテストするのに適しています。

ブラックボックステストは、ペネトレーションテスターが事前に詳細な情報を知らない状態でテストを開始するため、脆弱性の深刻度と攻撃の可能性を客観的に評価できます。この客観的なセキュリティ評価は、外部の視点からシステムのセキュリティ状況を正確に反映し、セキュリティリスクの評価に役立ちます。

さらに、ブラックボックス型のアプローチは、システムやアプリケーションの変更に柔軟に対応でき、リアルタイムで脆弱性を評価できるため、継続的なセキュリティ評価のアプローチとして有用です。新たな脆弱性や攻撃ベクトルが現れた場合、テストによってセキュリティの有効性を速やかに再評価し、対策を講じることが可能です。

ペネトレーションテストのメリット

ペネトレーションテストは対象のシステムやアプリケーションの仕様や環境に合わせた攻撃シナリオを作成し、目標達成のために実際に侵入を試みることでその堅牢性を評価しますが、具体的には以下のようなメリットがあります。

  • 現実の脅威への対策
    • ペネトレーションテストは、実際の攻撃者が使用する攻撃手法やシナリオを再現します。これにより、組織は自身のシステムやアプリケーションへの脅威に対して優先して対処すべき課題が明らかになります。
  • 既存セキュリティ対策の効果検証
    • 組織がすでに導入したセキュリティ対策の実効性を評価できます。ペネトレーションテストの結果を通じて、既存のセキュリティコントロールが攻撃からどの程度機能しているかを確認でき、必要に応じて改善策を講じることができます。
  • ステークホルダーとの信頼構築
    • ペネトレーションテストの結果をもとにセキュリティを強化することで、顧客やビジネスパートナー、従業員などのステークホルダーとの信頼関係を構築および向上させることができます。お客様に対してセキュリティ対策の具体的な取り組みを示すことは信頼を築く要因となります。

ペネトレーションテストの国際基準

ペネトレーションテストを理解し、適切に実施するためには、国際的に認められた標準やフレームワークを把握することが重要です。ここでは、ペネトレーションテストの品質と一貫性を保証する2つの主要な国際基準について詳しく解説します。

NIST SP 800-115(情報セキュリティテスト・評価技術ガイド)

米国国立標準技術研究所(NIST)が発行する「Technical Guide to Information Security Testing and Assessment」は、情報セキュリティ評価とテストの包括的な技術ガイドとして国際的に広く参照されています。この標準は、ペネトレーションテストを含む情報セキュリティ評価の計画から実行、分析、改善までの全プロセスを体系的に定義しています。

ペネトレーションテストに関する定義と手法

NIST 800-115では、ペネトレーションテストを「攻撃者が用いる実際の手口を模して、システム・ネットワーク・アプリケーションのセキュリティ機能を突破できるかを検証するセキュリティテスト」と明確に定義しています。標準では、4段階のペネトレーションテスト手法(計画→調査→攻撃→報告)を規定し、各フェーズでの具体的な実施手順と安全対策を詳述しています。

実施形態とリスク管理

この標準では、ペネトレーションテストの実施形態として外部・内部両視点からのテスト、また、テスト実施に伴うシステム障害リスクと高コストを考慮し、事前の綿密な計画策定と関係者承認の重要性を強調しています。組織は適切なリスク評価を行い、制御された環境でのテスト実施を推奨しています。

PTES (Penetration Testing Execution Standard)

PTES(Penetration Testing Execution Standard)は、ペネトレーションテスト業界の専門家によって開発されたオープンソースの実行標準です。この標準は、ペネトレーションテストの実施方法について、より実践的で詳細なガイダンスを提供することを目的として策定されました。PTESは技術的なガイドラインと併せて、実際の現場で適用可能な具体的な実行手順を重視しています。

7段階の包括的プロセス

PTESでは、ペネトレーションテストを7つの主要セクションに分類して体系化しています:事前協議(Pre-engagement)、情報収集(Intelligence Gathering)、脅威モデリング(Threat Modeling)、脆弱性分析(Vulnerability Analysis)、攻撃実行(Exploitation)、侵入後活動(Post Exploitation)、報告書作成(Reporting)。この包括的なプロセスにより、初期コミュニケーションから最終報告までの全工程をカバーしています。

柔軟性と段階的アプローチ

PTESの特徴は、様々な規模と複雑さのペネトレーションテストに対応できる柔軟性です。標準では、簡単なWebアプリケーションテストから、高度なレッドチーム演習まで、組織の脅威レベルに応じた段階的なアプローチを可能にしています。現在は2.0版の開発が進められており、より詳細な強度レベル設定による実装が予定されています。

国際基準の特徴まとめ

NIST 800-115の特徴
米国国立標準技術研究所(NIST)が策定した情報セキュリティ評価の公式ガイドラインであり、ペネトレーションテストのみならず、脆弱性スキャンやセキュリティ評価全般を網羅しています。ペネトレーションテストは攻撃者視点で脆弱性を突き、防御力を評価する手法として定義されており、特に米国政府機関や金融機関などで標準的に用いられる信頼性の高いフレームワークです。

PTESの特徴
ペネトレーションテストの実施手順全体を体系化した国際的な標準です。テストの計画段階から情報収集、脅威モデリング、脆弱性分析、攻撃実施、侵入後の評価、報告に至るまで、7つのフェーズを明確に定めています。単に脆弱性を検出するだけでなく、攻撃者視点で実際にどの程度システムが侵害されるかを確認することに重点が置かれており、契約や法的リスクの管理も含めた包括的なフレームワークとなっています。

両標準とも、高品質なペネトレーションテストの実施において重要な役割を果たしており、組織の要件と環境に応じて適切な標準を選択することが、効果的なセキュリティ評価の実現につながります。

業界別リスクと検証内容に基づく活用事例

金融・銀行業界におけるペネトレーションテスト

金融庁の「金融分野サイバーセキュリティガイドライン」では、脆弱性診断やペネトレーションテストに関する基本的な対応事項および対応が望ましい事項について具体的に言及されています。

ペネトレーションテストに関する基本的な対応事項

ガイドラインでは、金融機関のシステムに潜む脆弱性やセキュリティ上の問題を特定し、改善するために、リスクの大きさやシステムの重要度を考慮した上で、脆弱性診断やペネトレーションテストを定期的に実施することが求められています。また、これらの実施手順や管理方法についても明確に策定し、必要に応じて見直すことが推奨されています。こうした基本的な対応により、金融機関はシステムの安全性を確保し、サイバー攻撃に対する耐性を高めることができます。

ペネトレーションテストに関する対応が望ましい事項

さらにガイドラインでは、インターネットに直接接続していない内部ネットワークやVPN環境なども、脆弱性診断およびペネトレーションテストの対象とすることが望ましいとされています。これにより、外部からの侵入に加えて内部環境に潜むリスクも評価することができます。

TLPT(脅威ベースのペネトレーションテスト)の実施について

ガイドラインは特に、Threat-Led Penetration Test(TLPT)と呼ばれる脅威ベースのペネトレーションテストの実施を重視しています。TLPTでは、防御側に事前通知せずに攻撃シナリオを想定してテストを行い、実際のサイバー攻撃に対する組織の対応能力や脆弱性を実践的に評価します。これは単なる技術面の診断に留まらず、組織全体のサイバー攻撃耐性を確認するための手法として位置付けられています。金融機関は、こうしたTLPTを定期的に実施することで、組織のセキュリティ体制を実効的に強化することが求められます。

製造業界におけるペネトレーションテスト活用事例

IPAの「制御システムセキュリティリスク分析ガイド」では、ペネトレーションテストの実施について以下のように言及されています。

ペネトレーションテストの目的

脆弱性検査は主に既知の脆弱性の有無を確認するものであり、発見された脆弱性を実際にどのように利用できるかまでは検証しません。一方で、ペネトレーションテストは、悪用可能な脆弱性や機器の設定不備(不要な空きポートや許可されたサービス、脆弱なパスワードなど)を利用して、対象システムに「どの程度侵入できるか」「どのような機密情報を取得可能か」、さらには「どのような操作や攻撃が可能か」を確認することを目的としています。

ペネトレーションテストにはさまざまな形態や手法が存在し、それぞれの形態や手法により実施できるテスト内容や得られる結果には大きな違いが生じます。そのため、テストの目的やシステム情報の秘匿性、事業者側の負担などを考慮しながら、試験実施者(セキュリティベンダーなど)と十分に協議し、最適なテスト方法を決定することが一般的です。

ペネトレーションテストの注意点

ペネトレーションテストを実施する際には、いくつかの注意点があります。まず、テスト実施範囲を明確にすることが重要です。テスト開始前に、対象となる機器やIPアドレス、ポート番号、ユーザアカウントなどのテスト可能範囲と、アクセス禁止範囲を決定し、試験を担当する実施者に正確に伝える必要があります。 また、制御システムに対してテストを行う場合には、独自の通信プロトコルが使用されていることが多いため、これらのプロトコルに精通した試験実施者を確保することが求められます。特に制御システム固有の通信プロトコルに対応できる専門知識を持つ人材がいない場合、テストの正確性や安全性に影響が出る可能性があります。

医療業界におけるペネトレーションテスト

医療機器や医療情報システムの高度化に伴い、サイバー攻撃リスクも増大しています。その対策として、医療業界ではペネトレーションテスト(侵入試験)の重要性が高まっています。

JIS T 81001-5-1(IEC 81001-5-1:2021)では、医療機器のライフサイクル全体を通じた脆弱性の特定やリスク管理が求められていますが、ペネトレーションテストは脅威の評価や脆弱性発見の手段として有効です。

ペネトレーションテストにより、単なる脆弱性診断では把握できない実践的なリスクを攻撃者視点で評価でき、システム全体の安全性向上やリスク対応策の策定に役立ちます。医療現場の安全性と信頼性を確保するため、JIS T 81001-5-1に基づくリスク管理の枠組みの中で、戦略的に導入することが望まれます。

医療機器におけるリスク管理

JIS T 81001-5-1は、医療機器のライフサイクル全体におけるサイバーセキュリティリスク管理を規定しており、その中心には脅威の特定と制御があります。まず、医療機器や関連システムに対して想定される脅威を体系的に特定し、どのような脆弱性が存在するかを評価します。ここでいう脆弱性には、ソフトウェアやハードウェアの欠陥、設定ミス、認証や通信プロトコルの弱点などが含まれます。

脅威コントロールの基本的な考え方は、これらの脆弱性を把握したうえで、適切な対策を講じてリスクを低減することにあります。具体的には、脆弱性を修正するパッチ適用や設定の改善、アクセス制御の強化、暗号化の導入などが挙げられます。また、脅威の種類やリスクの大きさに応じて、優先順位を設定し、リスク対応策を計画的かつ体系的に実施することが求められています。

さらに、JIS T 81001-5-1では、セキュリティ対策の実施状況や有効性を検証するために、定期的な評価やレビューを行うことが推奨されています。このプロセスにより、脆弱性の発見から対策の実施、そして効果の確認までを一連のライフサイクルとして管理することが可能となります。医療機器特有の環境や制御システムに対応するため、必要に応じて専門知識を持つ担当者が関与することも重要とされています。

総じて、JIS T 81001-5-1における脅威コントロールは、脆弱性の特定を出発点として、リスク評価、対策実施、効果検証までを含む一連の体系的プロセスとして位置付けられており、医療機器の安全性と信頼性を確保するための基盤となっています。

医療機器リスク管理のためのペネトレーションテストの有効性

脆弱性診断は既知の脆弱性や設定ミスの有無を確認することに重点を置いていますが、発見された脆弱性を実際に悪用できるか、どの程度の影響が出るかは検証しません。これに対してペネトレーションテストでは、悪用可能な脆弱性や不適切な機器設定(不要な開放ポート、弱いパスワード、不要なサービスなど)を活用して、医療機器システムへの侵入や機密情報へのアクセス、さらには操作や攻撃の可能性を実際に検証できます。これにより、攻撃者の視点から医療機器のセキュリティ上の弱点を具体的に把握できるのです。

さらに、医療機器特有の制御システムや通信プロトコルに対応したペネトレーションテストを実施することで、内部ネットワークや特定の制御プロトコル経由での攻撃経路も明らかにできます。このように、実際の攻撃シナリオに基づく評価を行うことは、リスクの優先順位付けや具体的な対策方針の策定に直結します。

また、ペネトレーションテストはテスト方法や範囲を調整できる柔軟性があるため、医療機器のライフサイクルや利用環境に応じて、局所的なテストから統合システム全体への攻撃シナリオまで幅広く対応可能です。これにより、単なる形式的なチェックでは見逃されがちな脆弱性や、システム間の連携に潜む潜在的リスクも検出することができます。

総じて、医療機器におけるペネトレーションテストは、脆弱性診断で把握できる範囲を超えて、攻撃者の視点で実際のリスクを評価できる点で非常に有効です。特に、規格に基づくリスク管理やライフサイクル全体のセキュリティ強化において、現実的かつ実践的な評価手段として重要な役割を果たします。

関連リンク: Pmda 医療機器のサイバーセキュリティ要件に対する JIS T 81001-5-1の適用について

ペネトレーションテストの課題

ペネトレーションテストは組織のセキュリティ戦略において必要不可欠な要素ですが、同時に以下のような課題もあります。

  • コスト
    • ペネトレーションテストは専門的なスキルを持つホワイトハッカーによって実施されるため、外部に委託する場合はコストが高くなる場合があります。また、複雑なシステムやネットワークに対するテストは計画、実施、報告に時間がかかることがあり、即時の結果を得ることが難しい場合があります。
  • 障害発生
    • ペネトレーションテストは、実際の攻撃を模擬するため、誤った設定や手順によって実際の被害をもたらす可能性があります。特に本番環境でテストを実行する場合は、システムやデータに損害を与える可能性があるため、テストの慎重な計画と実行、事前のバックアップなどの備えが必要です。
  • 実施者のスキルに依存
    • ペネトレーションテストは実施者の経験や知識に基づいて攻撃シナリオを作成し、侵入を試みるため実施者のスキルによってテストの成果が大きく変わってきます。そのため、十分なスキルと経験を持つ人材の確保が課題となることがあります。

ペネトレーションテストのレポート例

ペネトレーションテストのレポート(報告書)内容は対象の性質や規模によって異なりますが、一般的には以下のような内容が含まれています。

  • テストの概要
    • ペネトレーションテストの目的と範囲、テスト対象のシステムの概要など。
  • テストの結果
    • 実行された攻撃シナリオや使用したツールなどの攻撃手法に関する詳細。
  • リスク評価
    • 特定されたセキュリティリスクの詳細および、それらが与える影響や深刻度についての説明。
  • 対策提案
    • 各脆弱性に対する具体的な対策や修正方法、およびそれらの優先順位の提案。

ペネトレーションテストに関するよくある質問とその回答

ペネトレーションテストを行うのに必要なものは?

ペネトレーションテストの目的やテスト対象のシステム、ネットワークなどの範囲を明確に定義し、テストの具体的な要件を決めておく必要があります。また、対象システムやネットワークの詳細な情報のほか、ペネトレーションテスターが合法的にシステムにアクセスするための権限が必要です。

ペネトレーションテストは違法ではない?

ペネトレーションテストは合法的なセキュリティ評価手法です。正式な許可を得た場合、法的な問題は発生しません。通常、ペネトレーションテストを行う際には、依頼主との契約や合意書を交わし、対象システムの所有者や運営者から明確な許可を得る必要があります。

      

ペネトレーションテストとTLPT(Threat Led Penetration Test:脅威ベースのペネトレーションテスト)の違いは?

ペネトレーションテストとTLPTはどちらも脅威シナリオをベースに実際の攻撃手法を用いて対象のシステムへの攻撃可否を検証するという点においては同じですが、TLPTは事前にインターネット上に公開されている対象組織やシステムに関する情報、世界で起きている最新の脅威情報を用いることでより現実味のあるシナリオを作成をします。

また、擬似攻撃を行うレッドチーム、攻撃に対応するブルーチームといった役割ごとのチームに分かれて攻撃シナリオをシミュレーションすることで組織の防衛態勢の評価が可能です。

ペネトレーションテストとBAS(Breach and Attack Simulation)の違いは?

BASとは実際にハッカーが行う攻撃パターンを想定し、様々なセキュリティリスクを分析できる自動化されたセキュリティ診断システムです。

ハッカー視点での攻撃シミュレーションを自動で行い、短時間かつ外部の人材の手を介さず繰り返し何度でもテストができる点がメリットですが、あくまで「攻撃のシミュレーション」であるため実際に擬似攻撃を行い対象システムの挙動を見ながら行うペネトレーションテストとは違い、複雑なネットワーク環境やアプリケーションにおいては精度が低いことがあります。

まとめ

サイバー攻撃が日々高度化している現代において、ペネトレーションテストは不可欠なセキュリティ対策の手法です。高度なセキュリティ製品を導入したとしても適切な運用がされていなければ、攻撃者の前では意味がありません。現実に起こりうる脅威を把握し、運用面も含めた包括的なセキュリティ対策を講じることが重要です。

サイバーディフェンス研究所ではホスト単体に対する侵入可否検証だけでなく、実際の攻撃と同様に、ネットワーク全体を侵入対象と見なした戦略的な侵入テストや、重要インフラ制御システムや特殊なハードウェアなどのデバイス対象としたペネトレーションテストが可能です。予算に応じた最適な攻撃シナリオ、ゴール設定についても柔軟にサポートいたしますので、お気軽にご相談ください。

脆弱性診断(セキュリティ診断)とは?
費用やメリット・デメリットをわかりやすく解説

診断サービス

ペネトレーションテスト(侵入テスト)とは?
脆弱性診断との違いやメリットをわかりやすく解説

診断サービス

プラットフォーム診断とは?
必要性や費用、メリット、デメリットを解説

診断サービス

お気軽にお問い合わせください

製品やサービスに関するご質問、お見積りのご用命、課題解決のご相談はこちらから
なお、機密性を重視したご依頼は cdiprivacy(at)protonmail.com 宛てのメールでも承ります。
※ (at) は @ に置き換えてください。