【スルサ】

SLSA(サプライチェーンレベル) とは?

最終更新:
💡 どこでどう作られたか、記録と管理策で確かめる

ソフトウェアのソースやビルド過程を、来歴と管理策で確認するサプライチェーンのセキュリティ指針。Buildの3段階とSourceの別体系、コード品質との違いを説明します。

📌 このページのポイント
SLSA:作られ方の記録を確かめるソースビルド成果物来歴:何から、どこで、どう作ったか成果物の利用者が記録を検証するBuild trackの段階(v1.2)L1来歴があるL2基盤が生成して署名L3ビルド基盤をさらに強化Source trackは別体系。コード品質とも別
Build trackの要点を示した図。L2・L3には下位レベルの条件も含まれ、記録の真正性の検証など、詳細な要件は仕様で確認します。
ひよこ ひよこ
SLSAは、プログラムのバグを探す仕組み?
ペンギン先生 ペンギン先生
主に作られる経路の改ざんに備える指針だよ。確認したソースから、想定したビルド環境で成果物が作られたかを、来歴という記録と管理策で確かめるんだ。
ひよこ ひよこ
来歴には、何が書かれるの?
ペンギン先生 ペンギン先生
どのビルド環境が、どんな処理と入力から成果物を作ったかを示すよ。v1.2のBuild L1では来歴を生成・提供するけれど、署名が必須とは限らない。記録があるだけで改ざんに強いとはいえないんだ。
ひよこ ひよこ
Build L2やL3は、どう違う?
ペンギン先生 ペンギン先生
L2ではホストされたビルド基盤が来歴を生成して署名し、利用者が真正性を検証する。L3ではさらに、実行同士の干渉や署名用の秘密情報へのアクセスを防ぐなど、ビルド基盤を強化するよ。
ひよこ ひよこ
ソースや依存ライブラリも、全部安全と分かる?
ペンギン先生 ペンギン先生
そうではないよ。v1.2にはソースの管理を扱う別のSource trackもある。Buildのレベルはコード品質や依存先全体の安全性を保証しない。脆弱性の検査なども併用し、対象と脅威に合う管理策を確認しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「SLSA」って出てきたら「ソフトウェアの作られ方を確かめ、改ざんに備える指針」と思えばだいたいOK!
📖 おまけ:英語の意味
「Supply-chain Levels for Software Artifacts」 = ソフトウェア成果物のサプライチェーンのレベル
💬 SLSAはサルサと読みます。レベルだけでなく、ソースを扱うSourceか、ビルドを扱うBuildかも添えて確認します。

参考資料

← 用語集にもどる