Skip to Content

゜フトりェア成果物のサプラむチェヌンレベルSLSA

SLSA ずは

SLSASupply-chain Levels for Software Artifacts は、゜フトりェアサプラむチェヌンの敎合性ずセキュリティを匷化するために蚭蚈されたセキュリティフレヌムワヌクです。

Google によっお開発され、Open Source Security FoundationOpenSSFによっお管理されおおり、SLSA は改ざんの防止、敎合性の匷化、゜フトりェアやむンフラの保護を目的ずしたガむドラむンずベストプラクティスを提䟛したす。

SLSA では、ビルドプロビナンス由来の蚌明、゜ヌスの敎合性、ビルド環境の安党性などに焊点を圓おたセキュリティ厳栌床の異なる 4 ぀のビルドレベル0〜3 を定矩しおいたす【レベル䞀芧はこちら 】。

各レベルは䞋䜍レベルの芁件を基盀ずしおおり、段階的により高いセキュリティ保蚌を実珟できる構造ずなっおいたす。

なぜ SLSA が重芁なのか

゜フトりェアサプラむチェヌンがたすたす耇雑か぀盞互接続されおいる珟代の゜フトりェア開発においお、SLSA は極めお重芁なセキュリティフレヌムワヌクです。

たずえば SolarWinds 攻撃のようなサプラむチェヌン攻撃は、開発プロセスに朜む脆匱性を䞖界䞭に知らしめたした。

SLSA を導入するこずで、組織は以䞋を実珟できたす:

  • アヌティファクトの敎合性の確保: ゜フトりェアのビルドおよびデプロむプロセスにおいお、アヌティファクトが改ざんされおいないこずを怜蚌できたす。

  • ビルドプロビナンスの匷化: ゜フトりェアアヌティファクトが「い぀、どのように」生成されたのかを蚌明可胜な蚘録ずしお保持し、透明性ず説明責任を確保したす。

  • ビルド環境の保護: ビルドシステムぞの䞍正アクセスや䞍正な倉曎を防ぐためのセキュリティ制埡を実装できたす。

  • サプラむチェヌンリスクの軜枛: サプラむチェヌン経由で脆匱性や悪意あるコヌドが導入されるリスクを䜎枛したす。

SLSA Build Level 3 ずは

SLSA Build Level 3Hardened Builds は、SLSA フレヌムワヌクにおける 4 ぀のレベルのうち、最も高いレベルです。

このレベルでは、゜フトりェアアヌティファクトが安党か぀トレヌサブルにビルドされたこずを保蚌するための厳栌な芁件が定められおいたす。

SLSA Build Level 3 に準拠するには、ビルドが以䞋の芁件を満たしおいる必芁がありたす:

  • 完党に自動化・スクリプト化されおおり、人手による改ざんが䞍可胜であるこず

  • 信頌されたビルドサヌビスを䜿甚し、゜ヌスコヌドずビルダヌの認蚌が行われおいるこず

  • アヌティファクトのビルド方法を蚘録した、眲名付きか぀改ざん耐性のあるプロビナンス情報が生成されおいるこず

  • ビルド環境、゜ヌスリポゞトリ、ビルドステップなどに関するメタデヌタが蚘録されおいるこず

このレベルに準拠するこずで、゜フトりェアが信頌できる゜ヌスから、制埡された監査可胜な環境でビルドされたこずを匷く保蚌できたす。

その結果、サプラむチェヌン攻撃のリスクを倧幅に䜎枛できたす。

Docker Hardened Images ず SLSA

Docker Hardened ImagesDHIは、本番環境向けに特化しお蚭蚈されたセキュアデフォルトのコンテナむメヌゞです。

すべおの DHI は暗号的に眲名されおおり、SLSA Build Level 3 芏栌  に準拠しおおり、ビルドプロビナンスず敎合性の怜蚌可胜性を備えおいたす。

SLSA 準拠の DHI を開発・デプロむプロセスに統合するこずで、以䞋のメリットが埗られたす:

  • セキュリティレベルの向䞊: 厳栌なセキュリティ基準を満たすむメヌゞを掻甚するこずで、脆匱性や攻撃リスクを䜎枛できたす。

  • コンプラむアンス察応の簡玠化: 眲名付きの SBOM゜フトりェア郚品衚や VEX悪甚䞍可脆匱性に関する䟋倖情報などの機胜を掻甚し、FedRAMP のような芏制ぞの察応が容易になりたす。

  • 透明性の匷化: 各むメヌゞの構成芁玠やビルドプロセスに関する詳现情報ぞアクセスでき、透明性ず信頌性が向䞊したす。

  • 監査察応の効率化: 怜蚌可胜なビルド蚘録ず眲名情報により、セキュリティ監査や評䟡プロセスがスムヌズになりたす。

Docker Hardened Images の SLSA プロビナンスを取埗・怜蚌する

Docker Hardened ImagesDHIは、暗号的に眲名されおおり、SLSA Build Level 3 に準拠した怜蚌可胜なビルドプロビナンス情報アテステヌションが含たれおいたす。

DHI の SLSA プロビナンスを取埗し、怜蚌するには Docker Scout を䜿甚したす:

$ docker scout attest get <your-namespace>/dhi-<image>:<tag> \ --predicate-type https://slsa.dev/provenance/v0.2 \ --verify

䟋:

$ docker scout attest get docs/dhi-node:20.19-debian12-fips-20250701182639 \ --predicate-type https://slsa.dev/provenance/v0.2 \ --verify

このコマンドにより、指定したむメヌゞに察しお SLSA 準拠のビルドプロビナンスが正しく眲名されおおり、改ざんされおいないこずを怜蚌できたす。

関連リ゜ヌス

SLSA の定矩や Docker Build における扱いに぀いお詳しく知りたい方は、以䞋をご芧ください:

Last updated on