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

Share

ペネトレーションテストとは、主に企業ネットワークや、Webアプリケーションなどに不正に侵入することができるかどうかをテストすることです。英語の「 penetration 」には「貫通」、「 penetrate 」には「貫く」「見抜く」などの意味があります。「ペンテスト」と略されたり、「侵入テスト」と呼ばれることもあります。

サイバー攻撃者はまず不正侵入し、その後、情報を盗んだり、バックドアを仕掛けたり、あるいは破壊工作などを行います。それらすべての端緒となる不正侵入を許すかどうかを調べるのが、ペネトレーションテストの役割です。

ペネトレーションテストが必要な3つの業種

脆弱性診断の結果見つかった脆弱性を悪用して、攻撃が本当に成功するのかを検証するために、ペネトレーションテストが実施されることがあります。あくまで一般論ですが、ペネトレーションテストが必要な業種や事業として、以下の3つが挙げられます。

1.生命・生活に直接影響を与える事業やサービス
第一に、生命や生活に影響を及ぼす業種が挙げられます。具体的には、水道・電気・ガス・道路・交通等の社会インフラや、病院、ビル管理、工場のシステムなどです。

2.資産に影響を与える個人情報を扱うサービス
個人情報を保有する事業やサービスにも、ペネトレーションテストが必要な場合が多いでしょう。とりわけ銀行や証券会社、クレジットカード、仮想通貨取引所などの金融、大規模なWebサービスやECサイト、住民データを扱う自治体や官公庁などが挙げられます。

3.事業継続に影響を与える機密情報を扱うシステム
重要な営業機密や知的財産を保有する企業もペネトレーションテストの実施が望ましいといえるでしょう。

特に、クローズモデルの知財戦略に基づいて特許を取得しない方針の企業が、サイバー攻撃によって機密情報を盗まれ、他の企業に国内外で特許申請・取得された場合、事業継続に関わる重大な影響が懸念されます。

また、データ自体に価値はあるが、特許法や不正競争防止法では保護対象とならないようなデータについては、セキュリティ対策によって保護を図る必要があります。

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

ペネトレーションテストと脆弱性診断には共通する部分があるため、違いがよく理解されていません。特によく見られる勘違いは、「ペネトレーションテストをやりたい」という要望だったものの、ヒアリングしてみると、実際にはペネトレーションテストでなく脆弱性診断が必要であった、というケースです。

以下に「対象」「目的」「範囲」、必要な「期間」の4つの観点から、ペネトレーションテストと脆弱性診断の違いを示します。

ペネトレーションテスト脆弱性診断
対象脆弱性診断同様、ネットワークやWebアプリケーションを対象にしますが、ときに警備員をあざむいて建物に侵入できるかどうか等の物理的侵入テストが行われることもあります。ネットワークやWebアプリケーションが対象となります。
目的脆弱性診断は脆弱性を発見して報告することが主な業務ですが、ペネトレーションテストは脆弱性をもとに不正アクセスし、ネットワーク等に侵入することが目的となります。 脆弱性を検知・検出すること。
範囲広い範囲の網羅性を重視する脆弱性診断と異なり、ペネトレーションテストは侵入することが目的であるため、脆弱性診断とは反対に、狭く深く、ときに針の穴のような侵入できる一点を探します。 広く網羅的に脆弱性の有無を探します。
期間ペネトレーションテストは、とにかく侵入が成功するまでトライし続ける作業であるため、脆弱性診断よりも長い期間を要する場合が少なくありません。ただし、一般論として、優秀なペネトレーションテストサービスであればあるほど、短い期間で侵入が成功します。 探すものが事前に決まっているためペネトレーションテストよりも通常は短い期間で完了します。

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

ペネトレーションテストサービスは提供する企業によってそれぞれ個性がありますが、大きく分けると下記の手順で実施されます。

Step1.ヒアリング

目的に応じ、たとえば「顧客データベース」など、ペネトレーションテストを行う対象を決定します。そして「顧客データベース」が外部から攻撃されるのか、あるいは内部犯行なのか、想定する攻撃シナリオを作成し、最後に、ペネトレーションテストを行う期間を決定します。

Step2.実施

対象によってさまざまな実施方法があります。公開されているWebアプリケーションであればリモートから実施することができます。内部犯行の危険性をテストする場合ならオフィス内から実施することもあるでしょう。

Step3.完了

「侵入に成功したとき」あるいは反対に、「侵入に成功できないまま期間が終了したとき」のいずれかをもってペネトレーションテストは完了します。どちらの結果にも意味があります。侵入に成功した場合は、その報告を受けて防御力を高める必要性を認識することになり、侵入に失敗した場合は、一定の防御力を保持できている目安となります。

Step4.報告

ペネトレーションテスト事業者からの報告書提出や報告会が行われます。具体的にどういうプロセスで、どういう技術を用いて侵入し、重要なデータがどこまで閲覧可能だったのか、どんなことができてしまう危険性があったのか、など管理者の気にかかることが詳細に報告されます。


ペネトレーションテスト 日本と海外の違い

海外では本番環境で稼働するシステムに対して、直接攻撃を行うような荒っぽいペネトレーションテストが行われることもありますが、日本国内ではそういったケースは多くありません。日本では業務やサービスの運用への影響を回避しつつ、安全に配慮しながら設計・実施されるのが主流です。

いいペネトレーションテスト会社の選び方

ペネトレーションテストは経験とセンスが求められる仕事であるため、優良事業者選びはとても重要です。前述したとおり「優秀なペネトレーションテストサービスであればあるほど、短い期間でテストが終了(=侵入に成功)」します。ペネトレーションテストの見積額はエンジニアの拘束時間とも相関しますので、予算にもかかわってきます。大きく以下の3つのポイントを、いいペネトレーションテスト会社選びの参考にしてください。

1.丁寧なヒアリングにもとづいてシナリオを考えてくれるか

システム構成や業務手順、ときには組織構成など、実際のサイバー攻撃を行う際に参照するとされる、さまざまな情報をもとにして、実施するサービスの適用範囲、留意事項、制限などを聞き、顧客の目的や要望、要件に沿ったペネトレーションテストの攻撃シナリオを考えてくれる会社を選びましょう。

2.技術者の経験と勘、クリエイティビティ

ペネトレーションテストはときに針の穴を通すような隙間を見つけ出して侵入を成功させる業務です。技術者のこれまでの経験、保有資格などを確かめ、技術者の層が厚い会社を選びましょう。

3.診断実績

過去のペネトレーションテストの実施社数や件数、リピート社数なども、いいペネトレーションテスト会社選びの参考になります。

ペネトレーションテストのツール

ここまで述べてきたとおりペネトレーションテストとは、丁寧なヒアリングのもとで作成した攻撃シナリオに基づいて、経験豊かな技術者が実施するクリエイティブな手作業です。ペネトレーションテストをすべて自動で行うツールは存在しません。

ただし、ペネトレーションテストを行う技術者が、いわば「工具」「道具箱」のように用いるツールは数多くあります。代表的なものとして、オープンソースプロジェクトである Metasploit が提供する、さまざまなツール群が挙げられます。

セキュリティ企業に依頼せずに、自分でMetasploit が提供するツールを用いて、公開されている脆弱性などを用いて攻撃を実行することは可能です。しかし、その結果を読み解いたり、優先順位をつけたりするノウハウには経験と知見が必要とされます。

また、自宅に置いたサーバに研究目的でツールを走らせるような場合でも、不用意にこうしたツールを使用したり、不適切な方法で攻撃用のエクスプロイトを取得・保管したりすると「不正アクセス行為の禁止等に関する法律」「不正指令電磁的記録に関する罪(刑法刑法168条の2及び168条の3)」等にも触れる犯罪となる危険性もあることを忘れてはいけません。

ペネトレーションテストの料金相場

ペネトレーションテストの料金は、対象とする範囲や、攻撃シナリオによって変動します。あくまで一般的な相場として「脆弱性診断の1.5倍から2倍」程度、金額として数十万円から数千万円の開きがあります。

脆弱性診断との違いを理解し、いい会社を選ぼう

・ペネトレーションテストはネットワークやWebアプリケーションなどに不正に侵入できるか試すこと
・重要インフラや個人情報を扱う事業、クローズモデルの知財戦略を採る企業はペネトレーションテスト要検討
・脆弱性診断と似ているところもあるが、ペネトレーションテストは目的の異なる別サービス
・事前ヒアリングが丁寧で、優秀な技術者が在籍する、診断実績の多い会社を探す


年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
サービスに関する疑問や質問はこちらからお気軽にお問合せください。

Share