Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サプライチェーンとSLSA
Search
yoseio
April 12, 2023
Programming
1
320
サプライチェーンとSLSA
yoseio
April 12, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
EMこそClaude Codeでコード調査しよう
shibayu36
0
530
iOSでSVG画像を扱う
kishikawakatsumi
0
180
マイベストのシンプルなデータ基盤の話 - Googleスイートとのつき合い方 / mybest-simple-data-architecture-google-nized
snhryt
0
110
Leading Effective Engineering Teams in the AI Era
addyosmani
7
680
GitHub Copilotを使いこなせ!/mastering_github_copilot!
kotakageyama
2
550
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
450
AI駆動開発カンファレンスAutumn2025 _AI駆動開発にはAI駆動品質保証
autifyhq
0
100
エンジニアに事業やプロダクトを理解してもらうためにやってること
murabayashi
0
110
Swift Concurrency 年表クイズ
omochi
3
220
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
2k
Google Opalで使える37のライブラリ
mickey_kubo
3
180
AIのバカさ加減に怒る前にやっておくこと
blueeventhorizon
0
130
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Done Done
chrislema
186
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Gamification - CAS2011
davidbonilla
81
5.5k
Unsuck your backbone
ammeep
671
58k
A better future with KSS
kneath
239
18k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How to Ace a Technical Interview
jacobian
280
24k
Designing for Performance
lara
610
69k
The Cult of Friendly URLs
andyhume
79
6.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Transcript
サプライチェーンとSLSA 2022/04/12
ソフトウェアサプライチェーン https://slsa.dev/spec/v0.1/terminology より
脅威 https://slsa.dev/spec/v0.1/threats より
実際の攻撃:Linux Hypocrite Commits • https://lore.kernel.org/lkml/202105051005.49BFABCE@keesco ok/ • 研究目的で脆弱性を含むパッチをLinuxカーネルコミュニティーに投稿し た
実際の攻撃:Linux Hypocrite Commits
実際の攻撃:SolarWinds • https://www.crowdstrike.com/blog/sunspot-malware-technic al-analysis/ • ビルドシステムにマルウェア • コンパイルに関わるプロセスの実行を監視し、ソースファイルを置き換え て、バックドアを仕込む
実際の攻撃:SolarWinds
実際の攻撃:CodeCov • https://about.codecov.io/apr-2021-post-mortem/ • 漏洩した鍵を使ってGCSに悪意のあるファイルをアップロードし、ユーザー に配信
実際の攻撃:CodeCov
SLSAとは • SLSA:Supply chain Levels for Software Artifacts • サプライチェーンにおける成果物の完全性に関するフレームワーク
• GoogleのBinary Authorization for Borgが元になっている • 4つのレベル https://slsa.dev/spec/v0.1 より
SLSAレベル レベル1 ビルドプロセスのドキュメント化 レベル2 ビルドサービスの耐タンパー性 レベル3 特定の脅威に対するさらなる耐性 レベル4 最高レベルの信頼と信用
実装:GitHub Actions • SLSA GitHub Generatorを使う • やってくれること ◦ provenanceの生成
▪ 任意のアーティファクト ◦ provenanceの署名 ▪ Sigstoreを使ってActionsのOIDCトークンで署名する • やってくれないこと ◦ 特になし(GitLab CI・Cloud Buildと比較)
実装:GitLab CI • SLSAが組み込まれている(GitLab Runner 15.1 ~) • やってくれること ◦
provenanceの生成 ▪ ジョブアーティファクト • やってくれないこと ◦ ジョブアーティファクト以外に対するprovenanceの生成 ◦ provenanceの署名 ▪ gitlab.com/gitlab-org/gitlab-runner/-/issues/29063
実装:Cloud Build • SLSAが組み込まれている • やってくれること ◦ provenanceの生成 ▪ Java・Python・コンテナ
◦ provenanceの署名 ▪ DSSEに準拠した署名 • やってくれないこと ◦ Java・Python・コンテナ以外に対するprovenanceの生成
SLSA 1.0に向けて • 変更点 ◦ 複数のトラックに分割 ▪ 1.0 RCではビルドトラック(L1 ~
L3)のみ ◦ provenanceの検証について明確化 • 今後の方向性 ◦ ビルドトラック L4の追加 ◦ ソーストラックの追加
所感 • まだ仕様が安定していないので導入は慎重にしたい ◦ 0.1 → 1.0は変更が大きいので1.0まで待ちたい ◦ 1.0以降は仕様が追加されるだけになりそう •
必要に応じてポリシーエンジンを導入する ◦ GKE・Cloud Runの場合はBinary Authz ◦ Sigstoreの場合はPolicy Controller • Sigstoreを使う際はRekorに注意
参考文献 • https://slsa.dev • https://github.com/slsa-framework/slsa-github-generator • https://docs.gitlab.com/ee/ci/runners/configure_runners.html • https://cloud.google.com/build/docs/securing-builds/view-build-provenance