ソフトウェアサプライチェーンに対する攻撃の脅威
-
はじめに
クラウドネイティブな環境において、ソフトウェアサプライチェーンのセキュリティが注目されています。クラウドネイティブアプリケーションは多くのオープンソースを活用し、ライフサイクルが短く、従来のセキュリティアプローチでは対策が難しいためです。State of the Software Supply Chain Report によれば、ソフトウェアサプライチェーンを標的にしたサイバー攻撃は年間平均で742%増加していると指摘されています。
一方で、クラウドネイティブ環境ではサービス展開のスピードが重要視されています。セキュリティ対策が開発スピードを遅らせたり、クラウド上の運用を困難にすることを避ける必要があります。一般的にセキュリティとスピードは相反すると見られることがありますが、両立させることは可能です。
そのためには、開発者中心のアプローチでセキュリティ対策を設計・実装し、セキュリティとスピードを両立することが大切です。技術的な対策に加え、組織の観点からもクラウドネイティブな環境を維持する取り組みが求められています。このブログでは、ソフトウェアサプライチェーンのセキュリティについて、VMware Tanzu Application Platform (以下 TAP )を用いたアプローチについて紹介していきます。
-
ソフトウェアサプライチェーンに対する攻撃の脅威
ソフトウェアサプライチェーンには、ソフトウェアの開発からデプロイメント(展開)までの複数のステップが組み込まれています。開発者がソースコードを作成し、テストしてから、ビルド、パッケージ化、そして最終的にサービスとして提供されます。この過程では、ソフトウェアに含まれるコンポーネントや依存関係を含めて、セキュリティや品質を管理します。
悪意のあるコードの侵入や脆弱性のリスクを最小限に抑えるために、ソフトウェアサプライチェーンのセキュリティが重要です。サードパーティ製のライブラリやコンポーネントの使用、ソースコードの信頼性、デプロイメントプロセスのセキュリティなど、多くの要素がセキュリティに影響を与えます。
ソフトウェアサプライチェーンと各フェーズに潜むリスクこうしたリスクに対応するため、SLSA やCIS Software Supply chain Security が、ソフトウェアサプライチェーンセキュリティのフレームワークとして注目されています。また、ソフトウェアサプライチェーンのセキュリティに対応するため、CNCF Cloud Native Landscape に代表される様々なテクノロジーの開発が進められています。
技術的な側面に加え、組織的な側面としてソフトウェアサプライチェーンのセキュリティを強化するために、開発部門だけが責任を負うのではなく、組織としてセキュリティリスクの特定と軽減に取り組むことが求められています。ソフトウェアサプライチェーンにセキュリティを組み込み、組織として攻撃にどう対処するか、多くの企業で模索が始まっています。
CNCF: Cloud Native Landscape – Security & Compliance -
Tanzu Application Platform の提供するセキュリティモデル
TAP は、EKS、AKS、GKE、TKG といったKubernetes を用いた様々なプラットフォーム上でソフトウェアサプライチェーンを提供するソリューションです。TAP のアプローチは、プラットフォームエンジニアリングの考え方に準拠しており、開発者中心のアプローチをとります。プラットフォームセキュリティをソフトウェアサプライチェーンに標準で組み込んで開発者に提供することで、開発者の生産性向上と、運用の標準化/統合化を実現します。
現在クラウド環境上で一般的に採用されている運用モデルとTAP を利用した運用モデルを比較してみます。
クラウド環境における一般的な運用モデル上記運用モデルでは、CCoE 部門がクラウド環境のガバナンスを担保し、開発部門がクラウド環境の構築と運用を実施しています。CCoE の対応する範囲は企業によって、アカウントおよび費用の管理のみ行なっているケース、クラウド上の構成ガイドラインをドキュメント化しているケース等があります。このモデルは、開発部門が部門間の調整によりスピードを損ねることなくサービスを展開することができるメリットがあります。一方で、ソフトウェアサプライチェーンの運用とセキュリティは開発部門が責任を持つことになり、開発部門(サービス)ごとに異なるサプライチェーンを構成します。
次にTAP の提供する運用モデルを見ていきます。
TAP はソフトウェアサプライチェーンの中に、デフォルトでセキュリティの仕組みを組み込んで提供しています。
TAP の提供するソフトウェアサプライチェーンとセキュリティ上記、サプライチェーンを通るソフトウェアのSBoM(Software Bill of Materials) を生成し、ソフトウェアに含まれるコンポーネントを確認することができます。また、サプライチェーンの中には、ソーススキャン、イメージスキャンが含まれています。こうしたコンポーネントは、要件に合わせ特定の外部ソリューションを組み込むことも可能です。加えてサプライチェーンの中で生成されるコンテナイメージに対し署名を行うことができます。署名したイメージ以外が、本番環境にデプロイされることを防ぐ仕組みを持っています。セキュリティ機能を個別にインテグレーションする必要がなく、セキュリティがプラットフォームにデフォルトで組み込まれています。
ソフトウェアサプライチェーンのセキュリティ状況
プラットフォームエンジニアリング部門は、ダッシュボードを通し環境全体のセキュリティ対応状況を把握することができます。ソフトウェアサプライチェーンにおけるセキュリティには複数の要素が関連しており、TAP だけで全てをカバーすることはできませんが、以下の効果が期待できます。
ソフトウェアサプライチェーンと各フェーズに潜むリスク
- 脆弱性のある依存関係 ベースイメージ
SBoM による依存関係の把握
スキャンによる脆弱性検知 - 悪意のあるコード
CI (TAP デフォルトでTekton を使用)の仕組の中にSAST ツールを実装 - ソースコード、Dockerfile の改ざん
ソースコードについてTAP としての改ざん対応はない
ビルドサービスによるDockerfile を使用しないイメージビルド - ビルドマシンへの攻撃
ソフトウェアサプライチェーンを統合した運用モデルによる攻撃対象の削減 - イメージの改ざん
コンテナイメージへのサイン - 不正なイメージの展開
Policy Controller による不正なイメージのデプロイ防止
TAP を活用した運用モデルTAP を活用した運用モデルでは、プラットフォームエンジニアリング部門がプラットフォームおよびその中に含まれるセキュリティを統合的に管理し、プラットフォームを介して、開発者との責任分界点が明確になるモデルを提供します。攻撃対象は、システム毎に異なるサプライチェーンを使用する運用モデルのように、アプリケーション数に応じて拡大しません。同時に、サービスレベルに応じて、異なる複数の環境に標準化したサプライチェーンを展開することが容易です。要件に応じて含まれるコンポーネントを変更することもできますので、サプライチェーンの柔軟性と標準化を両立することができます。
- 脆弱性のある依存関係 ベースイメージ
TAP を活用することで、ソフトウェアサプライチェーンの中核となる仕組みを標準化し、プラットフォームエンジニアリング部門が統合管理することができます。TAP は、こうした最先端の仕組みを、エンタープライズのお客様向けに提供しています。