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
Linux Foundation Japan
PRO
May 16, 2024
Technology
0
230
SOSS Community Day North America 2024 セッション報告
日立製作所 研究開発グループ 下沢拓氏
2024年5月13日開催 OSSセキュリティMeetup講演資料
Linux Foundation Japan
PRO
May 16, 2024
Tweet
Share
More Decks by Linux Foundation Japan
See All by Linux Foundation Japan
SOSS Community Day EUROPE イベントレポート
lfj
PRO
0
25
OpenSSF 10分クッキング ー 10分でOpenSSFを解説
lfj
PRO
0
33
Open Source Summit EU 参加レポート
lfj
PRO
0
35
OSS Security Meetup Tokyo Oct 3, 2024
lfj
PRO
0
37
SLSA概要紹介 Supply-chain Levels for Software Artifacts
lfj
PRO
0
45
SOSS Community Day Report
lfj
PRO
0
160
OpenSSF Overview - Improve the Security of Open Source Software for All
lfj
PRO
0
200
Secure OSS Community Day North America イベントレポート
lfj
PRO
0
170
イベントレポート OpenSSF Day Vancouver
lfj
PRO
0
220
Other Decks in Technology
See All in Technology
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
Platform Engineering for Software Developers and Architects
syntasso
1
520
[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!
nssv
1
210
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
750
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
Lexical Analysis
shigashiyama
1
150
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
310
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Designing for Performance
lara
604
68k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
RailsConf 2023
tenderlove
29
900
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Faster Mobile Websites
deanohume
305
30k
A designer walks into a library…
pauljervisheath
203
24k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Scaling GitHub
holman
458
140k
Done Done
chrislema
181
16k
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)