こんにちは。テクニカルマーケティングセンターの河上です。
今回は、ソフトウェア開発において注目されてきている「SBOM」について、ご説明いたします。
SBOMとは
SBOMとはSoftware Bill Of Materialsの頭文字をとった言葉で、「エスボム」と読みます。
BOM(Bill Of Materials)という言葉自体は、製造業において「部品表」という意味で利用されています。そのBOMという単語に対してソフトウェア(Software)が追加されたものになり、SBOMは「ソフトウェアの部品表」を指す言葉です。
・SBOMは、Software Bill Of Materials の頭文字をとった言葉
・SBOM = ソフトウェアの部品表のこと
では、ソフトウェアの部品表は一体どういうものでしょうか。SBOMを理解する上でOSSの利用状況と問題を把握しておく必要があります。
OSS利用状況と問題
近近年のソフトウェア開発では、さまざまなOSS(オープンソースソフトウェア)を使用して開発することが一般的です。OSSを使用した開発は2015年頃では約35%でしたが、現在は70%〜90%と言われています。
現在はソフトウェアをゼロから開発することは少なく、OSSや事前に作られているコンポーネント(ライブラリ)といった物を使用することで開発の効率化や生産コストの削減を実現しています。
しかし、OSS・コンポーネントを使用するメリットがある反面、開発で多用されることによって、OSSライセンス違反といったコンプライアンス問題や脆弱性やセキュリティリスクを抱える状態になりました。
※OSSといっても著作権があります。OSSライセンスにはいくつか種類(MIT・GPL・MPLライセンスなど)があり、使用する際には注意が必要です。
ソフトウェアに使用されているOSS・コンポーネントの実態を把握しなければ、セキュリティやコンプライアンスリスクに対して適切な対処が難しいのです。
・現在のソフトウェア開発において、OSSの使用率は60%〜90%を占める
・OSSライセンス違反や脆弱性の問題がある
SBOMとソフトウェアサプライチェーン管理
開発でOSSを使用する上で、脆弱性はないのか・ライセンス準拠しているのかといったリスク管理をしていくことが重要になりますが、どうやって管理するのでしょうか。その解答として、「SBOM(ソフトウェアの部品表)」があります。
SBOMはソフトウェアの部品表なので、ソフトウェアに含まれるOSS・コンポーネントなどの出所やライセンス・バージョン情報・セキュリティ属性といった関連情報を管理します。SBOMを活用することで、ソフトウェアに使用されているOSS・コンポーネントが安全かどうかを判断できるようになります。
現在開発した・されたソフトウェアで使用しているOSS・コンポーネントなどの情報をエクセルに記載し、バージョン情報を目検しながら管理しているケースが多いと思います。(もしかしたら、一切管理していないケースもあるかもしれません)
エクセル管理が悪いわけではありませんが、管理が煩雑になる可能性が高く、脆弱性やコンプライアンス問題などが発覚した際、適切な対処を迅速に実施することが難しいかもしれません。一切管理していないケースでは、ソフトウェアに使用されているOSS・コンポーネントなど調査自体に時間がかかり、対応が遅れることが容易に想像できます。
SBOMにはSPDX,SWID,CycloneDXなどのフォーマットがあります。このフォーマットで管理することによって、一貫性のある情報としてSBOMを管理することができます。情報の可視性を高め、効率的に管理することができるようになります。
また、ソフトウェアサプライチェーン管理という観点でみるとSBOMはOSS・コンポーネントを追跡ができるため、ソフトウェアに含まれる脆弱性やライセンスなどのリスクに対して事前に特定し、迅速に対応できるようになります。
ソフトウェアが最新で既知の脆弱性に対してパッチが適用されているか、ライセンス要件に準拠し違反はないのかといったコンプライアンスを確認することに役立ちます。
企業が安全かつ準拠した方法でソフトウェアにOSSを使用していることを保証するために利用できるとも言えます。
・SBOMでは、ソフトウェアに含まれるOSS・コンポーネントなどの出所やライセンス・バージョン情報・セキュリティ属性といった関連情報を管理する
・SBOMのフォーマットは、SPDX,SWID,CycloneDXなどがある。
・セキュリティ・コンプライアンスを確認することに役立つ
おわりに
2021年5月にアメリカでは、サイバーセキュリティ強化のための大統領令が出されました。この大統領ではソフトウェアのサプライチェーンの安全性向上のため、連邦政府に販売するソフトウェアベンダーに対してSBOMの作成・開示を義務付ける条項が含まれています。
大統領令が発令された時点では、連邦政府に販売するソフトウェアベンダーのみが対象とのことですが、今後は民間企業においても同様のSBOM対応が求められると言われています。民間企業でもSBOMは徐々に広がってきており、企業が市場で競争力維持のために重要になってきています。
日本も同様の流れになると予想されており、今後はソフトウェアサプライチェーン管理の上でSBOM(ソフトウェアの部品表)を意識した開発が求められます。
最近は、SBOMを作成・管理ができる専用のソフトウェアツールがあります。そういったツールなどを活用することで、SBOM管理をより効率化できます。
今後はソフトウェア開発においてもセキュリティ・コンプライアンスに対するリスク管理の重要性がますます高まることは間違いないでしょう。できる限り早いうちにSBOMというソフトウェアの部品表について意識をむけて、開発に活かしていただければと思います。
ご拝読、ありがとうございました!
DevOpsに興味がある方はぜひコチラもご確認ください
著者紹介
SB C&S株式会社
テクニカルマーケティングセンター
河上 珠枝