Python-penetration-testing-assessment-methodology

提供:Dev Guides
移動先:案内検索

評価方法

最近では、政府機関と民間組織の両方が、サイバーセキュリティを戦略的優先事項として取り上げています。 サイバー犯罪者は、さまざまな攻撃ベクトルを使用することで、政府や民間組織をしばしばソフトターゲットにしています。 残念ながら、情報システムの効率的なポリシー、標準、複雑さの欠如により、サイバー犯罪者は多数の標的を抱えており、システムを悪用して情報を盗み出すことに成功しています。

侵入テストは、サイバー攻撃のリスクを軽減するために使用できる戦略の1つです。 侵入テストの成功は、効率的で一貫性のある評価方法に依存します。

侵入テストに関連するさまざまな評価方法があります。 方法論を使用する利点は、評価者が環境を一貫して評価できることです。 以下はいくつかの重要な方法論です-

  • オープンソースセキュリティテスト方法論マニュアル(OSSTMM)
  • オープンWebアプリケーションセキュリティプロジェクト(OWASP)
  • 米国国立標準技術研究所(NIST)
  • 侵入テスト実行標準(PTES)

PTESとは何ですか?

PTES、侵入テスト実行標準、名前が示すように、侵入テストの評価方法論です。 侵入テストに関連するすべてを網羅しています。 PTESには、評価者が遭遇する可能性のあるさまざまな環境に関連する多くの技術ガイドラインがあります。 技術ガイドラインには業界標準ツール内の環境に対処して評価するための提案があるため、これは新しい評価者がPTESを使用する最大の利点です。

次のセクションでは、PTESのさまざまなフェーズについて学習します。

PTESの7つのフェーズ

侵入テスト実行標準(PTES)は7つのフェーズで構成されています。 これらのフェーズは、侵入テストに関連するすべてのものを網羅しています。最初のコミュニケーションとペンテストの背後にある推論から、テスターが舞台裏で作業するインテリジェンス収集と脅威モデリングフェーズまでです。 これにより、脆弱性の調査、悪用、および悪用後の調査を通じて、テスト対象の組織の理解が深まります。 ここで、テスターの技術的なセキュリティの専門知識は、エンゲージメントのビジネス理解と、最終的には顧客にとって意味のある方法でプロセス全体をキャプチャし、それに最も価値を提供するレポートに不可欠に結合されます。

PTESの7つのフェーズについては、後続のセクションで学習します-

参加前の相互作用フェーズ

これは、PTESの最初の非常に重要なフェーズです。 このフェーズの主な目的は、使用可能なツールとテクニックを説明することです。これらは、侵入テストのエンゲージ前のステップを成功させるのに役立ちます。 このフェーズの実装中にミスがあると、残りの評価に大きな影響を与える可能性があります。 このフェーズは、次のもので構成されます-

評価のリクエスト

このフェーズが始まる最初の部分は、組織による評価のリクエストの作成です。 環境、必要な評価の種類、および組織の期待に関する詳細を記載した* Request for Proposal(RFP)*文書が評価者に提供されます。

入札

現在、 RFP 文書に基づいて、複数の評価会社または個々の有限責任会社(LLC)が入札し、要求された作業、価格、およびその他の特定のパラメーターに一致する入札が行われます。

エンゲージメントレター(EL)の署名

これで、入札に勝った組織と当事者がエンゲージメントレター(EL)の契約に署名します。 レターには、*作業明細書(SOW)*および最終製品が含まれます。

スコーピング会議

ELに署名すると、スコープの微調整を開始できます。 このような会議は、組織と関係者が特定の範囲を微調整するのに役立ちます。 スコーピング会議の主な目標は、テスト対象を議論することです。

スコープクリープの処理

スコープクリープとは、クライアントが約束された作業レベルを追加または拡張して、支払いを約束した以上のものを獲得しようとするものです。 そのため、時間とリソースを考慮して、元のスコープの変更を慎重に検討する必要があります。 また、電子メール、署名された文書、または承認された手紙などの文書化された形式で完了する必要があります。

アンケート

顧客との最初のコミュニケーション中に、クライアントが関与範囲の適切な推定のために答えなければならないいくつかの質問があります。 これらの質問は、クライアントが侵入テストで得ようとしているものをよりよく理解できるように設計されています。クライアントが環境に対して侵入テストを実行しようとしている理由;また、侵入テスト中に特定の種類のテストを実行するかどうか。

テストの実施方法

事前エンゲージメントフェーズの最後の部分は、テストを実施する手順を決定することです。 ホワイトボックス、ブラックボックス、グレーボックス、ダブルブラインドテストなどのさまざまなテスト戦略から選択できます。

以下は、要求される可能性のある評価のいくつかの例です-

  • ネットワーク侵入テスト
  • Webアプリケーション侵入テスト
  • 無線ネットワーク侵入テスト
  • 物理的侵入テスト
  • ソーシャルエンジニアリング
  • フィッシング
  • ボイスオーバーインターネットプロトコル(VOIP)
  • 内部ネットワーク
  • 外部ネットワーク

インテリジェンス収集フェーズ

PTESの第2フェーズであるインテリジェンス収集では、脆弱性の評価と悪用の段階でターゲットに侵入する際に利用される情報を可能な限り収集するために、ターゲットに対して予備調査を実行します。 組織が評価チームによって外部への露出を決定するのに役立ちます。 私たちは情報収集を次の3つのレベルに分けることができます-

レベル1の情報収集

自動化ツールは、このレベルの情報をほぼ完全に取得できます。 レベル1の情報収集努力は、コンプライアンス要件を満たすために適切でなければなりません。

レベル2の情報収集

このレベルの情報は、手動分析とともにレベル1の自動化ツールを使用して取得できます。 このレベルでは、物理的な場所、ビジネス関係、組織図などの情報を含む、ビジネスの十分な理解が必要です。 レベル2の情報収集の努力は、長期的なセキュリティ戦略、小規模メーカーの買収など、その他のニーズとともにコンプライアンス要件を満たすために適切である必要があります

レベル3の情報収集

このレベルの情報収集は、最も高度な侵入テストで使用されます。 レベル1およびレベル2のすべての情報と多くの手動分析は、レベル3の情報収集に必要です。

脅威モデリングフェーズ

これはPTESの3番目のフェーズです。 侵入テストを正しく実行するには、脅威モデリングアプローチが必要です。 脅威のモデリングは、侵入テストの一部として使用することも、いくつかの要因に基づいて対処することもできます。 侵入テストの一環として脅威モデリングを使用している場合、第2フェーズで収集された情報は第1フェーズにロールバックされます。

次の手順は、脅威モデリングフェーズを構成します-

  • 必要な関連情報を収集します。
  • 一次資産と二次資産を特定して分類する必要があります。
  • 脅威と脅威コミュニティを特定して分類する必要があります。
  • 脅威アセットを一次および二次資産に対してマッピングする必要があります。

脅威コミュニティとエージェント

次の表は、関連する脅威のコミュニティとエージェントを組織内の場所とともに示しています-

ロケーション

内部

外部

脅威エージェント/コミュニティ

従業員

ビジネスパートナー

管理者

請負業者

管理者(ネットワーク、システム)

競合他社

エンジニア

サプライヤー

技術者

民族国家

一般ユーザーコミュニティ

ハッカー

脅威モデリングの評価を行う際、脅威の場所は内部にある可能性があることを覚えておく必要があります。 資格情報をブロードキャストすることにより、組織のセキュリティを危険にさらしているフィッシングメールが1つ、またはイライラする従業員が1人だけです。

脆弱性分析フェーズ

これは、PTESの4番目のフェーズであり、評価者はさらなるテストのために実行可能なターゲットを特定します。 PTESの最初の3つのフェーズでは、組織に関する詳細のみが抽出され、評価者はテスト用のリソースに触れていません。 これは、PTESの最も時間のかかるフェーズです。

次の段階は、脆弱性分析を構成します-

脆弱性テスト

これは、ホストおよびサービスのシステムとアプリケーションの設定ミスや安全でないアプリケーション設計などの欠陥を発見するプロセスとして定義される場合があります。 テスターは、脆弱性分析を実施する前に、テストおよび望ましい結果を適切に範囲指定する必要があります。 脆弱性テストには、次のタイプがあります-

  • アクティブテスト
  • パッシブテスト

この2つのタイプについては、以降のセクションで詳しく説明します。

アクティブテスト

これには、セキュリティの脆弱性についてテストされているコンポーネントとの直接的な対話が含まれます。 コンポーネントは、ネットワークデバイス上のTCPスタックなどの低レベル、またはWebベースのインターフェイスなどの高レベルにすることができます。 アクティブテストは、次の2つの方法で実行できます。

自動アクティブテスト

ソフトウェアを利用してターゲットと対話し、応答を調べ、これらの応答に基づいてコンポーネントに脆弱性が存在するかどうかを判断します。 手動アクティブテストと比較した自動アクティブテストの重要性は、システム上に数千のTCPポートがあり、テストのためにそれらすべてを手動で接続する必要がある場合、かなり長い時間がかかるという事実から理解できます。 ただし、自動化ツールを使用してこれを行うと、多くの時間と労力の要件を削減できます。 ネットワーク脆弱性スキャン、ポートスキャン、バナーグラブ、Webアプリケーションスキャンは、自動化されたアクティブなテストツールを使用して実行できます。

手動アクティブテスト

手動の効果的なテストは、自動化されたアクティブなテストと比較するとより効果的です。 エラーのマージンは、自動化されたプロセスまたはテクノロジに常に存在します。 そのため、ターゲットシステムで利用可能な各プロトコルまたはサービスに手動で直接接続して、自動テストの結果を検証することが常に推奨されるのはこのためです。

パッシブテスト

パッシブテストには、コンポーネントとの直接の対話は含まれません。 それは、次の2つの技術の助けを借りて実装することができます-

メタデータ分析

この手法では、ファイル自体のデータではなく、ファイルを説明するデータを調べます。 たとえば、MSワードファイルには、作成者名、会社名、ドキュメントが最後に変更および保存された日時に関するメタデータが含まれています。 攻撃者がメタデータへのパッシブアクセスを取得できる場合、セキュリティ上の問題が発生します。

交通監視

内部ネットワークに接続し、オフライン分析用のデータをキャプチャするための手法として定義できます。 主に、スイッチドネットワークへの*「データの漏洩」*をキャプチャするために使用されます。

検証

脆弱性テストの後、調査結果の検証が非常に必要です。 それは次のテクニックの助けを借りて行うことができます-

ツール間の相関

評価者が複数の自動化ツールを使用して脆弱性テストを行っている場合、調査結果を検証するために、これらのツールの間に相関関係が必要です。 ツール間にそのような種類の相関関係がない場合、調査結果は複雑になる可能性があります。 これは、アイテムの特定の相関とアイテムのカテゴリ相関に分類できます。

プロトコル固有の検証

検証は、プロトコルの助けを借りて行うこともできます。 VPN、Citrix、DNS、Web、メールサーバーを使用して、検出結果を検証できます。

研究

システムの脆弱性を見つけて検証した後、問題の識別の正確性を判断し、侵入テストの範囲内で脆弱性の潜在的な悪用可能性を調査することが不可欠です。 研究は、公的にも私的にも行うことができます。 公開調査を行っている間、脆弱性データベースとベンダーの勧告を使用して、報告された問題の正確性を検証できます。 一方、私的調査を行っている間、レプリカ環境を設定し、ファジングやテスト構成などの手法を適用して、報告された問題の正確性を検証できます。

悪用フェーズ

これはPTESの5番目のフェーズです。 このフェーズでは、セキュリティ制限をバイパスしてシステムまたはリソースにアクセスすることに焦点を当てます。 このフェーズでは、前のフェーズで行われたすべての作業がシステムへのアクセスにつながります。 システムへのアクセスを取得するために使用される次のようないくつかの一般的な用語があります-

  • ポップ
  • 砲撃
  • 割れた
  • 悪用された

エクスプロイトフェーズでのシステムへのログインは、コード、リモートエクスプロイト、エクスプロイトの作成、ウイルス対策のバイパスの助けを借りて行うことができます。 アクセスを取得した後、つまりメインエントリポイントを特定した後、評価者は価値の高いターゲット資産の特定に集中する必要があります。 脆弱性分析フェーズが適切に完了していれば、価値の高いターゲットリストが遵守されているはずです。 最終的に、攻撃ベクトルでは、成功確率と組織への最大の影響を考慮する必要があります。

悪用後のフェーズ

これはPTESの6番目のフェーズです。 評価者は、このフェーズで次の活動を行います-

インフラ分析

侵入テスト中に使用されるインフラストラクチャ全体の分析は、このフェーズで行われます。 たとえば、ネットワーク、ネットワーク構成の分析は、インターフェイス、ルーティング、DNSサーバー、キャッシュされたDNSエントリ、プロキシサーバーなどを使用して実行できます。

略奪

対象のホストから情報を取得することと定義できます。 この情報は、事前評価段階で定義された目標に関連しています。 この情報は、インストールされているプログラム、データベースサーバーなどの特定のサーバー、プリンターなどから取得できます。 システム上。

データの流出

このアクティビティでは、アセスメント担当者は、制御強度の測定、つまり組織からの機密情報の検出とブロックを実施できるように、すべての可能な流出経路のマッピングとテストを行う必要があります。

永続性の作成

このアクティビティには、認証を必要とするバックドアのインストール、必要な場合のバックドアの再起動、複雑なパスワードを持つ代替アカウントの作成が含まれます。

掃除

名前が示すように、このプロセスは、侵入テストが完了したらシステムをクリーンアップするための要件をカバーしています。 このアクティビティには、システム設定、アプリケーション構成パラメーターの元の値への復帰、インストールされているすべてのバックドアおよび作成されたユーザーアカウントの削除が含まれます。

報告

これは、PTESの最終かつ最も重要な段階です。 ここで、クライアントは、侵入テストの完了後に最終レポートに基づいて支払います。 このレポートは基本的に、システムについて評価者が行った調査結果のミラーです。 以下は、良いレポートの重要な部分です-

エグゼクティブサマリー

これは、侵入テストの具体的な目標とテスト演習の高レベルの結果について読者に伝えるレポートです。 対象となる聴衆は、チーフスイートの諮問委員会のメンバーになることができます。

ストーリー展開

レポートにはストーリーが含まれている必要があります。ストーリーラインでは、エンゲージメント中に何が行われたか、実際のセキュリティの発見または弱点、および組織が確立した積極的な管理について説明します。

概念実証/技術レポート

概念実証または技術レポートは、テストの技術的詳細と、エンゲージメント前の演習で重要な成功指標として合意されたすべての側面/コンポーネントで構成されている必要があります。 テクニカルレポートセクションでは、テストの範囲、情報、攻撃パス、影響、および修正案を詳細に説明します。