• コラム
  • SBOM
  • 編集チーム

SBOMに関する質問と回答まとめ(OSSマネジメントフォーラム2023 Day2)

公開日:2024年8月30日

更新日:2024年8月30日

先日開催された「OSSマネジメントフォーラム2023」にて、株式会社三菱総合研究所の篠原様にSBOM関連の内容についてご講演いただきました。また講演を終えた後には聴講者の皆様からの質問にもお答えいただきました。本ブログではその際にいただいた質問と、それに対する回答のサマリーを掲載します。核心に触れる質問を数多く頂戴しましたので、参考にしていただければ幸いです。

質問と回答

Q:「既知の未知」とはどのような運用でしょうか、脆弱性があるかもしれないということに対して、脆弱性の監視を行うということでしょうか。

A:
NTIAが出しているSBOMの最小要素にあった「Know UnKnown」という用語で「わからないことをわかっているのであればそれをきちんと明記する」と言う意味になります。脆弱性があるかもしれないというときに、あるかもしれないということをきちんとSBOMに記載しておくところが、最小要素として含まれています。対象は脆弱性だけではなくて、例えば依存関係がわからないところがもしわかっていれば、それは「既知の未知」として管理することがNTIAの文書でも推奨されているような形になっています。

Q:Microsoft社がGitHub上で提供しているSBOM生成作成ツールを使ったことがあります。このときにソフトウェアコンポーネントごとにUIDが振られていました。このUIDは全世界で共通の一意性を持っている値なのでしょうか。そのほかのSBOM作成ツールでも一意性があるUIDが用いられているのでしょうか。

A:
一意のIDが付与されてはいますが、それが全世界で共通化というのが悩ましいところで、かつ今年実証として取り組んでいる部分です。多くのSBOMツールはPURL(Package URL)で脆弱性のIDが付与されます。一方で米国のNVD(National Vulnerability Database)ですと、ほとんどCPEというIDが付与されており、そこの間のマッチングが取りづらい状況になっています。ID自体は共通の一意性を持っていますが、全世界でそれが広く使われているのかという状態にはまだ達していない状況というふうに考えています。

Q:NTIAの最小要件にあるデータフィールドの多くはどのようなデータが入るか大体イメージが湧くのですが、識別子というものだけが具体的なイメージが湧きません。識別子というのは、どのようなデータで誰が決めるのでしょうか。

A:
イメージはPURLに近いと思います。ただ、NTIAの最小要素ではそれにしなければならないとは書いていないので、誰が決めるかっていうとSBOMの作成者が決める形になります。最終的な脆弱性管理を考えるとそういったパッケージURL、CPEというようないわゆる脆弱性の部品IDを付与するのが良いと考えています。

Q:SBOMのレビュー手法としては、どのようなものをお考えでしょうか。

A:
人の目で見るというところしか現状はないと思っています。実証の中で明らかになったレビューのポイント・観点は、何点か手引の中にも書いています。どことどう比べることでそのレビューをおこなうか、というところも手引に書いています。

Q:ソースコードは構成管理ツールで管理していると思いますが、構成管理ツールからソースコードのリストを出力することで、コンポーネントを特定できませんか。

A:
構成管理ツールと連携している場合にはコンポーネント特定できSBOMも効率的に作れると考えています。一方で、例えば自動車業界だとソースコードの授受はなくバイナリファイルだけ送ってもらってSBOMを作るというケースもありますので、バイナリファイルに関する解析をおこなう必要性が出てくると考えています。言い換えると完全にその構成管理ツールだけでSBOMを作れる状況というのは、結構稀有な状況と考えられます。

Q:SBOMのフォーマットが複数あるとのことですが、統一化の動きはあるのでしょうか。

A:
個人的な意見を申し上げると統一化すべきと思いますが、統一化の動きは少ないと考えています。SBOMの発案者である米国のアランフリードマン博士という方からも、CycloneDXやSPDXがそれぞれのコミュニティで発達しているので競争や統一は民間に任せているというような意見もありました。なかなか政府として統一化に動き出すというのは難しいと考えています。

Q:BOMとしては、SBOM以外に、例えばMBOMですとかEBOMですとか、いろんなものが存在します。SBOMは件数や更新頻度などの面でほかのBOM以上に継続的な管理が難しい領域で、その解はまだ手探り状態と捉えています。SBOMの管理について、ほかのBOMとの管理の違いは何で、その管理の難しさは何で、それをいかに解決していくのか、各企業現場でいかに取り組んでおけばいいのかを、現時点でヒントをいただければ幸いです。

A:
例えばハードのBOMですと作って出荷したときの状態が表現され、更新されないものですが、SBOMはソフトウェアですのでアップデートしていくのが主流です。そうするとSBOMの内容も変わっていく必要があるので、ほかのBOMとは違いがあると思います。 SBOMだとソフトウェアが動的に変わるので、継続的にそのSBOMもアップデートしないといけないというところが一番大きいと考えています。手引の中でも、SBOMは作って終わりではなくて、それを作っていかに脆弱性管理をし、またSBOM自体をいかに管理していくかというところにもフォーカスを当てています。そのため、どう取り組んでいくべきかについては、脆弱性管理やライセンス管理という目的に対して、どうSBOMを作っていくかというところを意識する必要があると考えています。 実証で気づいた部分としては、方法論の面でいうとSBOMツールを使って管理していくことが非常に効率的です。手動で管理するのは非常に大変なので、ツールを使って管理をしていくことが一番最短の管理策になると現時点では考えています。

Q:SBOMのツール選定やルールの策定、現場運用への適用が結局技術者任せにされて「実業務のついで」のような取り組みにならないか危惧しています。SBOMの運用が軌道に乗るまでは専任者を設けるべきでしょうか?

A:
その企業の規模や対象のソフトウェアによって一概には言えないところではありますが、個人的にはその専任者を設けるまでは行き過ぎというか、コストがかかってしまうと考えています。脆弱性管理やライセンス管理を目的とした、一つのツールがSBOMと考えているので、あくまでその方法だという観点で言うと、可能な限りコストは低い方がいいと考えます。いかにツールを効率的に使っていくかを意識し、文書など既存のリソースを活用しつつ、PSIRTの中で管理していくなど、もう少し効率的なやり方があるのではないかと考えています。

Q:OSSのライセンス要求にある著作権者情報・ライセンス情報のソフトウェア頒布先への伝承とSBOM提供は別物と考えるべきか、SBOM提供でも状況を満足できると考えて良いのかで迷っています。手引書ではそのあたりに触れていますでしょうか。

A:
手引書の中でまだ触れられていないところです。ご指摘いただいた契約や著作権に関する重要性が高まっているので、契約におけるSBOMの取り扱いが契約形態によって変わってきたり、OSSであってもどう使うのかは変わってくるので、整理の必要性を経産省担当も議論しているというところです。

Q:SBOM適用範囲について、OSを介して呼び出すデバイスドライバやRPCで呼び出す外部システムなどのように間接的な依存関係がある場合、また、監視、計測のために組み込まれるプローブなどのように共存しているが機能的な依存関係がないようなものは、SBOMに含めるべきなのでしょうか?実証でなにか議論されたり、共通認識となっていれば教えていただけないでしょうか。

A:
SBOMでは、あるソフトウェアが別のソフトウェアコンポーネントを内包しているなど、ソフトウェアコンポーネントの依存関係を示すことを目的としており、外部システムを介した間接的な依存関係や機能的な依存関係は要求されません。

Q:SBOMの管理項目に推奨するハードウェアリソースも含めるべきなのでしょうか?

A:
SBOMの「最小要素」としては、ハードウェアリソースに関する要素は含まれていません。一方で、組織内でSBOMを活用するうえでは、利用するハードウェアリソースに関する管理を行うことが望ましいです。

Q:SBOM活用を円滑化するためのコンポーネント情報の整備についてはオープンソース開発コミュニティへの働きかけも必要では? ツールでのコンポーネント特定が失敗したり、結果レビュー工数が増えたりする多くは、コミュニティリリースがサードコンポーネントを断片化していたり、ライセンス違反ともいえる改変加工をしていることにも原因がある。ユーザー各社はこれまでもライセンスコンプライアンスやセキュリティのためオープンソースの内部構成や依存先を特定して配布利用してきており、延長上と考えている。サプライチェーン上の認識課題もSPDXなどで語られてきた。SBOMはカタログ情報を強力に進めるチャンスではあるとは考えています。

A:
ご認識のとおり、ソフトウェアのセキュリティ管理においては、オープンソースコミュニティへの働きかけが必要となります。米国では、政府機関のCISAがOSSのセキュリティに関するロードマップを発表し、OSSのセキュリティ支援におけるCISAの役割を明確化するほか、OSSコミュニティとの連携・働きかけについても示されています。

Q:無償ツール(trivyなど)を用いてSBOM作成をする検証を進めておりますが、サプライヤー名などが明らかにできなく、どこまで完璧に精査すべきか"NOASSERSION"にしておくか落としどころに困っています。実際にSBOMを作成されている企業の方々はどのように運用されているのでしょうか。有償ツールであればある程度精度が高かったり、SBOM運用をしっかりされている企業様であればそもそもOSS管理を厳密に行っているので困ることはあまりないのでしょうか。 私は現在EUのサイバーレジリエンス法対応のためにSBOMを導入するという背景の基、SBOM導入の検討を進めております。 まずは無償ツールを用いてSBOMを作成し、人手で情報を補完するよう考えております。しかし、情報補完の精度は人に依存するとも考えております。 例えばサプライヤー名であればどこを参照すればよいかコツを知らない人では工数が膨大になると思われるため、運用を考えると導入が難しいと難色を示されて障壁となっております。

A:
実証においても同様の課題に直面し、有償ツールであっても、誤検知・検出漏れに対する人手での情報補完が必要となります。どのようなツールを用いる場合でも、完璧に精査することは難しく、誤検知や検出漏れが無いことを保証することは困難かと考えております。そのため、正確性の度合いと対応工数とのトレードオフを踏まえた精査が必要になると考えています。

Q:産業向け機械メーカー関係者です。EUサイバーレジリエンス法ではSBOM入手が必須となりますが、例えばWindowsなど調達ソフトウェアでSBOMを入手することは契約次第で可能しょうか?

A:
外部から調達するソフトウェアのSBOMについて、契約次第で、入手可能となるケースが今後想定されます。

Q:SBOMフォーマットの違いについてご説明いただきましたが、SBOMツールによって対応するフォーマットに違いはあるのでしょうか? それとも、大抵のツールでは各フォーマットから任意に選択できるような仕組みになっているのでしょうか?

A:
多くの有償SBOMツールは、いずれのフォーマットにも対応しています。一方で、無償のSBOMツールでは、SPDXのみ・CycloneDXのみのように、特定のフォーマットのみに対応したツールも存在します。

Q:ご説明頂いたSBOM導入時の注意すべき点などですが、チェックリストなどでまとまったものはありますでしょうか?

A:
経済産業省の手引において、SBOM導入に向けたチェックリスト(Excelファイル)を付けておりますので、ご確認ください。

https://www.meti.go.jp/press/2023/07/20230728004/20230728004.html

Q:現状、SBOMフォーマットが同じであれば、市販のSBOMツール(SCA)で、複数のSBOMをマージしたり、編集することは可能でしょうか? SBOM出力はできても、ツールが異なると正常に読み込めないこともあるのではないでしょうか。

A:
SBOMファイルをインポートできるツールはいくつか存在しますが、ツールによってはインポート機能が無い場合もあります。また、ツールによってインポートできるSBOM形式やフォーマットに制約がある場合もあります。

Q:先んじているアメリカでのSBOMの利用効果は目立ったところでどのようなものがあるかご紹介いただけますでしょうか。共有の効果を知りたいところです。

A:
Linux Foundationが実施した調査では、SBOM導入のメリットとして、「コンプライアンスおよび報告要件をよりよくサポートするコンポーネントに関する情報の提供」、「より多くの情報に基づいたリスクに基づく意思決定を可能にする情報の提供」、「脆弱性のタイムリーな認識」などのさまざまなメリットが挙げられており、SBOM導入によってソフトウェアの透明性が向上することが大きな利用効果であると言えます。

https://www.linuxfoundation.jp/wp-content/uploads/2022/05/LFResearch_SBOM_Report-ja.pdf

Q:背景として脆弱性管理を目的としてSBOM活用に注目が集まっている状況ですが、現状SBOMを保有する企業では脆弱性管理するためだけにSBOMを作っている会社が多いのでしょうか。そのほか活用の目的も検討している会社がいればユースケースイメージを伺いたいです。

A:
ライセンス管理においてSBOMを導入する企業も存在します。また、開発生産性向上の観点で、効率的にコンポーネントに関する問題を特定するためにSBOMを導入する企業も存在します。

Q:SBOMツール利活用することで脆弱性管理以外で セキュリティ運用で効率化、品質強化につながったユースケース、削減できた工数の低減率、などがあれば、お聞かせいただけますと幸いです。

A:
ツールの習熟や環境整備で追加工数を要するものの、それ以外の点については、SBOMツールを利活用することで、手動での管理と比較して工数が低減するため、SBOM導入に係るプロセス全体において、SBOMツールを利活用することで効率化に繋がることが実証にて確認できました。

Q:SBOMのレビューが必要ということでしたので、作成されたSBOMを目視でチェックする必要があるかと思います。実際のSBOMの解説をしている手引き、サイトなどありますでしょうか? ネットなどであまり見かけたことがないので、教えていただけると幸いです。

A:
経済産業省の手引では、サンプルソフトウェアに対して、SPDX、CycloneDX、SWIDタグ、SPDX-LiteのフォーマットでのSBOM例を示しています。ほかにも、例えばOWASPはCycloneDXに基づくSBOMの例をGitHub上で公開しています。

https://github.com/CycloneDX/bom-examples

編集チーム

お知らせや事例などの記事をブログに掲載します。

この作者の記事をみる

雑誌の執筆やインタビューの依頼をお受けしております。ご希望の方はお問い合わせからご連絡ください。

関連記事

タグ一覧

新着記事

ソフトウェア部品管理ソリューション コンテンツ一覧

関連商品・キーワード

最近見た商品一覧