「システムが攻撃されたときに問題が発生しないか不安」
「ペネトレーションテストによって何を分析できるのか気になる」
開発側で設計したシステムに攻撃して、脆弱性を調べる方法としてペネトレーションテストがあります。テストによりシステムのリスクや侵入経路が分かり、セキュリティを改善できるのが特徴。
この記事ではペネトレーションテストの必要性やセキュリティ診断との違いについて解説します。
ペネトレーションテストとは
ペネトレーションテストはネットワークに接続されたシステムやアプリの脆弱性を調べる手法です。英語では「Penetration Test」と呼び、単語から「侵入テスト」といわれる場合があります。
最近では数多くのシステムがインターネットに繋がっていて、悪意をもった人もシステムにアクセスできます。そのためシステムが攻撃されたときに問題が発生しないよう、開発時にペネトレーションテストを実施するのが一般的です。
開発側がペネトレーションテストを実施するには、ツールを利用する方法と専門家に依頼する方法があります。テストの費用が高くなるほどチェックできる項目が増える傾向です。
テストが必要になる理由
ネットワークに接続されたシステムに脆弱性があると、情報漏洩や動作停止といったリスクがあります。問題なく使い続けられるシステムを提供するにはペネトレーションテストを実施することが必要です。
例えばテストを実施することで、開発側が脆弱性によりシステムからどんな情報を盗み取れるかチェックできます。個人情報や機密情報を取得できる場合、その脆弱性をなくすことでリスクを未然に回避できるもの。
また、大きな負荷をかけたときにシステムが動作停止しないか確認することも重要です。外部からの攻撃に耐えられるシステムであれば、ユーザーが安心してシステムを利用できます。
セキュリティ診断との違い
ペネトレーションテストと似たような手法としてセキュリティ診断があります。それぞれの手法では脆弱性を調べる目的は同じですが、システムを検査する方法が少し異なるもの。
セキュリティ診断ではシステムの全体から脆弱性を探して、リスクがないか分析します。ペネトレーションテストよりも調査範囲が広く、既に知られている脆弱性を明確化するのに最適です。
一方、ペネトレーションテストでは悪意をもった人の攻撃シナリオを想定して、実際に攻撃が成功するのか調査します。そのためシステムにおける特定の脆弱性を見つけるのに最適です。
ペネトレーションテストとセキュリティ診断には脆弱性を調査できる範囲がちがうことを知っておきましょう。
脆弱性診断とペネトレーションテストの比較表
脆弱性診断 | ペネトレーションテスト | |
目的 | 悪用された場合に、システムの意図的または意図的ではない侵害につながる可能性のある既知の脆弱性の特定、ランク付け、および報告。 | システムに侵入し、脆弱性を悪用してシステムコンポーネントのセキュリティ機能を、回避または無効化の可能性の特定。 |
手法 | 自動化ツールと手動プロセスの組合せで検証 | 脆弱性スキャンやその他自動ツールを使用するが、手動プロセス中心の検証 |
期間 | ホスト当りでは、数分程度 | テスト範囲や台数によりますが、数日から数週間 |
ペネトレーションテストを実施する方法
「どのようにペネトレーションテストを実行するのか知りたい」と思う人はいるはず。専門家に依頼してペネトレーションテストを実施する場合、一般的に次のような流れでテストを進めます。
- システムからテスト内容を検討
- 専門家が決定したテストを実施
- テスト結果からレポートを作成
まず、専門家がシステムの構成や状態などの条件を考慮して、実際に行うテストの内容を検討します。ペネトレーションテストの方法としては次のような例があります。
- 外部ペネトレーションテスト:悪意をもった人が外部から攻撃する方法
- ブラックボックステスト:システムの内部を無視して外部から機能を検証する方法
- ホワイトボックステスト:システムの内部構成を考慮したうえで攻撃する方法
そしてペネトレーションテストにおける攻撃シナリオを作成したら、実際に専門家がシステムを攻撃します。ツールを活用したり専門家が手動で攻撃したりして、システムの脆弱性を検査。
テストが完了したら専門家が結果内容をまとめて、依頼者にレポートを発行します。レポートから開発者は脆弱性を修正したり、構成を改善したりすることが可能です。
まとめ
システムが攻撃されたとき、問題が発生しないか調べる手法がペネトレーションテストです。「開発したシステムにおける特定の脆弱性を検査したい」と思ったときに、ペネトレーションテストの実施を検討しましょう。
ONETECH ベトナムオフショア開発
ONETECHはホーチミンシティに拠点を持ち、日本企業様向けに要件定義から設計・製造・テストまでの一連の業務(システムインテグレーター)を受託しております。ONETECHは、オフショア開発だけでなく日本企業のIT人材の不足解消のため3つのソリューションを提供しています。
日本企業様のIT分野における様々な要求に高品質、低コストでお応えいたします。WEBシステム開発、スマートフォンアプリ開発、システム移行、AWS設計、構築、運用、3DCG 制作、 AR/VR/MR開発 、IoT、AIなどの最新技術に基づく開発の分野を開拓している企業です。 特に、ホロレンズ、特にVR(仮想現実)、AR(拡張現実)、MR(複合現実)、AI(人工知能)の分野には積極的に投資し研究開発をしています。