ペネトレーションテスト(侵入テスト)とは?種類・やり方・導入の流れを徹底解説

[ 更新: ]

「ペネトレーションテストとは何か、実施すべきかどうか判断する基準を知りたい」という疑問がある方も多いのではないでしょうか。

ペネトレーションテストとは、セキュリティの脆弱性を発見するテストのことです。

実際の攻撃者と同じ視点からシステムを検証することで、現実的な脅威に対する防御力を評価できます。

この記事では、ペネトレーションテストの種類や手法、実施するメリット・デメリット、基本的な流れについて詳しく解説します。

目次

[ 開く ] [ 閉じる ]
  1. ペネトレーションテストとは
  2. 脆弱性診断との違い
  3. ペネトレーションテストの種類
  4. 内部ペネトレーションテスト
  5. 外部ペネトレーションテスト
  6. ペネトレーションテストを実施するメリット
  7. 攻撃者視点で現実的な脆弱性を発見できる
  8. セキュリティ対策の実効性を客観的に検証できる
  9. 企業イメージや信頼性の向上に寄与する
  10. ペネトレーションテストを実施するデメリット
  11. テスト実施者のスキルによって成果が左右される
  12. 大規模システムでは時間と費用が膨大になりやすい
  13. 運用中システムへの負荷やダウンタイムリスクが発生する
  14. ペネトレーションテストの手法
  15. ホワイトボックステスト
  16. ブラックボックステスト
  17. グレーボックステスト
  18. ペネトレーションテストの型式
  19. シナリオ型
  20. 脅威リード型
  21. PCI DSS向け
  22. 組込みシステム向け
  23. ペネトレーションテストの基本的な流れ
  24. テストのシナリオを作成する
  25. 調査対象への攻撃を実施する
  26. テストの報告書を作成する
  27. ペネトレーションテストサービスの選び方
  28. 実績と経験豊富な専門チームの有無を確認する
  29. 報告書の質と具体的な改善提案の内容を評価する
  30. 緊急時のサポート体制と事後フォローの充実度
  31. テスト手法とカバー範囲が自社ニーズに合致しているか
  32. 費用対効果と自社のセキュリティ予算とのバランス
  33. GMOサイバーセキュリティbyイエラエのペネトレーションテスト(侵入テスト)を紹介
  34. まとめ

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

ペネトレーションテスト(通称:ペンテスト)とは、想定されるサイバー攻撃の手法に基づき、ホワイトハッカーが実践的にシステムに侵入を試みることで攻撃耐性を確認するテストのことです。

ペネトレーション(Penetration)とは「貫通」や「侵入」を意味する言葉です。ペネトレーションテストは、悪意ある攻撃者と同じ目線で、実際にネットワークに接続、システムを攻撃し、侵入を試みることから「侵入テスト」と呼ばれることもあります。

インターネットなどのネットワークに接続されているシステムに対して侵入を行い、脆弱性を悪用して対象のシステムのセキュリティ機能を回避または無効化されてしまう可能性を特定するのが目的です。検証対象のシステムの構成などに応じて想定される攻撃のシナリオを作成し、システム全体を網羅的にテストするのではなく特定の範囲の脆弱性や問題点を発見するテストと覚えておきましょう。

【関連記事】サイバー攻撃とは?種類や被害事例、対策方法についてわかりやすく解説

【関連記事】ホワイトハッカーとは|有能なホワイトハッカーが活躍するサービスを紹介

脆弱性診断との違い

ペネトレーションテストと脆弱性診断は行う目的が異なります。下記に目的・調査対象の違いをまとめました。

目的 調査対象
ペネトレーションテスト 検証対象のシステム構成などに応じた攻撃のシナリオに沿って実施する。特定の脆弱性や問題点を発見することを目的としている。 攻撃者の目的を達成できるかを確認するため、検証内容によって異なる。
脆弱性診断 ツールなどを用いて既知の脆弱性の特定・ランク付け・および報告を行うことを目的としている。 システム全体に対して実施する。

ペネトレーションテストは、インターネットなどのネットワークに接続されているシステムに対して侵入を行い、脆弱性を悪用して対象のシステムのセキュリティ機能を回避または無効化されてしまう可能性を特定することです。検証対象のシステムの構成などに応じて想定される攻撃のシナリオを作成し、システム全体を網羅的にテストするのではなく特定の範囲の脆弱性や問題点を発見することを目的としています。

一方の脆弱性診断はシステム全体に対して行い、脆弱性を悪用された場合にシステムを意図的または意図的ではない侵害に繋がる可能性のある既知の脆弱性の特定・ランク付け・および報告をすることです。

2つのセキュリティ診断は手法や調査対象が異なるため、検査を行うシステムによって使い分ける必要があるでしょう。

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

ペネトレーションテストは調査する対象によって下記の種類に分かれます。

種類 調査対象
内部ペネトレーションテスト 外部からアクセスできないシステム・機器
外部ペネトレーションテスト 外部からアクセスできるシステム・機器

内部ペネトレーションテストは攻撃者がすでに内部へ侵入していることを想定し、外部からアクセス出来ない内部システムに対するテストを行います。

外部ペネトレーションテストは攻撃者が外部から侵入することを想定したテストです。侵入経路になりうるインターネットからアクセス可能なシステムや機器に対するテストを実施します。

内部ペネトレーションテスト

内部ペネトレーションテストは前述の通り、攻撃者がすでに内部へ侵入していることを想定し、外部からはアクセス出来ない内部システムに対するテストを実施します。

内部ペネトレーションテスト例としては、社内のネットワーク内部に悪意のある保守担当者がいることを想定し、メインサーバーへの侵入・権限取得を想定したものが挙げられます。

外部ペネトレーションテスト

外部ペネトレーションテストは攻撃者が外部から侵入することを想定したテストとなります。インターネットからアクセス可能なシステムや機器に対するテストを実施します。

社外からの攻撃を想定しており、よくあるテストの例が標的型メールによる攻撃手法です。疑似ウイルスを添付したメールを使用し、どこまで侵入できるのかをテストします。

ペネトレーションテストを実施するメリット

企業のセキュリティ対策においてペネトレーションテストは、実際の攻撃者視点から脆弱性を洗い出す効果的な手段です。

ここでは、ペネトレーションテストを実施する具体的なメリットを3つ紹介します。

攻撃者視点で現実的な脆弱性を発見できる

実際の攻撃者と同様の手法でシステムへの侵入を試みることで、机上の理論では見つからない実践的な脆弱性を発見できます。

通常のセキュリティ診断では把握しきれない複合的な攻撃経路や、巧妙な侵入方法も明らかになるでしょう。

例えば、単独では深刻でない複数の脆弱性を組み合わせた攻撃シナリオは、従来の診断手法では見逃されがちです。

このような現実的な攻撃シミュレーションによって、本当に対策すべき脅威を特定できるのです。

セキュリティ対策の実効性を客観的に検証できる

既存のセキュリティ対策が実際の攻撃に対して有効に機能するかどうかを客観的に検証できます。

導入済みのファイアウォールやIDS、アンチウイルスなどの防御策が、巧妙な攻撃に対して本当に効果を発揮するか確かめられるのです。

対策の穴や想定外の弱点が明らかになることで、セキュリティ体制の実質的な強化が可能となります。

企業イメージや信頼性の向上に寄与する

ペネトレーションテストを実施することは、企業イメージや信頼性の向上にも寄与します。

セキュリティインシデントが企業の存続を左右する現代において、高度な防御姿勢を示すことは重要な差別化要因となります。

例えば、セキュリティ認証取得の一環としてペネトレーションテストを実施していることを公表すれば、ステークホルダーの信頼に繋がるでしょう。

ペネトレーションテストを実施するデメリット

ペネトレーションテストは効果的なセキュリティ検証手段である一方、実施にあたっては考慮すべき課題も存在します。

テストの品質確保や実施コスト、システムへの影響など、さまざまな観点から事前の計画と準備が重要となります。

テスト実施者のスキルによって成果が左右される

ペネトレーションテストの品質は実施者の技術力や経験に大きく依存するため、結果にばらつきが生じる可能性があります。

高度なハッキング技術と幅広いIT知識を持つ専門家でなければ、巧妙な脆弱性を見つけることは困難です。

例えば、同じシステムをテストしても、経験の浅いテスターと熟練したホワイトハッカーでは発見できる脆弱性の数と質に大きな差が生じます。

このため、実施者のスキル不足によっては、重要な脆弱性が見落とされるリスクがあるのです。

大規模システムでは時間と費用が膨大になりやすい

システム規模が大きくなるほどテスト範囲が広がり、十分な検証に多くの時間と費用を要します。

複雑な企業システムを網羅的にテストするには、膨大な数のサーバーやアプリケーションを検証する必要があるのです。

この時間と予算の制約がテスト範囲の限定に繋がり、重要なシステムが検証から漏れる可能性も否定できません。

また、適切なテストを行うにあたっては、クラウド環境やコンテナ技術、特殊なレガシーシステムなど、多様な技術に精通した専門家チームが求められます。

運用中システムへの負荷やダウンタイムリスクが発生する

本番環境でのテスト実施により、システムに過度な負荷がかかり、パフォーマンス低下を引き起こす可能性があります。

これらのリスクを軽減するため、テスト実施時間の調整や攻撃手法の調整など、慎重な計画が必要となるのです。

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

ペネトレーションテストにはブラックボックステスト、ホワイトボックステスト、グレーボックステストという手法があります。下記の表にメリット・デメリットをそれぞれまとめました。

手法 メリット デメリット
ホワイトボックステスト
  • 開発担当者が気づけなかったレベルの潜在的な不具合の抽出がしやすい。
  • プログラムをソースコードレベルで検査することが多いため、さまざまなデータの範囲を指定してテストが可能。
  • システムの詳細設計書を元に作成されるため、詳細設計に誤りがあってもそのままテストを実施するため間違いを見つけることが難しい。
ブラックボックステスト
  • システムの外側からユーザー目線でテストを行うため、製品全体の要求や仕様を満たすかどうか確認することができる。
  • システムの内部構造は見ないままテストを行うため、性能面の評価には適していない。
グレーボックステスト
  • システムの一部内部情報を用いることで、効率的にテストを実施できる。
    実際の攻撃者が内部情報を一部入手した状態を模擬でき、より現実的な攻撃シナリオのシミュレーションが可能。
  • 内部情報の提供の目的と、提供範囲を明確にしないと意図したシナリオでの検査とならない可能性がある。

ホワイトボックステスト

ホワイトボックステストとは、システムの内部構造を理解した上で、ロジックや制御の流れが正しいかどうかを検証するテスト技法のことを指します。

ホワイトボックステストのメリットとして、ソースコードから内部構造が明らかになることでプログラム中に記述された条件分岐・繰り返し処理などの制御構文を含む、すべてのロジックに対してテストが可能となることです。

またロジックが実行される頻度にかかわらず、対象のプログラムで実行され得るすべてのロジックに対してテストが実施されます。そのため、滅多に実行されないロジックから生じるバグ・エラーの見落としを防止する効果が期待できます。

しかしホワイトボックステストの場合、システムの詳細設計書を元に作成されるため、詳細設計に誤りがあっても誤った状態のままテストを実施するため間違いを見つけることは難しいでしょう。

ホワイトボックステストは全体的なプログラムの処理が正しく行われているかを重視して行うため、耐久性など性能面の評価に適した手法となります。

ブラックボックステスト

ブラックボックステストとは、テスト対象のシステムの内部構造は考慮せずに、外部から把握できる機能を検証するテスト技法のことです。実際のソフトウェアやそれを搭載したシステムで検証を行うことで、ユーザーと同じようにシステムを利用する立場に立った検証ができる点がブラックボックステストの大きな特徴です。

また、システムを包括的に扱うため機能を連携させた際に時に初めて起こる不具合なども見つけやすく、設計者の想定漏れを補う性質を持っています。設計通りにシステムが動くことよりも、製品全体の要求や仕様を満たすかどうかを確認できます。

ブラックボックステストはシステムの外側からユーザー目線でテストを行うため、デザイン・ユーザビリティや仕様通りに動作するかなど製品全体の要求や仕様を満たすかどうか確認することができます。

グレーボックステスト

グレーボックステストとは、ホワイトボックステストとブラックボックステストの特徴を組み合わせた中間的なテスト手法のことです。

システムの一部の内部情報を持ったり、起点の調整を行った上でのテストを行います。

実際の攻撃者が内部情報を一部入手した状態を模擬できるため、より効率的かつシステム影響を抑えた現実的な攻撃シナリオのシミュレーションが可能となります。

ただし、内部情報の提供目的や提供内容について正しく調整を行わないと当初検証したいシナリオを損なうリスクがあります。効率的・効果的な側面がある一方で、慎重なテスト設計が必要です。

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

ペネトレーションテストには目的や対象に応じてさまざまな型式が存在します。

テストの目標や検証したい脅威の種類によって最適なアプローチが異なるため、自社の状況に合わせた型式を選択することが重要です。

シナリオ型

シナリオ型は、特定の脅威シナリオに基づいてテストを実施する型式です。

実際の攻撃者が取りうる行動パターンを予測し、それに沿ったテストを行うことで現実的な防御力を確認できます。

例えば、「ランサムウェア攻撃による機密データ暗号化」や「認証システム突破による管理者権限の奪取」といったシナリオを設定します。

こうした具体的なシナリオに基づくテストは、特定の脅威に対する対策の有効性を直接検証できるのが利点です。

脅威リード型

最新の脅威情報や攻撃トレンドに基づいて、新たなタイプの攻撃手法の有効性をテストする型式です。

シナリオ型よりも戦略的にアプローチするのが特徴で、従来の対策では防げない最新の攻撃手法に対する耐性を評価できます。

例えば、新たに発見されたゼロデイ脆弱性や、高度な持続的標的型攻撃(APT)の手法を取り入れたテストを実施します。

PCI DSS向け

クレジットカード情報を扱う企業に義務付けられているPCI DSS要件に準拠したペネトレーションテストを実施します。

PCI DSSは、カード情報保護のための国際的なセキュリティ基準です。

この基準では、保護すべき情報として12の要件が定められており、その要件に沿って対策が実施される必要があります。

カード情報の保存・処理・伝送に関わるすべてのシステムコンポーネントを対象に、専用の検証手順で実施するのが特徴です。

組込みシステム向け

IoTデバイスや産業用制御システムなど、特殊なハードウェア環境に特化したペネトレーションテストを行います。

従来のITシステムとは異なる脆弱性や攻撃経路を持つ組込みシステムには、専用のテスト手法が必要です。

例えば、医療機器、自動車制御システム、スマートホームデバイスなどは、独自のインターフェースや通信プロトコルを持ちます。

こうした特殊環境に対する深い理解と専門知識を持つエキスパートによるテストが不可欠です。

ペネトレーションテストの基本的な流れ

ペネトレーションテストは事前準備から報告書作成まで、計画的かつ体系的なプロセスで進められます。

以下、ペネトレーションテストの基本的な流れを紹介します。

▼ペネトレーションテストの流れ

  1. テストのシナリオを作成する
  2. 調査対象への攻撃を実施する
  3. テストの報告書を作成する

テストのシナリオを作成する

テスト対象の特性や保護すべき資産、想定される脅威に基づいて具体的な攻撃シナリオを策定します。

重要資産(ECサイトなら決済情報、医療システムなら患者データなど)を特定し、想定される攻撃経路を検討します。

具体的なシナリオとしては、「フィッシングメールから始まる内部侵入」や「Webアプリケーション脆弱性を悪用したデータベースアクセス」などが代表的です。

▼フィッシングメールから始まる内部侵入シナリオの例

  1. 標的組織の情報収集
  2. 信頼性の高いフィッシングメールの作成
  3. 悪意のあるマクロ付きExcelファイルやPDFを添付
  4. 特定の従業員(IT部門やシステム管理者)を狙った送信
  5. 添付ファイル開封による初期アクセス獲得
  6. 端末内の情報収集(ローカル認証情報、ネットワーク構成情報等)
  7. 権限昇格を試行
  8. 内部ネットワークへの展開
  9. データの暗号化と外部への持ち出し

このシナリオでは、初期アクセスから内部侵入、データ窃取までの一連の攻撃チェーンを検証し、各段階での防御策の有効性を評価します。

【関連記事】フィッシング詐欺とは?具体的な手口や被害に遭わないための対策

調査対象への攻撃を実施する

作成したシナリオに基づき、実際の攻撃者が使用するツールや技術を用いてシステムへの侵入を試みます。

まず「フットプリンティング」と呼ばれる情報収集から始め、IPアドレス範囲やサービス種類などの基本情報を把握します。

その後、収集した情報をもとに、既知の脆弱性を検証して攻撃を行うのが基本的な流れです。

侵入に成功した場合は、権限の昇格や内部ネットワークへの展開など、攻撃の連鎖を検証します。

この「攻撃の連鎖」を追跡することで、初期侵入後の被害拡大を防ぐセキュリティ対策の有効性も評価できます。

テストの報告書を作成する

発見された脆弱性や侵入経路、実際に到達できた資産などを詳細に記録した報告書を作成します。

効果的な報告書は技術的詳細だけでなく、ビジネスへの影響や具体的なリスクを分かりやすく伝える内容が重要です。

各脆弱性に対してリスク評価を行い、「即時対応が必要な重大な脆弱性」「計画的に対処すべき中程度のリスク」などと優先度を明確に区分します。

また、テスト後の対応についても言及し、検出された脆弱性への対策やシステムの運用方法の変更などの提案を行います。

見つかった脆弱性の修正、対策の強化、対応体制の整備により、組織のセキュリティを継続的に高めることが可能です。

ペネトレーションテストサービスの選び方

セキュリティ強化に向けたペネトレーションテストの効果を最大化するには、適切なサービス提供者の選定が必要です。

専門性、実績、報告の質、サポート体制など多角的な視点から評価することが求められます。

実績と経験豊富な専門チームの有無を確認する

まずは、過去の実績や業界での評判を確認しましょう。多様なシステム環境でのテスト経験を持つチームを選定することが重要です。

例えば、同業他社での実績や特定業界のシステムに対する知見があるかどうかを確認すると良いでしょう。

また、発見した重大な脆弱性の事例や過去のテストで得られた成果について、具体的に質問することも有効です。

報告書の質と具体的な改善提案の内容を評価する

単なる脆弱性リストではなく、ビジネスリスクの観点から優先度付けされた実用的な報告書を提供できるかを確認します。

理想的な報告書には、各脆弱性の技術的詳細だけでなく、ビジネスへの影響度や悪用される可能性も含まれています。

サンプル報告書を事前に確認し、その分かりやすさや情報の充実度を評価することも選定の重要なステップです。

緊急時のサポート体制と事後フォローの充実度

重大な脆弱性が発見された場合の緊急報告体制や、対応支援の仕組みが整っているかを確認しましょう。

テスト中に重大なセキュリティリスクが見つかった場合、最終報告を待たずに即時通知する体制があると安心です。

また、発見された脆弱性への対応方法について、技術的なアドバイスを提供してくれるかどうかも重要な選定基準となります。

特に高リスクの脆弱性に対しては、緊急対応のための技術支援が受けられるサービスが望ましいでしょう。

テスト手法とカバー範囲が自社ニーズに合致しているか

自社システムの特性や業界特有のリスクに対応したテスト手法を提供できるかを確認することが重要です。

Webアプリケーション、クラウド環境、IoTデバイス、モバイルアプリなど、テスト対象に応じた専門知識と手法が必要です。

例えば、金融機関であれば特定の規制要件に準拠したテスト方法が提供できるかを確認しましょう。

また、社内システムと外部公開システムの両方をカバーできるかなど、必要なテスト範囲をすべて満たせるかも重要なポイントです。

費用対効果と自社のセキュリティ予算とのバランス

テスト費用と得られる成果のバランスを考慮し、自社のセキュリティ予算に見合ったサービスを選択します。

ペネトレーションテストの費用は範囲や深度によって大きく異なるため、必要なカバレッジと予算のバランスが重要です。

長期的にセキュリティレベルを向上させることができるかなど、投資効果を最大化する視点も必要です。

GMOサイバーセキュリティbyイエラエのペネトレーションテスト(侵入テスト)を紹介

GMOサイバーセキュリティ byイエラエ

(引用:GMOサイバーセキュリティbyイエラエ

GMOサイバーセキュリティbyイエラエ」では、高い専門性と知識を持ったホワイトハッカーによるペネトレーションテストのサービスを提供しています。

対象システムの特性や想定される脅威から攻撃シナリオ(攻撃の起点とテストのゴール)を設定しホワイトハッカーが疑似的なサイバー攻撃を行い現在のセキュリティ対策の有効性やリスクを評価します。

CSIRTの対応能力の向上やSOCの検知精度の確認、パスワード強化などの社内セキュリティ意識の向上におすすめです。実績も豊富な「GMOサイバーセキュリティbyイエラエ」で、御社のセキュリティ向上に努めましょう。お気軽にお問い合わせください。

まとめ

この記事では、ペネトレーションテストの概要や種類、メリット・デメリット、実施手法、基本的な流れについて解説しました。

ペネトレーションテストは、実際の攻撃者視点から脆弱性を検証することで、机上の理論では見つからない実践的な問題点を発見できる有効なセキュリティ対策です。

テストの手法や型式を適切に選択し、シナリオ作成から報告書作成までの流れを理解しておけば、効果的なセキュリティ強化が可能となります。

サイバー攻撃のリスクからシステムを守りたい企業様は、「GMOサイバーセキュリティbyイエラエ」のペネトレーションテストサービスをご検討ください。

高い専門性を持つホワイトハッカーによる実践的なテストを通じて、企業様のセキュリティ対策強化をサポートいたします。

文責:GMOインターネットグループ株式会社