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

サプライチェーン攻撃対策のためのSBOM入門

 サプライチェーン攻撃対策のためのSBOM入門

2022/07/28 JFrog Webinar
サプライチェーン攻撃対策のための SBOM入門

Yoshihisa Sato

July 29, 2022
Tweet

More Decks by Yoshihisa Sato

Other Decks in Technology

Transcript

  1. 自己紹介 3 ▪ Developer Advocate @ JFrog ▪ 「よしQ」と覚えていたくとうれしいです ▪

    山形県鶴岡市からリモートワーク ▪ SIerでアプリケーション開発エンジニアやアーキテクト、ITコン サルなど経験 ▪ 提案〜要件定義〜設計・開発〜導入〜運用保守まで ▪ エンジニア目線で情報発信! 佐藤 由久 SATO Yoshihisa @umekichi1984 @yoshiq-sato
  2. ソフトウェアサプライチェーン攻撃の脅威 9 「SLSA(サルサ)」より そこ、大丈夫?チェックポイント 出典: 2022年4月7日 GitHub Blog “Achieving SLSA

    3 Compliance with GitHub Actions and Sigstore for Go modules” https://github.blog/2022-04-07-slsa-3-compliance-with-github-actions/ 2021年6月16日 Google Security Blog “Introducing SLSA, an End-to-End Framework for Supply Chain Integrity” https://security.googleblog.com/2021/06/introducing-slsa-end-to-end-framework.html ソースコー ド 依存 ビルド リリース H F G D A B C E SOURCE THREATS DEPENDENCY THREATS BUILD THREATS 脅威 対応策 A 不正な変更の送信 コードレビュー B リポジトリの侵害 VCSでの管理 C 正しいソースからのビルド コードの普遍性管理 D 不正なビルドプロセス 堅牢なビルド環境 E 侵害された依存の使用 依存関係 F CI/CDで作られていない アーティファクトの登録 クレデンシャルを守る、メタ データの確認 G パッケージリポジトリ 正しい出所の利用 H 侵害されたパッケージ利用 使用パッケージの選択
  3. 10 99%のソフトウェア、 85%のエンタープライズ向けソフトウェアが オープンソースのコンポーネントを含む 62%の攻撃がサプライヤーへの信頼を 悪用したものであり、2015~2021で 6.5倍に増えた 2022年に攻撃は 4倍に増えると予想されている 出典:

    2022年4月7日 GitHub Blog “Achieving SLSA 3 Compliance with GitHub Actions and Sigstore for Go modules” https://www.enisa.europa.eu/publications/threat-landscape-for-supply-chain-attacks “Threat Landscape for Supply Chain Attacks” https://github.blog/2020-09-02-secure-your-software-supply-chain-and-protect-against-supply-chain-threats-github-blog/
  4. SBOMとは 15 ▪ Software Bill Of Materials (ソフトウェア部品表) ▪ ソフトウェアを構成するコンポーネントとメタデータの一覧

    ▪ 脆弱性やライセンスの観点で安全性を確認・保証するのに使う ▪ アメリカでは、政府と関わる重要なソフトウェアにおいてSBOMが義務化されるほどメジャーな存在となってい る
  5. SBOMの3つの最小要素 17 ▪ Data Fields ◦ SBOMが記録・管理する情報を明確に文書化する ▪ Automation Support

    ◦ 生成も使用も自動化できるようにする ▪ Practices and Processes ◦ SBOMを使ったオペレーションを定義する 出典: The Minimum Elements For a Software Bill of Materials (SBOM) https://www.ntia.gov/files/ntia/publications/sbom_minimum_elements_report.pdf
  6. Data Fields (1/3) 18 SBOM 自体の 情報 ソフトウェ アの情報 出典:

    Survey of Existing SBOM Formats and Standards - Version 2021 https://www.ntia.gov/files/ntia/publications/sbom_formats_survey-version-2021.pdf (例: SPDXフォーマット)
  7. Data Fields (2/3) 19 SBOM 自体の 情報 出典: Survey of

    Existing SBOM Formats and Standards - Version 2021 https://www.ntia.gov/files/ntia/publications/sbom_formats_survey-version-2021.pdf タイムスタンプ (Timestamp) SBOMの作成者 (Author of SBOM Data) (例: SPDXフォーマット) 必須とされる項目
  8. Data Fields (3/3) 20 ソフトウェ アの情報 出典: Survey of Existing

    SBOM Formats and Standards - Version 2021 https://www.ntia.gov/files/ntia/publications/sbom_formats_survey-version-2021.pdf コンポーネント名 (Component Name) 識別名のキー (Other Unique Identifiers) サプライヤー (Supplier Name) バージョン (Version of the Component) (例: SPDXフォーマット) 必須とされる項目 依存関係 (Dependency Relationship)
  9. Automation Support 21 ▪ 自動化および組織の垣根を越えた運用のため、SBOMは標準フォーマットに則って生成する ◦ Software Package Data Exchange

    (SPDX): 国際標準 ◦ CycloneDX ◦ Software Identification (SWID) ▪ 一貫して同じフォーマットで管理するのが望ましい ▪ tag:value形式(SPDX)、JSON、YAML、XMLなどに対応 ◦ 人間にも機械にも読める ▪ ツールについては、生成に関するものがさまざま出始めている状態。利用についてはこれから。 ◦ デファクトスタンダードといえるツールはまだない
  10. Practices and Processes 22 ▪ ビルドやリリースによりソフトウェアが更新されたらSBOMも新たに作成する ▪ SBOMに誤りが見つかったら修正する 深さ (Depth)

    頻度 (Frequency) 既知の未知 (Known Unknown) ▪ 推移的依存関係も含め詳細なリストを作る ▪ 悪意あるパッケージが「ない」ことを証明するには、完全な網羅性が必要となる ▪ 依存関係の網羅性が分かっている箇所と不明確な箇所は区別し、その旨を明記する ▪ 必要とする人が適切なタイミングで使用できる(具体的な方法は現在決まっていない ) アクセス制御 (Access Control) 配布・配信 (Distribution and Delivery) 間違いの許容 (Accommodation of Mistakes) ▪ SBOMに対して、希望に応じたアクセス制御を実現する ▪ アクセス権を与える範囲は、ライセンスや契約で定める ▪ 発展途中の領域であり、SBOMについても課題やエラーに対して寛容でいる ▪ これからも変化・進化を伴うが、成熟を待つより今日から始める
  11. JFrog Platform 28 24/7 Dedicated Support + DevOps Acceleration Service

    Arm BUILD TEST RELEASE DEPLOY 継続的な統合 自動化とデプロイ セキュリティとコンプライアン スの問題を解決 本番環境への 配布 フローを制御し 監視する On Premises & Multicloud あらゆる種類の パッケージを 保存・管理 VCS ACCESS FEDERATION 認証、ACL、SSO、 アクセストークン
  12. JFrog Xray 31 ▪ Artifactoryとネイティブな統合 ◦ 最適なスキャンと統一されたオペレーションを実現するSCAソリューション ◦ アーティファクトに関するすべてのセキュリティおよびコンプライアンス情報を一元管理 ▪

    ユニバーサルなセキュリティとコンプラインス ◦ 主要なパッケージタイプをサポート ◦ 再起的なスキャンが可能(DockerイメージやZipファイルの中まで確認) ▪ 一般的な脆弱性情報(+JFrog独自情報)を元に、脆弱性スキャン
  13. 継続的な分析 (新しいアーティファクトの追加) 32 NEW ARTIFACT INDEXING SCANNING SETUP POLICY RULES

    CREATE AUTOMATIC ACTIONS FAIL BUILD NOTIFICATION CRITICAL VIOLATION MINOR VIOLATION
  14. まとめ 37 ▪ ソフトウェアサプライチェーン攻撃とは ◦ ソフトウェアサプライチェーンのどこかで悪意あるコードやパッケージが組み込まれること ◦ ソフトウェアライフサイクルのさまざまなポイントで入りうる ◦ 昨今は多くのソフトウェアでOSSを利用しており、脆弱性を狙った攻撃が増えている

    ▪ SBOMとは ◦ Software Bill Of Materials (ソフトウェア部品表) ◦ 脆弱性やライセンスの観点で安全性を確認・保証するのに使う ◦ アメリカでは、政府と関わる重要なソフトウェアにおいてSBOMが義務化されている ▪ SBOMを作成するための周辺技術 ◦ SCA (ソフトウェアコンポジション解析) ◦ JFrog Artifactory・JFrog Xray
  15. ソフトウェアサプライチェーン攻撃に対する構え 38 100%防ぐことはできないが、ダメージを最小化することを考える ▪ 業界のベストプラクティスを活用(SBOMの活用/SLSA準拠) ▪ 依存関係のあるソフトウェアへの脆弱性対策(開発時も、リリース後も) ◦ SCAによるスキャン ◦

    開発時はOSSコミュニティの活性度*も確認 *: 開発が継続的に行われている、 Issueに対して積極的に修正がされている など (GitHubのログ更新を確認などすると、活性度を見ることができる )
  16. 参考文献 43 • ZDNet 2020年12月15日掲載「米政府などへの大規模サイバー攻撃、SolarWindsのソフトウェア更新を悪用」 https://japan.zdnet.com/article/35163843/ • JFrog 2021年12月28日掲載「Log4Shell ゼロデイ:

    知っておくべきこと」https://jfrog.com/ja/blog/log4shell-0-day-vulnerability-all-you-need-to-know/ • Synopsys whitepaper「Open Source Risk in M&A by the Numbers」https://www.synopsys.com/content/dam/synopsys/sig-assets/whitepapers/wp-risk-ma-numbers.pdf • 「『セキュリティ・スキャン』分野のソフトウェア構成分析(SCA)とは?」https://www.ricksoft.jp/blog/articles/001258.html • 「Explore your OSS dependencies. Visually!」https://www.linkedin.com/pulse/explore-your-oss-dependencies-visually-michael-muller/ • 「Survey of Existing SBOM Formats and Standards - Version 2021」https://www.ntia.gov/files/ntia/publications/sbom_formats_survey-version-2021.pdf • 日経XTECH 2021年9月10日掲載 トヨタが推すサイバー対策の新常識「SBOM」、流出するリスクは? https://xtech.nikkei.com/atcl/nxt/column/18/00001/06002/ • ITmedia NEWS 2022年1月11日掲載 OSS「faker.js」と「colors.js」の開発者、自身でライブラリを意図的に改ざん 「ただ働きはもうしない」 https://www.itmedia.co.jp/news/articles/2201/11/news160.html • 経済産業省商務情報政策局サイバーセキュリティ課「OSSの利活用及びそのセキュリティ確保に向けた管理手法に関する事例集」 https://www.meti.go.jp/press/2021/04/20210421001/20210421001-1.pdf • 「Best practices for introducing JFrog Xray into your DevSecOps process」 https://media.jfrog.com/wp-content/uploads/2021/04/07164155/Best-practices-for-introducing-JFrog-Xray-into-your-DevSecOps-process.pdf • 2022年4月7日 GitHub Blog 「Achieving SLSA 3 Compliance with GitHub Actions and Sigstore for Go modules」 https://www.enisa.europa.eu/publications/threat-landscape-for-supply-chain-attacks • 「Threat Landscape for Supply Chain Attacks」https://github.blog/2020-09-02-secure-your-software-supply-chain-and-protect-against-supply-chain-threats-github-blog/ • 2022年4月7日 GitHub Blog 「Achieving SLSA 3 Compliance with GitHub Actions and Sigstore for Go modules」https://github.blog/2022-04-07-slsa-3-compliance-with-github-actions • The United States Department of Commerce 「 The Minimum Elements For a Software Bill of Materials (SBOM) 」 https://www.ntia.doc.gov/files/ntia/publications/sbom_minimum_elements_report.pdf • 2021年6月16日 Google Security Blog 「Introducing SLSA, an End-to-End Framework for Supply Chain Integrity」 https://security.googleblog.com/2021/06/introducing-slsa-end-to-end-framework.html