サイバーセキュリティに対する組織のアプローチは、攻撃対象が拡大し、潜在的な脅威についてより多くのことを学ぶにつれて、常に進化することが求められます。セキュア・バイ・デザインのアプローチでは、ソフトウェアのサプライチェーンのどの時点からでも脅威が侵入する可能性があることを理解し、ソフトウェア開発の設計、コーディング、テスト、デプロイの各段階にセキュリティを統合します。セキュア・バイ・デザインは、米国連邦政府機関(およびそのソフトウェアに関与するすべての組織)の標準として、ソフトウェア開発ライフサイクルにセキュリティを組み込むための代表的な基準となっています。
時間の経過とともに、セキュアバイ・デザインは、セキュア・バイ・デフォルトやセキュア・バイ・デマンドなどの関連する概念に分岐しました。これらの概念は、セキュア・バイ・デザインのアプローチを特定の項目に特化させたことで生まれました。
- セキュア・バイ・デフォルトは、すべてのソフトウェア製品が最初から安全であることを保証することに焦点を当てています。
- セキュア・バイ・デマンドは、セキュア・バイ・デザインの原則を調達プロセスに拡張したものです。
ここでは、セキュア・バイ・デザインと関連するアプローチについて詳しく見ていきます。また、悪用可能な脆弱性やソフトウェアのサプライチェーン攻撃を防ぐために、組織がどのように戦略を適応させることができるかに関するステップバイステップガイドもご紹介します。
セキュア・バイ・デザインとは?
米国サイバーセキュリティ・インフラセキュリティ庁(CISA)は2023年4月、次に示す3つの重要なソフトウェア・セキュリティ原則に焦点を当てたSecure by Design Initiative(セキュア・バイ・デザイン・イニシアティブ)を導入しました。
- 顧客のセキュリティに関する成果に対して責任を負う
- 抜本的な透明性を確保し説明責任を果たす
- これらの目標を達成するための組織構造とリーダーシップを構築する
セキュア・バイ・デザインでは、セキュリティの原則とプロトコルをソフトウエア開発プロセスの各段階に統合します。つまり、セキュリティ対策は、ソフトウェア開発の設計、コーディング、テスト、デプロイの各フェーズに組み込まれるものであり、後付けで追加されるものではないという考え方が採用されています。
セキュア・バイ・デザインの目標は、ソフトウェアの安全な基盤を最初から構築し、脆弱性と潜在的なアタックサーフェス(攻撃対象領域)を減らすことです。
セキュア・バイ・デフォルトとは?
セキュア・バイ・デフォルトは、セキュア・バイ・デザインから派生したもので、あらゆるソフトウェアやハードウェアが、ユーザーによる再設定を必要とすることなく、最もセキュアな構成に設定されることに重点を置いた概念です。セキュア・バイ・デフォルトの製品は、悪意のある者による不正アクセスから企業を保護するために必要な最も重要なセキュリティ制御を自動的に有効にします。つまり、ユーザーが製品を一般的な悪用手法から保護するために追加の手順を踏む必要はありません。
セキュア・バイ・デフォルトとして、デフォルトのパスワードの除去、多要素認証とシングルサインオンの義務付けなどがあり、許可されたユーザーだけがリソースにアクセスできるようにします。このアプローチには、自動アップデート、自動パッチ適用、すべてのユーザーアカウントとデバイスを対象にした安全な構成も含まれます。
セキュア・バイ・デマンドとは?
セキュア・バイ・デマンドは、セキュア・バイ・デザインの原則を予算編成や調達契約と組み合わせることで、ベンダーだけでなく請負業者にもセキュア・バイ・デザインを義務付けるものです。ソフトウェア購入者、バイヤー、調達担当者が、サイバーセキュリティに対する潜在的なベンダーのアプローチをよりよく理解するためのガイドとしてCISA's Secure by Demand Guideがあり、一連の質問とリソースを提供しています。これには、ベンダーの認証方法、ソフトウェアのサプライチェーンのセキュリティ、脆弱性の開示と報告に関する質問も含まれます。
ベンダーが自社の製品やサービスにおいてセキュア・バイ・デザインの原則やプロトコルを遵守することを義務付けることで、組織はソフトウェアのサプライチェーンに潜在的な脆弱性が入り込むのを防ぐことができます。また、セキュア・バイ・デマンドのアプローチは、ベンダーが自社のサイバーセキュリティ態勢を継続的に改善する動機付けにもなります。
セキュア・バイ・デザインのサイバーセキュリティ戦略の構築
組織がセキュア・バイ・デザインの実現を優先する場合、効果的なDevSecOpsプラクティスの活用、ソフトウェア部品表(SBOM)の維持、ソフトウェア開発ライフサイクルのあらゆる時点から侵入する脅威を防御するためのAIの組み込みといったステップを踏む必要があります。
DevSecOpsプラクティスの採用
セキュア・バイ・デザインの取り組みをサポートする最初のステップは、包括的なDevSecOpsアプローチを使用してソフトウェアを開発、構築、セキュリティ保護、およびデプロイするという、セキュアなソフトウェア開発プロセスの実現です。
現在、開発者の多くは複雑なツールセットを利用して新しいプログラムを作成しています。GitLabによる最近の調査によると、回答者の62%が開発に6つ以上のツールを使用しており、20%は11つ以上のツールを使用しています。これは非効率であり、潜在的なセキュリティの脆弱性をもたらしリスクを増大させる恐れがあります。
デベロッパーは、DevSecOpsワークフローに必要なすべてのツールに、単一の使いやすいインターフェイスでアクセスできる必要があります。DevSecOpsプラットフォームのようなエンドツーエンドのソリューションがあれば、デベロッパーの負担を増やすことなく、セキュア・バイ・デザインのアプローチを組織に導入することができます。
SBOMの作成と維持
透明性の確保もセキュア・バイ・デザインの重要な要素です。特に複数のソースからのコンポーネントが含まれている場合、組織はソフトウェアの中身を理解する必要があります。
SBOMはこの透明性の実現に不可欠なツールです。バージョン、ライセンス、依存関係の詳細を含むソフトウェアコンポーネントの詳細なインベントリを提供してくれるため、潜在的な脆弱性や悪意のあるコードの認識を深めることができます。
このインベントリを維持することで、組織は、オープンソースのリポジトリやライセンスを取得したサードパーティのコンポーネントから要素を取り出したときに発生する可能性のある潜在的な脆弱性やリスクを十分に理解することができます。DevSecOpsプラットフォームは、SBOMの自動生成と更新、既存のワークフローへの統合、関連する脆弱性へのリンク指定に役立ちます。
現在、多くの組織がSBOMを使用していますが、その効果を十分に発揮させるためには、SBOMを動的なもとし、セキュリティのスキャニングツールと連携させ、継続的に更新する必要があります。スキャンツールやダッシュボードと統合することで、SBOMはアプリケーションに関連するリスクを特定する方法を提供できます。必要でない場合でも、SBOMはコードが安全であることを検証することで、セキュリティ規制へのコンプライアンスをサポートできます。
ソフトウェア開発におけるAIの活用
組織がAIの活用方法を模索する中で、ソフトウェア開発ワークフローは、開発プロセスを加速し、セキュリティを強化する可能性を秘めたテクノロジーへの貴重な入口となります。
あらゆる業界の組織が、すでにこれらのアプリケーションの検討を始めています。GitLabの調査では、回答者の39%がソフトウェア開発ライフサイクルでAIをすでに使用していると回答しています。
ソフトウェア開発ライフサイクル全体にAIを適用することで、開発ワークフローにおけるAI主導のサイロ化やバックログを回避できます。AIは次のような重要な機能を果たします。
-
メモリーセーフ言語へのコード説明とレガシーコードのリファクタリング
-
DevSecOpsパイプラインの根本原因分析、テスト中の複雑な問題を迅速に解決
-
既知の脆弱性の調整を支援し、より徹底的な修復をサポートする脆弱性の修正
リーダーがAIをワークフローに組み込む際、プライバシーとデータセキュリティを優先することが極めて重要です。セキュア・バイ・デザインのアプローチを採用する上で不可欠なのは、機密データを保護し、知的財産権を保護するAI戦略を策定することです。
次なる課題
セキュア・バイ・デザインは、近々、より信頼性の高いソフトウェアエコシステムを構築する上で、デフォルトのアプローチとなる可能性があります。米国政府は現在、ソフトウェアデベロッパーと協力し、民間部門がセキュア・バイ・デザインのソフトウェアを製造・リリースすることを法的に奨励するフレームワークの作成に取り組んでおり、企業が安全なテクノロジーや先進的な取り組みにさらに投資するよう働きかけています。
ソフトウェア開発に最初からセキュリティが組み込まれること、効果的なSBOMを通じて透明性が確保されること、AIによって開発プロセスが強化されること。こうしたアプローチがソフトウェア開発ライフサイクルに関わるすべての人の成功につながるでしょう。
次のステップ
Frequently asked questions
主要なポイント
- セキュア・バイ・デザイン、セキュア・バイ・デフォルト、セキュア・バイ・デマンドは、テクノロジー製品のメーカーが製品の設計・開発のあらゆる側面にセキュリティを組み込むことを奨励することで、脆弱性やソフトウェアサプライチェーン攻撃を未然に防ぐことを目的としています。
- 包括的なDevSecOpsアプローチを採用し、ソフトウェア部品表(SBOM)を作成して維持することは、セキュア・バイ・デザインを実現するための重要なステップです。
- ソフトウェア開発ライフサイクルにAIを組み込むことで、開発プロセスを迅速化し、セキュリティを強化し、脆弱性の修正を支援することもできます。