セキュリティ・バイ・デザインとは【用語集詳細】
セキュリティ・バイ・デザイン(Security by Design)
セキュリティ・バイ・デザイン(Security by Design,SBD)あるいはセキュア・バイ・デザイン(Secure by Design)とは、システム導入・運用後の後付けではなく、企画・設計を含む開発ライフサイクル全体でセキュリティ対策を組み込むことで、サイバーセキュリティを確保するという考え方です。
セキュリティ・バイ・デザインとは?
内閣サイバーセキュリティセンター(NISC)は、セキュリティ・バイ・デザインを「情報セキュリティを企画・設計段階から確保するための方策」として定義します。企画・設計の段階からセキュリティ対策を組み込むためには、調達担当者が「情報セキュリティに係る仕様」を調達仕様書に適切に組み込める方法を確立することが必要とされています。
デジタル庁は、「政府情報システムにおけるセキュリティ・バイ・デザインガイドライン」において、この概念を以下のように定義します。
情報システムの企画工程から設計工程、開発工程、運用工程まで含めた全てのシステムライフサイクルにおいて、一貫したセキュリティを確保する方策
セキュア・バイ・デザインおよびセキュア・バイ・デフォルト
米CISAは、サイバーセキュリティ分野における安全保障強化施策の1つとして、セキュア・バイ・デザイン/セキュア・バイ・デフォルトを推進しています。
CISAは、従来の定義に加えて、顧客を保護するセキュリティを、単なる技術仕様だけでなく中核的な事業目標に据えた製品をセキュア・バイ・デザインであると規定しています。
また、製品を取得した時点で、ユーザーによる設定作業や追加コストの必要なく、適切なセキュリティ機能が利用可能であるという状態をセキュア・バイ・デフォルト(Secure by Default)としています。
CISAのガイダンス
CISAおよびFBI、NSA、オーストラリア、カナダ、英国、ドイツ等各パートナーが2023年4月に共同で公開したガイダンス、セキュア・バイ・デザイン/デフォルト原則(Shifting the Balance of Cybersecurity Risk)は、ソフトウェア製造者に対し、概ね以下の施策を推奨しています。
- セキュリティの負担を顧客のみに抱えさせるべきではない
- 根本的な透明性と説明責任を果たす(顧客のデプロイ状況から学んだ情報の共有、CVE開示等)
- セキュア・バイ・デザイン達成のための組織・リーダーシップの構築
- 具体的なセキュリティ・バイ・デザイン施策の採用(SSDFの原則を含む)
- 可能な場合メモリ安全性の高い言語の利用を優先(C#、Rust、Ruby、Java、Go、Swift等)
- セキュアなハードウェア基盤
- セキュアなソフトウェア・コンポーネント(ライブラリ、モジュール、ミドルウェア、フレームワーク)の利用
- セキュアなWebテンプレート・フレームワークの利用
- パラメータ化クエリの利用(SQLインジェクション対策)
- SASTおよびDAST
- コードレビュー
- SBOMの活用
- 脆弱性開示プログラム
- 適切なCVE情報の公開
- 多層防御(Defense-in-Depth)
- 基本的なセキュリティ要件を満たす製品の開発
- セキュア・バイ・デフォルト施策の優先付け
- (普遍的に共有されている)デフォルト・パスワードの廃止
- シングル・サイン・オン(SSO)
- セキュアなロギング
- 適切な認可プロファイルやリスクの周知
- リスクのある下位互換よりもセキュリティを優先する
- ハードニングを製品のデフォルト構成として提供し、ハードニング・ガイドの分量を低減させていく
- セキュリティ設定に伴うユーザー・エクスペリエンス(UX)を考慮する
関連記事