ペネトレーション・テスト

ペネトレーション・テストでは、セキュリティの専門家によって実行される標準のアウトサイドイン・テストを使用します。ペネトレーション・テストは、最終構成の脆弱性を中心に検証し、その結果は、不具合の管理と低減に役立ちます。

ペネトレーション・テスト・レベル1

[PT1.1: 105] 外部ペネトレーション・テスターを使用して問題を特定する。

多くの企業が、セキュリティの問題が自社では起こらないという根拠のない希望的観測を持っており、それが事実ではないという明らかな証拠が発見されるまで、ソフトウェア・セキュリティの問題に向き合おうとしません。セキュリティが組織の優先事項でない場合は、外部のペネトレーション・テスターを使って、組織のコードにセキュリティ上の問題があることを示すことができます。ペネトレーション・テスターが、重要なアプリケーションに侵入して見せれば、有効な説得方法になります。ペネトレーション・テストは、当初はセキュリティ対策が必要な箇所を指摘する目的で使用でき、その後は、納品前のスモーク・テストやサニティー・チェックの役割を果たすことができます。外部のペネトレーション・テストによって、問題を新たな切り口で指摘することができます。

[PT1.2: 89] 不具合管理および低減システムに結果をフィードバックする。

ペネトレーション・テストの結果を、確立された不具合管理または低減チャンネルを通して開発部門に返し、開発部門は、その不具合管理およびリリース・プロセスにより対応します。結果をメールで報告するだけでは十分ではありません。適切に実行すれば、セキュリティの状態を改善するための組織の能力を示せます。多くの企業が、セキュリティ上の問題をただ特定するのではなく、それを修正する重要性を認識し始めています。認識を高める1つの方法は、バグ追跡や不具合管理システムにセキュリティ・フラグを追加することです。開発・運用チームや統合チーム構造を発展させても、正式の不具合管理システムの必要性は解決できません。

[PT1.3: 74] ペネトレーション・テスト・ツールを社内で使用している。

ツールを使用した社内ペネトレーション・テスト能力を開発します。この能力は、テスト・プロセスの効率性と再現性を改善するツールと共に、SSGまたは組織内のその他の専門チームに含めることが可能です(多くの場合、CI/CD環境では不可欠です)。ツールには、市販製品、アプリケーション・レイヤーに対応できる標準の問題ネットワーク侵入ツール、手作りのスクリプトなどがあります。業務外またはクライシスが起こってからの取り組みは社内能力とはみなされません。  

ペネトレーション・テスト・レベル2

[PT2.2: 26] ペネトレーション・テスターに、存在する情報すべてを提供している。

内部、外部を問わず、ペネトレーション・テスターは、ソース・コード、設計書、アーキテクチャ分析結果、コード・レビューの結果が入手できれば、より深く解析でき、より重要な問題を特定できます。SSDLで作成したすべてのものをペネトレーション・テスターに渡す必要があります。ペネトレーション・テスターがコードを要求しない場合は、他のペネトレーション・テスターを使用するべきです。

[PT2.3: 21] アプリケーション・カバレッジの定期的なペネトレーション・テストを計画する。

SSGは、予定表またはリリース・サイクルに組み込まれた、規定のスケジュールに従って、SSGの範囲にあるすべてのアプリケーションを定期的にテストします。重要なアプリケーションには、1年に1回ペネトレーション・テストを実行することをお勧めします。このテストはサニティ・チェックとして機能し、過去に構築したソフトウェアに今日の攻撃に対する脆弱性が無いかを確認するのに役立ちます。これにより、ソフトウェア構成や環境、特にクラウド上のコンテナやコンポーネントのセキュリティを維持することもできます。定期的なテストの重要な側面の1つは、特定された問題ががビルドの中で寝かされたままにならず、実際に修正されることです。CI/CDのために構築された新しいオートメーションにもペネトレーション・テストを実行してください。  

ペネトレーション・テスト・レベル3

[PT3.1: 10] 外部ペネトレーション・テストを使用して、詳細な解析を実行する。

外部ペネトレーション・テストを使用して、重要なプロジェクトの詳細な解析を実行して、SSGの意識を向上します。これらのテスターは、テストされているソフトウェアと同じタイプのソフトウェアに侵入した経験を持っているエキスパート、専門家であり、攻撃者の最新バージョンの視点を組織に提示することができます。能力のあるペネトレーション・テスターは、必ずシステムに侵入しますが、重要なのは、新しいシステムの設計、実装、保護に有用な、攻撃に関する新しい考え方を見せられるかという点です。脅威インテリジェンスや悪用事例から新しいタイプの攻撃を作成すれば、既知のタイプの問題のみを調査するチェックリスト形式のアプローチを回避できます。新しいテクノロジーの場合は、この方法が必須になります。

[PT3.2: 7] SSGがペネトレーション・テスト・ツールおよびスクリプトをカスタマイズしている。

組織のシステムをより効率的に総合的に攻撃できるよう、SSGがペネトレーション・テスト・ツールを作成しているか、一般的なツールを採用しています。ツールを使用することにより、SSGが特定できる問題の深さを維持しながらペネトレーション・テスト・プロセスの効率性を改善できます。チームの作業効率性を改善できるため、特にアジャイル型の開発では自動化が重要になります。市販のツールではなく、カスタマイズできるツールを使用することをお勧めします。このアクティビティは、試験の詳細度と範囲の両方に影響します。