Upgrade to Pro — share decks privately, control downloads, hide ads and more …

セキュアなライブラリ開発〜 OpenSSFで始めるOSSセキュリティの実践と活用〜

セキュアなライブラリ開発〜 OpenSSFで始めるOSSセキュリティの実践と活用〜

スライド内のリンクにアクセスしたい方はGoogle スライド版 をご利用ください。

概要

現代社会のITシステムはOSSに広く依存しており、ライブラリ開発も例外ではありません。
OSSを活用することでコスト削減や迅速な開発といったメリットを享受できますが、一方で脆弱性の影響は広範囲に及びます。
特にライブラリ開発は多くのアプリケーションに影響を与えるため、依存するOSSのセキュリティ対策が重要です。

また、OSSプロジェクトのセキュリティ対策は、そのプロジェクトの健全性を示す重要な要素でもあります。
私の作成しているOSSライブラリ( ts-graphviz )で行ったセキュリティ向上の取り組みをもとに、 Open Source Security Foundation(OpenSSF) が推進するセキュリティ向上の取り組みをいくつかご紹介します。

備考

2024年5月24日に実施した「Nextbeat Tech Bar:第一回ライブラリ開発について考える会」 のLTで使用されたスライドです。

発表で使用したスピーカーノートはこちらからアクセスできます。

Yuki Yamazaki

May 24, 2024
Tweet

More Decks by Yuki Yamazaki

Other Decks in Technology

Transcript

  1. 1. OpenSSF ガイド オープンソースの安全性を高めるための資料集 オープンソース開発者だけでなく、オープンソース 利用者にとっても参考になる内容 www.linuxfoundation.jp/resources/openssf-guides-jp github.com/ossf/wg-best-practices-os-developers パッケージ リポジトリの

    セキュリティの原則(英語) より安全なソフトウェア開発 のための簡潔なガイド オープンソース ソフトウェア を評価するための簡潔なガ イド CおよびC++の コンパイラ・オプション 強化ガイド パッケージ リポジトリの オープンソース プロジェクト として CVE 番号付与機関に なるためのガイド(英語) ソースコード管理プラットフォー ム設定のベストプラクティス npm ベストプラクティス ガイド セキュリティ研究者のための オープンソース ソフトウェア プロジェ クトと脆弱性の公表を調整するため のガイダンス オープンソース プロジェクト向けに 協調的脆弱性開示プロセスを実装 するためのガイド 8 bit.ly/secure-lib-20240524
  2. 2. OpenSSF ベスト プラクティス バッジ github.com/coreinfrastructure/best-practices-badge www.bestpractices.dev/ja OSS開発者 Webアプリでベストプラクティスに従っていることを自己証明 できる

    基準を満たすように取り組むことで パッケージをより安全にすることができる セキュリティについての 複数の質問に回答する 9 bit.ly/secure-lib-20240524
  3. Q&A Q. OSS開発者は具体的などのような対策をするのですか? A. 例えば、デフォルトブランチの保護や CIでのテスト、静的解析、Fuzzing、2段階認証の設定など多岐に渡 ります。 ここでは紹介しきれないため、今回紹介した ベストプラクティスバッチの取得などに取り組みながら対策し ていくのがおすすめです。OSS開発者でない方は、「より安全なソフトウェア開発のための簡潔なガイド

    」 などのガイドを読むと理解が深まるかと思います。 Q. ts-graphvizプロジェクトのセキュリティ対策の取組状況・進捗はどのくらいですか? A. セキュリティに関してはゴールを設定するのが難しいため道半ばだと思います。 セキュリティ対策は一度で完了するものではなく 継続的な取り組みが必要 です。 例えば、ts-graphvizプロジェクトでは、現在もセキュリティ対策を進めていますが、セキュリティは常に進 化する脅威に対応するため、絶えず更新と改善をすることが必要です。 OpenSSFのガイドラインやツールを利用してセキュリティを強化していますが、完璧なセキュリティというも のは存在せず、リスクを管理し適切に対応する能力を持続的に向上させる ことが大切だと考えています。 17 bit.ly/secure-lib-20240524
  4. 付録:「サプライチェーンの脅威」 ソース パッケージ ビルド 依存する ソフトウェア レビューの迂回 開発者 利用者 侵害された

    依存関係を使用 ソースリポジトリの侵害 ソースの 改ざん パッケージの 改ざん パッケージの 乗っ取り/改ざん (侵害されたパッケージを使用する ) ソースの脅威 ビルド・配布の脅威 依存の脅威 ビルドプロセスの 侵害 パッケージレジストリの侵害 参考: SLSA 1.0 (Supply chain threats) https://slsa.dev/spec/v1.0/threats-overview セキュリティに直接関係ないようなソフトウェアでも、サプライチェーンを含めると利用者に届くまでに 様々な脅威がある。プロセスとしてもソフトウェアを保護することが大切。 18 bit.ly/secure-lib-20240524