Kubernetes ソフトウェア サプライ チェーンのセキュリティ保護

Kubernetes ソフトウェア サプライ チェーンのセキュリティ保護

現代のソフトウェア開発手法では、ソフトウェア サプライ チェーンのセキュリティがこれまで以上に重要になっています。私たちのコードはオープンソース ライブラリに依存しており、オープンソース ライブラリは他のライブラリ (私たちが開発もコンパイルもしていない、どこから来たのかほとんどまたは全く分からない大量のコード) に依存しています。

これらのコードのいくつかはほとんどどこにでもあります。業界全体に大混乱をもたらした Log4Shell の脆弱性は、一般的な Java ログ記録コンポーネントである log4j の古いバグによって引き起こされました。私たちは、巨人の肩の上に産業を築いているのではなく、余暇と親切心からグローバル インフラストラクチャを機能させている少数のアプリケーションおよびコンポーネントの保守担当者の肩の上に産業を築いているのです。

分散開発はリスクを増大させる

これはメンテナーの作業を軽減するものではありません。これらは、小さなモジュールからコンテナベースのプラットフォーム全体まで、あらゆるものを提供する、現代のソフトウェア サプライ チェーンの重要な部分です。彼らのコードが重要であるため、彼らは過小評価され、低賃金で働いています。残念なことに、悪意のある人物がコードのメンテナンスを引き継ぐことを申し出て、信頼できるという履歴があるためにコードが自動的にインストールされることを期待してマルウェアを追加するというケースが何度かありました。

コードがチームの一部になるにつれて、今回のような攻撃が増えることが予想されます。自分自身とアプリケーションをどのように保護すればよいでしょうか?まず第一に、ソフトウェア サプライ チェーンは存在し、コードを孤立して構築しているわけではなく、これまでそうしたことは一度もなかった (あるいは一度もなかった) ということを理解する必要があります。オープンソースおよびサードパーティのライブラリは、ソフトウェアの作成方法において大きな役割を果たしており、今後ますます重要になっていきます。

ソフトウェア サプライ チェーンのセキュリティを確保するには、どのような手順を踏めばよいでしょうか?ソフトウェア部品表を管理するためのツールの提供については、ライブラリのコードのスキャン、静的および動的分析の使用、コードへのデジタル署名とハッシュの追加、すべてを管理されたリポジトリに配置するなど、多くの作業が行われてきました。しかし、1 つの点が不明のままです。この作業と使用しているコードをどのように検証すればよいのでしょうか。結局のところ、古くからあるセキュリティの格言の 1 つは「信頼はするが、検証もする」です。

ソフトウェアサプライチェーンのセキュリティ確保

使用するコードを信頼する必要がありますが、信頼できるかどうかも検証する必要があります。また、リポジトリ内のコードが変更されると Cloud Native Code が新しいビルドをリリースするため、厳しい時間的制約の中でこれを行う必要がありました。ここで重要なのは、現代の開発の自動化された性質です。GitHub などのプラットフォームがソフトウェア ライフサイクルの中心となり、継続的インテグレーションと継続的デリバリー (CI/CD) を提供します。

マイクロサービス アーキテクチャとコンテナの組み合わせ哲学に基づいて設計された Kubernetes などのテクノロジーを使用すると、状況はさらに複雑になります。私たちのコードはスタンドアロン コンテナーで実行できますが、ネストされた抽象ユーザーランドで実行され、各 Dockerfile は一連の依存関係を収集しますが、その多くは完全に文書化されていません。使用するコンテナ内の部品表を信頼できるかどうか。

推奨ホワイトペーパー:

はじめに: アーティファクト検証ワークフロー Microsoft のクラウド ネイティブ オープン ソース チームは、この問題の解決に役立つ新しい仕様の作成に取り組んでいます。 Approval は、Kubernetes アプリケーションのさまざまな成果物をサポートする検証フレームワークです。信頼できるセキュリティ メタデータのセットと署名された部品表を使用して、展開するすべてのものが意図したものと同じであることを確認します。

イメージやその他のコンポーネントは、Notary V2 署名および検証ツールと ORAS (OCI Registry as Storage) アーティファクト仕様を活用します。 ORAS は、コンテナだけでなくあらゆるものの保存を対象とする OpenContainer Initiative レジストリ定義の一部です。これは、ソフトウェア部品表を整理する方法として有効です。興味深いことに、Bindle 分散アプリケーション インストーラー定義と ORAS マニフェストには共通点があり、SBOM から検証済みの分散アプリケーション インストーラーへの移行が簡単になります。これらを組み合わせることで、Kubernetes クラスター内の認証シナリオの一部として解析および使用できるサプライ チェーン グラフが提供されます。

これらの概念を結び付け、ソフトウェア部品表にポリシーを適用し、さまざまなサプライ チェーンにわたってコードとその依存関係を検証するワークフロー エンジンを追加します。本質的には、コンテナ イメージ全体のポリシー ワークフローを管理するオーケストレーターです。拡張可能であるため、Kubernetes で使用されるものと同様の使い慣れたプラグイン モデルを使用して、パブリック レジストリとプライベート レジストリ全体で動作します。

ポリシー主導の承認

Proparly が使用するポリシー モデルは使い慣れたツールに基づいており、独自の構成を使用して基本的なポリシーを迅速に展開できるだけでなく、Open Policy Agent を使用して構築されたより複雑なポリシーも展開できます。また、アプリケーション開発ライフサイクルのさまざまな段階で機能し、CI/CD システムに接続してビルド時に成果物を検証したり、Kubernetes に接続してビルドと実行の間でコードが変更されないようにしたりします。スタック全体で機能する検証モデルを用意し、ビルド、リポジトリ、レジストリ、および実行時にコードに対して発生するサプライ チェーン攻撃を回避できるようにすることが重要です。

ソフトウェア ライフサイクル全体にわたって 1 つのツールで検証を処理することは、ポリシーを 1 回だけ記述すれば済むため重要です。さまざまなシナリオにさまざまなツールを使用すると、ポリシーの転記や翻訳のエラーのリスクが高まります。単一のツールと単一のポリシー形式を使用すると、このリスクを回避するのに役立ちます。また、コードを配信する前に「前提条件は何か」を調査するのに役立つ外部戦略テスト ツールを用意することもできます。

最初の戦略を構築する

Approval チームは、Kubernetes で Gatekeeper とともに Approval を使用する方法を示すデモ コードを GitHub リポジトリに用意しています。これは Helm チャートを使用してインストールされ、いくつかのサンプル構成テンプレートが付属しています。これらを使用して、署名のないすべての画像をブロックするなどのアクションをテストできます。 Gatekeeper は署名されていないコンテナ イメージを拒否し、実行されないようにします。

ポリシー ファイルは YAML で記述されているため、Visual Studio Code やその他のツールで編集し、コード フォーマット ツールを利用できます。これらは、検証を通じて段階的に成果物を生成するシンプルなルール エンジンとして構築されています。それらは承認されたレジストリからのものですか?異なる署名に対してアーティファクトを複数回チェックしますか?独自のプライベート レジストリ内のアーティファクトは、パブリック レジストリ内のアーティファクトよりも信頼されますか?複数のチェックを実行すると、すべての検証エンジンが一致しますか?実行時検証のルールは簡単に定義できますが、さまざまな信頼のルートからの署名を使用してさまざまな成果物の状態を判断する必要がある CI/CD システムで実行される実行時検証の場合は、そう簡単にはいかない可能性があります。

Approval は現在、ソフトウェア BOM 内のすべての要素を管理するためのツール セットを提供する興味深い初期提案です。長期的に隠れる可能性のあるゼロデイの影響を防ぐことはできませんが、影響を受けるコードを迅速に特定し、そのコードが使用および実行されないようにするルールを作成できます。

サプライチェーンのリスクが注目される中、業界はこのような提案を慎重に検討し、公の場で作業を行うことが不可欠です。 Microsoft が Cloud Computing Foundation と承認を共有することを約束したのは喜ばしいことです。これにより、より広範な Kubernetes 開発コミュニティから必要なレビューが得られるはずです。

参考記事:

https://docs.ceph.com/en/latest/dev/cephfs-snapshots

https://knowledgebase.45drives.com/kb/kb450160-cephfs-snapshots/

<<:  SaaS製品の5つのコア指標の詳細な説明

>>:  Docker: コンテナ技術と Docker の紹介

推薦する

キーワード密度は雌ライオンではない

SEO 業界で数年間働いてきた私は、興味深い現象を発見しました。ベテランの SEO 担当者でも SE...

検索エンジンにとって良いコンテンツとはどのようなものでしょうか?

Taobao の顧客になるには、SEO についてある程度知っておく必要があります。検索エンジンは記事...

Ramnode - ブラックフライデー 5.8% オフ ベストオファー

ramnode は、ブラックフライデー 58% 割引のプロモーション コード BLACK42 をリリ...

クリスマス: SiteGround - 70% オフ / 無制限ホスティング

SiteGround は、クリスマス前に 70% オフのクリスマス プロモーションを開始しました。現...

nexril - 月額 2.5 ドル / E3 高性能 VPS / KVM / 1g メモリ / 15g SSD / 1.5T トラフィック

nexril.net は新興企業で、現在は主に米国ダラスのデータセンターで Minecraft や通...

pigyun: ハイエンドネットワーク、最大14元/月の割引VPS、米国AS9929混合CN2 GIA、米国CN2 GIA(アンチアタック)、韓国CN2 BGP、香港BGP

中国商人のpigyunは2009年にVPS事業を開始し、今年で3年目になります。現在、7月夏のプロモ...

#BlackWeek5#: A2Hosting - ホスティングが 40% オフ、VPS が 50% オフ、ドメイン名無料/シンガポール データ センター付き

A2hosting のブラックフライデーセールが始まりました。11 月 25 日から 11 月 30...

2023 年の主要なクラウド コンピューティングとセキュリティのトレンド

研究機関は2023年に強い経済的逆風が吹くと予測しており、企業はより少ないリソースでより多くの成果を...

hosthatch-香港 VPS/softlayer/月額 2.6 ドル/256m メモリ/30g SSD/1T トラフィック

私たちがまだ hostUS の特別な香港 VPS を応援している間に、hosthatch はひっそり...

検索マーケティングにおける顧客重視

今日、上海のSEOコンサルタントである顧慧明が顧客を訪問しました。顧客とのコミュニケーションの中で、...

モグジエの交通強盗

電子商取引業界が現在直面している最大の課題は、仲介や仲介ビジネスモデルに大きく依存しており、商品の生...

Spring Cloud はマイクロサービス アーキテクチャを構築します: 分散構成センター (暗号化と復号化)

マイクロサービス アーキテクチャでは、通常、DevOps 組織方式を採用して、チーム間のコミュニケー...

SEOをマクロ的に理解する

SEO (Search Engine Optimization) は、中国語では検索エンジン最適化と...