web-dev-qa-db-ja.com

企業として、ペネトレーションテスターに​​よるシステムの侵害を防ぐにはどうすればよいですか?

侵入テスト担当者が悪意のある行動をとり、データを引き出したり、システムを危険にさらしたりするのを防ぐために、企業はどのツールまたはテクニックを使用できますか?企業が使用する唯一の保護が契約によるものであるとは思えません。

35
Pippo Pluto

あなたは法的問題に対する技術的な解決策を探しています。これは機能しません。

あなたが心配するのは主に法的な問題です。ペネトレーションテスターは 非開示契約 の下で動作します。これは、「ここに表示されるものについて口を閉じておく」の法的同等物です。秘密保持契約、または略してNDAは、侵入テスト担当者が先週ACME Corp.をテストしたときに発見したクールな脆弱性について話すことを妨げるものです。

しかし、ペネトレーションテスターがNDAを尊重するのはなぜですか?そうしないと、基本的に彼らのキャリアを破壊するでしょう。侵入テスターが内部情報を開示したことを会社が知った場合、彼らはペンテスターを損害賠償として訴訟します。

さらに、それはペンテスターの評判を完全に破壊し、誰も二度とそれらを雇わないことを保証します。侵入テスト担当者にとって、これは彼らが蓄積するために数年または数十年を費やしてきた知識は本質的に価値がないことを意味します。たとえ道徳的に腐敗したペンテスターに​​とってその考えが甘いように見えても、罰はさらに深刻です。

さらに、ほとんどのペンテスターはクライアントを危険にさらすことに全く関心がありません。なぜ彼らは?クライアントが満足していることを確認し、何度も雇うことが彼らの最善の利益です。


技術的な制限を設けない理由はいくつかあります。まず、ペンテスターとして、あなたは犯罪者のように扱われているように感じます。多くのペンテスターは自分たちの仕事を誇りに思っており、犯罪者のように扱うと口の中に酸っぱい味が残ります。ペンテスターは会社が特定のポリシーを持っていることを理解していますが、会社が上を行き、武装した警備員を連れてトイレに付き添う場合は、パスワードが書かれた付箋を探していないことを確認してください。戻って、彼らは不信感を感じるでしょう。これは、士気を低下させる可能性があり、最も可能性が高いでしょう。

さらに、不条理な技術的制約も、ペンテスターに​​とって事態を困難にするだけです。たとえば、Wiresharkまたはnmapを起動するとすぐに、会社が提供するドメインアカウントがブロックされた場合、そのアカウントが再度アクティブになるまでに時間がかかります。ペンテスターがすべてのツールを起動して脆弱性をできる限り効果的に見つけるのを防ぎ、多くの時間を浪費します。

これは、ペンテスターと顧客の両方にとって悪いことであり、両方にとって全体的なエクスペリエンスが悪化する可能性があります。

125
MechMK1

企業がいくつかのツールや手法を使用して、ペネトレーションテスターが悪意を持って行動することで、一部のデータが流出したり、システムが完全に危険にさらされたりするのを防ぐことができるかどうかを尋ねています。

ファイアウォールの背後にあるすべてのトラフィックを記録するか、Wiresharkの出力を監視しながら一晩中起きていることができますが、技術的なスキルがなければ、目の前を飛んでいるビットを理解するのは困難です。データ損失防止システムはおそらくあなたが考えているものですが、これが正確にテストしたい機器でない限り、ペンテストに干渉します。


答えはデューデリジェンスです。会社を雇う前に彼らの資格をチェックしてください。質問したり、サンプルレポートを求めたりしてください。一部の服装は、テンプレートシートで自動スキャンとチェックボックスを実行するだけです。これは私たちが望むものではありません。私たちが望むのは、箱の外で考え、originalmanual偵察活動に基づく攻撃(ほとんどの場合自動化されています)。適切なペンテストは、オーダーメードの操作であり、クッキーカッターの練習ではありません。

サンプルレポート(もちろんキュレートされたレポート)を提供しない会社とは取引しません。
私の最大の心配は不正直ではなく、能力の欠如です。つまり、役に立たない成果物の代金を支払うことになります。
これが私の最初のフィルターです。箱を刻む会社は私の考えではless倫理的です。なぜならそれは故意に疑わしい価値のサービスを提供しているからです。おそらく何もないよりはましですが、お金の価値が欲しいです。

刑事訴訟に使用されているペンテスト会社の単一のインスタンスを思い出せません。しかし、何人かが「過誤」に相当するものとして訴えられている。例: Affinity Gaming vs Trustwave

契約では、何が許可され、何が許可されないかについて明確にする必要があります。誤解がないことと、あなたを雇った人が完全な権限を持っていることを確認してください。何がうまくいかない可能性がありますか: アイオワvs石炭火

確かに、システムに侵入しようとする「ローグペネトレーションテスター」(oxymoron)は、テストの許可を求めてから、割り当ての範囲を超えることはありません。彼らは自分を招待するだけです。

あなたがそれらの1人であるかどうかはわかりませんが、一部の企業/政府機関はセキュリティクリアランスを必要とします。それは少しレベルを上げます:重罪犯はクリアランスを持っている可能性が低いです。スノーデン氏のような例外があり、0%のリスクは存在しません。

あなたの会社が不快な活動に関与し、環境を破壊し、暴君に武器を売っているなら、合法的に内部告発者を心配するかもしれません。これは難問です。機密情報があり、それを秘密にしたいが、それを保護するには、部外者がその情報にアクセスできるようにする必要があります。自分の活動分野で企業との協業経験があり、自分の業務に慣れているプロバイダーを選択してください。おそらくあなたの貿易団体やビジネスパートナーが推奨を提供することができます。口コミ。

データ漏えい(偶発的またはそれ以外の場合)の場合に、会社が金銭的損害/罰金を被る可能性があると思われる場合は、保険会社会社。ちなみに、ペンテスト会社は賠償責任保険も必要です。これは1つの質問です。

違反は人生の事実です。ほとんどすべての企業が少なくとも1回ハッキングされた、または将来ハッキングされる予定です。これは考慮すべきことです。ペンテストを続行するかどうかに関係なく、災害復旧計画を準備しておく必要があります。これは良い考えだと思います。少なくとも問題が発生した場合、違反を防ぐために合理的な努力をしたことを証明できます。過失であることが判明した会社は、罰金、訴訟、消費者の反発、メディアへの否定的な露出、株主の反乱などに関して、より強い制裁を期待できます。

50
Anonymous

製品を開発している場合は、DTAPなどのさまざまな環境を備えたSDLCパイプラインが必要です。この環境では、受け入れ環境でペネトレーションテスターをテストする必要があります。環境を本番環境から完全に分離することは、セキュリティのベストプラクティスです。したがって、受け入れ環境は本番環境の機能的なコピーである必要がありますが、本番認証情報、ユーザーからのデータ、本番環境への接続などは含めないでください。

多くの場合、企業の受け入れ環境を作成することは、ネットワークおよびサーバーレベルでの課題です。これが事実である場合、あなたは彼らが本番システムに当たった瞬間にやめるべきだと言ってクロースを作ることができます。侵入テスターがプロダクション認証情報をどこかで見つけたり、プロダクションサーバーを誤ってハッキングしたりすると、実際の違反が発生したかのように行動します-警察に電話する以外は-ログイン認証情報の変更/サーバーの監視/など。

7
Beurtschipper

概念/契約面は他の回答でカバーされており、それは非常に重要です。

ただし、技術的な側面もあります、特に「最悪の場合の影響」および不要なアクセスの制限に関して。企業はペンテストに備える必要があります。

ここではいくつかの例を示します。

  • 無関係なシステムYにアクセスせずにシステムXをテストできるはずです

    これは当たり前のように聞こえるかもしれませんが、多くの企業はすべてのシステムへのアクセスを許可する従業員用の単一のログインシステムを持っています。つまり、Xのテスト認証情報はY、Zなどへのアクセスにも有効です。

    代わりに、会社は「制限付きアクセス」トークンを発行できる必要があります。資格情報システムを設計するときは、最初は役に立たない場合でも、この要件を追加する必要があります(少数の従業員、通常は誰もが信頼する...)。

  • Pestestはrealistic環境で発生する必要があります

    繰り返しますが、当たり前のように聞こえるかもしれませんが...実際のデータ/スクリプト/プログラムなどを保持しているテスト環境ですかそのための自動発電機はありますか?すべての興味深いケースがカバーされていますか?そうでない場合、スナップショットを作成して実際のデータを匿名化することは可能ですか?

    空のシェルでのテストは非常に非現実的であり、ペンテスターに​​データベースの入力を依頼することはできますが、あなたが気にするすべてのケースを知ることはできません約。

    おそらく驚くべきことに、テストシステムは実際のシステムよりもより完全なものである必要があります。本当に実際に遭遇した。

  • 通信ラインと期待を事前に確立する必要があります

    問題が発生した場合、侵入者は誰に連絡すべきですか?テスト(または本番)システムを迅速に復元し、復旧する準備はできていますか?

    重大な問題が発見されたらすぐに通知されることを期待していますか?テストの進行中にシステムにパッチを適用しますか?持続が試みられることを期待していますか?クロスサーバー攻撃/「横移動」?ソーシャルエンジニアリング?

    さらにトリッキーです:侵入者は疑わしいデータを読むべきですか、彼らは状況を確認できますか? (「これはテストデータです。続行してください」vs.「このデータが存在する/アクセスできるとは思わなかった、すぐに停止する」)

  • 範囲には何がありますか?密接に関連しています:脅威モデルは何ですか?

    ペンテスターに​​「図を描く」ように依頼することもできますが、それはおそらく望んでいることではありません。結果は、あなたに役立ち、表現する必要があることに注意してくださいyourセキュリティ境界。

    通常、これをペンテスターと一緒に理解し、必要に応じて作業中に物事を進化させる準備をしておくのが最善です。

ちなみに、私はほとんどのペンテスターがこの問題について喜んでアドバイスを提供すると信じています。偶発的な被害やプライバシーの影響による影響に誰も対処したくありません。

5
Jacopo

問題はもちろん、輪になってしまうことです。テスターが特定のアクセスをできないようにすることができれば、外国人/攻撃者がこれにアクセスするのを確実に防ぐ必要があります。したがって、ペンテスターがアクセスできないようにするための対策は、実際に実施してテストしたい対策です。違いはないはずです。

唯一可能な選択肢は、本番環境から複製された専用のテスト環境の後にペンテスターを移動させることですが、ライブデータはありません。もちろん、これはよりコストがかかり、それでもこのクローンは詳細が異なり、結果を希釈する可能性があります。 。これの穏やかなバリエーションは、最も価値のあるIPとCilentデータデータベース/ NASなどのみを遮断するか、ダミーのデータベースを製品システムに接続することです。

あなたの質問はあなたの懸念のリスク処理についてはるかに多く、それはサードパーティのリスク管理で定義されている適切な処置によってカバーされるべきです:

  • 実際のリスクの可能性/価値を特定するリスク分析を実行します。これは、データ漏洩だけでなく、関連する評判の低下、起こり得るサービスの中断(テスト中にプロダクションやWebの存在/ショップをシャットダウンする可能性がありますか?)などもカバーする必要があります。
  • 可能性のあるプロバイダー(ペンテスター)を特定し、適切なデューデリジェンス/調査を行います。あなたの懸念は主に関係者への信頼に関するものなので、必要なのは信頼を構築/獲得し、この信頼が事実に基づいていることを確認することです
  • 私たち自身の管轄区域のペンテスターのみを使用してください!何かが発生した場合、合意した管轄地で法廷にそれらを置くことができる必要があり、テスターがそこに法的実体を持っていない場合、それは蒸発します。
  • 実行するテストの(法的)境界を定義する
  • そして最も重要なこと:契約の法的影響を定義する(これは多くの場合忘れられる-人々は何をすべきか、何をしないことに同意するが、これに違反した場合、何が起こったのかを明記しない)、適切な責任条項、キャンセル権、支払いバリエーションとペナルティ料金。

ペンテスト後のデータリークの実際の問題がリンケージを証明できるようにするための追加の手段として、ペンテストの時間のために実際のデータにハニーポットデータを追加することができます。したがって、リークがあり、ハニーポットデータが含まれている場合は、データリークが実際にペンテストからのものであることをよりよく証明できます。

3
Kerry

あなたは間違った質問をしています。ペネトレーションテスターは、攻撃者が何をするかをシミュレートしてセキュリティをテストします。悪意のある人物よりもペンテスターがデータを盗むことを心配している場合は、セキュリティアーキテクチャを再考することをお勧めします。

安全な環境では、1つが失敗した場合に冗長性を提供するために、複数のセキュリティコントロールを備えた「多層防御」が必要です。制御には、テクノロジー(ファイアウォール、IPS、EDRなど)、ポリシー(外部システムで会社の信用情報を使用しないでください)、またはユーザートレーニング(フィッシングリンクをクリックしないでください)を使用できます。複数のコントロールは、悪意を持って行動する人を捕まえるように設計する必要があります。ペンテストのポイントは、複数のコントロールやコントロールがないギャップを見つけることです。これらのギャップを見つけることにより、追加の制御を実装するという形で、より多くのテクノロジー、手順、またはユーザー認識トレーニングという形で修正を行うことができます。

ペンテストは敵対的ではありません。それは、侵入者と管理者/セキュリティチームの両方による優れたコラボレーションであるべきです。

1
dmaynor