100%の透明性と5つの柱

投稿日 10月 13, 2025

強化されたイメージ(およびコンテナセキュリティ)を正しく行う方法

コンテナセキュリティは当然のことながら、最近ホットなトピックであり、クラウドネイティブ環境のこの主力上で実行されるワークロードがますます増えています。私はDockerで働いているので偏見があるかもしれませんが、コンテナは今日のアプリケーションを実行するための主要なフォームファクターであると言っても過言ではありません。同様に重要なことは、AIに焦点を当てた次世代のアプリケーションがすでにコンテナ上で実行されていることです。世界はコンテナ上で動くため、コンテナのセキュリティを適切に確保することが最も重要です。

残念ながら、コンテナセキュリティを提供していると主張するほとんどの組織はそうではありません。特に厄介なのは、安全性の高いコンテナを提供していると主張しながらも、コンテナを安全にする重要な要素が欠けている強化されたイメージプロバイダーのランクが増えていることです。確かに、私たちはコンテナのセキュリティについて強い意見を持っています。コンテナのホスティングと管理のための世界最大のリポジトリとインフラストラクチャを運営しています。そして、はっきり言っておきますが、当社の将来の運命は、コンテナが安全であるという認識の継続にかかっています。つまり、私たちはこのゲームに本物のスキンを持っています。 

コンテナセキュリティの重要な要素

そうは言っても、Dockerのリードセキュリティエンジニアとして、そしてコンテナに関して非常に長い歴史を持つ者として、私はコンテナセキュリティのビジョンを定めたいと思います。そのビジョンは実際には複雑ではありません。コンテナのセキュリティを最大限に高め、イメージを強化するには、5つの重要な要素があります。それらの成分は次のとおりです。

最小限の攻撃対象領域: 適切に強化されたイメージには、コンテナーに絶対に必要なソフトウェアのみが含まれています。これは、便利な機能を提供するかもしれないが、デフォルトでソフトウェアディストリビューションに入れられ、複雑さとCVEの露出の両方を追加するライブラリ、エージェント、およびモジュールの大部分を取り除くことを意味します。当社の強化プロセスにより、コンテナのCVEエクスポージャーの平均 98%以上が排除されます。 

100%の完全なソフトウェア部品表。これはベースラインであり、最小深さなしで (CISA ガイダンスに従って) 100% 完了している必要があります。直接依存関係、推移的な依存関係、明示的な関係など、正確なインベントリを提供します。SBOM は、SPDX や CycloneDX などのオープン スタンダード、PURL などの標準コンポーネント識別子、および正直なギャップ開示を通じて、ソースまで完全に検証可能でなければなりません。

検証可能なビルドの来歴 は、ソースコードからデプロイされたアーティファクトまでの管理チェーンを確立します。SLSA ビルド レベル 3 の出所は、何が、どこで、どのプロセスによって構築されたかについて、改ざん不可能な証明を提供します。どこでどのように建てられたのか、誰が建てたのかがわからなければ、汚染されていないとは言えません。

標準化された悪用可能性評価 は、特定の展開コンテキストに影響を与える脆弱性を明確にします。OpenVEX は、脆弱性ステータスに関する機械可読ステートメントを提供し、監査人とコンプライアンス ツールが評価を独立して処理し、SBOM を適切に活用できるようにします。VEX ステートメントの透明性と相互運用性により、コンテナのセキュリティが実行可能になり、チームは実際のリスクのみに集中できるようになります。

暗号化検証は 、信頼性と完全性を証明します。Sigstore や Cosign などの最新のアプローチにより、公開検証による署名が可能になり、独自のインフラストラクチャなしで誰でも署名を検証できます。署名と出所のチェーンは、透明性があり、作成またはクエリが容易でなければなりません。

これらの柱を結合するための透明度100%。上記の5つの要素はすべて、 何を生成するか だけでなく、証明、証拠、データやステートメントをどのように作成 するか においても透明性がなければなりません。これは、脆弱性インテリジェンス(National Vulnerability DatabaseまたはNVD、配布セキュリティフィード、言語エコシステムアドバイザリ、GitHubセキュリティアドバイザリ)の公開ソースを、目に見える同期頻度で使用することを意味します。KEV(Known Exploited Vulnerabilities)カタログにリストされているCVEが表示される場合、透明性により、ネゴシエーションなしで整合性が保証されます。これは、CVEの選択プロセスと基準を公開し、ユーザーがプロセスを確認できるようにすることを意味します。これは、ユーザーがマニフェストがどのように構築されるかを理解できるように、SBOM 作成プロセスを透過的にすることを意味します。最終的に、根本的な透明性は、セキュリティを信頼の実践から、姿勢を証明し、監査人が証拠を検証し、顧客が独立して主張を評価できる検証プロセスに変えます。

もちろん、コンテナセキュリティはコンテナランタイムにも拡張され、最高のセキュリティ基準でコンテナを実行するだけでなく、コンテナのライフサイクル全体にわたって組織ポリシーの継続的な監視と適用を実現します。この分野でのDockerの活動については、後の投稿で取り上げます。

「強化された画像」に関するすべてのベンダーの主張を検証する必要がある理由

コンテナのセキュリティを強化したいと考えている企業に対して、私は非常に明確にしたいと思います。これらの要件を満たさない「強化された」コンテナーイメージは嘘です。残念ながら、多くの強化されたイメージ ベンダーはこれらの要件を満たすことができません。ここでは、競合他社の強化画像で見られた問題のいくつかを、ユーザーや顧客が比較のために持ち込んだものです。

  • スニッフテストに合格しないSBOM: npmパッケージのないノードサーバーは矛盾しています。しかし、それが私たちが見たものです。npmの必要性をなくすために Node.js 書き直しましたか?そうは思いません。これは、SBOM から重要な要素を残したことを意味します。
  • 推移的な依存関係が欠落しているSBOM: CISAのガイダンスは明確です。すべての SBOM には、すべての依存関係の 100% が含まれている必要があります。それらを含めないと、それらの依存関係を保護するという問題が手に振られるため、便利かもしれません。しかし、それは正しくありません。
  • 独自で不透明なCVE指定: ベンダーは、CVEが関連性があるかどうか、またその重大度レベルがどの程度であるかを判断することはできません。それが、公開された透明性のあるCVEフィードの目的です。CVE評価の正確な方法論やプロセスを明らかにし、オンデマンドで提供しないベンダーは、何かを隠していることになります。
  • 不完全な SLSA ビルド要求: SLSA ビルド レベル 3 はバイナリです。要件を満たしているか、満たしていないかのどちらかです。ビルドを「移行」と呼ぶことは、「いいえ」ボックスにチェックを入れることと同じです。

コンテナセキュリティに関するテーブルをひっくり返す(そして期待をリセットする)理由

オープンソースエコシステムに対するサプライチェーン攻撃が制御不能であると言ってもニュースではありません。最先端のAPTの世界で最も賢いブラックハットの頭脳は、サプライチェーンを侵害することにレーザーを注いでいます。サプライチェーン攻撃は、データ流出、ランサムウェアや恐喝、スパイ活動につながる重大な侵害に膨大な組織をさらす可能性があります。私たちはコンテナエコシステムの中心的な位置に位置しているため、コンテナのサプライチェーンが侵害されるたびに危険にさらされます。 

だからこそ、この記事を書いているのです。Dockerは、5つのコアピラーすべてを実現すると同時に、プロセス、入力、出力に 100%の透明性を提供するように、強化されたイメージを明示的に設計しました。私は、あらゆるプラットフォーム、チーム、セキュリティチーム、CISO、さらにはCEOやビジネスリーダーが、コンテナのセキュリティ体制が有効かどうか、購入している強化されたイメージが実際に約束を果たしているかどうかを判断するために、適切な質問を非常に簡単にできるようにしたいと考えています。(余談ですが、コンテナのセキュリティは非常に重要であるため、強化されたイメージはすべての人にとって手頃な価格であるべきだと考えています。そのため、現在は非常にリーズナブルな価格で提供しており、2 人のスタートアップでも利用できるようにしています。 

コンテナのセキュリティは難しくありません。コンテナのセキュリティはロケット科学ではありません。コンテナセキュリティとは、根本的な透明性、誠実さ、そしてユーザーのために正しいことをすることです。完璧な世界では、誰もがコンテナセキュリティを正しい方法で行い、すべての組織がデフォルトで適切に強化され、完全に透明性のある堅牢なコンテナに簡単にアクセスできるようになります。 

この完璧な世界では、企業としてのDockerは、ユーザー、企業、そして世界はより良い生活を送っています。率直に言って、競合他社もより良く、彼らの製品はより優れています。それは良いことです。これは単なる売り込みやエンジニアリングの暴言ではありません。ミッションと呼んでもいいでしょうね。テクノロジーの世界をより安全にすることは基本的に重要であり、それが私たちが求める結果です。

関連記事