情報システム開発ライフサイクルにおけるセキュリティの考慮事項(NIST SP800-64)
発行機関:NIST
発行年月日:2008年10月
https://www.ipa.go.jp/files/000025343.pdf
概要
NIST SP800-64「情報システム開発ライフサイクルにおけるセキュリティの考慮事項」は、セキュリティの手順をITシステム開発ライフサイクル(SDLC: System Development Life Cycle)に取り入れる際のガイドラインとして作成されました。
SDLCについて
SDLCは以下のフェーズから構成されます。
- 「開始」
- 「開発/調達」
- 「インプリメンテーション/アセスメント」
- 「運用/保守」
- 「廃止」
このガイドラインでは、上記の5つのフェーズに対してセキュリティを取り入れるためのセキュリティタスクを解説しています。
開始
このフェーズではシステムのニーズを明らかにし、システムの目的を文書化します。
開始フェーズでは以下のような活動が含まれます。
- 機密性、完全性および可用性に関するビジネス要件を概説する。
- 情報分類を決定し、個人情報などの取り扱いに注意を要する情報を伝送、保存または作成する際に適用される、特殊取り扱い要件(special handling requirement)を特定する。
- プライバシーにかかわるすべての要件を定義する。
開発/調達
このフェーズでは、システムの設計や調達、構築を行います。
開発/調達フェーズには、以下のような活動が含まれます。
- リスクアセスメントを行い、その結果を使ってベースラインセキュリティ管理策を補足する。
- セキュリティ要件を分析する。
- 機能的テストおよびセキュリティテストを実施する。
- システム承認と運用認可のドキュメントを用意する。
- セキュリティアーキテクチャを設計する。
インプリメンテーション/アセスメント
インプリメンテーション/アセスメントフェーズでは、システムの受け入れ後に、実際の運用環境でのシステム評価を行います。
インプリメンテーション/アセスメントフェーズには、以下活動が含まれます。
- 情報システムを、そのシステム用の環境に統合する。
- システム承認活動を計画し、実施する。この際、セキュリティ管理策のテストと同期が取れるようにする。
- システム運用認可活動を完了させる。
運用/保守
このフェーズでは、システムの運用/保守を行います。以下のような作業が発生します。
- システムを導入、運用し、システムへの強化や修正を開発、テストし、ハードウェアやソフトウェアを追加または置き換える。
- システムのパフォーマンスを継続的に監視し、セキュリティ要件が満たされているかどうかをチェックする。また、システムに必要な変更を実施する。
- 運用システムを定期的に評価して、システムをより効果的で効率的、かつセキュアなものにするための方法を模索する。
運用/保守フェーズの活動には、以下のものが含まれます。
- 運用準備状況のレビュー(operational readiness review)を実施する。
- システム構成を管理する
- システムのセキュリティ管理策の安全な運用と継続監視のための手順と手続きを確立する。
- 必要に応じて再運用認可を実施する
廃止
廃止フェーズでは、システムの廃止に伴う作業を行います。廃止活動では、システムデータを適切に保存することに重きが置かれます。
廃止フェーズには、以下活動が含まれます。
- 廃棄/移行計画を作成し、実施する。
- 重要な情報をアーカイブする 。
- メディアをサニタイズ(データを完全に消去)する。
- ハードウェアとソフトウェアを廃棄する。
SDLCにおけるセキュリティ活動と、参考となるNISTのガイドライン
活動内容 | 参考文書 |
フェーズ 1 – 開始 | |
1. セキュリティ計画作成を開始する | SP 800-64, -100, -37, -53 |
2. 情報システムを分類する | SP 800-60, FIPS 199 |
3. ビジネス影響をアセスメントする | SP 800-34 |
4. プライバシー影響をアセスメントする | SP 800-37 |
5. セキュアな情報システム開発プロセスを確実に使用する | SP 800-64, -16 |
フェーズ 2 – 開発/調達 | |
1. システムに対するリスクをアセスメントする | SP 800-30 |
2. セキュリティ管理策を選択して文書化する | SP 800-53 |
3. セキュリティアーキテクチャを設計する | SP 800-30 |
4. セキュリティ管理策と開発管理策を設計する | SP 800-53, FIPS 200 |
5. セキュリティドキュメントを作成する | SP 800-18 |
6. 開発テスト、機能テストおよびセキュリティテストを実施する | FIPS 140-2 |
フェーズ 3 – インプリメンテーション/アセスメント | |
1. C&A セキュリティ承認と運用認可(C&A)の詳細計画を作成する | SP 800-37 |
2. 確立した環境またはシステムにセキュリティを統合する | SP 800-64 |
3. システムセキュリティをアセスメントする | SP 800-37, -53A |
4. 情報システムを認可する | SP 800-37 |
フェーズ 4 – 運用/保守 | |
1. 運用準備状況を確認する | SP 800-70, -53A |
2. 構成管理を実施する | SP 800-53A, -100 |
3. 継続的な監視を実施する | SP 800-53A, -100 |
フェーズ 5 – 廃止 | |
1. 廃止/移行計画を作成し実施する | なし |
2. 情報を確実に保存する | SP 800-12, -14 |
3. メディアをサニタイズする | SP 800-88 |
4. ハードウェアおよびソフトウェアを処分する | SP 800-35 |
5. システムをクローズする | なし |
SDLC におけるセキュリティ上の重要な役割と責任
役職 | 責任 |
運用認可権限者 (AO; Authorizing Official) |
情報システムの運用に対する責任を負う、政府機関の責任者。運用を認可するにあたっては、システムの利用により生じる政府機関の業務や資産、個人、他の組織、および国家へのリスクが、受容可能なレベルであることが条件となる。任務遂行にあたって運用認可権限者は、(i) 完成したセキュリティ計画 (ii) セキュリティアセスメントレポート、および (iii) 情報システムの脆弱性を軽減または除去するための行動計画とマイルストーンに依存する。 |
最高情報責任者 (CIO; Chief Information Officer) | CIOは、組織の情報システムの計画、予算設定、投資、パフォーマンス、および調達を担当する。したがって、組織のエンタープライズアーキテクチャに適合する、最も効率的で効果的な情報システムを調達する際に、CIOは組織のトップに対してアドバイスし支援する。 |
設定管理者 (CM; Configuration Management Manager) |
CM マネージャは、情報システムまたはネットワーク構成の変化に伴う影響を管理する。したがって、変更管理プロセスを合理化し、システムのセキュリティ状態に害を与える可能性がある変更を検知し、未然に防ぐ。 |
契約担当者 (Contracting Officer) | 契約担当者は、契約の締結、処理、および終了に関する権限を持ち、関連する判断と認定を行う担当者である。 |
契約担当者の技術代表者 (COTR; Contracting Officer's Technical Representative) |
COTRは、契約担当者によって任命された適格な社員であり、特定の契約での技術的側面を扱う技術代表者として行動する。 |
情報システムセキュリティ担当者 (Information System Security Officer) |
情報システムセキュリティ担当者は、情報システムのライフサイクル全体を通じて、そのセキュリティの確保を担当する。 |
IT投資委員会 (Information Technology Investment Board (or equivalent)) |
IT(情報テクノロジ)投資委員会またはそれに相当するものは、1996年の Clinger-Cohen法(第 5 項)によって定められた資産計画および投資管理プロセスの運用を担当する。 |
法律顧問/契約代理人 (Legal Advisor/Contract Attorney) |
調達プロセス中の法的問題に関して、チームへのアドバイスを担当する。 |
プライバシー担当者 (Privacy Officer) |
調達中のサービスまたはシステムが、保護、流布(情報の共有と交換)、および情報開示に関して、既存のプライバシーポリシーに確実に適合するようにする。 |
プログラムマネージャ/プ ログラム担当者 (情報の オーナー) (Program Manager / Official (Information Owner)) |
この担当者は、SDLC プロセス中に、情報システムのビジネスおよびプログラム関係者を代表する。プログラムマネージャは、セキュリティにおいて重要な役割を果たし、理想的にはシステムの機能要件を詳細に認識する。 |
QA/テストディレクター (QA/Test Director) |
QA/テストディレクターは、システムテストと評価を担当する。QA/テストディレクターは、種々のプログラムのリソースとして機能し、プログラムマネージャおよび顧客と連携して、テスト計画の策定と実施を支援する。また、システムの仕様をレビューし、テストのニーズを決定し、プログラムマネージャと協力して、フィールドテストに向けた活動を計画する。 |
政府機関の上級情報セキュリティ責任者 (Senior Agency Information Security Officer (SAISO)) |
最高情報セキュリティ責任者(CISO)とも呼ばれるSAISOは、SDLCへのセキュリティの組込みに関するポリシーの普及と、情報セキュリティのための企業基準(enterprise standards)の策定を担当する。SAISOは、組織の情報セキュリティリスクを特定、評価し、最小限に抑えるための、適切な構造化方法論を組織に導入する際に、中心的な役割を果たす。 |
ソフトウェア開発者 (Software Developer) |
ソフトウェア開発者は、アプリケーション、ソフトウェア、およびインターネット/イントラネットサイトのプログラムのコーディング(「セキュアなコーディング」を含む)を担当する。また、設定管理者(CM manager)と協力して、設定管理(CM)問題を特定、解決し、管理策を実施する。 |
システム設計者 (System Architect ) |
システム設計者は、アプリケーション全体のデザイナー兼インテグレータとして、全体的な設計アーキテクチャを策定し、そのアーキテクチャの概念的統合性を、プロジェクトのライフサイクル全体を通して維持する役割を担う。システム設計者は、プロジェクトチームによる技術的作業の成果物(設計、仕様、手順およびドキュメントを含む)の品質を保証しなければならない。 |
システムオーナー (System Owner) |
システムオーナーは、情報システムの調達、開発、統合、修正、運用および保守を担当する。 |
その他の参加者 (Other Participants) |
情報システム開発における役職の数は、情報システムの複雑さに伴って増大する可能性がある。ゆえに、開発を確実に成功へ導くためには、開発チームの全メンバーの協力が欠かせない。情報セキュリティ担当者は、開発プロセス全体にわたり重要な決定を行う必要があるの で、プロセスのできるだけ早い時期に関与する必要がある。システムユーザは、ニーズの判断、要件の精緻化、および引き渡されたシステムの点検と承認の際に、プログラムマネージャに協力して開発を支援する。参加者には、IT、設定管理、設計およびエンジニアリング、施設の各グループの代表者も含まれることがある。 |