筆記試験の結果として何が満足のいくものかをお聞きしたいのですが。
筆者の主な懸念は、ペンのテストが難しく、リモートのシェルやルートを取得できるとは限らないことです。ただし、潜在的な脆弱性をリストする方がはるかに簡単です。
たとえば、PHP 2007のバージョン4がある場合、それを潜在的なベクトルとしてリストできますが、悪用できない可能性があります。悪用の成功はペンテストジョブの要件ですか?脆弱性スキャンは成功したエクスプロイトが含まれている場合でも、ジョブの良好な結果(ただし、考えられるすべての問題の1%未満を占める)。
私がペンテスターを務める以上にペンテスターを契約している人として、私が探しているのは、あなたがNessus/ZAP/Burpを実行する以上のことをしたということです-私はそれを自分で行うことができます(ただし、上手)。アプリ/ウェブサイトのデータフローを監視し、悪用される可能性のある論理エラーがあることを示す緩いスレッドを探すことを期待しています。私はあなたがあなたが外側から収集できるものを私に言うことができることを期待します、そしてあなたはスキャンで見つけることができなかった懸念を引き起こすことを私に言うことができることを期待します。
たとえば、パスワードリセット画面を見て、フローが悪用可能かどうかを検討した兆候を探しています。権限のないユーザーが権限のある情報を利用できるかどうか(つまり、アプリがcssを使用してそれを非表示にするか、またはそのような何かがうまくいかないか)を検討したことを確認したいと思います。
理想的には、あなたと契約する前に簡単なことをしました-私はスキャンをしました、私はパッチを作りましたそして私はすべてのぶら下がっている果物を選びました。私は難しいもののためにペンテスターを雇います。
本当に、あなたがエクスプロイトを管理していないのなら、あなたはあなたがあなたの指の爪を外側にひっかきつけて、亀裂を探しているのを見たいと思います。
搾取の成功はペンテストの仕事の要件ですか?
侵入テストの厳密な定義に従って、ターゲットシステムを実際に攻撃攻撃し、成功した試行と失敗した試行の記録を保持する必要があります。フィンガープリントツールが古いソフトウェアバージョンを明らかにしたため、サーバーが脆弱であると結論付けるだけでは不十分です。あなたは明示的に攻撃者の視点を取り入れており、システムがどのように侵入されるかを示す必要があります。
SANSペネトレーションテストペーパー では、次のように区別されます(定義は異なります)。
ペンテストと脆弱性評価
多くの場合、侵入テストと脆弱性評価の間にはいくつかの混乱があります。 2つの用語は関連していますが、侵入テストは可能な限り多くのアクセスを取得することに重点を置いていますが、脆弱性テストはコンピューター攻撃に対して脆弱な領域を特定することに重点を置いています。 [...]脆弱性評価者はシステムを危険にさらす直前に停止しますが、侵入テスターは契約の範囲内で可能な限り行きます。
とは言っても、平均的な顧客はおそらくこの違いに気づいておらず、「できる限り」多くの時間を費やしてほしくないのかもしれません。すべてのルートシェルのリストを取得するのではなく、何を修正する必要があるのかについて明確な指示を受け取ることがより重要かもしれません。システムをテストすることで、彼らが効果的に達成したいことを事前に見つける必要があります。顧客は、侵入テストが包括的なセキュリティ評価とは異なることに注意する必要があります。
多くの場所がペンテストに間違ってアプローチしていると思うので、これは良い質問です。多くの組織の幹部レベルは、筆記テストが特効薬であると信じる傾向があるため、これはさらに悪化しています-筆記テストがあり、その結果、システムへの侵入が成功しなかったことが示された場合、セキュリティは問題なく、そのボックスをすべてチェックできます。一方、ペンテストが失敗した場合、セキュリティチームは仕事をしていません。これは単にそうではありません。
ペンテストは、セキュリティコントロールの有効性を評価するために使用できるツールの1つにすぎません。すべてのシステムが安全であり、ペンテストで信頼できるレベルがペンテスターのスキルとテストの指定と計画の両方に大きく依存していることを示しているわけではありません。あなたができる絶対的に悪いことは、単にセキュリティ会社に電話して、「こんにちは、私はペンテストが欲しい、いつそれができるのか」と言うことです。ペンテスターを採用する前に、ペンテストに何を期待するか、優先事項は何か、最終レポートにどのような情報を含めるかを明確に理解しておく必要があります。また、複数のプロバイダーにアプローチしたいと考えています。あなたが探しているのは、彼らが適切なスキルを持っていることを証明でき、あなたの要件を理解でき、あなたのセキュリティ態勢を改善するのに役立つ結果をあなたに提供できる人です。ペンテストは、合格または不合格のいずれかの意味での「テスト」と見なされるべきではありません。基本的に、テストの前にグレードが何であるかを明確に理解し、テストの完了時に、次のテストでより良いグレードを取得する方法に集中するのに役立つ十分な詳細と情報を用意する必要があります。
ペンテストの最も難しい側面の1つは、ペンテストの品質が、ペンテストを実行する個人によって大きく異なることです。セキュリティ会社を切り替えたのは、最初の会社の従業員が雇用主を変更し、その個人が組織の筆記テストを実行できることがわかっていたからです(通常、彼らは才能があり、仕事が上手で、私たちのビジネスを理解していたためです)。 。
ペンテスターに従事すること自体がスキルです。明確な目的を持ってタスクにアプローチすれば、それを行うたびに上達します。現在のセキュリティ体制を知ることは、方程式のほんの一部にすぎません。最終的な目標状態を明確にする必要があります。ペンテストで必要なのは、現在の姿勢と、組織を望ましい状態に移行するための計画を立てるのに役立つ十分な情報についての明確性の向上です。
優れたペンテストでは、何が行われ、何が成功し、何が失敗したかの詳細が提供されます。最新のパッチレベルではない可能性のある脆弱性やシステムのリストや「不十分な慣行」の例だけではありません。これらはすべて、単純な脆弱性評価で取得できます。それは、環境がどのように浸透したかについての完全な詳細と、繰り返し発生の可能性またはこれらの発生による影響を防止または低減するために実装できる制御の提案を提供する必要があります。ペンテストレポートは、アクセスの取得に失敗したのは、コントロールが適切だったのか、十分な時間が割り当てられなかったのか、スコープが制限されすぎたのかなどを評価できる十分な詳細を提供する必要があります。多くの点で、探しているものペンテスターとのパートナーシップであり、ペンテスターはあなたと協力してセキュリティを向上させます。
それは、あなたが何を見つけなければならないか、そして仕事の範囲が何であるかに依存すると思います。私が行ったペンテストの中には、理論的な結果を見たいだけのものもあれば、実際に侵入して大混乱を引き起こしてほしいものもありました。ペンのテストは、本当に楽しんでいない人にとっては難しいことです。クリエイティブになって楽しみましょう。 ;)
このように言いましょう。テスト対象のアプリケーションの開発者自身がセキュリティの専門家でない限り、少なくともsomeエクスプロイトが見つかると私は絶対に期待しています。私はvery何も見つからなかった場合は不幸です。私の経験では、平均的な開発者はセキュリティの問題を十分に理解していないため、get-のすべての可能なホールを回避できません。行く。
テストの「あいまいさによるセキュリティ」の制限を解除することに注意してください。つまり、アプリケーションに関する知識を得るために、マシン(シェルなど)またはソースコードにアクセスできます。もちろん、実際の攻撃者のように、ペネトレーションはそれなしで機能する必要があります。
実行されたペンテストの品質を定義することは本当に難しく、何でも満足のいく結果になる可能性があります。それは本当にシステムに依存します。ペンテストが比較的単純なシステムまたはWebサイトで実行された場合は、リスクの高い結果が得られない可能性が高くなります。
さらに、たとえ彼らが非常に熟練していても、システムを悪用する十分な時間がない可能性があり、概念実証を示しています。彼らは、契約に含まれるすべての領域をカバーするためにペンテストを優先しなければなりません。
PentesterがSQLインジェクションまたは脆弱なソフトウェア(バージョン番号に基づく)を発見したと仮定しましょう。クライアントの脆弱性を悪用して表示することは間違いなく良いことですが、悪用するのは非常に難しい場合があり、多くの場合、計画されたペンテスト時間の大部分を費やして1つの脆弱性の概念実証を行うことは意味がありません。 。
特定のソフトウェアバージョンがCVEに基づいて脆弱であることを示すペンテスター、またはユーザー入力に基づいてSQLエラー出力を示すペンテスターは、クライアントがシステムにパッチを適用して修正する十分な理由になるはずです。
ペンテストの満足できる結果は、レポートのクライアントおよび/または対象者がメッセージを理解し、意思決定科学に基づいて適切なアクションを実行したときです。ポジティブペネトレーションテストに関連する意思決定科学の詳細については、サイバーセキュリティリスクのすべてを測定する方法を参照してください。