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
360
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サプライチェーンとSLSA
yoseio
April 12, 2023
Other Decks in Programming
See All in Programming
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
220
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
280
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
540
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
710
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
750
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
150
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
8
2.8k
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2k
スマートグラスで並列バイブコーディング
hyshu
0
130
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
540
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
220
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
A Soul's Torment
seathinner
6
2.9k
ラッコキーワード サービス紹介資料
rakko
1
3.6M
The World Runs on Bad Software
bkeepers
PRO
72
12k
GraphQLとの向き合い方2022年版
quramy
50
15k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
How to Ace a Technical Interview
jacobian
281
24k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
390
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
Building an army of robots
kneath
306
46k
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