セキュリティ体制は、脅威を検出、対処、修正するための組織の機能です。これには、ソフトウェア ライフサイクル全体における組織の人員、ハードウェア、ソフトウェア、ポリシー、プロセスの準備状況が含まれます。
セキュリティ対策を評価し、脅威を軽減する方法を特定するために使用できるフレームワークとツールは数多くあります。
ソフトウェア デリバリーのプラクティス
強固なセキュリティ体制のためには、ソフトウェア デリバリーのベスト プラクティスにおける強固な基盤が必要であり、これらのプラクティスはツールや技術的な管理の実装だけではありません。たとえば、変更承認プロセスが不明瞭な場合、不要な変更がソフトウェア サプライ チェーンに侵入しやすくなっています。チームで問題の提起が推奨されない場合、セキュリティ上の懸念をレポートすることを躊躇する可能性があります。
DevOps Research and Assessment(DORA)は、ハイ パフォーマンス テクノロジー チームのプラクティスと能力に関する独自の研究を行っています。チームのパフォーマンスを評価し、改善する方法については、次の DORA リソースをご覧ください。
- DORA DevOps Quick Check を受けて、組織の比較について簡単なフィードバックを受ける。
- DORA が特定した技術、プロセス、測定、文化に関する DevOpsの 機能を確認する。
セキュリティ体制のフレームワーク
NIST セキュア ソフトウェア開発フレームワーク(SSDF)とサイバーセキュリティ評価フレームワーク(CAF)は、政府機関が開発したフレームワークで、組織によるセキュリティ体制の評価とサプライ チェーンの脅威に対する緩和に役立ちます。これらのフレームワークでは、ソフトウェア開発ライフサイクルだけでなく、インシデント対応計画などのソフトウェア セキュリティに関連するその他の側面も考慮されています。これらのフレームワークは複雑で、その範囲が広大であるため、時間とリソースに多大な投資が必要になります。
ソフトウェア アーティファクトのサプライ チェーン レベル(SLSA)は、評価と軽減策の実装をより簡単で段階的なものにするフレームワークです。サプライ チェーンの脅威と、関連する緩和策について説明し、緩和策を実装するためのツールの例を示します。また、セキュリティ体制を強化するための要件をレベルごとにグループ化し、変更に優先順位を付けて段階的に実装できるようにします。SLSA は主にソフトウェア デリバリー パイプラインに重点を置いているため、SSDF や CAF などの他の評価ツールと一緒に使用する必要があります。
SLSA は、Google の本番環境ワークロードすべてに必須の適用チェックである Google の内部 Binary Authorization for Borg から着想を得ています。
ソフトウェア デリバリー シールドは、SLSA のベスト プラクティスを組み込んだ Google Cloud 上のフルマネージドのソフトウェア サプライ チェーン向けセキュリティ ソリューションです。ビルドの SLSA レベルなど、セキュリティ体制に関する分析情報を表示できます。
アーティファクトと依存関係の管理
ソフトウェアの脆弱性を可視化することで、アプリケーションをお客様にリリースする前に、潜在的な脅威に積極的に対応して修正できます。次のツールを使用して、脆弱性をより詳しく可視化できます。
- 脆弱性スキャン
- Artifact Analysis などの脆弱性スキャン サービスは、ソフトウェアの既知の脆弱性を特定する際に役立ちます。
- 依存関係の管理
Open Source Insights は、依存関係グラフ、既知の脆弱性、オープンソース ソフトウェアに関連するライセンスに関する情報を一元的に扱うソースです。このサイトを使用して依存関係を確認してください。
Open Source Insights プロジェクトでは、このデータを Google Cloud データセットとして利用することもできます。BigQuery を用いて、データを探索、分析できます。
- ソース管理ポリシー
Scorecards は、GitHub プロジェクト内のリスクのあるソフトウェア サプライ チェーンの運用を特定する自動ツールです。
Allstar は、構成済みのポリシーへの準拠に関して、GitHub 組織やリポジトリを継続的にモニタリングする GitHub アプリです。たとえば、管理者権限や push アクセス権を持つ組織外の共同編集者をチェックするポリシーを GitHub 組織に適用できます。
依存関係の管理の詳細については、依存関係の管理をご覧ください。
サイバーセキュリティに関するチームの認識
チームがソフトウェア サプライ チェーンの脅威とベスト プラクティスを理解していれば、より安全なアプリケーションを設計、開発できます。
情報セキュリティの専門家による調査「State of Cybersecurity 2021, Part 2」では、調査回答者が、サイバーセキュリティのトレーニングと意識付けのプログラムが従業員の認知度にある程度のプラスの影響(46%)、または強力にプラスの影響(32%)をもたらしたと報告しています。
次のリソースは、サプライ チェーンのセキュリティと Google Cloud でのセキュリティの詳細を確認するのに役立ちます。
- Google Cloud エンタープライズ基盤のブループリントでは、組織構造、認証と認可、リソース階層、ネットワーキング、ロギング、検出コントロールなどの設定について説明しています。これは、Google Cloud セキュリティ ベスト プラクティス センター内のガイドの一つです。
- 安全なソフトウェアの開発では、ソフトウェア サプライ チェーンのセキュリティの観点からの基本的なソフトウェア開発手法を学ぶことができます。このコースでは、コードの設計、開発、テストのベスト プラクティスに焦点を当てる一方で、脆弱性の開示への対応、保証のケース、ソフトウェアの配布とデプロイに関する考慮事項などのトピックについても説明します。Open Source Security Foundation(OpenSSF)が作成するトレーニング。
変更に向けた準備
行う変更を特定したら、変更を計画する必要があります。
- サプライ チェーンの信頼性とセキュリティを向上させるためのベスト プラクティスと緩和策を特定します。
チームが変更を実装し、コンプライアンスを一貫して測定できるように、ガイドラインとポリシーを作成します。たとえば、会社のポリシーに、Binary Authorization で実装するデプロイの基準が含まれている場合があります。次のリソースが役に立ちます。
- 実用最小限の安全なプロダクト。プロダクトに関するベースラインのセキュリティ体制を確立するための制御のセキュリティ チェックリスト。このチェックリストを使用して、最小限のセキュリティ管理要件を確立し、サードパーティ ベンダーによるソフトウェアを評価できます。
- NIST の情報システムおよび組織のセキュリティおよびプライバシー管理(SP 800-53)。
それぞれの変更のサイズ、複雑さ、影響を軽減するために、段階的な変更を計画します。これは、チームのメンバーがそれぞれの変更に適応し、フィードバックを提供し、得られた教訓を今後の変更に適用するうえでも役立ちます。
変更の計画と実装に役立つリソースは、次のとおりです。
DevOps 変革の ROI は、DevOps 変革の価値を予測し、投資の正当性を示す方法について説明するホワイトペーパーです。
Google のクラウド アプリケーション モダナイゼーション プログラムは、主な成果(スピードと安定性、バーンアウト)を測定し、組織がこれらの成果を改善する技術、プロセス、文化に関する能力を特定する、包括的なガイダンス評価を提供します。プログラムの詳細については、CAMP のお知らせのブログ投稿をご覧ください。
変革の方法では、変更を計画して実装するためのガイダンスを示します。段階的な継続的な変革をサポートする文化を育むことで、変革の成果が向上します。
NIST セキュア ソフトウェア デリバリー フレームワークでは、ソフトウェア アライアンス、オープン ウェブ アプリケーション セキュリティ プロジェクト、SAFECode などの組織の確立されたプラクティスに基づく、ソフトウェア セキュリティのプラクティスが説明されています。これには、組織を準備するためのプラクティスと、変更の実装と脆弱性への対応のためのプラクティスが含まれます。
次のステップ
- ソフトウェア サプライ チェーンを保護するためのベスト プラクティスについて確認する。
- ソフトウェア デリバリー シールドについて学習する。