システムに脆弱性が存在すると、外部・内部からの攻撃によって機密情報の漏洩や金銭的な損失だけでなく、企業の信用にも関わる重要な問題に発展することがあります。ペネトレーションテストを行うと、これらのリスクを事前に回避できるかもしれません。
この記事ではシステムのセキュリティ担当者や情報管理などを行う必要のある方へ向けて、脆弱性診断との違いやペネトレーションテストの手法などについて解説します。
目次
[ 開く ]
[ 閉じる ]
ペネトレーションテストとは
ペネトレーションテスト(通称:ペンテスト)とは、想定されるサイバー攻撃の手法に基づき、ホワイトハッカーが実践的にシステムに侵入を試みることで攻撃耐性を確認するテストのことです。
ペネトレーション(Penetration)とは「貫通」や「侵入」を意味する言葉です。ペネトレーションテストは、悪意ある攻撃者と同じ目線で、実際にネットワークに接続、システムを攻撃し、侵入を試みることから「侵入テスト」と呼ばれることもあります。
インターネットなどのネットワークに接続されているシステムに対して侵入を行い、脆弱性を悪用して対象のシステムのセキュリティ機能を回避または無効化されてしまう可能性を特定するのが目的です。検証対象のシステムの構成などに応じて想定される攻撃のシナリオを作成し、システム全体を網羅的にテストするのではなく特定の範囲の脆弱性や問題点を発見するテストと覚えておきましょう。
【関連記事】サイバー攻撃とは?種類や被害事例、対策方法についてわかりやすく解説
【関連記事】ホワイトハッカーとは|有能なホワイトハッカーが活躍するサービスを紹介
脆弱性診断との違い
ペネトレーションテストと脆弱性診断は行う目的が異なります。下記に目的・調査対象の違いをまとめました。
目的 | 調査対象 | |
---|---|---|
ペネトレーションテスト | 検証対象のシステム構成などに応じた攻撃のシナリオに沿って実施する。特定の脆弱性や問題点を発見することを目的としている。 | 攻撃者の目的を達成できるかを確認するため、検証内容によって異なる。 |
脆弱性診断 | ツールなどを用いて既知の脆弱性の特定・ランク付け・および報告を行うことを目的としている。 | システム全体に対して実施する。 |
ペネトレーションテストは、インターネットなどのネットワークに接続されているシステムに対して侵入を行い、脆弱性を悪用して対象のシステムのセキュリティ機能を回避または無効化されてしまう可能性を特定することです。検証対象のシステムの構成などに応じて想定される攻撃のシナリオを作成し、システム全体を網羅的にテストするのではなく特定の範囲の脆弱性や問題点を発見することを目的としています。
一方の脆弱性診断はシステム全体に対して行い、脆弱性を悪用された場合にシステムを意図的または意図的ではない侵害につながる可能性のある既知の脆弱性の特定・ランク付け・および報告をすることです。
2つのセキュリティ診断は手法や調査対象が異なるため、検査を行うシステムによって使い分ける必要があるでしょう。
ペネトレーションテストの種類
ペネトレーションテストは調査する対象によって下記の種類に分かれます。
種類 | 調査対象 |
---|---|
内部ペネトレーションテスト | 外部からアクセスできないシステム・機器 |
外部ペネトレーションテスト | 外部からアクセスできるシステム・機器 |
内部ペネトレーションテストは攻撃者がすでに内部へ侵入していることを想定し、外部からアクセス出来ない内部システムに対するテストを行います。
外部ペネトレーションテストは攻撃者が外部から侵入することを想定したテストです。侵入経路になりうるインターネットからアクセス可能なシステムや機器に対するテストを実施します。
内部ペネトレーションテスト
内部ペネトレーションテストは前述の通り、攻撃者がすでに内部へ侵入していることを想定し、外部からはアクセス出来ない内部システムに対するテストを実施します。
内部ペネトレーションテスト例としては、社内のネットワーク内部に悪意のある保守担当者がいることを想定し、メインサーバーへの侵入・権限取得を想定したものが挙げられます。
外部ペネトレーションテスト
外部ペネトレーションテストは攻撃者が外部から侵入することを想定したテストとなります。インターネットからアクセス可能なシステムや機器に対するテストを実施します。
社外からの攻撃を想定しており、よくあるテストの例が標的型メールによる攻撃手法です。疑似ウイルスを添付したメールを使用し、どこまで侵入できるのかをテストします。
ペネトレーションテストを実施するメリット
ペネトレーションテストではシステムの環境に合わせたシナリオを作成し、実際にシステムに侵入を試みることでシステムの脆弱性を評価します。そのためテスト対象のシステムやネットワーク構成に合わせて、テストの実施ができるのです。
また、システムの開発は開発者視点で行われますが、ペネトレーションテストの実施者は攻撃者視点でテストを行います。開発時には想定もしていなかった脆弱性が明らかになることもあり、脆弱性診断よりもリアルな被害を確認できるのがメリットと言えるでしょう。
ペネトレーションテストを実施するデメリット
ペネトレーションテストの実施にあたってはセキュリティやシステムに関する知識を十分に持った人がシナリオを作り、それに基づき様々なテクニックを駆使して攻撃や侵入を試みる必要があります。そのため、テスト実施者のスキルによって成果が異なってしまうことも珍しくありません。テスト実施者がペネトレーションテストの豊富な実績や経験を持ち合わせているか十分に検討してから実施した方が良いでしょう。
また、大規模なシステムのテストや難易度によってはテストに要する日数も変わってきてしまい膨大なコストがかかることもあります。ペネトレーションテストに割ける時間の問題もあるため、どのくらいの時間がかかるのかをあらかじめ確認しておくと良いかもしれません。
ペネトレーションテストの手法
ペネトレーションテストにはブラックボックステスト、ホワイトボックステストという手法があります。下記の表にメリット・デメリットをそれぞれまとめました。
手法 | メリット | デメリット |
---|---|---|
ホワイトボックステスト |
|
|
ブラックボックステスト |
|
|
ホワイトボックステスト
ホワイトボックステストとは、システムの内部構造を理解した上で、ロジックや制御の流れが正しいかどうかを検証するテスト技法のことを指します。
ホワイトボックステストのメリットとして、ソースコードから内部構造が明らかになることでプログラム中に記述された条件分岐・繰り返し処理などの制御構文を含む、すべてのロジックに対してテストが可能となることです。またロジックが実行される頻度にかかわらず、対象のプログラムで実行され得るすべてのロジックに対してテストが実施されます。そのため、滅多に実行されないロジックから生じるバグ・エラーの見落としを防止する効果が期待できます。
しかしホワイトボックステストの場合、システムの詳細設計書を元に作成されるため、詳細設計に誤りがあっても誤った状態のままテストを実施するため間違いを見つけることは難しいでしょう。
ホワイトボックステストは全体的なプログラムの処理が正しく行われているかを重視して行うため、耐久性など性能面の評価に適した手法となります。
ブラックボックステスト
ブラックボックステストとは、テスト対象のシステムの内部構造は考慮せずに、外部から把握できる機能を検証するテスト技法です。実際のソフトウェアやそれを搭載したシステムで検証を行うことで、ユーザーと同じようにシステムを利用する立場に立った検証ができる点がブラックボックステストの大きな特徴です。
また、システムを包括的に扱うため機能を連携させた際に時に初めて起こる不具合なども見つけやすく、設計者の想定漏れを補う性質を持っています。設計通りにシステムが動くことよりも、製品全体の要求や仕様を満たすかどうかを確認できます。
ブラックボックステストはシステムの外側からユーザー目線でテストを行うため、デザイン・ユーザービリティや仕様通りに動作するかなど製品全体の要求や仕様を満たすかどうか確認することができます。
ペネトレーションテストのやり方
ペネトレーションテストの基本的な流れは、準備・テスト・報告書作成の3ステップで行われます。
【ペネトレーションテストの流れ】
- テストのシナリオを作成する
- 調査対象への攻撃を実施する
- テストの報告書を作成する
実施にあたってはセキュリティやシステムに関する知識を十分に持った人がシナリオを作り、それに基づき様々なテクニックを駆使して攻撃や侵入を試みる必要があります。しかし、企業によってはそのような知識を持つ人材が社内にいない場合もあるでしょう。
そのような場合にペネトレーションテストを実施する際に役立つのが「ペネトレーションテストツール」です。ペネトレーションテストツールは無料で使えるものも存在するため、確認したい診断内容に合わせてツールを選ぶようにしましょう。
ペネトレーションテストの詳しい方法は、こちらの記事で解説しています。ぜひ参考にしてください。
ペネトレーションテストサービスの選び方
前述した内容と重複しますが、ペネトレーションテストの実施にあたってはセキュリティやシステムに関する高度な知識が必要です。そのため、一般の企業では人材を確保が難しい場合が多い可能性もあります。
ペネトレーションテストを専門会社に依頼すれば、実際にシステムに侵入できるのかという具体的な検証ができます。サイバー攻撃を仕掛ける側の視点に立って、正規ではない技術や方法も駆使しながらシステムへの侵入を試みるため、非常にリアリティのあるテストができるでしょう。
一方で、テストを実施する実施者の経験値によって結果が左右されてしまうことがあります。調査が大規模なシステムになれば、費用も高くなってしまいます。またテスト実施者のスキルやシナリオによっては、期待した結果を得られない可能性もあるかもしれません。
テストする目的と内容を事前に確認し、システムの環境に適したサービスを選ぶようにしましょう。
GMOサイバーセキュリティbyイエラエのペネトレーションテスト(侵入テスト)を紹介
(引用:GMOサイバーセキュリティbyイエラエ)
「GMOサイバーセキュリティbyイエラエ」では、高い専門性と知識を持ったホワイトハッカーによるペネトレーションテストのサービスを提供しています。対象システムの特性や想定される脅威から攻撃シナリオ(攻撃の起点とテストのゴール)を設定しホワイトハッカーが疑似的なサイバー攻撃を行い現在のセキュリティ対策の有効性やリスクを評価します。
CSIRTの対応能力の向上やSOCの検知精度の確認、パスワード強化などの社内セキュリティ意識の向上におすすめです。実績も豊富な「GMOサイバーセキュリティbyイエラエ」で、御社のセキュリティ向上に努めましょう。お気軽にお問い合わせください。
まとめ
ペネトレーションテストの手法や、脆弱性診断との違い、費用面について詳しく紹介してきました。ペネトレーションテストを効果的に実施するためにはシステムの運用環境・特徴などを加味し、目的を明確にすることで検証範囲を絞り、効率的・効果的に行う必要があります。
今回紹介したペネトレーションの内容について理解し、自社に適したサービスを選ぶようにしましょう。
文責:GMOインターネットグループ株式会社