マインドマップギャラリー CISSP 学習ノート-20 (ソフトウェア開発セキュリティ)
これは、CISSP 学習ノート-20 (ソフトウェア開発セキュリティ) に関するマインド マップです。主な内容には、復習問題、試験のキー ポイント、知識ポイントが含まれます。
2024-03-16 16:29:59 に編集されましたCISSP 学習ノート-20 (ソフトウェア開発セキュリティ)
知識のポイント
ソフトウェア開発管理の概要
ソフトウェア開発
プログラミング言語
コンパイル言語: C、Java、VB
第三者によって簡単に操作されない
悪意のある攻撃者がバックドアを追加したり、セキュリティ上の欠陥が検出をバイパスしたりする可能性があります
インタープリタ言語: Python、R、JS、VBS
図書館
開発ツールセット
オブジェクト指向プログラミング
確保する
システム障害の回避と抑制
入力の検証
認証とセッション管理
エラー処理
記録
パンチインの失敗とクローズの失敗
システム開発ライフサイクル
ライフサイクルモデル
ウォーターフォールモデル
1 段階前に戻ることしかできず、開発サイクルの後半ではエラーを処理できません
スパイラルモデル
それぞれの螺旋は滝です
アジャイルなソフトウェア開発
スクラム
能力成熟度モデル CMM または SW-CMM または SCMM
ステージ
初期レベル
再現可能なレベル
定義レベル
管理レベル
最適化レベル
ソフトウェア アシュアランス成熟度モデル SAMM
理想的なモデル
ステージ
起動する
診断
確立する
アクション
勉強
ガントチャートとPERT
変更と構成の管理
変化
リクエスト制御、変更制御、リリース制御
構成
DevOps アプローチ
DevSecOps
セキュリティ制御はコードによってプロアクティブに管理されます
アプリケーションプログラミングインターフェース
カール
ソフトウェアテスト
ホワイトボックステスト
テスターはソースコードにアクセスできます
ブラックボックステスト
ユーザー視点、コードへのアクセスなし
グレーボックステスト
結合するが、内部原理は分析しない
コードリポジトリ
サービスレベル契約
サードパーティ製ソフトウェアの調達
データベースとデータ ウェアハウスを作成する
データベース管理システムのアーキテクチャ
階層型データベースと分散型データベース
階層: 1 対多
分散: 多対多
リレーショナルデータベース
行と列の構造
データベーストランザクション
属性
原子性
一貫性
分離
持続性
マルチレベルのデータベースセキュリティ
ビューを使用する
オープンデータベース接続ODBC
NoSQL
キー/値のストレージ
グラフデータベースはデータをグラフィック形式で保存します
文書保管庫
キー/値ストレージと同様
一般的なドキュメント タイプ: XML と JSON
メモリの脅威
知識ベースのシステムを理解する
エキスパートシステム
知識ベース
専門知識をエンコードした一連の if/then ステートメント
推論エンジン
意思決定
機械学習ML
教師あり学習
ラベル付きデータを使用してトレーニングする
教師なし学習
ラベルなしのデータをトレーニングに使用する
ニューラルネットワーク
試験のポイント
リレーショナル データベース管理システム (RDBMS) の基本アーキテクチャを説明します。リレーショナル データベースの構造を理解します。テーブルの機能 (リレーションシップ、行 (レコード/タプル)、および列 (フィールド/プロパティ) を説明する能力。テーブルとさまざまなタイプのキー間のリレーションシップを定義する方法を知っています。集計と推論によってもたらされるデータベース セキュリティの脅威について説明します。
エキスパート システム、機械学習、ニューラル ネットワークがどのように機能するかを説明します。エキスパート システムは、一連のルールを含む知識ベースと、知識ベース情報を使用して他のデータを取得する推論エンジンという 2 つの主要なコンポーネントで構成されます。機械学習テクノロジーは、アルゴリズムを通じてデータから知識を発見しようとします。ニューラル ネットワークは人間の脳の動作をシミュレートし、限られた範囲内で一連の階層的な計算を配置することで問題を解決します。ニューラル ネットワークは、解決策を提供する前に、特定の問題について広範なトレーニングを必要とします。
システム開発のモデルを理解します。ウォーターフォール モデルは、最終製品の開発に至る継続的な開発プロセスを記述します。エラーが見つかった場合、開発者は前の段階にロールバックすることしかできません。スパイラル モデルはいくつかのウォーターフォール モデルを反復し、その結果、詳細で完全にテストされた複数のプロトタイプが生成されます。アジャイル開発モデルは顧客のニーズに焦点を当て、それらのニーズを満たす新機能を反復的に迅速に開発します。
アジャイル ソフトウェア開発におけるスクラム方法論について説明します。スクラムは、アジャイル哲学を実装するための組織化されたアプローチです。作業を整理しレビューするために、毎日のスクラム会議に依存しています。開発は、完成品の提供に焦点を当てた短いスプリントの活動です。統合製品チーム IPT は、米国国防総省が採用したこのアプローチの初期の例です。
ソフトウェア開発成熟度モデルについて説明します。成熟度モデルは、組織が場当たり的で混沌としたソフトウェア プロセスを成熟した標準化されたソフトウェア開発プロセスに発展させることによって、ソフトウェア開発プロセスの成熟度と品質を向上させるのに役立つように設計されていることを知ってください。 SW-CMM、IDEAL、および SAMM モデルを説明する能力。
変更および構成管理の重要性を理解します。変更管理プロセスの 3 つの基本コンポーネント (要求制御、変更制御、リリース制御) と、それらがセキュリティにどのように寄与するかを理解します。構成管理が組織内で使用されるソフトウェアのバージョンをどのように制御するかを説明します。変更の監査と記録によって組織のリスクがどのように軽減されるかを理解します。
テストの重要性を理解します。ソフトウェア テストは、ソフトウェア開発プロセスの一部として設計される必要があります。ソフトウェア テストは、設計、開発、生産プロセスを改善するための管理ツールとして使用する必要があります。
現代の企業における DevOps と DevSecOps の役割について説明します。 DevOps アプローチは、自動化とチーム間のコラボレーションをサポートすることで、ソフトウェア開発と IT 運用を統合することを目指しています。 DevSecOps アプローチは、セキュリティ運用アクティビティを統合モデルに導入することにより、DevOps モデルを拡張します。継続的インテグレーションおよびデリバリー (CICD) テクノロジーは、DevOps および DevSecOps パイプラインを自動化します。
ソフトウェア開発エコシステムにおけるさまざまなコーディング ツールの役割を理解します。開発者は、さまざまなプログラミング言語でコードを作成し、そのコードを機械語にコンパイルするか、インタープリターを通じて実行します。開発者は、ソフトウェア開発ツールセットと統合開発環境を使用して、コーディング プロセスを容易にすることができます。ソフトウェア ライブラリは共有および再利用可能なコードを作成し、コード リポジトリはソフトウェア開発プロセスの管理プラットフォームを提供します。
調達ソフトウェアが組織に与える影響を説明します。組織は、ニーズに合わせて市販の (COTS) ソフトウェアを購入することも、無料のオープン ソース ソフトウェア (OSS) を使用することもできます。これらのソフトウェアは潜在的な攻撃対象領域を拡大するため、セキュリティのレビューとテストが必要です。
レビュー質問
1. Christine は、Devops アプローチを通じて組織のコード展開を支援しています。次の選択肢のうち、属さないものはどれですか DevOps モデルの 3 つのコンポーネントのうちの 1 つですか? A. 情報セキュリティ B. ソフトウェア開発 C. 品質保証 D. IT 運用
あ
2.ボブは、ユーザーが日付を入力できる入力ボックスを備えたアプリケーション ソフトウェアを開発しています。彼は、セキュリティ上の問題が発生した場合に備えて、ユーザーが提供する値が正確な日付であることを確認したいと考えています。ボブは次のどのテクニックを採用すべきでしょうか? A. 複数のインスタンス化 B. 入力の検証 C.汚染 D. スクリーニング
B
3. Vincent は、未処理の変更タスクに取り組んでいるソフトウェア開発者です。彼はどのタスクを最優先すべきかわかりませんでした。変更管理プロセスのどの部分がタスクの優先順位付けに役立っていますか? A. リリースコントロール B. 配信制御 C. リクエスト制御 D. 変更監査
C リクエスト制御は、これらのリクエストに優先順位を付ける機会を提供します。 リクエスト コントロールは、ユーザーが変更をリクエストするための組織化されたフレームワークを提供します 変更監査は、運用環境が変更記録と一致していることを確認するために使用されます。
4 Frank はソフトウェア開発環境のリスク分析を行っており、障害が発生した場合にシステムを高い安全レベルに置く障害管理アプローチを導入したいと考えています。彼はどのような方法を使用すべきでしょうか? A. フェールオープン B. 障害の抑制 C. フェールクローズ D.障害の解決
C フェールクローズ: 管理者が介入するまで、システムは高いセキュリティ レベルを維持します。 フェールオープン: 低いセキュリティ レベル、解決されるまで制御は無効になります 障害の抑制: 障害の影響を軽減します。
5. フィードバック ループを備えた 7 フェーズのアプローチを使用し、前のフェーズに戻ることができるソフトウェア開発モデルはどれですか? A.ボイス・コッド B. ウォーターフォールモデル C. スパイラルモデル D.アジャイル開発
B
6. ジェーンは、チームが開発しているソフトウェア パッケージのセキュリティ要件を策定する際に、脅威モデリング技術を使用して脅威評価を実施します。ソフトウェア アシュアランス成熟度モデル (SAMM) に基づいて、彼女はどのビジネス機能に関与していますか? A.ガバナンス B. デザイン C. 実装 D. 検証する
B デザイン機能の一部
7.データベース テーブル間の参照整合性制約を強制するために使用されるキーは次のどれですか? A. 候補キー B. 主キー C.外部キー D. 代替キー
C 候補キー: 主キーとして使用できます。 代替キー: 主キーとして選択されていません 外部キー: データベーステーブル間の参照整合性制約を強制します。
8. リチャードは、データベース ユーザーが権限を乱用して、多数のレコードのデータをクエリして結合し、データを取得していると考えています。 会社全体のビジネス動向に関する情報を入手します。このデータベースのユーザーはどのようなプロセスを使用しますか? A. 推論 B. 汚染 C. 複数のインスタンス化 D. 集計
D
9. 通常アクセスできる情報にアクセスできないため、権限のないユーザーが秘密を導き出すことを防ぐことができるデータベース テクノロジは何ですか? 情報? A. 推論 B. 操作 C. 複数のインスタンス化 D. 集計
C マルチインスタンス化: 同じ主キー値を持つように見える複数のレコードを、異なる分類レベルでデータベースに挿入できるようにします。
10. アジャイル開発の原則ではないものは次のうちどれですか? A. 顧客満足のために早期納品を継続する B. ビジネス担当者と開発者が連携する C. 卓越した技術の絶え間ない追求 D. 他のニーズよりもセキュリティを優先する
D
11 エキスパート システムの意思決定プロセスの基礎を形成するためにどのような情報が使用されますか? A. 一連の重み付き階層計算 B. 過去の実績に基づいて重み付けされた、大規模な人間の専門家からのインプットを組み合わせる C. 知識ベースにまとめられた一連の if/then ルール D. 人間の心が使用する推論プロセスを模倣する生物学的な意思決定プロセス
C
12. ソフトウェア機能成熟度モデル SW-CMM では、組織はどの段階で定量的手法を使用して開発プロセスを詳細に理解できるようになりますか? A. 初期レベル B. 再現性レベル C.定義レベル D.管理職レベル
D
13. 次のオプションのうち、アプリケーションとデータベースの間でプロキシとして機能し、対話をサポートし、プログラマの作業を簡素化するものはどれですか? A.SDLC B.ODBC C.PCIDSS D. 要約
B
14. どのソフトウェア テストで、テスターは基礎となるソース コードにアクセスできますか? A. 静的テスト B. 動的テスト C. クロスサイト スクリプティングのテスト D. ブラックボックステスト
あ 静的テスト: ホワイトボックステスト 動的テスト: ブラックボックステストの例
15. プロジェクト タスクの計画、調整、追跡に役立つスケジューリングをグラフィカルに示すグラフの種類はどれですか? A. ガントチャート B. ベン図 C. 棒グラフ D.パート
あ
16. 上位の分類レベルのデータが下位の分類レベルのデータと混在する場合、データベースに存在するセキュリティ リスクのタイプは次のうちどれですか? A. 集計 B. 推論 C.汚染 D. 複数のインスタンス化
C 本の中のオリジナルの言葉
17. Tonya は、組織内で使用されているサードパーティ ソフトウェア パッケージのリスク評価を実施しています。彼女は、業界で非常に人気のあるサプライヤーから製品を購入する予定です。このソフトウェアを最もよく表す用語は何ですか? A. オープンソース B. カスタム開発 C. エンタープライズ リソース プランニング (ERP) D.市販の既製品
D
18. 変更管理プロセスの一部ではないものは次のうちどれですか? A. リクエスト制御 B. リリースコントロール C.構成監査 D.チェンジコントロール
C
19. 同じデータを操作するときに 2 つのトランザクションが相互に干渉しないことを保証するトランザクション管理原則は何ですか? A. 原子性 B. 一貫性 C. 隔離 D. 持続性
C 原子性: トランザクションの一部が失敗した場合、トランザクション全体をロールバックする必要があります。 一貫性: データベースは常にデータベース モデル ルールをロードできる状態にある必要があります。 耐久性: データベースにコミットされたトランザクションは保存される必要があります。
20. トムは、名前、電話番号、ビジネス関連の顧客 ID を含むデータベース テーブルを作成しました。このテーブルには 30 人の顧客に関する情報も含まれています。このテーブルの「次数」は何ですか? A.2 B.3 C.30 D.未定義
B カーディナリティ行の次数列