2022年3月11日
DevOps
SBOMの概念は製造業から取り入れられ、目的も同じです。使われている部品を追跡することです。詳しく見ていきましょう。
ソフトウェア開発者は、オープンソースソフトウェアやサードパーティーコンポーネントに依存することがよくあります。セキュリティーを確保するために、企業はそれぞれのコンポーネントを注意深く追跡・管理しなければなりません。ソフトウェアエンジニアがこれらのコンポーネントを監視するために使用するのが、ソフトウェア部品表(Software Bill of Materials: SBOM)です。これは、あらゆるソフトウェアに存在する全ての項目と依存関係を含む、機械可読のリストです。
SBOMがなぜ重要なのか、また、組織のソフトウェア開発と保守を改善するためにSBOMをどのように利用できるのかを知るために読み進めてください。
ソフトウェア部品表という言葉は、BOM (Bill of Materials)という言葉に由来しています。BOMは、製造業では当たり前の用語です。BOMは、電子機器、テレビ、自動車、携帯電話などに含まれるコン ポーネント、パーツ、原材料を追跡します。BOMがあれば、メーカーは綿密な計画を立て、組み立てラインで何が必要かを把握することができます。
自動車の組み立てを開始する前に、自動車メーカーは以下を管理するためにBOMが必要です。
もしあなたの携帯電話が発火したら(本当に起こることです)、あなたはおそらく販売店に持ち込み、その出来事を報告するでしょう(もちろん、TikTokを作成した後で)。もし他の人が同様の問題に直面したら、その人も同じく販売店に向かうでしょう。店舗でもいずれはパターンに気づくでしょう。携帯電話の発火は大きな問題です。彼らは根本的な原因を特定しようと、その携帯電話を作るために使用された部品のリストを見るでしょう。そして、発火の原因となった不良部品を探し、最終的にはその部品を含む全ての電話機に対してリコールの 警告を発します。
つまり、BOMは問題解決を迅速化し、安全性とパフォーマンスを向上させるのです。
今日、ほとんどのソフトウェアには、プロプライエタリーかオープンソースかを問わず、数多くのサードパーティーソフトウェアが含まれています。この部品リストは膨大かつ複雑であるため、使用されている全てのソフトウェアのリストと、それらがどこにあるかというリンク(URL)を作成することが不可欠です。そうしないと、実際に使用している全てのソフトウェアを追跡するのが面倒になります。これでは、ソフトウェアが古くなったり、安全でなくなったりする可能性があります。
ソフトウェアBOM(SBOM)とは、ソフトウェアに特化して適用されるメタデータのリストです。含まれる情報は次のとおりです。
これは、作成者と消費者の両方のリスクを減らすのに役立ちます。SBOMは、ソフトウェアに何が含まれているかを他の人が理解し、それに応じて計画するための、全ての詳細を記載した正式なリストです。
SBOMは、ソフトウェア業界では新しいものではありません。しかし、私たちが日常生活でより多くのソフトウェアに頼るようになるにつれ、その重要性が増してきています。最近では、多くの産業で標準となっています。
これまで以上にSBOMは、リスクを軽減しサイバーセキュリティーのベストプラクティスに従うことに関心を持つ全ての企業に利益をもたらすことができます。SBOMは、ソフトウェアコンポーネントや脆弱性に関する情報共有を効率化するのに役立ちます。SBOMの主な利点は次のとおりです。
SBOMは、ソフトウェア管理をより効率化します。開発者が何百万行ものコードを手作業で調べて脆弱性を発見し対処することは非常に面倒であり、リソースを大量に消費します。さらに、ソフトウェアの複雑さが増すにつれて、その労力も大きくなります。SBOMは、このような複雑さを効率的に管理し、コストも削減す るためのフレームワークの1つです。
部品やバージョンのリストを1箇所にまとめることで、SBOMは大幅な時間短縮を実現し、予定外の作業や非定期的な作業を減らします。また、これを自動化することで、コストを低く抑え、生産性を高く保つことができます。
組織がソフトウェアツールに投資する際、SBOMは、顧客に総所有コストと使用状況に関する明確な洞察を提供します。
ソフトウェアを作成する企業はSBOMを使用することで既知の脆弱性を回避したり、製品に展開される前に脆弱性を発見して排除したりすることができます。最終的にSBOMは、作成者と開発者がセキュリティー脆弱性をより迅速に発見し、解決することを支援します。
組織が新しいソフトウェアを購入する場合、SBOMがあればデューデリジェンスが容易になり、より迅速に特定と解決ができるようになります。
現代のソフトウェアをサプライチェーンに見立てて考えるのは有益です。サプライチェーンとは、簡単に言えば、最終製品を顧客に流通させるための企業と供給品の間のつながりのことです。諺にあるように、チェーンの強さはその輪の一番弱いところに左右されます。そして、ほとんどの物理的な部品とは異なり、ソフトウェアのコンポーネントは常に変化しています。銀行やヘルスケアのような規制の厳しい環境では、ソフトウェアの脆弱性が発見されないままだと高額な違反が発生する可能性があります。
SBOMは未発見の脆弱性を防ぐことはできませんが、プロセスの早い段階で問題を表面化させることは可能です。脆弱性がソフトウェアに混入する可能性を低減します。さらに、ソフトウェアの全体的な品質を向上させることにも役立ちます。
ソフトウェア監査や規制遵守基準のための記録保持も、SBOMで改善で きます。容易に入手できる全てのオープンソースソフトウェアが意味するところは、企業にとってはライセンス競合やコンプライアンス問題を未然に防ぐために特に注意が必要ということです。ソフトウェア要件への準拠を怠ると、時には訴訟に発展したり、企業の評判に傷をつけたりすることもあります。
SBOMはデューデリジェンスを容易にし、問題が早期に発見できるようになることで、プロセスをより合理化できます。さらに、ライセンス異議申し立てに対して、より効率的で正確な対応を取れるようになります。
ソフトウェア開発のワークフローに最新のSBOMを組み込むことは、たやすいことのようです。他の産業が既に完成させているこのシンプルなツールは、リソースを解放し、パワフルなソフトウェアと素晴らしいユーザーエクスペリエンスを作り出します。
既にセキュリティーについて意識されているなんて嬉しいです。こちらの記事もお楽しみいただけるかもしれません。
SnykとHarnessでパイプラインの脆弱性を発見し修正する
この記事はHarness社のウェブサイトで公開されているものをDigital Stacksが日本語に訳したものです。無断複製を禁じます。原文はこちらです。