matsumokei / System_article

0 stars 0 forks source link

A Viewpoint on Knowing Software Bill of Materials Quality When You See It #13

Open matsumokei opened 6 months ago

matsumokei commented 6 months ago
matsumokei commented 6 months ago

解析ではまず、NTIA適合性チェックツール(バージョン0.2.1)を使用して、bom-shelter(コミットcfa2d04でチェックアウト)のSBOMがNTIAの最小要素に適合しているかどうかを調べた。表 1 に、データ要素別、全 SBOM および SBOM 生成ツール別の調査結果を示す。分析したSBOMの約1%がNTIAの最小要素要件に完全に適合していた。完全に準拠したSBOMを詳細に調べると、これらのSBOMはコーナーケースであることが示唆される。すなわち、これらのSBOMには構成要素が含まれておらず、したがってNTIA適合性チェックツールは、「すべての」(ゼロと読む)構成要素に必要な情報が含まれていることから、これらのSBOMを準拠したものとみなした。SBOMの品質に関しては、見た目以上のものがあることは明らかである。それにもかかわらず、表1は、ほとんどのツールがほとんどのSBOMについてほとんどのデータ要素を100%カバーしていることを示唆している。もちろん、この分析では、基礎となるソフトウェア成果物に実際に含まれているパッケージが省略されたとしても、これらの SBOM ツールのいずれにもペナルティは課さない。上記のパーセンテージは、各ツールが実際に検出したパッケージについて、期待されるデータが存在するかどうかを示しているに過ぎない。サプライヤフィールドだけが、前述の同じ「コーナーケース」ロジックに悩まされており、完全に欠落している。サプライヤーデータの欠如は、おそらく、フリーでオープンソースのソフトウェアパッケージのコンテキストにおいて、「サプライヤー」が誰なのか、あるいは何なのかを正確に突き止めることに関連する概念的な難しさに起因していると考えられます。ツール作成者は、この質問をかわすことを好み、それ故に空の "サプライヤ "データがある。次の分析では、上記と同じバージョンの bom-shelter 上で SBOM Scorecard ツール(バージョン 0.0.6)を使用した。表2は、全体的な結果と、各ツールに関連するSBOMの結果を示している。表2は、使用したSBOM生成ツールと調査した特定の指標によって、SBOMの品質に関する知見が異なる可能性があることを示唆している。例えば、ライセンスを持つパッケージ(「コンポーネント」)の割合は、分析者がどのSBOM生成ツールを調べるかによって、0%から58%まで変化する。パッケージIDとパッケージのバージョンについても同様のことが言える。要するに、SBOMの品質には大きなばらつきがある。分析はまた、間接的ではあるが、SBOMが基礎となるソフトウェア成果物に見られるすべてのコンポーネントを正確に記録しているかどうかという疑問にも取り組んだ。ボムシェルターSBOMの基礎となるソフトウェアアーティファクトに含まれるパッケージの数に関するグランドトゥルースは存在しないが、研究者は2つのツール間で報告されたパッケージ数の違いを調べることができる。図 1 は、両ツールが完了まで実行されたすべてのボムシェルター SBOM について、パッケージ数の差(Trivy から Syft を引いたもの)を正規化した対数スケールでプロットしたものである。このサンプルの約16%は、SyftとTrivyのパッケージ差分が10パッケージより大きい画像で構成されている。Syftが生成したSBOMは、Trivyが生成したSBOMよりも多くのパッケージを含むことが多い。この「品質」情報は、単に SBOM を見ただけでは理解することができない。この知見は、ソフトウェア構成分析ツール間の顕著な不一致に関する最近の研究と一致している。11 「見れば SBOM の品質がわかる」を超えて これまでの分析は、ソフトウェア品質測定がソフトウェア工学の分野の中心であるのと同様に、SBOM 品質測定もソフトウェアサプライチェーンセキュリティの中心になるべきであるという信念に基づいている。したがって、研究者、ひいては実務者は、何が優れたSBOMで何がそうでないかを評価するための原則的なメカニズムを必要とすることになる。もちろん、ソフトウェア品質評価指標は何十年も前から開発されており、比較的成熟しているが、SBOM が普及するにつれて、SBOM の品質を判断する理論、技法、およびツールを開発するための同様の動きが出てくる可能性がある。ソフトウエアの品質とSBOMの品質の間には、実際、拡張可能性がある。ソフトウェア品質研究に倣って、経験的知識を活用し、「高品質」SBOMの基礎的特性を区別することによって、SBOMの品質を分析する時期に来ているのかもしれない。このような取り組みは、何よりもまず、安全なソフトウェアサプライチェーンという目標を達成するために、SBOM がどのような特性を持つべきかをより明確にすることができる。第二に、経験的なソフトウェア工学研究のアプローチを借りることで、当事者は新しいツールを使ってこれらの特性を正しく測定することができる。おそらく最も重要なことは、SBOM の品質測定は、「データフィールド」の完全性を超えて拡張されなければならないことである。SBOMの研究者は、品質の他の重要な次元を検出するために、「SBOMカバレッジ」(すなわち、私のSBOMによって私の成果物のどれだけの要素が追跡されているか)、および「ダークファイル」(すなわち、私の成果物によって記述されたどれだけのファイルがSBOM測定ツールによって追跡可能でないか)のような概念も必要となる12。SBOMの支持者は、ホルヘ・ルイス・ボルヘスが述べた心理学の犠牲になっている: 「何ページ書いたかを他人に自慢させればいい。我々の目的では、"s/pages/SBOMs "である。公開されているSBOMがあまりにも少なく、研究に適していないSBOMを研究するのは難しい。多くのSBOMデータセットが必要な時期に来ている。それまでは、ソフトウェア実務者は、SBOMの品質がまだ見る人の目にさえ映っていないという事実に満足しなければならないだろう。それはほとんど観察されていないだけなのである。

matsumokei commented 5 months ago

何をしたか?

このPDFファイルでは、ソフトウェアサプライチェーンセキュリティの重要性について説明し、ソフトウェアの材料費(SBOM)がどのようにサプライチェーンセキュリティを向上させることができるかについて説明しています。具体的には、SBOMの品質を測定するためのメカニズムの開発や、SBOMの品質を測定するためのツールの開発について説明しています。また、SBOMの普及に関する課題や、SBOMの品質を測定するための標準的なデータセットの不足についても言及しています。

なぜこの研究がやったのか?なぜ必要か?

この研究が行われた背景には、ソフトウェアサプライチェーンセキュリティの向上があります。ソフトウェアサプライチェーンセキュリティは、ソフトウェア開発において使用されるコンポーネントのセキュリティに関する問題に対処するために重要な問題となっています。SBOMは、ソフトウェアサプライチェーンセキュリティを向上させるための重要なツールの1つであり、SBOMを使用することで、ソフトウェア開発に使用されるコンポーネントのセキュリティに関する情報を共有することができます。

しかし、SBOMの品質測定に関する研究はまだ不十分であり、SBOMの品質測定に関する適切なメカニズムが必要であると考えられています。この研究は、SBOMの品質測定に関する洞察を提供することで、SBOMの品質測定に関する新しい手法や技術の開発につながることを目的としています。SBOMの品質測定が改善されることで、ソフトウェアサプライチェーンセキュリティが向上し、ソフトウェア開発に使用されるコンポーネントのセキュリティに関する問題に対処することができるようになると期待されています。

先行研究と比較して何がすごいのか?

このPDFファイルの論文は、SBOMの品質を測定するためのツールやデータセットの開発に焦点を当てており、SBOMの品質測定に関する先行研究と比べて以下の点が特筆されます:

  1. 新しいSBOM品質測定ツールの紹介: この論文では、NTIA Conformance CheckerやSBOM Scorecardなどの新しいSBOM品質測定ツールの紹介が行われています。これらのツールは、SBOMが特定のデータフィールドを含んでいるかどうかをチェックするだけでなく、SBOMが実際のソフトウェアアーティファクトのすべてのコンポーネントを正確に記録しているかどうかを検証する点で先進的です。

  2. 新しいSBOMデータセットの提供: この論文では、bom-shelterという新しいSBOMデータセットの提供が行われています。このデータセットには、4つの人気のあるSBOM生成ツールを使用して1,000の人気のあるDocker Hubコンテナイメージに適用された3,000以上のSPDX SBOMが含まれており、SBOMの品質測定に使用できる貴重なリソースとなっています。

  3. 未解決の課題への取り組み: この論文では、SBOMの品質測定に関連する未解決の課題にも焦点を当てており、SBOMの普及に伴い、SBOMの品質を測定するための理論、技術、ツールの開発が進む可能性についても言及しています。

これらの点から、この論文はSBOMの品質測定に関する先行研究と比べて、新しいツールやデータセットの提供、未解決の課題への取り組みなどで優れていると言えます。

技術や手法の重要なポイントは?

このPDFファイルの論文において、SBOMの品質を測定するための技術や手法の重要な点は以下の通りです:

  1. NTIA Conformance Checker: このツールは、SBOMがNTIAの最小要素を含んでいるかどうかをチェックすることができます。これには、各コンポーネントに名前、バージョン、一意の識別子、およびサプライヤー名が含まれます。このツールは、SPDX形式のSBOMにのみ対応しています。

  2. SBOM Scorecard: このツールは、SBOMがその仕様に準拠しているかどうか、SBOMを作成したツールに関する情報が含まれているかどうか、および各コンポーネントがバージョン、ID(パッケージURLなど)、およびライセンス情報を含んでいるかどうかをチェックすることができます。

  3. bom-shelterデータセット: このデータセットには、4つの人気のあるSBOM生成ツールを使用して1,000の人気のあるDocker Hubコンテナイメージに適用された3,000以上のSPDX SBOMが含まれています。このデータセットは、SBOMの品質測定に使用できる貴重なリソースとなっています。

  4. Empirical analysis: この論文では、2つのオープンソースSBOM品質測定ツールと新しい公開されたSBOMデータセットを使用して、3つの予備的な実証分析が行われています。これらの分析により、SBOMの品質に関する洞察が得られ、SBOMの品質測定に関する新しい手法や技術の開発につながる可能性があります。

これらの技術や手法は、SBOMの品質測定において重要な役割を果たしており、SBOMの品質測定に関する研究や実践に役立つことが期待されています。

どうやって検証を行った?

このPDFファイルの論文では、SBOMの品質を測定するために、以下のような手法やツールを使用して検証が行われています:

  1. NTIA Conformance Checker: このツールを使用して、bom-shelterデータセットに含まれる3,000以上のSPDX SBOMが、NTIAの最小要素を含んでいるかどうかをチェックしました。

  2. SBOM Scorecard: このツールを使用して、bom-shelterデータセットに含まれるSBOMが、SBOM Scorecardの仕様に準拠しているかどうかをチェックしました。

  3. Empirical analysis: この論文では、2つのオープンソースSBOM品質測定ツール(NTIA Conformance CheckerとSBOM Scorecard)を使用して、bom-shelterデータセットに含まれるSBOMの品質を測定しました。また、同じソフトウェアアーティファクトに対して異なるSBOM生成ツールを使用した場合のSBOMの品質の違いを調べるために、TrivyとSyftという2つのSBOM生成ツールを使用して、bom-shelterデータセットに含まれるコンテナイメージのSBOMを生成し、SBOMのコンポーネント数の違いを比較しました。

これらの手法やツールを使用して、SBOMの品質に関する洞察が得られ、SBOMの品質測定に関する新しい手法や技術の開発につながる可能性があります。

議論や考察は?

このPDFファイルの論文では、SBOMの品質測定に関する議論がいくつか提示されています。具体的には以下のような議論が含まれています:

  1. SBOMの品質測定の重要性: 論文では、SBOMの品質測定がソフトウェアサプライチェーンセキュリティにおいて重要であるという議論が提示されています。SBOMの品質測定がセキュリティ向上に貢献するためには、SBOMの品質を測定するための適切なメカニズムが必要であると述べられています。

  2. SBOM品質測定の未解決の問題: 論文では、SBOM品質測定の未解決の問題についても議論されています。例えば、SBOMが正確にすべてのコンポーネントを記録しているかどうか、SBOMのカバレッジ(SBOMがどれだけの要素をカバーしているか)などが議論されています。

  3. SBOM品質測定の将来的なアプローチ: 論文では、SBOM品質測定の将来的なアプローチについても議論されています。具体的には、ソフトウェア品質研究からのアプローチを借りて、SBOMの品質を測定するための理論、技術、ツールの開発が必要であると述べられています。

これらの議論は、SBOMの品質測定に関する理解を深めるとともに、将来的な研究や実践に向けた示唆を提供しています。

次に読むべき論文は?

SBOMに関するさらに詳しい情報を知りたい場合、以下の論文を読むことをお勧めします。

  1. "Software Bill of Materials: Definition and Best Practices" (NTIA report, 2021): この報告書は、SBOMの定義、SBOMの利用方法、SBOMの品質測定に関するベストプラクティスなどについて詳しく説明しています。

  2. "An empirical study on software bill of materials: Where we stand and the road ahead" (Xia et al., 2023): この論文は、SBOMの品質測定に関する実証的な研究を行い、SBOMの品質測定に関する洞察を提供しています。

  3. "Software Supply Chain Security: A Research Roadmap" (Torres-Arias et al., 2021): この論文は、ソフトウェアサプライチェーンセキュリティに関する研究のロードマップを提供しており、SBOMの品質測定に関する研究の方向性についても言及しています。

これらの論文は、SBOMに関する理解を深めるために役立つ情報を提供しています。

matsumokei commented 5 months ago

データの細かい結果は?

この研究では、bom-shelterと呼ばれるSBOMデータセットを使用して、SBOMの品質測定に関する実証的な分析を行いました。以下は、bom-shelterデータセットの解析結果の概要です。

これらの結果は、SBOMの品質測定に関する洞察を提供し、SBOMの品質測定に関する新しい手法や技術の開発につながることを目的としています。