コラム

ペネトレーションテストとは? 脆弱性診断との違いを解説

ペネトレーション
ペネトレーションテストとは? 脆弱性診断との違いを解説

自社のセキュリティ強度を客観的に判断する手法の1つに、攻撃者の視点でシステムへの侵入を試みるペネトレーションテストがあります。ペネトレーションテストで現状の脆弱性を確かめ、攻撃への対策を強化することで、重大なセキュリティインシデントの発生を未然に防ぐことが可能です。では、ペネトレーションテストではどのような手法でテストが行われ、どのようなメリット・デメリットがあるのでしょうか。
本記事では、ペネトレーションテストの意味や種類、混同されがちな脆弱性診断との違いなどについて解説します。

ペネトレーションテストは、自社のセキュリティ強度を評価する方法の1つ

ペネトレーションテストは、自社のセキュリティ強度を評価する方法の1つです。自社が利用しているネットワークやシステムに対して、攻撃者が実行しそうな攻撃を模擬的に仕掛けて、脆弱性の有無や侵入の可否、侵入による被害の程度などを検証します。実際に攻撃をして侵入を試みることから、日本語で「侵入テスト」とも呼ばれることもあります。

ペネトレーションテストで自社のセキュリティ強度を確認することで、自社の経営に大きなダメージを及ぼす可能性がある情報漏洩などのリスクを最小限に抑えることが可能です。日々進化し、複雑化しているサイバー攻撃による被害を最小化するためには、こうしたテストを定期的に実施するのも重要です。

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

ペネトレーションテストの目的は、自社の現時点におけるセキュリティ対策を評価し、攻撃される可能性の有無を確認することです。

サイバー攻撃の種類は多様化し、攻撃手法も日々巧妙化しています。これまで実施してきたセキュリティ対策では太刀打ちできない可能性もあるため、「現在のセキュリティ対策がどのくらい有効なのか」「自社のシステムに脆弱性はあるのか」「脆弱性を攻撃された場合、どのようなことが起こるのか」といった点をあらかじめ検証して対策を見直す必要があるのです。そのために実施されているのがペネトレーションテストです。

ただし、ペネトレーションテストは、システム全体のセキュリティの状況を網羅的に検証・診断するものではありません。ペネトレーションテストを実行する際は、検査対象となるシステムを選び、その構成に応じた攻撃を仕掛けて、特定の攻撃シナリオに対する耐性や効果的な対策を検証します。したがって、検査対象のシステムで実際に発生する可能性の高いサイバー攻撃が特定されていて、そのサイバー攻撃に対する脆弱性や対策を発見・検討したい場合に行われる手法であることを把握しておきましょう。

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

よく混同されるペネトレーションテストと脆弱性診断には、目的、手法、診断に要する期間などに違いがあります。

ペネトレーションテストの目的は、特定のシステムに対して行われる可能性が高い攻撃への耐性を調べて、有効な対策を検討することです。そのため、対象のシステムやネットワークに対して実行されている攻撃手法で侵入を試みて、自社のセキュリティが回避・無効化されるかどうかを確かめます。基本的には手作業で様々な攻撃パターンと検証を繰り返す必要があり、調査に数日から数週間かかるのが一般的です。

一方、脆弱性診断は、既知の脆弱性の特定やランク付けによって、システムのセキュリティを適切に維持することを目的としています。ネットワークやWebアプリケーション、ミドルウェア、OSなど、システム全体を包括的に検査して脆弱性の有無を確かめるため、自動ツールを用いて検証します。ペネトレーションテストに比べてスピーディーで、検査対象ホストあたりでは数分で済むことも珍しくありません。

ペネトレーションテストを行うメリット

ペネトレーションテストを行うメリットは、サイバー攻撃を行う側の視点による個別的、具体的な検証ができることです。

ペネトレーションテストを行う場合、検査したいシステムの構成に沿って検査のためのシナリオを作り、攻撃者が実際に使うツールや手法を駆使して侵入を試みます。これにより、自社の環境を踏まえて、現在のセキュリティ対策の有効性を客観的、効率的に検証することが可能です。
また、結果を検証し、現状の対策が有効でない部分ごとに効果の高いセキュリティ対策を実施することもできるようになります。

ペネトレーションテストを行うデメリット

ペネトレーションテストのデメリットは、テストを行う人に十分なサイバー攻撃の知識がないと、精度が下がることです。

経験や知見の浅い担当者が脆弱性を発見できなかったシステムに対して、経験豊富な担当者がペネトレーションテストを実施して問題点が見つかることもあります。担当者のレベルに検証結果が左右される可能性もあることに注意してください。

より精度の高い検査を求める場合には、外部の専門業者にペネトレーションテストを依頼することも可能です。ただし、ペネトレーションテストの費用は、実施する内容やシステムの規模によって大きく異なり、ベンダーごとの価格設定にも幅があります。依頼内容や依頼先次第では、想定していた以上の見積もりになることも珍しくなく、予算との兼ね合いで判断しなければなりません。
特に、データセンターが複数あったり、国際的なネットワークを使用していたりする場合、費用がかさむ傾向があります。

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

ペネトレーションテストには、内部ペネトレーションテストと外部ペネトレーションテストの2種類があります。それぞれ、下記のように想定する攻撃の内容が異なります。

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

内部ペネトレーションテストは、突破できないはずの内部システムに第三者が侵入したケースや、社内の誰かが悪意を持ってメインサーバーなどに侵入を試みるケースなどを想定し、外部からはアクセスできないシステムや機器を対象として実施するペネトレーションテストです。
対象となるシステムには、アプリケーションサーバー、セキュリティシステム、データベースサーバー、認証サーバーなどがあります。

情報漏洩などの被害は外部からの攻撃によって引き起こされるイメージを持つ人もいますが、実際には内部不正や機器・システムの故障、操作ミスなどが原因で被害が発生するケースも少なくありません。社内外からのすべてのアクセスを信用しないゼロトラストの考え方に即して、内部からのペネトレーションテストも行うことが重要です。

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

外部ペネトレーションテストは、社外の第三者による攻撃を想定して、インターネットを介して外部からアクセスできるシステムや機器に対して実施するペネトレーションテストです。検証の対象となるシステムとしては、Webサーバーやメールサーバー、VPNルーターなどが挙げられます。目的は、外部からの侵入を想定した模擬的な攻撃を行って弱点となり得る場所を特定し、修正することです。

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

ペネトレーションテストは、テスト対象となるシステムの情報を共有するホワイトボックステストか、その情報を共有しないブラックボックステストかのいずれかの手法で行われます。

なお、ホワイトボックステストとブラックボックステストを組み合わせて、一部の情報だけを共有して行うグレーボックステストと呼ばれる手法もあります。

ホワイトボックステスト

ホワイトボックステストは、一般的なシステム開発の現場などでも行われているテストの手法で、プログラムの内部構造を把握した状態で行うペネトレーションテストです。

ホワイトボックステストでは、対象となるシステムの設計書や仕様書などの資料をテストの実施者に提供します。構成や機器の情報をあらかじめ共有して具体的な攻撃シナリオを構築するため、システムの深部にある問題点も発見しやすいのがメリットです。セキュリティレベルを高い精度で把握したいときに適した方法だといえます。

ただし、資料に誤りがあると、正確な結果が得られません。また、テストで必要となる情報量が増えるため、準備に時間とコストがかかります。

ブラックボックステスト

システムの設計書や仕様書などの内部情報を事前に共有することなく実施するのが、ブラックボックステストです。箱の中身がわからないことになぞらえ、ブラックボックスという単語が用いられています。

システムの仕様や構造を知らないユーザー視点のテストであるため、より攻撃者に近い思考でテストできることを期待できます。開発者が予期していない不具合を発見できる可能性も高いでしょう。
ただし、限られた時間内に限られた情報だけでテストをする分、表層的な問題点の発見のみにとどまることが多く、セキュリティシステムの性能までは評価しにくい点に注意が必要です。

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

ペネトレーションテストの流れは、一般的には大きく3つのフェーズに分かれます。それぞれのフェーズで、社内関係者やテストの実施者が下記のような対応を行います。

1.テストに向けたヒアリング・準備を行う

ペネトレーションテストを行う場合、テストに向けたヒアリング・準備を行うことから始めます。テストを行う目的、範囲、手法、脆弱性が発見された場合の対処法などを、関係者全員で共有します。テストが滞りなく進むよう、影響の出る可能性がある部署の関係者には事前に話を通しておいたり、権限を調整しておいたりすることも重要です。

続いて、テスト対象のシステムや機器の環境に応じた適切なテストと分析を行うため、ネットワーク構成、アクセスログの取得状況、個人情報をはじめとした機密情報の保管状況などについて関係者から情報を収集しましょう。

2.攻撃シナリオを作成して侵入できるかテストする

ヒアリングや準備を行ったら、収集した情報を基に考えられる攻撃シナリオを作成し、作成したシナリオに沿って実際にシステムへの侵入を試みます。テストの手法は、評価したい範囲や費用対効果も踏まえて、ホワイトボックステスト、ブラックボックステスト、グレーボックステストのいずれかから選択してください。

時間とコストの許す限り、考えられる様々な攻撃手法を試しましょう。

3.報告書を作成する

ペネトレーションテストを実施したら、テストの実施者がその結果から判明した脆弱性を報告書にまとめます。実施者以外の関係者が見ても理解できるよう、テストの種類や手法、テストを実施した範囲のほか、使用したテストツール、システム環境、評価の仕方とその基準などについても、忘れずに記載します。

ペネトレーションテストの実施者

ペネトレーションテストは、社内チームでツールを用いて実施するか、社外の専門家チームに依頼して実施します。

社内で行うメリットは、専門家に依頼するコストを抑えられることです。ただし、テストを実施する人や検証を担当する人がサイバー攻撃に関する知識が浅い場合、実際にあり得る攻撃を想定しきれず、テストの精度が落ちるかもしれません。また、テストにかかる時間が長くなり、手間もかかる傾向があります。

一方、社外の専門家にテストを依頼した場合、攻撃を受ける可能性が高い手法のテストを満遍なく実施して脆弱性を見つけ出すことができます。費用はかかりますが、社内に専門家がいない場合は社外に依頼するのがお勧めです。

ペネトレーションテストで、サイバー攻撃による情報漏洩を防ごう

セキュリティ対策を徹底しているつもりでも、進化するサイバー攻撃を完全に防ぐのは難しく、深刻なセキュリティインシデントが後を絶ちません。攻撃者の視点で実際に攻撃をして対策を考えるペネトレーションテストの重要性は、さらに高まっていくと考えられます。

「ペネトレーションテストの流れ」の項目の「1. テストに向けたヒアリング・準備を行う」で解説したとおり、ペネトレーションテストを行う場合、個人情報をはじめとした機密情報の保管状況やアクセスログの取得状況といった情報も必要です。IT資産管理ツールがあれば、それらの情報を効率的に管理できるため、ペネトレーションテストに向けた準備でも役立ちます。
インターコムのIT資産管理ツール「MaLion」シリーズでは、個人情報検出・管理システム「P-Pointer File Security」と連携した個人情報の一元管理や、ファイルアクセス・Webアクセスのログ取得機能などを搭載しています。管理している個人情報ファイルに対して、操作を制御することも可能です。
また、「MaLion」シリーズは情報漏洩対策機能も備えており、セキュリティポリシーの設定やポリシー違反者への警告通知などにより、社外のみならず社内の不正操作にも対応できます。社内の情報資産の管理や情報漏洩対策の強化をお考えの場合は、ぜひお問い合わせください。

「MaLion」シリーズのラインアップ
クラウド版 オンプレミス版
MaLionCloud
MaLion 7

関連記事

▲