KubeCon North America 2024から、ソフトウェアサプライチェインの基礎を解説する2つのセッションを紹介

2025年3月25日(火)
松下 康之 - Yasuyuki Matsushita
KubeCon North America 2024から、ソフトウェアサプライチェインに関する2つのセッションを紹介する。

KubeCon+CloudNativeCon North America 2024から、ソフトウェアサプライチェインに関する2つのセッションを紹介する。1つ目のセッションは11月13日のキーノートの後に行われたTUFに関する解説のセッション、2つ目は2日目のキーノートの一部として行われたin-totoに関するセッションだ。

最初に紹介するセッションではソフトウェアサプライチェインの基本的な内容を説明した後にTUF(The Update Framework)と呼ばれるCNCFのプロジェクトを解説。TUFは2019年にGraduationしたプロジェクトで、継続的にソフトウェアを更新するためのフレームワークだ。ここではソフトウェアそのものが信頼できるようにするために、メタデータを利用して対象となるソフトウェアが継続的に更新されても開発の過程での改ざんを防ぐ仕組みを説明した。

後半に紹介するセッションは2日目のキーノートの中で行われたもので、ソフトウェア開発の中で生成されるさまざまなアーティファクト(生成物)に対してデジタルシグネチャーによって検証する仕組みを加えることで、ソフトウェアサプライチェインの脆弱性を防ぐという内容だ。ここではin-totoというCNCFのプロジェクトが作られた経緯を解説している。

興味深いのはTUFのセッションを行ったMarina Moore氏も、キーノートセッションに登壇したPurdue Universityの助教授であるSantiago Torres Arias氏も、キーノートを一緒に行ったJustin Cappos氏の教え子だという部分だろう。

Justin Cappos氏は2023年のOpen Source Summit Japanに登壇しており、ここでもソフトウェアサプライチェインに関するセッションを行っている。

●参考:OpenSSF Day Japan開催。中国からの脅威から新しいOSSプロジェクトの紹介までを総括

New York Universityの教授でありながらオープンソースソフトウェアのコミュニティに対してコミットメントを継続しているJustin Cappos氏は、ベンダー主導になりがちなオープンソースコミュニティにおいては稀有な存在だろう。

セッションを行うMarina Moore氏

セッションを行うMarina Moore氏

The Update Frameworkを解説したセッション

では最初のセッションに戻ろう。Moore氏の現職はEdera Research所属のセキュリティリサーチャーだが、CNCFのTAG SecurityのCo-Chairでもあり、クラウドネイティブなシステムにおけるSLDC(Software Development Life Cycle)、サプライチェインセキュリティにおける専門家と言えるだろう。

Marina Moore氏のプロフィール。NYUのPhDだ

Marina Moore氏のプロフィール。NYUのPhDだ

ここからソフトウェアサプライチェインにおけるメタデータに関する説明となった。ソフトウェアが開発されリリースされる過程で、新しいバージョンがリリースされる場合にそれがハッカーなどによって改ざんされていないかどうかをソフトウェア自身だけでは確認することはできないために、SBOMを使ってその内容物を確認するためのメタデータが必要であることを説明。

ソフトウェアに対するメタデータであるSBOMを使ってその内容を確認

ソフトウェアに対するメタデータであるSBOMを使ってその内容を確認

しかし単にSBOMだけが存在しても、それが真正であるかどうかを確認するためにはデジタルシグネチャーが必要だと解説。ここでは途中のプロセスでアタッカーがアーティファクトを改ざんしている場合を想定して、改ざんされたアーティファクトから生成されたデジタルシグネチャーが真正ではないことを確認可能であることがわかる。

アタッカーによって改ざんされたアーティファクトはデジタルシグネチャーが異なる

アタッカーによって改ざんされたアーティファクトはデジタルシグネチャーが異なる

続いて、ソフトウェアが真正であることをソフトウェアサプライチェインの中で保証するための仕組みであるTUF(The Update Framework)を紹介。

TUFの紹介

TUFの紹介

TUFは「ソフトウェアが最新であること」「一貫していること」「真正であること」を保証するための仕様であると解説。ここではTUFは仕様であり、その実装はベンダーやコミュニティに任されていることに注目したい。リファレンス実装はPythonで書かれたPython-tufで、これの著作権がNew York UniversityとTUF Communityとなっていることからもわかるように、Cappos氏の研究室が実装例として開発したものだと思われる。

TUFの構成要素の例

TUFの構成要素の例

このスライドではTUFを構成するさまざまなメタデータを例に挙げて、ソフトウェア(この例ではfoo 1.0と2.0)が更新される中で必要となる属性を説明している。

メタデータがリンクされることで真正なソフトウェアであることを証明する仕組み

メタデータがリンクされることで真正なソフトウェアであることを証明する仕組み

このスライドではLayoutやAttestationの部分にin-totoが使われることをロゴで示している。in-totoは暗号を使ってメタデータを保護するフレームワークだ。TUFやin-totoを使うことによって、ソフトウェアが最新であるか真正であるかをメタデータによって確認できる。そしてもしも改ざんされたとしても復旧することが可能であることも明記されている。

TUFによってソフトウェアが最新であり、真正であることを確認できる

TUFによってソフトウェアが最新であり、真正であることを確認できる

TUFは仕様だがすでに8つ以上の実装例が存在し、20社以上で利用されていると紹介した。ここではDockerやGoogle、Cloudflareなどが紹介されている。TUFのためのRSTUF(Repository Service for TUF)やCIの中でTUFを使うためのTUF-on-CIなども存在し、エコシステムが広がっていることも紹介された。

TUFを実装した例を紹介

TUFを実装した例を紹介

CIの中でTUFを使うためのツールを紹介

CIの中でTUFを使うためのツールを紹介

in-totoに関するセッション

ここからはキーノートとして行われたJustin Cappos氏とSantiago Torres Arias氏のセッションを紹介する。

「Open Source Security is not Spectator Sport」というタイトルのセッション

「Open Source Security is not Spectator Sport」というタイトルのセッション

登壇したArias氏(左)とCappos氏(右)

登壇したArias氏(左)とCappos氏(右)

このタイトルを日本語訳すれば「オープンソースにおけるセキュリティはスポーツ観戦ではない」といったところか。前半で語られたのは、あるプロジェクトの開発に対して高校生が別のアイデアを出してそれが実際には良い改善案だったことを例に挙げて、どんなソフトウェアでも参加することで違いを産み出すことが可能であるという内容だった。

高校生が出したアイデアが実は良い改善案だったという例を紹介

高校生が出したアイデアが実は良い改善案だったという例を紹介

そしてここからソフトウェアサプライチェインに関する内容に移って解説を行った。

Cappos氏とArias氏等が執筆した論文を使ってGitに対する攻撃を解説

Cappos氏とArias氏等が執筆した論文を使ってGitに対する攻撃を解説

●参考(PDF):On omitting commits and committing omissions

Cappos氏とArias氏が共著した論文を挙げて、Gitを使ったソフトウェアサプライチェインにおいて脆弱性があることを紹介。それに対する回答として紹介したのがin-totoだ。

in-totoを紹介。TrivyやSLSA、SPDXなどが連携できると説明

in-totoを紹介。TrivyやSLSA、SPDXなどが連携できると説明

また過去に起きたセキュリティ事案として、2020年に発生したSolarWindsのハッキングを例に挙げて解説。SolarWindsはSaaSのサービスとして企業向けのネットワークとインフラストラクチャーのモニタリングソフトウェアを提供しており、サプライチェインを狙ったハッキングによって大量のデータ漏洩が発生したというものだ。

SolarWindsのハッキングを例にソフトウェアサプライチェインの脆弱性を解説

SolarWindsのハッキングを例にソフトウェアサプライチェインの脆弱性を解説

ソフトウェアのアップデートにおいて、署名の重要性はCappos氏とArias氏による2016年の論文でも解説されていたが、それが実際に本番システムに適用される前にSolarWindsのハッキングが起こってしまったということについては、アカデミアにいるCappos氏にとっては歯痒い状況だろう。SolarWindsのハッキングについてはSolarWindsのエンジニアが2021年のKubeCon NAの共催カンファレンス、SupplyChainSecurityConでセッションを行っている。ここではGitHub上で行われるCIについてシステムを改善し、in-totoを使った暗号化によって同じハッキングが行われないようにシステムを再構築したことが解説されている。

SolarWindsのサプライチェインハックに関する2021年のセッションを紹介

SolarWindsのサプライチェインハックに関する2021年のセッションを紹介

●SolarWindsのソフトウェアサプライチェイン改善の概要(動画):Project Trebuchet: How SolarWinds is Using Open Source to Secure Their Supply Chain in the Wake of the Sunburst Hack

上記セッションのスライド。AWS上に構築された2系統のビルドシステム

上記セッションのスライド。AWS上に構築された2系統のビルドシステム

このスライドはSolarWindsによるセッションからの引用だが、ビルドシステムをKubernetes上のTektonによって実装し、それを独立した2系統のシステムとして実装し、片方が攻撃されたとしても検証を行うことが可能になっているという。このスライドからもわかるように開発するソフトウェア以上にビルドを行うシステム、つまりソフトウェアサプライチェインの実装はそれ自体が複雑なシステムである。その複雑性が増すことで、ソフトウェアサプライチェイン自体が脆弱性を含んでいるとも言える。

Cappos氏はGitHub自体にアーティファクトの属性を生成する機能が追加されたことを紹介し、GitHubもアーティファクトに対するAttestationの重要性を理解していることを紹介した。ちなみにGitHubのArtifact Attestationが発表されたのは2024年6月であるため、Cappos氏にとってみればやっと正式版になったという感覚ではないだろうか。ちなみにGitHubのArtifact AttestationはSigstoreやTUF、in-totoを使った実装例になる。

●参考:Introducing Artifact Attestations-now in public beta

そしてソフトウェアサプライチェインセキュリティに関して過去を振り返り、2016年にCappos氏とArias氏のアイデアだったものがin-toto、Tekton Chainなどを経て、2024年に多くのユースケースやエコシステムに拡大していることを紹介した。

in-totoから始まるソフトウェアサプライチェインセキュリティの歴史を振り返る

in-totoから始まるソフトウェアサプライチェインセキュリティの歴史を振り返る

最後にソフトウェアサプライチェインセキュリティに参加したいエンジニアに対して、NYUのクラスを受けることなどを宣伝した後でOpenSSFやCNCFのTAG Securityに参加して欲しいと説明し、セッションを終えた。

Cappos氏が教えるNYUの宣伝も忘れずに紹介

Cappos氏が教えるNYUの宣伝も忘れずに紹介

OpenSSFやCNCFのTAG Securityにも参加して欲しいと訴えた

OpenSSFやCNCFのTAG Securityにも参加して欲しいと訴えた

SolarWindsのハッキング事件を絡めながらソフトウェアサプライチェインにおけるセキュリティの重要性を解説したCappos氏とArias氏のセッションは、地味ながらもまだ記憶に新しい事件を使ってサプライチェイン、特にビルドシステムがエンジニアにとって脆弱な攻撃対象となりえることを強く訴える内容となった。日本ではSBOMに注目が集まりがちだが、SBOMはアウトプットでしかなく、アーティファクトを生成するビルドプロセスを見直して自社のCI/CDのどこが危険なのかを見直すきっかけになって欲しいと思わせる2つのセッションであった。

●Moore氏のTUFセッション(動画):TUF: Secure Distribution Beyond Software

●Cappos氏とArias氏のin-totoセッション(動画):Keynote: Open Source Security Is Not A Spectator Sport

ちなみにTUFはTor(The Onion Router) Projectのアプリケーションアップデーター(Thandy)を参考にして仕様策定が行われたというのも興味深いと言える。

2024年11月12日の夜に行われた某パーティでCappos氏とMoore氏に遭遇

2024年11月12日の夜に行われた某パーティでCappos氏とMoore氏に遭遇

プレカンファレンスの夜に行われたパーティではCappos氏とMoore氏に再会。まだ公開できない情報をいろいろと教えてもらった。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドイベント
第6回

KubeCon North America 2024から、TikTokが解説するマルチクラウドでのアクセス管理実装の解説セッションを紹介

2025/3/28
KubeCon North America 2024から、TikTokが実装したマルチクラウドでの認証及びアクセス管理を解説するセッションを紹介。
開発ツールイベント
第5回

KubeCon North America 2024から、ソフトウェアサプライチェインの基礎を解説する2つのセッションを紹介

2025/3/25
KubeCon North America 2024から、ソフトウェアサプライチェインに関する2つのセッションを紹介する。
クラウドイベント
第4回

KubeCon North America 2024、初日のキーノートでパテントトロール対策を解説。その意図を探る

2025/3/17
KubeCon North America 2024初日のキーノートで、パテントトロール対策を解説。その意図を探る。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています