コンテンツにスキップ

イラスト提供: iStock

カジノサイト

SBOM はソフトウェア サプライ チェーンを救うことができますか?

今日のソフトウェア環境における大きな問題は、使用しているソフトウェアが何なのか、どこから来たのか、誰が作成したのかを把握することです。ソフトウェア サプライ チェーンは、多くの点で、ほとんどの物理的なサプライ チェーンと似ています。

サラダを例にとってみましょう。 ディナーサラダが食卓に並ぶまでには、いくつかのステップがあります。栽培、収穫、洗浄、出荷、在庫、購入、そして調理されなければなりません。ソフトウェアも同様です。アプリをダウンロードする前に、ソフトウェア開発者はそのコードを設計、作成、テスト、デバッグ、lint、ビルドして出荷する必要があります。このプロセスの各ステップは、多くの場合、本質的に未知の数の他のソフトウェア開発者によって作成された、本質的に未知の数の他のソフトウェア コンポーネント (オープン ソースの場合が多い) に依存しています。しかし、類似点はここで終わります。サラダを食べる人のほとんどは、製品のロット番号を使用して汚染されたレタスを発生源まで追跡することができますが、セキュリティ上の欠陥のあるソフトウェアで同じ手順を実行することは、現実というよりも願望です。 


明日の SBOM の約束と今日の SBOM の現実の間には大きな違いがあります。


評判の高い場所に入る、SBOM としてよく知られている、ソフトウェアに含まれる成分のリストです。これは、ソフトウェア内のパッケージまたはファイルのマニフェストを含むドキュメント (多くの場合、JavaScript Object Notation、JSON、ファイル) です。たとえば、SBOM にはソフトウェア パッケージごとに、パッケージの名前、バージョン、ライセンスなどの情報がリストされます。 

SBOM は、他のソフトウェア サプライ チェーンのセキュリティ概念やテクノロジーよりも、ソフトウェアの透明性に関心のあるソフトウェア作成者や消費者の注目を集めています。 SBOM の核心は、ソフトウェアの内容に関する情報を提供することで、より迅速な脆弱性への対応を約束することです。一部の業界団体は現在、SBOM の導入を推進しています。。残念ながら、明日の SBOM の約束と今日の SBOM の現実の間には大きな違いがあります。

今日の SBOM の状況

理論上、テクノロジー ベンダーは SBOM を生成し、脆弱性管理、オープンソース ソフトウェア ライセンスの遵守、購入決定などの目的で SBOM を使用するソフトウェア消費者または購入者に提供します。

最近の SBOM の誇大宣伝は主に米国重要なソフトウェアに SBOM を提供するベンダーおよび政府請負業者に対する連邦政府の要件。ただし、今日の SBOM の品質と、組織がそれを利用して分析できる能力については、あまり話題になっていません。

サイバー安全審査委員会の最初の、 を扱いましたLog4Shell の脆弱性オープンソースに関連するJava コンポーネント Log4j、分析では、すでに SBOM を使用している組織であっても、脆弱な Log4j 導入を見つけるために SBOM を使用している組織の例は見つかりませんでした。



CRSB レポートは、フィールド説明の差異などの不正な入力データや、カタログ化されたソフトウェア コンポーネントのバージョン情報の欠如など、SBOM ツールと実践における現在の欠陥が、Log4j 修復中に具体的な支援が欠けていることを説明している可能性があると指摘しています。

さらに、報告書では「SBOM 標準化のギャップに対処することで、ソフトウェア サプライ チェーンの脆弱性へのより迅速な対応がサポートされるだろう」とも述べられています。 CRSB のこの分析を念頭に置くと、支持者はさらなる努力により SBOM データとツールが可能な限り改善されると考えます。ただし、SBOM に懐疑的な人は、このエピソードを SBOM の固有の制限の検証とみなすでしょう。

脆弱性の発見は、SBOM の特効薬の使用例としてよくもてはやされますが、控えめに言っても、この発見は落胆するものでした。

しかし、良いニュースは、一部の組織は少なくともSBOM の使用 — SBOM がほとんど議論されていなかった数年前の業界の状況から、正しい方向への一歩です。 CRSB のレポートでは、多くの SBOM のギャップが明らかになり、特に「フィールドの説明の差異と、カタログ化されたコンポーネントに関するバージョン情報の欠如、およびこれらの差異による消費側での自動化の欠如」によって、そのギャップは制限されていると結論付けています。

私の会社オープンソース ソフトウェアの SBOM 品質を検証し、CRSB の Log4j レポートと同様の結論に達しました。私たちの調査では、一部のオープンソース プロジェクトの SBOM は品質が低く、パッケージ ライセンスの詳細やパッケージのバージョン履歴などの重要な情報が欠如していることがわかりました。さらに、私たちがレビューした SBOM はどれも、国家電気通信情報局 (NTIA) の標準に準拠していませんでした。フレームワーク。

繰り返しになりますが、悪いニュースばかりではありません。分析の結果、一部のオープンソース プロジェクトには、特にパッケージ ID、パッケージ バージョン、ライセンスなどの有用な情報を含む高品質の SBOM が含まれていることも判明しました。 当社の SBOM 品質調査では、—aプロジェクト - 分析された SBOM の中で最も高い SBOM 品質スコアを持ちました。その SBOM は次のように生成されます。ライセンス検証、発行元、バージョンなどの高品質の SBOM 情報をフォーマットし、含む

問題をさらに複雑にしているのは、SBOM の品質が、関与する SBOM 作成ツールだけでなく、分析されるソフトウェア コンポーネントにも依存するという新たな証拠が出てきていることです。一部のソフトウェア アーティファクトには、パッケージ マネージャーのメタデータ (SBOM 作成ツールに供給され、正確な SBOM が得られるデータ) によって追跡されないファイルが含まれています。これらの追跡されていないファイル、いわゆるSBOM を通じてより深いソフトウェアの透明性を求めている業界の多くの人々の仕事を複雑にしています。

明日の SBOM の約束を達成する

SBOM が品質を強化し、組織が将来の連邦ソフトウェア要件を満たせるようにし、ひいてはソフトウェア サプライ チェーンをデフォルトで安全なものにするために、4 つの重要な要素が必要です。

  • まず、SBOM は完全性を追求する必要があります。つまり、SBOM は事後ではなく、ソフトウェアのビルド時に作成される必要があります。私たちは高品質の SBOM を作成する必要があります。リバース エンジニアリング手法によって完成したソフトウェア製品から SBOM を信頼性の低い方法で復元するのではなく、できればソースから SBOM を自動的に生成するビルド ツールを使用して作成する必要があります。

  • 第二に、SBOM がソフトウェア エコシステム内の多くの関係者の目標に確実に応えるためには、SBOM には最低限の標準が必要です。これは使用目的によって異なる可能性があります。

  • 第三に、SBOM はソフトウェア署名スキーマを使用する必要があります。ソフトウェアの SBOM を信頼するには、デジタル署名メカニズムを使用して、SBOM が主張どおりのものであり、信頼できるソースからのものであることを検証する必要があります。オープンソース プロジェクトSBOM の署名に使用できるデジタル署名方法の一例です。

  • 第 4 に、SBOM を有用なものにするという課題を簡素化するために、組織は、実際に運用されているソフトウェアに関して、本当に重要な SBOM の収集に重点を置く必要があります。

これらの重要な要素を使用して SBOM を生成することで、SBOM が真に有用であり、その約束を果たす段階に向けて動き始めることができます。 

SBOM の量ではなく質の向上

消費者が汚染されたレタスと同じように汚染されたソフトウェアを確実に回避できるようにするために、ソフトウェアをサラダに喩えることを完全に適用したいと考えている読者にとって、ソフトウェアの透明性を高めるツールとしての SBOM に対するこれほどの興奮を見ることは期待できます。しかし、ただどこでも SBOM を作るのではなく、上で概説した主要な成分を使用して SBOM が高品質であることを保証するよう努めるべきです。

Dan Lorenc は、ソフトウェア サプライ チェーン セキュリティの大手企業である Chainguard の共同創設者兼 CEO です。 Lorenc は、2015 年からエンジニア兼マネージャーとしてコンテナーに取り組み、コンテナについて心配してきました。彼は次のようなプロジェクトを開始しました, 、そしてコンテナを簡単で楽しいものにします。その過程で、彼はオープンソース ソフトウェアのサプライ チェーンの状態に懸念を抱くようになり、キム レヴァンドフスキーらと提携して、, そしてコンテナの安全な構築と使用を容易にするプロジェクト。

arrow_upward