ペネトレーションテストとは、具体的な攻撃シナリオを元にテスト対象となるシステムへの侵入(=ペネトレーション)を試みることで、当該システムや組織の攻撃耐性を確認するテストのことです。本記事では、ペネトレーションテストの概要や目的、4つのメリットなどを説明した上で、実際のテストのやり方や種類、テストサービスの比較ポイントなどを紹介します。また、同じくセキュリティ診断の一種である脆弱性診断とも比較してわかりやすく解説するので、「ペネトレーションテストが自社に必要なのかわからない」、「ペネトレーションテストと脆弱性診断の違いが知りたい」、といった方々の参考になれば幸いです。
- ペネトレーションテストの5つのフェーズ
- ペネトレーションテストサービスの比較ポイント
・OSCP(Offensive Security Certified Professional)
・CEH(Certified Ethical Hacker)
・IWHC(IACS White Hacker Certification)
ペネトレーションテストとは?
ペネトレーションテストの概要
そもそも「ペネトレーション」とは、「侵入」や「貫通」などの意味を持つ「penetration」という英語の言葉から来ています。そしてペネトレーションテストとは、この英語の意味が示す通り、テスト対象となるシステムへの侵入(=ペネトレーション)を試みて、システムや組織の攻撃耐性を検証するテストです。
ペネトレーションテストでは、「ペンテスター(ペネトレーションテスター)」と呼ばれるテスト実施者が攻撃者の目線に立って具体的な攻撃シナリオを作成し、それを元に擬似的な攻撃を実施します。そしてその過程で、システム内に脆弱性・弱点がないかや、導入されているソリューションが効果的に機能しているかどうかを確認します。また、実際に攻撃を受けた場合にどの程度の被害が想定されるのかを明らかにすることも目的の1つです。
ペネトレーションテストの対象
ペネトレーションテストの対象としては、主に以下のようなものがあります。
・Webアプリケーション
・ファイアウォール
・ルーター
・侵入検知システム
・OS
・インターネットに接続されているサービス
・内部ネットワーク・システム
・無線LANインフラ など
ペネトレーションテスト実施のタイミング
システムやサービスへのペネトレーションテストは、多くの場合その運用開始後〜運用中のタイミングで行われます。設計段階で実施することもあり得ますが、運用した結果問題点が顕在化する場合もあるため、システム構築直後よりは、運用開始から一定期間が経過しているシステムを対象とした方が高い効果が見込めるとされています。
ペネトレーションテストの費用
ペネトレーションテストの費用は、ベンダー、ツール、テストする攻撃シナリオの数、テスト対象となるシステムの規模、テスト実施者のスキルなどによって変わってくるため一概には言えません。数十万円で済む場合もあれば、数千万円ほどかかることも考えられます。
ペネトレーションテストの目的と4つのメリット
ペネトレーションテストの目的・必要性
ペネトレーションテストの主な目的は、明確な意図(認証情報の窃取、マルウェアの展開など)を持った攻撃者がその目的を達成することが可能であるかを調べることと、それにより自組織の攻撃耐性を検証したり、セキュリティ上の問題点や脆弱性の有無などを確認したりすることです。弱点や脆弱性を、実際の攻撃者によって発見されてしまう前に特定することができれば、事前に重要なシステムや情報を守るための防衛戦略を講じることが可能になります。
また、ペネトレーションテストは1回実施すればそれで終わりというわけではありません。テスト実施後にはその結果を踏まえてさまざまな改善策を講じることになりますが、改善策の効果を確かめるため、再度の実施が必要になります。頻度としては、年1回程度が望ましいとされています。
ペネトレーションテスト実施のメリット
企業がペネトレーションテストを実施するメリットとしては、主に以下の4点が挙げられます。
①攻撃者に悪用され得る脆弱性や弱点を特定できる
特定された脆弱性や弱点に対処することで、サイバー攻撃を受けるリスクを軽減させることができます。このような改善策の実施は、顧客やステークホルダーからの信頼が高まることにもつながります。
②現状のセキュリティ体制を検証できる
ペネトレーションテストでは、ペンテスターによる擬似攻撃をSOC※(システムに対する脅威の監視や分析などを行う専門チーム)や導入済みソリューションが検知できるかどうかや、早期に対応できるかどうかが試されることになります。企業はその結果を踏まえて検知の精度を確認したり、ソリューションの効果を検証したりすることができます。
※SOCについてはこちらの記事で概要を紹介しています:「CSIRTとは?役割やSOCとの違い、構築のプロセスについて解説」
③実際の攻撃を受けた場合の被害を想定できる
テスト結果をもとに、実際に攻撃を受けた場合に生じ得るリスクを把握したり被害の程度を想定したりすることができます。これにより、万が一の場合に事業継続性を確保するための対策を事前に策定することが可能になります。
④コンプライアンス要件に準拠できる
一部のセキュリティ認証/規格(PCI DSS等)や一部のプライバシーなどに関する海外の法律では、定期的にペネトレーションテストを実施することで要件に準拠することができる場合があります(※)。
※PCI DSSについて詳しくは、こちらの解説記事をご覧ください:「PCI DSSとは?12の対応要件や準拠までの流れをわかりやすく解説」
ペネトレーションテストの実施が必要な企業
前述の通り、PCI DSSなどへの準拠が求められる企業(クレジットカード情報を扱う企業など)は、ペネトレーションテストの実施が必要になることがあります。
またそれ以外の企業でも、以下のいずれかに該当する場合はペネトレーションテストの実施を検討してみることをお勧めします。
・組織のセキュリティ対策が機能しているか確認したい
・導入しているソリューションの効果を確かめたい
なお、上記の目的やメリットからもわかるように、ペネトレーションテストはセキュリティシステム全体を対象とし、運用状況なども含めて攻撃耐性を検証するテストです。そのため、まだセキュリティ体制が整っていない企業よりも、ある程度成熟したレベルのセキュリティ体制を持つ企業が実施する場合の方が高い効果を期待できます。
ペネトレーションテストと脆弱性診断の違い
ペネトレーションテストとよく比較されるセキュリティ検査の1つに、脆弱性診断があります。両者にはどのような違いがあるのでしょうか?
脆弱性診断とは?
そもそも脆弱性診断とは、ソフトウェアやサーバー、アプリケーション等に脆弱性がないかを調べる診断のことを言います。専用ツールを使った診断や専門家による手動診断、またはツールと手動を組み合わせた診断を行い、攻撃者に悪用される恐れのある脆弱性がないかを調べます。
脆弱性診断には、大きく分けて、①サーバーやネットワーク機器などを対象とするプラットフォーム診断、②Webアプリケーションを対象とするWebアプリケーション診断、③スマホアプリケーションを対象とするスマホアプリ診断、の3種類があります。
ペネトレーションテストと脆弱性診断の比較表
脆弱性診断もペネトレーションテストもセキュリティ上の弱点を調べるものであるという意味では似ていますが、手法や目的などが異なります。
タイプ | ペネトレーションテスト | 脆弱性診断 |
目的 | 侵入や情報窃取などの特定の目的が達成可能かどうかを調査し、攻撃耐性やセキュリティ上の問題点の有無などを確認すること。 | 脆弱性やセキュリティ上の弱点を網羅的に特定すること。 |
手法 | 攻撃者が実際に使用するツールや脆弱性、技術等を用いて一定期間内に目的が達成できるかどうかを調べる。 | 擬似的な攻撃の通信(必要最低限の量)を行うことで、脆弱性の有無を確認する。 |
調査対象 | システム、人、組織、ルールを調査対象とし、その組織が持つすべてのシステム、もしくは指定されたシステム全体に対してテストを実施する。 | システムを調査対象とし、指定されたWebアプリケーションやIPアドレスごとに診断を行う。 |
調査期間 | 比較的長い。5日〜1か月程度(1か月以上かかる場合もあり)。 | 比較的短い(ツール診断であれば1日で済む場合もあるが、手動診断の場合は数日〜数週間)。 |
脆弱性診断について詳しくは、こちらの記事もご覧ください:「脆弱性診断とは?やり方や診断内容、ツールの比較ポイントまで解説!」
ペネトレーションテストのやり方と種類
ペネトレーションテストのやり方
ペネトレーションテストは、「ペンテスター」と呼ばれる専門家によって行われます。ペンテスターは、ペネトレーションテスト用のツールを用いたり、自らの技術を手動で駆使したりしてテスト対象への侵入を試みます。
※なお企業が単独でペネトレーションテストを実施するケースはほとんどなく、セキュリティベンダーなどが提供するペネトレーションテストサービスを利用する形で行うのが一般的です。
ペネトレーションテストの5つのフェーズ
ペネトレーションテストの具体的な実施方法は想定する攻撃シナリオやテスト手法などによって異なる場合があるものの、おおまかに①偵察・情報収集、②スキャン、③脆弱性アセスメント、④エクスプロイト(悪用)、⑤報告、の5段階に分けて考えることができます。
①偵察・情報収集:ペンテスターはまず、テスト対象のシステムに関する情報(ネットワークの接続形態、OS、アプリケーション、ユーザーアカウントの情報など)を集め、攻撃戦略や攻撃シナリオを練ります。
②スキャン:次に、ツールなどを利用してオープンポート(攻撃の侵入口となり得る)がないかを調べ、ネットワークトラフィックをチェックします。
③脆弱性アセスメント:①、②のフェーズで得た情報をもとに、脆弱性や弱点となり得る箇所を特定し、悪用可能かどうかを判定します。
④エクスプロイト(悪用):ツールを利用するなどして脆弱性の悪用と対象システムへの侵入を試みます。侵入に成功した場合は、同一ネットワーク内での横移動(ラテラルムーブメント)が可能かどうかも確かめます。
⑤報告:テスト終了後、ペンテスターはテスト実施の中で発見した事項や得られたデータを文書にまとめ、報告します。
想定される脅威や攻撃シナリオ
ペネトレーションテストは具体的な攻撃シナリオをもとにして行われますが、このシナリオの例としては、以下のようなものが挙げられます。
・マルウェアを含むフィッシングメールによって認証情報が盗まれる
・Webアプリケーションの脆弱性が悪用され、顧客の個人情報を含むデータベースなどに侵入される
・クラウドの設定ミスを突かれ、クラウド内に保存されていたデータが盗まれる
・宅配業者や清掃業者などを装う悪意ある第三者に物理的にオフィスへ侵入され、ゲストWi-Fiなどから企業ネットワークに侵入される
など
ペネトレーションテストの種類と手法
ペネトレーションテストの種類
ペネトレーションテストは大きく分けて内部、外部の2種類があります。
✔️ 内部ペネトレーションテスト:攻撃者がすでに自社環境の内部に侵入していると想定して実施するテストです。
✔️ 外部ペネトレーションテスト:攻撃者が外部から内部システムへの侵入を試みると想定して実施するテストです。
またテスト対象ごとに以下のように分類することも可能です。
・ネットワーク・ペネトレーションテスト
・Webアプリケーション・ペネトレーションテスト
・ワイヤレス・ペネトレーションテスト
・IoT・ペネトレーションテスト
・OT(オペレーショナルテクノロジー)・ペネトレーションテスト
・クラウド・ペネトレーションテスト
・データベース・ペネトレーションテスト
・SCADA・ペネトレーションテスト
・ソーシャルエンジニアリング・ペネトレーションテスト
・モバイルデバイス・ペネトレーションテスト
ペネトレーションテストの手法
ペネトレーションテストの手法は、大きく分けて以下の2種類です。
ホワイトボックステスト
テスト対象となるシステムの情報をすべて事前にペンテスターに共有してテストを行う手法です。この手法では、ソフトウェアの既知の脆弱性やよくある設定ミスなどを比較的短時間で効率的に検出することができます。システムの情報を伝えた状態で実施するため、テスト結果の現実味や精度はブラックボックステストに比べて劣る可能性があります。
ブラックボックステスト
ペンテスターに対象システムの情報を伝えずにテストを行う手法です。この手法では、未知の攻撃者によってもたらされ得る現実的なリスクを、ホワイトボックステストに比べてより正確に特定することができます。ただ、事前に情報が共有されないがゆえに指定のテスト期間内に脆弱性を発見できないことも考えられます。
このほか、ホワイトボックステストとブラックボックステストを組み合わせた「グレーボックス」という手法が使われる場合もあります。
ペネトレーションテストサービスの選び方
ペネトレーションテストを効果的に実施するためには、攻撃者目線で最新の手法などを研究しているペンテスターの存在が必要になります。このため、自組織のみで有意義なテストを実施するのは難しく、セキュリティベンダーが提供するペネトレーションテストサービスを利用する形で行うのが一般的です。
では、ペネトレーションテストサービスはどのような点を考慮して選定すればいいのでしょうか?
ペネトレーションテストサービスの選び方
ペネトレーションテストサービスや、テストサービスを提供するベンダーは多数存在しています。その中から自社に適したものを選ぶためにはまず、以下の3点を明確にしておく必要があります。
・テスト実施の目的
・テストの対象範囲
・予算
ペネトレーションテストサービスの比較ポイント
上記を明確にした上で、サービス/ベンダーの選定に移ります。各サービス/ベンダー自体の特徴や仕様など(対応するシステムや攻撃シナリオの数・種類など)はもちろんのこと、それ以外にも以下のような点を比較してみることをお勧めします。なお、これらの情報はベンダーのホームページを見ただけで入手できるとは限らないため、問い合わせ時や見積もり依頼時にベンダーに直接確認する必要があるかもしれません。
認定資格やセキュリティ認証取得の有無(CREST、ISMSなど)
ペネトレーションテストベンダーが精度の高いテストを提供してくれるかどうかや、情報セキュリティの面で信頼できる組織かどうかを判断するための1つの指標として、認定資格やセキュリティ認証の取得有無が挙げられます。
例えば、CREST(情報セキュリティ市場で提供されるサービスの技術的な専門性を保証するために設立された非営利団体)から認定を付与されたベンダーや、OSCPなどの認定資格(※)を得たペンテスターを擁するベンダーは、ペネトレーションテストにおける能力や経験を十分に有していると考えることができます。
また、セキュリティ認証であるISMS認証を取得しているベンダーは、一定レベル以上の情報セキュリティ体制が整備された組織であるとみなすことができます。
※OSCPなどのペネトレーションテスト関連の資格に関して、詳しくは次のセクションで紹介しています。
サポートの充実度
テスト実施前後にミーティングなどを設定してくれるのか、またはメールでの連絡のみなのか、ただテスト結果を伝えるだけなのか、または改善策や対策も提供してくれるのか、といった点も比較のポイントとなります。これに加えて、ペネトレーションテストは毎年行うのが望ましいことから、ベンダー側の担当者が長期間ストレスなく付き合えるような相手かどうかという相性の部分も重要です。
レポート
テスト後に提供されるレポートの内容も、サービス選定時にチェックしておくべきポイントの1つです。例えば、以下のような点を確認しておくことをお勧めします。この際、サンプルレポートを見せてもらえるか尋ねるのも有効です。
・技術的知識を持たない社員(例えば経営層など)にも理解できるようなレポートを書いてくれるか。
・自社へのリスクや影響の度合いを理解するのに十分な、詳しい脆弱性情報を提供してくれるか。
・(一般的なものではなく)自社の環境に合わせた改善策・対策を説明してくれるか。
価格(費用)
当然ながら、サービスの価格も重要な比較ポイントです。単に安価か高価かだけではなく、価格とサービス内容/サポート充実度とのバランスなどを踏まえ、費用対効果の面も検討する必要があります。
IPAの情報セキュリティサービス基準適合サービスリスト
上記に加え、ペネトレーションテストのベンダーを選定する際には、IPAが提供しているリストを参照することもお勧めします。IPAでは、経済産業省が策定した「情報セキュリティサービス基準」に適合する情報セキュリティサービスの提供状況について調査を行い、利用者が参照することができるようにその調査の結果を「情報セキュリティサービス基準適合サービスリスト」として公開しています。その中の「脆弱性診断サービス」のリストにペネトレーションテストサービスもいくつか掲載されているので、これを選定時の参考にすることが可能です。
ペネトレーションテストに関連する資格
先ほども少し触れましたが、ペネトレーションテストに関連する資格としては以下のようなものがあります。
OSCP(Offensive Security Certified Professional)
OSCP(Offensive Security Certified Professional)とは、米国企業Offensive Security社が提供しているペネトレーションテストに関する民間資格で、実技試験に合格すると取得することができます。OSCP合格のためには、攻撃対象として用意されたサーバーへ侵入して特権昇格(乗っ取り)を行う技術力を持っていることを証明する必要があり、サイバー攻撃・防御に関わる広範な知識が求められます。
CEH(Certified Ethical Hacker)
CEH(Certified Ethical Hacker:認定ホワイトハッカー※)は国際的な情報セキュリティ資格で、EC-Council(電子商取引コンサルタント国際評議会)が資格の認定を行っています。最新のハッキングの技術、ツール、手口、情報セキュリティ対策などに関する知識を問う選択式の筆記試験(CEH試験)と、実際の技術が試される実技試験(CEH Practical試験)に合格することでCEHの認定を得ることができます。
※ホワイトハッカーとは、主に政府や企業などのために働く、法律に沿ってセキュリティ目的でハッキング技術を使用する技術者のことを指します。
IWHC(IACS White Hacker Certification)
IWHC(IACS White Hacker Certification)は、ホワイトハッカーとしてサイバー攻撃を行い、相手の脆弱性を突くことができる能力があることを証明する資格です。資格の認定は、日本の一般社団法人である国際サイバーセキュリティ協会(IACS)によって行われています。
まとめ
ペネトレーションテストは、明確な意図を持った攻撃者によってその目的が達成されうるかを、擬似的な攻撃を実施することによって確認するセキュリティ検証手法です。自社で行っているセキュリティ対策がきちんと機能しているかを確認したい企業や、導入しているウイルス対策ソフトやソリューションなどの効果を確かめたい企業には、ペネトレーションテストの実施を検討してみることをお勧めします。
【ペネトレーションテストにも対応!】マキナレコードのセキュリティコンサルサービス
株式会社マキナレコードでは、セキュリティ体制の構築支援、規程・ガイドラインの策定支援、ISMSやPマークなどの認証取得支援など、コンサルティングサービスを幅広く提供しています。
また、ペネトレーションテストや脆弱性診断などの各種セキュリティ診断を専門に扱うパートナー企業のご紹介も行っています。
<対応可能な診断>
✅ ペネトレーションテスト
✅ Webアプリケーション診断
✅ スマホアプリ診断
✅ クラウドやプラットフォームの診断
上記の診断の中から、お客様のシステム状況に応じて現時点で最も必要な診断をご提案いたします。また、診断結果を受けてどう対応を実施していくかに関して、優先順位の決定や対応可否の判断といったフォローも行います。
セキュリティ診断サービスについて詳しくは、弊社のホームページをご覧ください。
Writer
2015年に上智大学卒業後、ベンチャー企業に入社。2018年にオーストラリアへ語学留学し、大手グローバル電機メーカーでの勤務を経験した後、フリーランスで英日翻訳業をスタート。2021年からはマキナレコードにて翻訳業務や特集記事の作成を担当。情報セキュリティやセキュリティ認証などに関するさまざまな話題を、「誰が読んでもわかりやすい文章」で解説することを目指し、記事執筆に取り組んでいる。