昨今、DevOpsを実践していく上で「ソフトウェアサプライチェーン」「SBOM」というキーワードをよく耳にするようになった。ソフトウェアサプライチェーンは、ソフトウェアの開発からデプロイ、運用、保守までの一連のプロセスを指しているSBOMとは、「Software Bill Of Materials」の頭文字をとった言葉でソフトウェアの部品表を指している。DevOpsにおけるソフトウェアサプライチェーンやSBOMの重要ポイントは何かについて解説する。
ソフトウェアサプライチェーンは、開発・デプロイ・運用・保守までの一連のプロセスを指し、コード・ツール・ライブラリ・インフラストラクチャ・テスト・セキュリティといった要素が含まれる。ソフトウェアの品質や信頼性に影響を与えるため、サプライチェーンの適切な管理や保護が求められる。
ソフトウェアサプライチェーン
ソフトウェアサプライチェーンに脆弱性が存在すると、悪意のあるコードが埋め込まれる可能性やソフトウェアの改ざんリスクにつながる。そのため、ソフトウェアサプライチェーンのセキュリティを確保することは、ソフトウェアのセキュリティを向上させるために重要なのである。
ソフトウェアサプライチェーンの各要素をDevOpsでは統合的に管理し、コラボレーションや可視化を促進することで、効率性やセキュリティを高めることができる。また、ソフトウェアサプライチェーンに関わる開発者・テスター・運用者やベンダーなどのさまざまな関係者が協力して取り組むことが重要である。
DevOpsとソフトウェアサプライチェーンの両方を強化することで、ビジネス価値を提供するような高品質なソフトウェアを提供できるようになる。このような点から、DevOpsとソフトウェアサプライチェーンは密接に関係しているのである。
次に、SBOMを理解するためにはOSS(オープンソースソフウェア)の利用状況を振り返る必要がある。
ソフトウェア開発では、さまざまなOSSを使用して開発することが一般的となっている。OSSを使用した開発は2015年頃では約35%と言われていたが、現在は70~90%といわれている。OSSを活用して開発することが当たり前となり、OSSの活用によって開発の効率化や生産コストの削減を実現している。
しかし、OSSの使用によってもたらされるメリットがある反面、開発で多用されることによって、OSSライセンス違反といったコンプライアンス問題やOSS脆弱性やセキュリティリスクを抱える状態になっている。
こういった問題に対処する方法が、「SBOM(ソフトウェアの部品表)」である。SBOMはソフトウェアの部品表なので、ソフトウェアに含まれるOSS・コンポーネントなどの出所やライセンス・バージョン情報・セキュリティ属性といった関連情報を管理する。SBOMの活用によって、ソフトウェアに使用されている各部品(OSS・コンポーネントなど)が安全かどうかを判断できるようになるのである。
SBOMイメージ
SBOMにはSPDX、CycloneDXなどのフォーマットがあり、このフォーマットによって一貫性のある情報として管理ができる。開発者や運用チームはソフトウェアの構成要素の理解や依存関係情報の可視性を高め、効率的に管理することが可能になる。
SBOMは、ソフトウェアサプライチェーンのセキュリティを向上させるために重要なツールとなっているのである。安全なソフトウェアサプライチェーン実現には、ソフトウェアに含まれる脆弱性やライセンスなどのリスクに対して素早く特定し、迅速に対応が求められる。SBOMの活用によってソフトウェアのセキュリティを向上させ、サイバー攻撃のリスクを軽減ができるのである。
DevOpsのプラクティスの一部としてSBOMを活用することは、ソフトウェアサプライチェーンで重要な役割となっている。ソフトウェアの構成要素とそれらの依存関係をSBOMで明確にすることでソフトウェアサプライチェーンセキュリティの可視性を高め、より効率的な開発と運用ができるのである。DevOpsによる迅速なデリバリーと高品質なソフトウェアの提供の実現には、SBOM・ソフトウェアサプライチェーンを意識した開発と運用がより重要になるだろう。
■執筆者プロフィール
河上珠枝(カワカミ タマエ)
SB C&S ICT事業本部技術本部
テクニカルマーケティングセンタービジネス開発課
サービス業・小規模システム開発会社にてプリセールス・カスタマーサポート・プロジェクトマネジメントなどを経験し、2019年にNUCBでMBAを取得。2021年よりSB C&SにてDevOps・クラウドネイティブに関する製品・サービスに関する提案・プロモーション活動や新規事業などの事業開発に携わる。