Skip to content
Latchkey

SLSA フレームワークとは? - サプライチェーンの完全性のためのレベル

SLSA(Supply-chain Levels for Software Artifacts)とは、build プロセスがどれだけ信頼できるかを記述する、段階的なセキュリティレベルのフレームワークです。

SLSA は「サルサ」と発音され、チームが安全なサプライチェーンへ向かって登るはしごを提供します。曖昧な「もっと安全に」ではなく、具体的なレベルを定義し、各レベルが、artifact がどう build されるか、その出所がどう記録されるか、プロセスがどれだけ改ざんに強いかについての要件を追加します。これにより、サプライチェーンセキュリティが、目標にでき監査もできるものになります。

SLSA が対処する問題

ほとんどのソフトウェアは自動化されたパイプラインによって build され、攻撃者はソースコードよりもそうしたパイプラインをますます狙っています。SLSA は build の完全性に焦点を当てます。artifact が、期待されるソースから期待されるプロセスによって、途中の改ざんなしに build されたことを証明するのです。

レベル

  • レベル 1: build がスクリプト化され、provenance を生成する。
  • レベル 2: provenance が、ホステッドで認証された build サービスによって署名される。
  • レベル 3: build が、改ざんに強い、強化・分離されたプラットフォーム上で実行される。
  • 上位レベルは、再現性と分離のより強い保証を追加する。

中心にある provenance

すべての SLSA レベルは provenance の上に築かれます。artifact がどう生成されたかについての検証可能なメタデータです。上位レベルは、provenance が署名されること、そして build 環境自体が転覆させにくいことを要求します。

チームはどう採用するか

チームは通常、CI で provenance を生成することでレベル 1 から始め、次にそれを署名し、マネージドで分離されたプラットフォーム上で build を実行することで上へ進みます。各ステップが、偽造または改ざんされた artifact をリリースに紛れ込ませることをより難しくします。

build プラットフォームが重要になる場面

上位の SLSA レベルは、攻撃者が容易に改ざんできない build 環境を要求します。強化され、分離され、エフェメラルな環境です。各 job に新しく分離された環境を与えるマネージド runner(Latchkey のような)は、SLSA が上位レベルで期待する分離と完全性に沿っています。

重要なポイント

  • SLSA は、ソフトウェアサプライチェーンの完全性のための段階的なレベルのフレームワークである。
  • 各レベルは、provenance、署名、build の分離に関する要件を追加する。
  • provenance と、強化・分離された build プラットフォームが、上位レベルを支える。

関連ガイド