web-dev-qa-db-ja.com

ペネトレーションテスト-あなたの支出に見合う最高の価値? (認定済みと非認定済み)

私の日々の活動は、主に侵入テスト(白/灰色/黒)で構成されています。エンゲージメントを通じて、テストの種類の違いについてクライアントを教育しようとしています。たとえば、内部の観点からの資格情報テスト(低レベルのユーザー)と完全な「ゼロ知識」プラグアンドプレイテスト。テストの実行、侵入テストのいずれかの経験がある人にとって、セキュリティインテリジェンスの観点から最も価値のあるものは何でしたか。

私は意見を述べ、クライアントを動揺させて低レベルの認定テストに従事させようとします。これらのテストは、悪用、エスカレーションwith特権、およびwithout特権。このタイプのテストは、内部の脅威だけでなく、クライアント側を実行する(侵害する)脅威アクターも従業員のアクセスをカバーできます。

多くの場合、結果の観点から、攻撃者は一般的な低ぶら下がっている果物を利用していますが、彼らは従業員を「クライアントサイド」にしただけです。 「ゼロ知識」の外部攻撃は非常に最小限に抑えられており、多くのクライアントはWebアプリケーションのテストを「家を壊す」と感じて嫌いであり、多くの組織がインフラストラクチャをクラウドに移行したため、多くの場合目的を果たしません。

設計/セキュリティ/ネットワーク/システムの観点から、これらのタイプのテストに従事している場合、何が最良の価値であると思いますか?

2
munkeyoto

それはあなたの目標が何であるかに依存します。目標ができるだけ多くの脆弱性とリスクを見つけることである場合、ホワイトボックスが最善のアプローチです。目標が「アプリケーションにX時間を与えて攻撃者ができること」である場合、ブラックボックスが最善のアプローチです。

私たちはクライアントと、クライアントがテストしている復元力のタイプに一般的に依存するものが必要な場合の主な違いの両方を実行します。ホワイトボックスアプローチは、アプリケーションの継続的かつ構造化されたテストのために一般的に行うことです。ここでの目標は、単一の脆弱性を見つけて、システムをポーンしたらショップを閉じることではありません。グッドプラクティス(CSPおよびHSTSヘッダー)からXSSのような適切な脆弱性に至るまで、可能な限り多くのカバレッジを提供し、可能な限り多くの脆弱性を発見することです。

後者は、クライアントがインシデント対応または検出機能をテストしたいエンゲージメント中に多く使用します。焦点は、野生で見つかった情報を使用して、必要な手段で侵入することにあります。

最終的には、どのタイプのクライアントを扱っているかということにもなりますが、このタイプのテストが必要な理由をクライアントに通知するのもあなたの仕事です。初めてのことなら、たくさんのことを発見する可能性があるといつも言っています。これは悪いことではなく、セキュリティ関連のスキルを持つより多くの人々を引き付けるために、予算を改善または要求する機会として使用できることを、彼らとその経営陣に理解させることが重要です。クライアントはまだ決定します、あなたは彼らが必要とすることをあなたが提案することを彼らに知らせることができます、しかし彼らが彼らの決心をしたならばあなたもそれを尊重する必要があります、結局それは彼らのお金です。

1
Lucas Kauffman

資格情報以外のIMO、これをブラックボックステストと呼びました。これは、攻撃者がネットワークを破壊して「探索」できた場合に何が起こる可能性があるかをクライアントに示しています。これは、いくつのシステムが知識なしで資格情報を提供するので、より価値があると思います。これは、実際の攻撃者が直面するように、内部からの「ヘルプ」なしでテストする方法です。

0
Bryan