CSSLP CBKドメイン概要

csslp

セキュアソフトウェアの概念

セキュアソフトウェアの概念のドメインでは、ソフトウェアシステムのマネージャがシステムの動作、 使用、コンテンツに対し指導的または抑制的な影響力を行使することが認められる仕組みについて取り上げます。
これらの概念では、どのユーザが何を行うことができるのか、マネージャはどのリソースにアクセスすることが できるのか、そしてマネージャはシステムでどのような操作を行うことができるのか、経営側が指定することを認めています。
受験者は、企業のコンピュータシステム全体にわたる集中型および分散環境内での、セキュアソフトウェアの概念、 方法、その実施について、十分に理解しなければなりません。また受験者は、セキュリティ設計の原則、検出手段 および是正措置について学習し、潜在的なリスク、脆弱性、侵害について理解しなければなりません。

セキュアソフトウェアの要件

セキュアソフトウェアの要件定義のドメインでは、計画およびスケジュールへの混乱を最小限に抑えながらソフトウェア開発プロセスにセキュリティを組み込み、主要なセキュリティ目標を特定し、ソフトウェアセキュリティを最大限に高めるため、ソフトウェア開発ライフサイクルの要件定義フェーズで使用されるコントロールについて取り上げます。 受験者は、セキュアソフトウェア開発ライフサイクルの要件収集フェーズで必要なセキュリティおよび制御について、十分に理解しなければなりません。受験者が理解することが求められる概念には、ポリシーの分解や、ユースケースおよび悪用ケースの捕捉を含めたデータの特定と収集などがあります。

セキュアソフトウェアの設計

セキュアソフトウェアの設計のドメインでは、ソフトウェアの攻撃対象領域の要素を記載し、脅威のモデル化を実施し、 ソフトウェアのリリース前に満たしていなければならない具体的なセキュリティ基準を定義して、セキュリティの観点から ソフトウェアの全体的な構造の定義について取り上げます。
セキュリティの観点からソフトウェアの全体的な構造を定義するには、正しく機能することがセキュリティに とって不可欠なコンポーネントを特定し、そのセキュリティを保証する設計手法を特定することが必要です。
攻撃対象領域の要素を測定することにより、製品チームにとってはデフォルトのセキュリティをはかる継続的な尺度となり、 ソフトウェアがより攻撃を受けやすい事例を検出することが可能になります。
脅威モデル化プロセスでは、各資産に危害を及ぼす恐れのある脅威を特定し、危害が加えられているリスクの予想を提示することで、 製品チームがセキュリティ機能の必要性や、特に慎重なコードレビューおよびセキュリティ試験が必要な領域を特定する助けとなります。
特定のセキュリティ基準が、個々の製品チームまたは基本的なセキュリティ基準のほかにさらなる基準のあるソフトウェアリリースに 適用される場合もあります。
受験者は、攻撃対象領域分析を行い、脅威モデル化を実施する手法を把握することが求められ、暗号化などのセキュリティ機能と いう形態であれ、資産を危害から守るソフトウェアの適切な機能という形態であれ、リスクを軽減する対策を特定し精査する 能力がなければなりません。受験者は、セキュアソフトウェアの設計を実行するのに必要な設計留意点、アーキテクチャ、 技術を理解することが求められます。

セキュアソフトウェアの実装とコーディング

セキュアソフトウェアの実装とコーディングのドメインは、コーディングおよびテストスタンダードの適用に関係しており、 「ファジング」、静的分析コードスキャンツールなどのセキュリティテストツールを適用し、コードレビューを実施します。
受験者は、開発者がセキュリティの脆弱性につながる恐れのある不具合を取り込まないようにする、コーディングスタンダードを 把握することが求められます。テストスタンダードおよび最適慣行は、テストがソフトウェア機能の正しい操作だけに集中するの ではなく、潜在的なセキュリティの脆弱性を検出することに焦点を当てるのに役立ちます。
受験者は、一般的なソフトウェアの脆弱性および対策について把握し、ソフトウェアの脆弱性につながる恐れのあるエラーを 検出できる可能性を最大限に高めるため、ソフトウェアのアプリケーションプログラミングインターフェース(API)および ネットワークインターフェースに、構造化されているものの無効なインプットを与える、ファジングツールなどのセキュリ ティテストツールを適用することが求められます。
受験者は、ソースコードを調査し、潜在的なセキュリティの脆弱性を検出・排除するため、自動化ツールによって補完する コードレビューの実施を熟知していなければなりません。
受験者は、例外管理、設定管理、ビルド環境およびインターフェースコーディングで遭遇するセキュリティの問題を把握することが求められます。

セキュアソフトウェアのテスト

セキュアソフトウェアのテストとは、セキュアソフトウェアの開発ライフサイクルのなかで、ソフトウェアの機能が完全にそろった 状態となり、ユーザのベータテストを行う準備が整っているフェーズのことを言います。セキュアソフトウェアのテストフェーズは、 最終的なソフトウェアが要件を満たしているかどうかを判断することを目的としています。
受験者は、ソフトウェア品質保証スタンダードを熟知し、セキュリティの問題が発生した際に行う影響評価と是正措置手順を把握しなければなりません。
受験者は、機能テストおよびセキュリティテスト(ホワイトボックスとブラックボックス両方)、相互運用性テスト、バグトラッキング、 および高優先度コード(ソフトウェアの「攻撃対象領域」の一部であるコード)のテストの概念を理解することが求められます。
受験者は、ペネトレーションテスト、ファジング、スキャニング、シミュレーションテスト、不具合および暗号検証の試験、および バグフィックスがコードのベースラインリリースを逆行させないことを確認する方法とプロセスなど、さまざまな種類の試験を熟知していなければなりません。

ソフトウェアの検収

ソフトウェアの検収のドメインでは、セキュリティの観点からソフトウェアを顧客に納品する準備が整っているかどうかの判断に 関する内容を取り上げます。
このドメインでは、ソフトウェアのセキュリティ状態の全体像を示し、ソフトウェアが 顧客にリリースされた後、攻撃に耐える可能性について説明します。
またこのドメインには、リリース後の妥当性確認および検証(コモンクライテリアテスティングなど)や、 サードパーティまたは組織のセキュリティチームが実施するソフトウェアの個別審査についても記載しています。
受験者は、完了基準の決定方法、リスクの受容と文書化(災害復旧および事業継続計画など)、 コモンクライテリアおよび第3者テストの方法について、把握することが求められます。

ソフトウェアの導入、運用、保守及び破棄

ソフトウェアの導入、運用、保守および破棄のドメインでは、出荷時にソフトウェアから取り除かれなかった脆弱性と、 ソフトウェアが出荷された後および「安全」だったソフトウェアが脆弱であることが明らかになった時点で発見される 新たな攻撃について扱います。このドメインは、脆弱性が現場で発見され、顧客をリスクにさらす前にさらなる 脆弱性を検出・排除できるよう、エラーから学び、脆弱性報告書に記載されている情報を活用することを目的としています。 問題管理プロセスも、同様のエラーが今後取り込まれないよう、製品チームおよびセキュリティチームがプロセスを 適応させるのに役立ちます。
受験者は、脆弱性の報告書を評価し、必要に応じてセキュリティ勧告および最新情報を公表する方法について、 把握することが求められます。
受験者は、報告された脆弱性の事後分析を実施し、必要に応じて措置を講じる ことができなければなりません。
受験者は、製品が耐用年数を迎えた際に取らなければならない 手順およびセキュリティ対策について、熟知していなければなりません。

サプライチェーン及びソフトウェアの受入れ

サプライチェーンおよびソフトウェアの受入れのドメインでは、受験者が委託開発、受入れ、およびソフトウェアや 関連サービス(クラウドコンピューティング、モバイルアプリケーション開発など)の調達のリスクを管理する にあたり必要とされる知識と作業について、全体的な概要を説明します。
このドメインは、組織がソフトウェアを 取得する際、製品が故意であろうとなかろうと、不当に動作したり、事業を中断させることにより経済的に悪影響を 及ぼしたりしないということを保証できるよう、組織に期待されることを定めています。
サプライヤのリスクに関して受験者が理解しなければならない主な要素は、オープンソースライブラリの利用と 再利用を取り巻く適法性と、コードに存在するかもしれないセキュリティの脆弱性です。
開発を委託する場合、受験者はセキュアソフトウェア開発ライフサイクル(SDLC)に関する知識を適用し、 これをサプライヤを評価する基本プロセスとして使用します。特に、技術的なセキュリティ制御が、 要件から始まり続いて設計、テスト、そして最終的には運用および保守に組み込まれるという保証書を提供することで、これを行います。
このドメインに記載されている概念と業務は、サードパーティのサービスまたは製品提供者に対等に適用され、 法律によって執行される、安全なSDLCの方向性を提示しています。
受験者は、脆弱性の管理、サービス品質保証契約(SLA)の監視、およびソースコード開発と保守ライフサイクルを 通した証拠保管の継続性といった問題について、サプライヤとやりとりを行う際のプロセスを構築する方法を把握 することが求められます。