このドキュメントでは、主に、ソフトウェア サプライ チェーンのプロセスとシステム間でソフトウェアの保護をサポートするベスト プラクティスを中心に説明します。また、Google Cloud でいくつかのプラクティスを実装する方法についても説明します。
ソフトウェアのライフサイクル全体でソフトウェアを保護する場合や、ソフトウェア サプライ チェーンのセキュリティをサポートする基本的な開発手法の場合、ソフトウェアの保護についての追加の検討事項があります。例:
- システムへの物理アクセスとリモート アクセスを制御する。
- 監査、モニタリング、フィードバック メカニズムを実装して、脅威やポリシー違反を迅速に特定し、対応できるようにする。
- 設計、入力検証、信頼できないシステムへの出力、データ処理、コード分析、暗号化などの基本的なコーディング手法。
- このドキュメントで説明している手法以外の基本的な DevOps プラクティス(技術手法、チーム プロセス、組織文化など)。
直接的な依存関係と推移的な依存関係に関するオープンソース ライセンスを含む、ソフトウェア ライセンス条項の遵守。
一部のオープンソース ライセンスには、商用ソフトウェアに問題となる制限的なライセンス条項が含まれています。特に、一部のライセンスでは、再利用するオープンソース ソフトウェアと同じライセンスに基づいてソースコードを公開することが義務付けられています。ソースコードを非公開にするには、使用するオープンソース ソフトウェアのライセンス条項を把握することが重要です。
社員にトレーニングを提供することで、サイバーセキュリティに関する意識を高める。情報セキュリティの専門家による調査「State of Cybersecurity 2021, Part 2」によると、ソーシャル エンジニアリングが最も一般的な攻撃タイプでした。調査回答者も、サイバーセキュリティのトレーニングと意識付けのプログラムが従業員の認知度にある程度のプラスの影響(46%)または強力にプラスの影響(32%)をもたらしたと報告しています。
これらのトピックの詳細については、以降のセクションのリソースをご覧ください。
Google Cloud でのセキュリティ
Google Cloud セキュリティ ベスト プラクティス センターのガイドの 1 つである、Google Cloud エンタープライズ基盤のブループリントで、組織構造、認証と承認、リソース階層、ネットワーク、ロギング、検出制御などの設定について学習します。
脆弱性や潜在的なリスクに関する一元化された情報を確認するには、次の Google Cloud サービスを使用します。
- Security Command Center を使用して、Google Cloud 組織全体の脆弱性と脅威に関する情報を表示します。
- Recommender を使用して、リスクの軽減に役立つ推奨事項など、サービスの使用状況に関する情報を取得します。たとえば、過剰な権限を持つ IAM プリンシパルや、放置された Google Cloud プロジェクトを特定できます。
Google Cloud のセキュリティの詳細については、Google Cloud ウェブサイトのセキュリティ セクションをご覧ください。
DevOps とソフトウェア開発プラクティス
ソフトウェア デリバリーの迅速化と信頼性と安全性の高いソフトウェアに貢献する DevOps 手法の詳細については、DevOps の能力のドキュメントをご覧ください。
また、すべてのプログラミング言語に適用されるコードを設計、開発、テストするための基本的なプラクティスもあります。また、すべての依存関係について、ソフトウェアの配布方法とソフトウェア ライセンスの条件を評価する必要もあります。Linux Foundation では、次のトピックに関する無料のオンライン トレーニングを提供しています。
- 安全なソフトウェアの開発: ソフトウェア サプライ チェーンのセキュリティの観点からの基本的なソフトウェア開発手法。このコースでは、コードの設計、開発、テストに関するベスト プラクティスに重点を置いていますが、脆弱性開示の処理、保証ケース、ソフトウェアの配布とデプロイに関する考慮事項などのトピックも取り上げます。Open Source Security Foundation(OpenSSF)が作成するトレーニング。
- デベロッパー向けのオープンソース ライセンスの基本 オープンソース プロジェクトのライセンスと著作権について説明します。
- オープンソース ライセンス コンプライアンス管理の概要 組織向けのオープンソース コンプライアンス プログラムの構築について説明します。
ポリシーの作成
ベスト プラクティスを段階的に実装する際に、組織のポリシーを文書化し、ポリシーの検証を開発、ビルド、デプロイ プロセスに組み込みます。たとえば、会社のポリシーに、Binary Authorization で実装するデプロイの基準が含まれている場合があります。
- 実用最小限の安全なプロダクト。プロダクトに関するベースラインのセキュリティ体制を確立するための制御のセキュリティ チェックリスト。このチェックリストを使用して、最小限のセキュリティ管理要件を確立し、サードパーティ ベンダーによるソフトウェアを評価できます。
- NIST の情報システムおよび組織のセキュリティおよびプライバシー管理(SP 800-53)。