近年サイバー攻撃の手法が多様化しており、対策なしで攻撃を防ぐことは難しくなっています。よく知られている対策としては、セキュリティソフトを導入することや脆弱性診断を行うことが挙げられます。しかし、実際にハッカーから攻撃されることを想定する場合には、「ペネトレーションテスト」が特に有効です。今回はペネトレーションテストについて解説します。
ペネトレーションテストとは
「ペネトレーションテスト」は、テスト対象となるシステムやサイトに実際に攻撃を行い不正侵入を試みることで、サイバー攻撃への耐性がどれくらいあるかを確認するテストのことです。
テスト依頼者から許可を得たホワイトハッカー(※1)がハッキング技術や攻撃ツールを用いてシステムへの侵入を試み、侵入可能な箇所があるか、侵入を受けた際にどの範囲に影響が及ぶか、等を調査します。
「ペネトレーション (penetration)」は日本語に訳すと侵入という意味であるため、ペネトレーションテストは「侵入テスト」とも呼ばれます。
(※1)コンピュータやネットワークに関して高い知識や技術を持ち、その技術を脆弱性の発見や攻撃方法の予測などの良い目的で用いる人。
ペネトレーションテストの目的
ペネトレーションテストの目的は、システムやサイトに侵入して悪影響を与えることができるかを確かめ、悪意のある攻撃を受けた際の被害を最小限にすることです。
例えば、会員登録制のECサイトに対してホワイトハッカーが侵入を試みたところ、下記2つのことに成功したとします。
①一人の会員のアカウントを乗っ取る。
②そのアカウントを踏み台にして、内部データに侵入することで、全ての会員の氏名・住所・クレジットカード番号を不正に入手する。
この結果から、現状のセキュリティ体制では①個人のアカウントに不正に侵入される可能性があることと、②内部データに侵入され、顧客情報を抜き取られる可能性があることがわかります。この情報を基にセキュリティ体制をアップデートすることで、悪意のあるハッカーが同じような手段で攻撃を試みたとしても、被害を防ぐことができます。
ペネトレーションテストの種類
ペネトレーションテストは、テスト対象の性質によって「外部ペネトレーションテスト」と「内部ペネトレーションテスト」に分けられます。
外部ペネトレーションテストは、インターネットなど一般に公開されているネットワークからアクセス可能なシステムを対象としたテストです。攻撃者が外部から侵入する場合を想定してテストを実施します。
内部ペネトレーションテストは、社内サーバーやセキュリティシステム等、通常外部からアクセスできないシステムを対象としたテストです。何らかの手段で外部から侵入された場合や、内部の人から攻撃を受けた場合を想定してテストを実施します。
外部からの侵入経路を発見し対策できるという点で外部ペネトレーションテストは重要です。さらに近年メールにウィルスを添付するなどの手段で、内部ネットワークに侵入する事例も増えているため、内部ネットワークに侵入された場合にも機密情報を守るために内部ペネトレーションテストも重要となっています。
脆弱性診断との違い
ペネトレーションテストは、システムのサイバー攻撃耐性を確認するという点で脆弱性診断とよく似ており、しばしば混同されます。しかし一般的に脆弱性診断とペネトレーションテストには、以下のような違いがあります。
ペネトレーションテスト | 脆弱性診断 | |
---|---|---|
目的 | ・実際の攻撃に対する脆弱性の特定。 ・システム侵入による影響範囲の確認。 | システムの脆弱性(※2)の特定と重要度のランク付け。 |
手法 | 専門家がツール等を用いて、 想定される攻撃を実際に再現する。 | 自動ツールや専門家の手動テストによって脆弱性を検知する。 |
調査範囲 | 検証内容によって異なる。 | システム全体を網羅的に調査する。 |
(※2)ハッカーやコンピュータウィルスが、システムに攻撃する際の隙となるバグやセキュリティ上の欠陥。
脆弱性診断では、システム全体の脆弱性について確認することができますが、実際にシステムに侵入された際にどの程度影響があるかについては確認できません。システムが重要な情報を取り扱っており外部からの侵入が考えられる場合には、ペネトレーションテストを優先して行うなど、状況に応じて使い分ける必要があります。
脆弱性診断について詳しく知りたい方は、こちらの記事をご参考ください。
【脆弱性診断とは?必要性や費用も解説】ー脆弱性診断でよくあるお悩みー
ペネトレーションテストを実施する際のポイント
・テスト実行者(ホワイトハッカー)の技術レベルに効果が左右される。
ペネトレーションテストは、実際にテスト実行者がハッキングを行いシステム内に侵入するという性質上、テストの精度は実行者の実力に大きく左右されます。テストを行い発見した脆弱性を全てなくしたとしても、実行者よりも技術レベルの高いハッカーに新たな脆弱性を発見され、システムへの不正侵入を許してしまう可能性があります。テストを依頼する場合には、依頼先の専門家が充分な技術を持っているかを確認することが必要です。
・ツールを用いて自身で実施することが可能。
現在、ペネトレーションテストをサポートするツールがいくつも開発されており、専門家に依頼せずともテストを行うことが可能です。ツールによって確認できる範囲は様々ですが、一つのツールであらゆる攻撃のシュミレーションを自動で行うということはできません。そのため専門家に依頼せずツールを用いてテストを行う場合には、テスト実行者に一定以上の知識があることが求められます。
・テスト結果から多重に対策を施すことが効果的。
ペネトレーションテストを行うことで、侵入後の被害を拡大させるシステム内部の脆弱性も発見することができます。その結果を参考に、侵入させないために脆弱性をなくすだけでなく、万が一侵入された場合にも被害を最小限に抑えられるように機能を修正することで、よりシステムのサイバー攻撃耐性を高めることができます。
まとめ
「ペネトレーションテスト」とは、テスト対象に実際に攻撃を行い不正侵入を試みることで、サイバー攻撃への耐性がどれくらいあるかを確認するテストのことです。
脆弱性診断とよく似ていますが、目的・手法が異なるため場面に応じて使い分けることで、システムの安全性を効率的に高めることができます。
株式会社GENZでは、ペネトレーションテストも含めたITに関するお困りごとに幅広く対応しております。システムへのサイバー攻撃を防ぎたいけれど、何を行えばよいかわからない、という場合でも大丈夫です。テスト経験豊富な専門家がお客様のシステムに合ったテスト実施案を提案させていただきます。システムの機能に関するテストと、セキュリティに関するテストを一括でご依頼いただくことも可能です。
GENZと共にお客様のシステムをより良いものにしてみませんか。