2021年の実証済みペネトレーションテスト手法9選:ビジネスを守る
現代のビジネス環境において、セキュリティは最も一般的かつ重要な課題となっています。毎日、攻撃者がコンピュータシステムに侵入し、重要な情報を盗み出したというニュースが絶えません。
2019年には米国で1,473件のデータ侵害が報告され、1億6,400万件以上の機密レコードが露出しました。2020年上半期だけでもデータ侵害は540件にのぼりました(Statistaレポート)。
セキュリティの弱点や脆弱性を検出するため、多くの大企業が自社システムに対して認可された模擬サイバー攻撃を実施しています。これがペネトレーションテスト(ペンテスト)です。目的は、サイバー攻撃者より先にセキュリティの脆弱性と弱点を特定し、可能な限り早期に修正することです。
より具体的には、ペネトレーションテストは現実の攻撃シナリオをシミュレートし、安全な方法でセキュリティの隙間を発見・悪用します。これらの隙間が放置されれば、情報の窃取、認証情報の漏洩、その他の有害なビジネス影響を招く可能性があります。
テストは、ペンテストツールを用いて社内で実施するか、ペネトレーションテストプロバイダーに外部委託するかのいずれかで行います。プロセスは通常、セキュリティ専門家がターゲットネットワークを列挙し、脆弱なデバイスやアカウントを検出するところから始まります。つまり、ネットワーク上のすべてのデバイスをスキャンし、サービスが実行されているオープンポートを特定します。
侵入のレベルは、セキュリティテスターがターゲットシステムでどの種類の操作を検証したいかによって異なります。したがって、テスターは最も関連性の高いペンテストの種類について十分な知識を持つ必要があります。
ペネトレーションテストは、実施方法および対象となる資産・コンポーネントに基づいて分類できます。本記事では、徹底的かつ侵入的な設計となっているさまざまなタイプのペネトレーションテストを解説します。
実施手法によるペネトレーションテストの分類
1. ブラックボックステスト
- テストケースを即座に設計可能
- 特定の種類の欠陥を検出可能
ブラックボックスペネトレーションテストでは、テスターはクライアントのアプリケーション、ネットワーク設定、または内部情報に一切アクセスできません。必要な情報を得るために、すべての偵察活動を自ら行います。
このタイプのテストは、ネットワークの外部から悪用可能なシステムの弱点を特定します。弱点の発見は、ターゲットネットワーク内で現在実行中のプログラムやシステムの動的検査に依存します。
テスターは自動スキャンソフトウェアと手動ペネトレーションテストのさまざまな手法に精通している必要があります。システム設定やアプリケーションのソースコードに関する事前知識がないため、ブラックボックステスターは個人の観察に基づいてターゲットネットワークの独自のマップを作成できる能力が求められます。
限定された知識しかないため、システム内のすべての脆弱性を発見できないのが最大の欠点です。テスターがすべての境界を突破できなければ、内部の脆弱性は未発見のまま残ります。
しかし、サーバーの設定ミスや入出力検証エラーなど、特定の種類の欠陥を発見することは可能です。効率的により多くの脆弱性を検出・修復するには、ブラックボックステスト手法を他のテストツールと組み合わせるべきです。
ブラックボックスペネトレーションテスト用のツールは多数存在します。たとえばWapitiは、一時的なデータを注入することでWebアプリケーションの潜在的な責任を分析します。
2. ホワイトボックステスト
- より包括的
- コード最適化と隠れたセキュリティ問題の検出が可能
名前が示す通り、ホワイトボックスペネトレーションテストはブラックボックステストの対極にあります。テスターはアーキテクチャ文書、ソースコード、その他のシステム情報に完全にアクセスできます。
テスターは利用可能な大量のデータを精査し、潜在的な弱点を検出します。静的および動的コードアナライザー、デバッガーの両方をこの種のテストに使用できます。
テスターがシステムの完全な知識を持っているため、どのモジュールを最初にテストすべきか、どの特定ソフトウェアを使用してテストを実施すべきかを決定するのにより多くの時間を要します。
JUnit、PyUnit、Seleniumは、最も人気のあるオープンソースのホワイトボックステストツールです。たとえばSeleniumは、さまざまなブラウザやプラットフォームでWebアプリケーションを検証するために使用されます。
3. グレーボックステスト
- より少ないコストと労力でより重要な脆弱性を特定
- 設計者ではなくユーザーの視点からテストを実施
これはブラックボックスとホワイトボックスのペネトレーションテストを組み合わせたものです。グレーボックスのペンテスターは、データベースや設計文書など、システム内部についての部分的な知識を持っています。この限定的な知識を活用して、より良いテストデータとテストケースを作成し、テスト計画を策定します。
このタイプのテストは、ブラックボックス評価と比較して、システムのセキュリティに関するより効率的かつ焦点を絞った評価を提供します。アプリケーションの不適切な使用や不適切なコード構造による欠陥を特定できます。より具体的には、複雑なシステムのすべてのレイヤーに焦点を当てることで、コンテキスト固有のエラーを発見します。
グレーボックステストは、機能テスト、Webアプリケーション、Webサービス、セキュリティ評価、GUIに特に適しています。Burp Suiteは、仮の脆弱なスポットを攻撃することでアプリケーションの脆弱性を悪用する、人気のグレーボックステストツールの一つです。
3つのテスト手法の違い
| ブラックボックス ペネトレーションテスト | グレーボックス ペネトレーションテスト | ホワイトボックス ペネトレーションテスト |
|---|---|---|
| システム内部の動作に関する知識は不要 | システム内部の動作に関する部分的な知識が必要 | システム内部の動作に関する完全な知識が必要 |
| 隠れたエラーの発見は非常に困難 | 隠れたエラーの発見は困難 | 隠れたエラーの発見は容易 |
| クローズドボックステスト、データ駆動テストとも呼ばれる | トランスルーセントテストとも呼ばれる | クリアボックステスト、構造テスト、コードベーステストとも呼ばれる |
| 最も時間がかからない | 部分的に時間がかかる | 最も包括的で時間がかかる |
| 入出力検証エラーの発見に最適 | データドメインとシステム設計のテストに最適 | アルゴリズム、コード構造、内部境界のテストに最適 |
| エンドユーザー、開発者、テスターが実施 | 独立したテスターと開発者が実施 | テスターと開発者が実施 |
対象コンポーネントによるペネトレーションテストの分類
1. ネットワークサービステスト
- ネットワークとデータの侵害を防止
- ネットワークとシステムのセキュリティを確保
ネットワークペネトレーションテストでは、さまざまな悪意のある手法を用いてネットワークのセキュリティを検証し、アプリケーションとシステムのセキュリティ脆弱性を発見します。
通常、テスターは悪用可能なネットワーク、ホスト、システム、デバイス(スイッチ、ルーターなど)を特定し、弱点を洗い出します。ネットワークには外部と内部の両方のアクセスポイントがあるため、外部からのリモートテストとクライアントサイトでのローカルテストの両方を実施することが必須です。
これにより、テスターは組織が直面しているリスクレベルを理解し、セキュリティ欠陥をどのように対処・修正すべきかを判断できます。リスクに応じて、テストで異なるネットワーク領域をターゲットにできます。たとえば:
- ステートフル分析テスト
- ファイアウォール設定テスト
- ファイアウォールバイパステスト
- DNS攻撃
これらのテストで調査される最も一般的なプロトコルには以下が含まれます:
- SMTP(簡易メール転送プロトコル)
- FTP(ファイル転送プロトコル)
- SSH(セキュアシェル)
- MySQLおよびSQL Server
システムの規模と複雑さに応じて、ネットワークペネトレーションテストの完了には1〜4週間かかる場合があります。テスターはプロジェクトのスコープを確定した後にのみ、詳細な見積もりを提示できます。
2. Webアプリケーションペネトレーションテスト
Webアプリケーションペンテストの実施手順
- 設計と設定の両方で脆弱性を特定
侵入者を特定してブロック
多くのWebアプリケーションが機密情報を保持しているため、常に安全な状態を維持する必要があります。その一つの方法が、Webアプリケーションペネトレーションテストをソフトウェア開発ライフサイクル(SDLC)の一部として組み込むことです。
ペンテストにより、データベース、バックエンドネットワーク、ソースコードを含むWebアプリケーション全体とそのコンポーネント全体の脆弱性を容易に特定できます。これにより開発者は弱点とエラーを特定・優先順位付けし、緩和策を講じることができます。
このタイプのテストでは、ターゲットWebアプリに関するデータ収集、ホストネットワークのマッピング、注入攻撃や改ざん攻撃の可能性があるすべてのポイントの検証を行います。Webアプリケーションペンテストを実施する主な理由は:
- 未知の脆弱性の検出
- ルーター、ファイアウォールなどの公開コンポーネントのチェック
- 攻撃の可能性がある最も脆弱な経路の特定
- 情報窃取につながる抜け穴の発見
- 既存のセキュリティポリシーの有効性確認
手動・自動の両方でWebアプリケーションペネトレーションテストを実施するためのツールが多数市場に出回っています。Vega、Veracode、Zapなどは、迅速なテスト実施に最も一般的に使用されるツールです。
3. ワイヤレスペネトレーションテスト
- ワイヤレスネットワークの現実的なセキュリティポスチャを判定
- 脆弱性とセキュリティポリシー/手順に対処
ワイヤレスペネトレーションテストでは、ビジネスのWiFiに接続されているすべてのデバイス間の接続を検出・分析します。これにはノートPC、スマートフォン、タブレット、プリンター、その他のIoT(モノのインターネット)デバイスが含まれます。
さまざまなワイヤレスプロトコルとワイヤレスアクセスポイントをテストし、セキュリティの抜け穴を発見します。通常、これらのテストはクライアントサイトで実施されます。テスターがワイヤレス信号の範囲内にいてデバイスにアクセスする必要があるためです。
ほとんどの場合、MACフィルタリングの欠如と不十分なネットワークアクセス制御により、WiFiアクセスポイントに脆弱性が見つかります。これらの問題が実際に発生する前に修復するには、セキュリティポスチャの有効性をテストし、意図しない弱点を露見させることが不可欠です。
また、攻撃者が悪用できるワイヤレス技術はWiFiだけではないことも重要です。Bluetoothデバイス、Bluetooth Low Energyデバイス、Z-wave、DECT(コードレス電話)など、あまり一般的でない技術も公共の場で見つかります。
4. クライアントサイドペネトレーションテスト
- クライアントサイドソフトウェアのセキュリティ誤設定を検出
- インバウンドおよびアウトバウンドネットワークトラフィックの適切な制御を可能にする
これは内部ペンテストの一種で、Webブラウザ、Adobe Acrobat、メールクライアント、Macromedia Flashなどのクライアントサイドアプリケーションプログラムの脆弱性を悪用します。
このようなテストを特定の間隔で実施するというルールはありませんが、新しいITインフラストラクチャやクライアントサイドアプリケーションが追加されたとき、または既存のインフラストラクチャが変更されたときにペンテストを実施すべきです。
ほとんどのクライアントサイド脆弱性は、ノートPCやデスクトップにインストールされた未パッチのソフトウェアが原因で発生します。一部の攻撃者は更新プロセスを傍受し、元の更新とともに悪意のあるコードを送信します。
USBデバイスも悪意のあるファイルや実行可能コードに感染している可能性があります。これらのファイルは、被害者がUSBをマシンに接続すると自動的に実行されます。クロスサイトスクリプティング、フォームハイジャック、クリックジャッキング、HTMLインジェクション、オープンリダイレクションは、最も一般的なクライアントサイドセキュリティ攻撃の一部です。
そのため、従業員の感受性とネットワークのクライアントサイド攻撃を認識・対応する能力をテストすることが重要です。
5. 外部ペネトレーションテスト
- 企業の境界システムのセキュリティ評価
- アプリケーション層とネットワーク層の両方の評価を含む
外部ペネトレーションテストは一般的に、ターゲットシステムやネットワークへの事前アクセスなしで、攻撃者の視点からテストを行います。これは、攻撃者がすでに侵害されたマシンに足掛かりを持っている内部ペンテストとは異なります。
外部ペンテストでは、テスターは外部資産で見つかった脆弱性を活用して内部ネットワークへのアクセスを試みます。スコープ内の資産について偵察を行い、スコープ内のすべての資産に関するデータを収集します。
このデータには、オープンポート、脆弱性、パスワード攻撃用の従業員情報などが含まれる場合があります。一度境界が突破されれば、外部ペネトレーションテストの目的は達成され、テスターは内部ペンテストに移行します。
6. ソーシャルエンジニアリング
- 無防備な従業員を騙して企業のセキュリティを侵害させる
- 人間の心理を悪用して機密データを入手
ソーシャルエンジニアリングという用語は、人間の相互作用を通じて達成される幅広い悪意のある活動を指します。アプリケーションやネットワークの弱点ではなくヒューマンエラーに依存するため、マルウェアベースの侵入よりも予測が難しく、検出も困難です。
この種のテストでは、企業の従業員を騙して機密情報を漏らさせることで、機密データの入手を試みます。これはリモートテストまたは物理テストのいずれかで達成可能です。
リモートテストでは、従業員にフィッシングメールを送信したり、デバイスに偽の警告や架空の脅威を大量に送りつけたりします。一方、物理テストには、尾行、なりすまし、ダンプスターダイビング(ゴミ箱漁り)、物理的脅迫などが含まれます。
産業技術
- フライス盤の種類と選び方:プロジェクトに最適な機種を見極める
- システムを守るために知っておくべき14の一般的なコンピュータウイルス種類(2021年更新版)
- 5つのデータセンターモデルを解説:設計、ユースケース、事例
- 2021年の主要クラウドコンピューティングモデル8選
- 2021年の実証済みペネトレーションテスト手法9選:ビジネスを守る
- アンチエイリアシング完全ガイド:6つの種類と手法でデジタル画像を滑らかに
- 溶接継手の5つの基本タイプ:設計、品質、コストへの影響
- フライス盤の種類15選:精密金属加工に必須の機械を徹底解説
- 鋳造用パターン(木型)の10大タイプ:最適選定ガイド
- 製造業成功のための現代的メンテナンス戦略:反応型から処方型へ
- 建設機械の信頼性を確保する5つの必須試験