グレー
ケーススタディー

Tremendous社がDockerとSocket.を活用してソフトウェアサプライチェーンを保護する方法

ベースイメージでの修復と、オープンソースの依存関係全体にわたる緩和策を組み合わせることで、ソフトウェアサプライチェーン全体を保護します。
ロゴ 素晴らしい

会社: 途方もない
産業: 金融テクノロジー(B 2 B報酬および支払い)
本社所在地:ニューヨーク州ニューヨーク市
規模: 20 , 000以上の組織が230カ国でユーザーに報酬を与えるためにTremendousを利用しています。
主要技術: Docker強化イメージ、ソケット(SCAおよびファイアウォール)、Docker Desktop、Docker MCP Gateway、Ruby、Node.js、Google Cloud アーティファクトレジストリ
課題:製品全体にわたるソフトウェアサプライチェーン、ベースイメージ、およびオープンソースの依存関係を完全に保護する

課題

20 , 000以上の組織への支払いを支えるサプライチェーンのセキュリティを確保

企業がTremendousを通じて報酬を送金する場合、その資金が確実に届き、不正な送金が行われないことを信頼していることになります。MITやGoogleの研究チームから、グローバルブランドのマーケティングや人事プログラムまで、 24 , 000以上の組織がTremendousを利用して、 230カ国にわたる受取人に現金、プリペイドカード、ギフトカードで支払いを行っています。Tremendousは80万件以上の支払いを処理し、 2億ドル以上がプラットフォーム上で移動しました。これは、報酬と支払いを簡素化するという同社の約束を守り続けるためです。

オープンソースのエコシステム全体でインシデントが急増し続ける中、XZ Utilsのバックドアは、たった一つの信頼できる依存関係が、その上に構築されたすべてを危険にさらす可能性があることを示した。Tremendous社は既にソフトウェアのサプライチェーン管理を強化することを決定しており、顧客からは本番環境イメージの構築、署名、検証方法について、より強力な保証を求める声が高まっていた。ほぼ同時期に、Trivyのセキュリティ侵害事件が明るみに出たことで、信頼できるセキュリティツールを使ってもサプライチェーンのリスクが顕在化する可能性があることが改めて浮き彫りになった。

インフラストラクチャとセキュリティの両方を担当するプラットフォームチームには、明確な目標があった。それは、各ベースイメージのオペレーティングシステムから、その上に重ねられたすべてのオープンソースの依存関係に至るまで、ソフトウェアサプライチェーン全体を保護することである。

Tremendousにとって、攻撃対象領域全体を保護するということは、ベースイメージと、その上に構築されたアプリケーションの依存関係という2つの層を保護することを意味した。ほとんどのツールは1つの機能しかカバーしていなかった。

脆弱性は、ベースイメージに同梱されているオペレーティングシステムパッケージに起因する可能性がある。また、インストール時に取り込まれるRuby gemやnpmパッケージなどの言語依存関係を通じて侵入する可能性もあります。

Tremendous社は、チームが別々のツールをつなぎ合わせたり、カバレッジの抜け穴を受け入れたりすることなく、両方のレイヤーを安全に保護できるソリューションを必要としていました。適切なアプローチとは、コンテナ基盤を強化し、開発者が実際に使用するオープンソースの依存関係を考慮に入れ、本番環境のイメージが保護され検証可能であることを顧客に明確に示すことであった。それがチームの今後の方向性となった。つまり、スタックの一部における脆弱性を減らすだけでなく、Tremendousが出荷するすべてのイメージに対して、より完全で監査可能な基盤を構築することを目指したのだ。

解決

ベースイメージでの修復、依存関係全体にわたる緩和

ベースイメージを修復するDocker強化イメージと、その上に構築されたオープンソースの依存関係におけるリスクを軽減するSocketを組み合わせた、非常に優れたソリューションです。Docker Hardened Imagesは、チームが独自に構築・維持することが困難な、セキュリティが強化されCVEリスクの低いベースを、署名付きで提供します。Socketは、CI環境およびインストール時にオープンソースの依存関係をスキャンし、悪意のあるパッケージや脆弱性のあるパッケージがビルドに組み込まれる前にブロックします。これにより、チームは脅威を即座に阻止し、独自のスケジュールでパッチを適用するかどうかを決定できます。この2つは異なるレイヤーをカバーしており、連携して動作するように設計されています。Docker Hardened Imagesには、ソケットファイアウォールが組み込まれています。

「Dockerの強化されたイメージとSocketを組み合わせることで、ベースイメージとその上に構築されたオープンソースコードを一つのサプライチェーンとして保護することができます。」「私たちは、一方の層を強化してもう一方の層を無防備にするのではなく、基盤と依存関係を一緒に保護します。
— ルーカス・アルベス、Tremendous のシニアプラットフォームエンジニア。

DockerのCVE(共通脆弱性識別子)への対応が、評価を決定づける要因となった。脆弱性が該当しないと判断された場合、Dockerはその判断理由を結果に添付します。これにより、プラットフォームチームは結果をエンジニアに伝え、それに基づいて行動するための背景情報を得ることができます。

「DockerのCVE(共通脆弱性識別子)に関する説明のおかげで、エンジニアリングチームに説得力のある形で結果を提示することができました。」「適用外とマークされた項目には理由が明記されているので、実際に重要な箇所に修復を集中させることができます
と、Tremendous社のシニアプラットフォームエンジニア、ルーカス・アルベス氏は述べています。

Tremendousの環境下では、この2つの製品はどのように動作するのか、以下に説明します。

  • 強化されたベースイメージが従来のベースに取って代わり、出荷時にはCVEフットプリントが縮小されています。
  • イメージのカスタマイズにより、各サービスが必要とするパッケージと証明書が強化されたイメージに組み込まれます。Tremendousは当初UIを通じてこれを設定し、現在はコードベースの設定に移行しています。
  • イメージはTremendousのGoogle Cloud Artifact Registryミラー経由で取得され、Dockerのレジストリを指すように再構成されるため、開発者は変更を加えることなく既存のプルパスを引き続き利用できます。
  • Socket SCAは、リポジトリとCI全体にわたる依存関係をスキャンし、Ruby gemとnpmパッケージを対象とします。
  • Socket Firewallはインストール時に悪意のあるパッケージや危険なパッケージをブロックするため、侵害された依存関係がビルドに到達することはありません。

Dockerとの合意は、新たなニーズにも対応するガバナンス体制を構築した。データ、製品、サポート、マーケティングなど、Tremendous社内の各チームは、LLM(ローカルライフサイクル管理)に依存する社内システム上で、独自の自動化機能を構築している。こうしたワークフローがチームの業務運営において日常的なものとなるにつれ、DockerはTremendousに対し、それらを安全にサポートするために必要な制御機能、使いやすさ、および可視性を提供できるようになります。Docker MCP Gateway は、プラットフォームチームがこれらの自動化が依存するローカル MCP ツールを管理するための統制された方法を提供し、Docker Desktop は、チームがローカルで実行されているものを可視化できるようにすることで、非技術系のユーザーが検査や管理が難しいターミナルのみの設定から脱却できるようにします。

測定可能な影響

サプライチェーンの2つのレイヤーをカバーするセキュリティ基盤

CVE削減率:少なくとも90 %
強化されたベースイメージに移行したことで、Tremendousのコンテナにおける既知の脆弱性の数が減少した。削減内容の内訳は以下のとおりです。

  • Rubyコア:CVE削減率:約95 %
  • Rubyテスト: ~ 90 % CVE削減
  • Nodeコアビルド:CVE削減率:約97 %
  • ノードテストビルド:CVE削減率:約95 %

サプライチェーンの2つの層をまとめてカバー
Dockerはベースイメージを修復し、SocketはRubyやNodeなどのオープンソースの依存関係におけるリスクを軽減するため、基盤となる部分とその上に構築されたコードは、個別の独立したツールではなく、一つのサプライチェーンとして保護されます。

イメージのフットプリントと攻撃対象領域の縮小
強化されたイメージはパッケージ数が少なくなるため、イメージサイズと攻撃対象領域の両方が縮小されます。内訳は以下のとおりです。

  • Rubyランタイム/コア: ~ 120パッケージ数が少ない
  • Rubyのビルド/テスト依存関係レイヤー: パッケージャーが約170 - 200人少ない
  • ノード構築段階:パッケージ数が約80 ~ 100少ない

エンジニアリングチーム向けの、実行可能なCVEの発見事項
適用されない脆弱性には、Dockerの理由が付記されているため、プラットフォームチームはスキャン結果をエンジニアに提示し、必要な箇所に適切な対策を指示することができます。

概念実証は最初の1週間で実行されました
Tremendous社は、評価開始から最初の1週間以内に、ステージング環境と同等のリポジトリでDocker強化イメージとSocketの両方を稼働させることができました。新しいベースイメージへの移行は本質的な作業ではあるが、セットアップ自体は簡単だった。

業績

サプライチェーン全体を確保する基盤

Tremendous社は、自社の支払いプラットフォームを支えるサプライチェーン全体を確保することに着手した。Dockerがベースイメージを修復し、Socketがオープンソースの依存関係全体にわたるリスクを軽減することで、両方のレイヤーがカバーされるようになりました。展開はチームの他の作業と並行して進められており、イメージのカスタマイズをコードベースの設定に移行し、強化されたイメージをプラットフォームのより多くの部分に拡張している。

この2つの製品は連携して動作するように設計されています。Docker Hardened ImagesにはSocket Firewallが同梱されており、ロードマップも整合しているため、関連性のないツールを寄せ集めることによって生じる統合のギャップがなく、あらゆる領域をカバーできます。DockerがRubyやNodeのようなエコシステム向けに言語レベルの依存関係ビルドを目指すロードマップは、Tremendousが次に目指す方向性と一致している。

「DockerとSocketは連携して動作するように設計されているため、ベースイメージとその上に構築された依存関係が1つのサプライチェーンとして網羅されているという確信が得られます。」「脅威の状況が変化するにつれて、それに合わせて変化できるセキュリティ基盤も備えています」と、Tremendous社のシニアプラットフォームエンジニア、ルーカス・
氏は述べています。

自分に合ったサブスクリプションを見つける

今すぐ専門家に連絡して、Dockerサブスクリプションのコラボレーション、セキュリティ、サポートの完璧なバランスを見つけてください。