ソフトウェア開発における最新のフレームワークとアプローチでは、ソフトウェア デリバリーの速度と信頼性だけでなく、ソフトウェアの関係者間での所有権の共有にも注目しています。
セキュリティに関するシフトレフトの DevOps プラクティスに加えて、DevOps のプラクティスの多くは、より安全なソフトウェアの提供に寄与しています。関係者の共同作業、作業の可視性、再現可能なビルド、自動テスト、増分変更などが、ソフトウェア セキュリティをサポートするプラクティスです。実際、Accelerate State of DevOps Report 2022 によると、より信頼性の高い文化はソフトウェア サプライ チェーンを強化するためのプラクティスを採用する傾向が高く、CI/CD を使用することでセキュリティ プラクティスの実装に役立ちます。
ただし、最新の開発フレームワークには、組織がソフトウェアに対する脅威を理解し、脅威を検出して対応する能力を評価して、緩和策を実装するためのガイダンスがありません。また、組織内のコードやプロセスに特に焦点を当て、アプリケーションの整合性に影響する可能性のある外部要因を無視する傾向もあります。たとえば、オープンソース ソフトウェア パッケージを侵害する攻撃は、そのパッケージに直接的または間接的に依存するコードに影響します。このようなソフトウェア サプライ チェーン攻撃は2020 年から急増しています。
ソフトウェアのサプライ チェーン
ソフトウェアのサプライ チェーンは、組織の内外でソフトウェアの開発と提供に貢献するすべてのコード、人、システム、プロセスで構成されます。このプログラムには、次の内容が含まれます。
- 作成したコード、その依存関係、およびソフトウェアの開発、ビルド、パッケージ化、インストール、実行に使用する内部および外部ソフトウェア。
- システム アクセス、テスト、レビュー、モニタリングとフィードバック、コミュニケーション、承認のプロセスとポリシー。
- ソフトウェアとその依存関係の開発、ビルド、保存、実行を信頼するシステム。
ソフトウェアのサプライ チェーンは広範囲にわたり複雑であることから、ユーザーに提供するソフトウェアに不正な変更を導入する方法は多数あります。これらの攻撃ベクトルは、ソフトウェア ライフサイクル全体にわたります。SolarWinds ビルドシステムに対する攻撃など、一部の攻撃はターゲット化されていますが、他の脅威は間接的なものか、プロセス中の弱点または怠慢を通じてサプライ チェーンに侵入する攻撃です。
たとえば、2021 年 12 月からの Apache log4j のリモート実行の脆弱性に関するブログ投稿で、Google Open Source Insights チームは、Maven Central 内で影響を受けたパッケージが 17,000 件以上であると記しています。影響を受けるパッケージのほとんどは、脆弱性がある log4j-core
パッケージに直接依存しませんでしたが、それを必要とする依存関係がありました。
コードレビューの欠如や本番環境へのデプロイに関するセキュリティ基準などのプロセスギャップによって、不正なコードがサプライ チェーンに意図せずに入り込む可能性があります。同様に、信頼できるバージョン管理システムの外部でソースコードをビルドする場合や、信頼できるビルドシステムやアーティファクト リポジトリ外のシステムからアプリケーションをパッケージ化してデプロイする場合、ソフトウェアに不正なコードが入り込む可能性があります。
2021 年のソフトウェア サプライ チェーンの状態によると、オープンソース ソフトウェアの利用とソフトウェア サプライ チェーンへの攻撃の両方が、2020 年から 2021 年の間に急激に増加しました。
- ソフトウェアのサプライ チェーン攻撃は、2021 年に前年比で 650% 増加しました。
- オープンソース パッケージの可用性と需要は継続的に増加し、2021 年のオープンソース コンポーネントのダウンロードは前年比で 73% 増加しています。
- 脆弱性は、最も一般的なオープンソース プロジェクトで最も一般的なものです。
ソフトウェアの整合性を保護するには、セキュリティ体制、および脅威の検出、対処、修正に向けた組織の準備状況を把握することが重要です。
コンプライアンス要件と評価フレームワーク
サプライ チェーンのセキュリティに対する懸念の高まりは、次のようなサプライ チェーンのセキュリティに固有の新しい政府規制の作成につながります。
- 米国大統領令
- 欧州連合のネットワークと情報セキュリティ 2 指令
新たなフレームワークが登場し、組織によるセキュリティ体制の評価と脅威に対する緩和について知ることに役立っています。
- ソフトウェア アーティファクトのサプライ チェーンレベル(SLSA)。Google のソフトウェア セキュリティ プラクティスにインスピレーションを得たオープンソース フレームワークです。
- 政府機関によるフレームワーク:
- 米国国立標準技術研究所(NIST)セキュア ソフトウェア開発フレームワーク(SSDF)(米国)
- サイバーセキュリティ評価フレームワーク(英国)
これらのフレームワークは、確立されたソフトウェア セキュリティ プラクティスを採用し、問題に対処する必要があるセキュリティ脅威と、脅威を軽減するために講じるアクションを特定するのに役立つ形式で構成します。
Google Cloud でソフトウェア サプライ チェーンを保護する
Software Delivery Shield は、Google Cloud 上でフルマネージドのソフトウェア サプライ チェーン セキュリティ ソリューションを提供します。SLSA や NIST SSDF などのフレームワークのベスト プラクティスが組み込まれています。優先順位とニーズに基づいて、ソリューションのコンポーネントを段階的に導入します。
次のステップ
- ソフトウェア サプライ チェーンへの脅威について学習する。
- 既存のセキュリティ体制を評価して、強化する方法を特定する。
- ソフトウェア サプライ チェーンを保護する方法と Software Delivery Shield の機能がどのように役立つかについて学習する。
- Software Delivery Shield の詳細を確認し、クイックスタートを試す。