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
SOSS Community Day North America 2024 セッション報告
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Linux Foundation Japan
PRO
May 16, 2024
Technology
350
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SOSS Community Day North America 2024 セッション報告
日立製作所 研究開発グループ 下沢拓氏
2024年5月13日開催 OSSセキュリティMeetup講演資料
Linux Foundation Japan
PRO
May 16, 2024
More Decks by Linux Foundation Japan
See All by Linux Foundation Japan
SLSA 概説・v1.2 の紹介
lfj
PRO
0
110
Linux Foundation Education Program 紹介
lfj
PRO
0
57
Open Source Summit Korea 2025イベントレポート
lfj
PRO
0
87
LF Japan Community Day 大阪 2025イベントレポート
lfj
PRO
0
86
Comparison and Proposal of Vulnerability Management Approaches in Yocto-Based Linux for the EU CRA
lfj
PRO
0
100
CRA (Cyber Resilience Act) 第13条と最新動向
lfj
PRO
0
210
Discussion for CISA 2025 Minimum Elements for an SBOM
lfj
PRO
0
220
OpenSSF Community Day Europe 2025イベントレポート
lfj
PRO
0
160
Open Source Summit Europe 2025イベントレポート
lfj
PRO
0
160
Other Decks in Technology
See All in Technology
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
2
680
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
130
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
0
210
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
150
脆弱性対応、どこで線を引くか
rymiyamoto
1
420
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
140
SONiCの統計情報を取得したい
sonic
0
230
iOS アプリの「これって不具合ですか?」を AI に調べてもらう
miichan
0
100
ザ・データベース、MySQL ~ OSC 2026 Sendai ~
sakaik
0
140
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
280
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
320
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
160
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
800
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Practical Orchestrator
shlominoach
191
11k
sira's awesome portfolio website redesign presentation
elsirapls
0
280
ラッコキーワード サービス紹介資料
rakko
1
3.7M
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Balancing Empowerment & Direction
lara
6
1.2k
Designing for humans not robots
tammielis
254
26k
GitHub's CSS Performance
jonrohan
1033
470k
Optimizing for Happiness
mojombo
378
71k
Transcript
© Hitachi, Ltd. 2024. All rights reserved. SOSS Community Day
North America 2024 セッション報告 日立製作所 研究開発グループ 2024/05/13 下沢 拓
1 © Hitachi, Ltd. 2024. All rights reserved. sigstore: 2024
and beyond (1/6) • sigstoreプロジェクトの目的・現在の状況と今後のロードマップ の紹介 – Graduated プロジェクトに (2024年3月) • 目的 – コードやアーティファクトの署名を簡単に実現できるようにすること • 鍵管理、コード署名・・・ – SDLCにおけるトラストの基礎を提供する • Trust foundation • Software attestation 発表者 Hayden Blauzvern (Google)
2 © Hitachi, Ltd. 2024. All rights reserved. sigstore: 2024
and beyond (2/6) • プロジェクト – Rekor (透過的なログ) – Fulcio (署名CA) – クライアント • Cosign • 言語ごとのクライアント (sigstore-*) • サービス – パブリックなインスタンス • rekor.sigstore.dev • fulcio.sigstore.dev • oauth2.sigstore.dev – フリーな認証局・透過的なログを利用可能 アーティファクト オーナー 認証局 (Fulcio) ログ (Rekor) リポジトリ (maven, npm等)
3 © Hitachi, Ltd. 2024. All rights reserved. sigstore: 2024
and beyond (3/6) • サービス (2024/4) – 10/22のGA以降、8千万以上の署名が記録 – Workload Identityの対応 • GitHub Actions, GitLab, BuildKite, … – 99.5%のSLOを維持 – パッケージエコシステムのサポート • npm: GA • Homebrew: まもなくGA • PyPIとMaven: 現在開発中
4 © Hitachi, Ltd. 2024. All rights reserved. sigstore: 2024
and beyond (4/6) • クライアントの開発状況 (2024/4) – Go, Python, JavaScript: GA – Java, Rust, Golang: ベータ – Ruby: 開発停止 • 現状の課題 – インフラのサステナビリティと維持(コストとリクエスト増大への対応) – クライアント間の互換性のための標準化 – プログラミング言語ごとの実装(検証コードなど)
5 © Hitachi, Ltd. 2024. All rights reserved. sigstore: 2024
and beyond (5/6) • 全体的な計画 – OSSのエコシステム採用の主要なパスとして、OSSパッケージマネージャ (npm, pypi…)に注力 – SIGを作成して、トピックごとに集中して議論・運営 (クライアント・パブリッ クインスタンスの運用) – sigstoreアーキテクチャのドキュメント化 – sigstoreサービス全体の運用を簡易化(helm, k8s, terraform)し、パブリッ クインスタンス・プライベートインスタンス両方の運用を容易にする
6 © Hitachi, Ltd. 2024. All rights reserved. sigstore: 2024
and beyond (6/6) • 短期的計画 – Go/Java/RustクライアントのGA – Cosignインタフェースの簡素化 – SLSA L3ビルダーの採用・来歴の公開 – ワークロードのアイデンティティと署名自動化に関するドキュメント – アーキテクチャドキュメントの完成 – アイデンティティに関するログモニタリング – 研究者向けのパブリックなデータセット • 長期的計画 – パッケージマネージャにおける採用 – 高度な検証ポリシーの評価 – 透過的ログのタイリング (C2SP) – 検証可能な検索 – プライバシーを保持したアイデンティティ – Post-quantum暗号技術対応
7 © Hitachi, Ltd. 2024. All rights reserved. Build Provenance:
Lessons (so far) from Homebrew • Homebrewエコシステムにおけるビルド来歴対応を紹介 • Bottleの自動ビルド時にprovenanceを作成 – Pull Requestが提出された際にビルド – Pull Requestがマージされたときに署名 • ビルド来歴(Build provenance)も作成 • 既にビルドされたものについて、trailofbits/homebrew-brew-verifyリ ポジトリで証明を作成 • 来歴の検証 – brew tapでリポジトリを指定した上で、brew verifyコマンドで可能 • 将来的にはbrew verifyやinstallだけで検証可能にする予定 Joe Sweeney (Trail of Bits) 発表者
8 © Hitachi, Ltd. 2024. All rights reserved. Beyond ”Just
Update All the Things” (1/2) • OSSの脆弱性データベースOSVとそれによる脆弱性検知ツールosv- scannerの紹介 • CVEの課題 – CPE IDによる対象の表現が適切に行えない場合がある • OSV Format – OSV Format (osv-schemaで定義) • package.ecosystem, package.name • ranges – 一部の言語(Go/Rust)ではシンボルレベルの情報が表現できる – 20のエコシステムからの脆弱性情報を統合 Holly Gong, Rex Pan (Google) 発表者
9 © Hitachi, Ltd. 2024. All rights reserved. Beyond “Just
Update All the Things” (2/2) • 各エコシステムにおける依存関係と脆弱性マッチング – lockfileによるマッチングは、実際には単純ではない – Goの場合 • ディレクティブでGoのバージョン・標準ライブラリのバージョンを指定できる • 外部ライブラリをローカルのライブラリに”replace”することができる – Mavenの場合 • 間接依存関係が記述されていない • バージョンの記述が複雑(プロパティ変数を介して指定している場合、依存関係記述部分に 書いてある場合など) • pom.xmlの親子関係 • 複数のバージョンが指定されていた場合の挙動(仕様は最初の指定が有効だが、ほとんどの 処理系は最後の指定を使う) – npmの場合 • 5種類の依存関係 (通常, dev, peer…)
10 © Hitachi, Ltd. 2024. All rights reserved. A step
closer to in-toto’lly secure (SupplyChainSecurityCon) • 来歴のフォーマット in-toto のツールwitnessとarchivistaの紹介 – ビルドの来歴に対して検証を行うことによって、意図しないプロセスが混入し ていないことを確かめる • Witness – In-totoによる証明に基づいた検証を行うCLIツール – 来歴に対して検証を行うことによって、typo squattingなどによってビルド時 に入ったパッケージを検出することができる – CVE Scanを行っていることといったようなポリシーも検証ができる • Archivista – in-totoによる証明(attestation)の格納 – GraphQLによるクエリ機能 John Kjell, Tom Meadows (TestifySec) 発表者
None
12 © Hitachi, Ltd. 2024. All rights reserved. Driving Security
at Scale: Principles for Package Repository Security • OpenSSF Securing Software Repositories WGの最近の成果物である “Principles for Package Repository Security”の紹介 – CISA (サイバーセキュリティ・社会基盤安全保障庁)とのパートナー協定による ドキュメント(共著) – CISAの”Open Source Software Security Roadmap”の内容の一つに対応 – 2024年2月にv0.1を公開 • ドキュメントの対象 – パッケージリポジトリの成熟モデル (maturity model) – パッケージリポジトリのケーパビリティの分類 – オープンソースのリポジトリの運用者を対象としたもの 発表者 Jack Cable (CISA), Zach Steindler (GitHub)
13 © Hitachi, Ltd. 2024. All rights reserved. Driving Security
at Scale: Principles for Package Repository Security • ドキュメントの内容 – 認証 – 認可 – 一般的なケーパビリティ – CLIツール • 今後の動向 – CISAが3/7にオープンソースエコシステムをセキュアにする新たな活動を 発表 (OpenSSFとの連携や本ドキュメントの活動も含む) • 現在、v0.2に向けて取り組んでおり、貢献を募集中 L3: MFAを 全リポジトリで必須 L2: フィッシング耐性のある MFAに対応、 重要なリポジトリでMFA必須 L1: MFAに対応、 アカウント回復ポリシーを文書化
14 © Hitachi, Ltd. 2024. All rights reserved. • 脆弱性検知において、オープンソースのエコシステムの違いによる問題をPython
(PyPI)の立場で紹介 • ソフトウェアIDの問題 – CPE (Common Platform Enumeration) • 多くのPyPIパッケージはCPE (ID)を持っていない • 50万以上のPythonパッケージがあり、急速に増え続けている – Pythonパッケージでは「リリース」という管理単位はなくファイル単位 • あるバージョンのうちWindows版のみが対象となる脆弱性 – 全てを一個のID体系で表すことは困難 – Package IDを用いることで、各エコシステムに表現を委譲できる (CVE Schema 5.1で採用) • pkg:pypi/… Embracing the Differences Securing open source ecosystems where they are 発表者 Seth Larson (Python Software Foundation)
15 © Hitachi, Ltd. 2024. All rights reserved. • その他の問題
– Numpy インストールの98%は(コンパイルされた)バイナリ – PyPIのインストールの38%はバイナリ Embracing the Differences Securing open source ecosystems where they are
16 © Hitachi, Ltd. 2024. All rights reserved. Improving FOSS
Security • オープンソースコミュニティ向けに、そのセキュリティを高めるために 必要な方策を紹介 – Proactive • セキュリティポリシーの明示 (コンタクト先など) – OpenSSFがガイドやテンプレートなどを公開しており利用可能 • GitHubでは、非公開の脆弱性レポート機能が利用可能 • 脆弱性の発見 (静的解析・Fuzzing・バグ褒賞の利用) – Responsive • 脆弱性の公開方法 (CVD: Coordinated Vulnerability Disclosure) – Downstreamなど他への通知、CVEプロセスへの関与、アナウンス、Changelogへの記載 • セキュリティパッチ – 問題と解決手段を明示、脆弱性修正だけのパッチ、脆弱性の(非)再現テストを加える 発表者 Mark Esler (Ubuntu)