「ソフトウェアにおける部品表」として近年注目されるようになった「SBOM」。
しかしながら、SBOMが具体的にどういったものか・活用することでどんなメリットがあるかといったことまでは、あまり広く知られていないのが実態です。
今回は、そんなSBOMについて概要やメリットを、分かりやすくご説明できればと思います。
ぜひご参考くださいませ。
目次
1.SBOMとは・SBOMの定義
2.なぜSBOMが注目されるようになったか?
3.SBOMの活用メリットと重要性
3.1.セキュリティリスク発見の効率化・セキュリティ強化
3.2.コンプライアンス管理の効率化
3.3.環境評価基準サプライチェーンの透明性把握
3.4.品質管理と改善
4.SBOM導入で管理工数はどれくらい減るのか?
5.【Q&A】SBOMに関する「よくある質問」
Q1: SBOMって、どういうタイミングで更新したらいいの?
Q2: SBOMを作るのに専用ツールはあるの?
Q3: 小さいプロジェクトでも、SBOMって必要?
Q4: SBOMには、何を書けばいいの?
Q5: SBOMを作るときの、決まりごとってあるの?
6.SBOM導入をサポートする「SBOMスキャナ」について
7.お問い合わせ・関連リンク
そもそも、「SBOMって何?」と思われる方も多いかもしれません。
SBOM(Software Bill of Materials)とは「ソフトウェア部品表」のことで、ソフトウェアに含まれる「材料」をリストアップしたものです。
イメージとしては、食品のパッケージに書かれている「原材料表示」に似ています。
このリストには、ソフトウェアを作るために使われたさまざまな部品(プログラムやライブラリなど)がどんなものか、それぞれの「名前」や「バージョン」、「どこが作ったか」が記載されており、そこにライセンス情報も含まれています。
オープンソースを使ったソフトウェアなどでは、このSBOMがとても重要になります。
SBOMが注目されるようになった背景として、近年増加傾向にある「ソフトウェアサプライチェーン攻撃」が挙げられます。
まず、サプライチェーン攻撃とは「特定の企業や組織を直接攻撃するのではなく、セキュリティの脆弱な関連組織や取引先を経由して不正アクセスを行う」といったものです。
その中でも「ソフトウェアサプライチェーン攻撃」は、ソフトウェアの開発段階で悪意のあるプログラムを仕込み、そのソフトウェアを使用する企業に対し、間接的に侵入するといった攻撃手法です。
サプライチェーン攻撃は近年増加傾向にあり、IPA(独立行政法人情報処理推進機構)が作成する「情報セキュリティ10大脅威」では、2019年に初めて4位にランクインし2023年には2位になるなど、年々リスクが増えてきています。
https://www.ipa.go.jp/security/10threats/10threats2023.html
上記の通り、サプライチェーン攻撃の脅威度が高まる中、「ソフトウェアの部品表」であるSBOMを活用することで、ソフトウェアが潜在的に抱えるセキュリティリスクの把握や、万一何らかの脆弱性が発覚した場合にも対策が取りやすくなることから、SBOMが注目されることとなりました。
昨今、私たちの生活はどんどん便利になっていますが、その裏では至る所でソフトウェアが使われています。
ソフトウェアを作る工程は非常に複雑で、短い期間でソフトウェアを作るには、オープンソースのような色々な部品を組み合わせる必要があります。
そうすることで効率的な開発が行えるのですが、便利であるのと同時に「それらの部品は本当に安全か?」「脆弱性はないか?」といったリスクを抱えることにもなります。
そんなとき、ソフトウェアの部品表であるSBOMが大活躍します。
先ほど「SBOMは食品の原材料表示に似ている」とお伝えしましたが、SBOMの果たす役割について、食品を例に挙げていきます。
例えば、あなたが作ったケーキが変な味にできあがったとします。
原因を特定するためには、使った材料や分量を一つ一つ確認する必要がありますよね。
ソフトウェアの世界においては、SBOMを活用することで同じことができます。
もしソフトウェアに問題が起きたとき、SBOMを見れば、どの「材料」が「どんな問題を引き起こしたのか」といったことが、すぐに分かります。
そのため、問題のある部品を早く特定し修正するなどといった、リスク発見とセキュリティ強化が効率良く行えるようになります。
ケーキを作るときに、アレルギーを引き起こす可能性のある材料や賞味期限が切れているもの・違法な形で生産された材料を使いたくないですよね。
SBOMを使えば、ソフトウェアの「材料」が適切なものか・正しいライセンスで使用されているか・安全なものか、一目で分かります。
食品では「食品衛生法」のようなルールがありますが、SBOMを活用することでソフトウェアにおいても同じような管理が可能になります。
コンプライアンス管理を効率化しつつ、意図せずそれに反してしまうようなリスクを減らすことが可能です。
スーパーマーケットで食材を選ぶとき、どこで育った野菜か、どの牧場の牛乳かが表示されていると安心しますよね。
ソフトウェアにおいても同様で、SBOMを活用することでソフトウェアの制作者や、信頼できるソフトウェアであるかといったことが把握できます。
このように、SBOMはサプライチェーンの透明性を効率良く把握することにも役立ちます。
最高のケーキを焼くには最高の材料を選ぶ必要で、高品質なケーキを継続的に作るためには、それら材料の品質管理が重要であることはイメージしやすいかと思います。
それと同じように、SBOMを導入・活用することでソフトウェアを構成する「材料」の品質管理を効率化できます。
また、万一それらの「材料」に問題(脆弱性)があった場合も、リスト化されているため把握・改善をスムーズに行うことが可能です。
高品質なソフトウェアの開発や、その後の運用における改善の面でも、SBOMが果たす役割は大きなものとなっています。
このように、SBOMはソフトウェアの「原材料表示」であり、それを理解することで、より安全で信頼性が高く、品質の良いソフトウェアを提供することができます。
ここまでのお話で、SBOMを活用することでソフトウェアの脆弱性管理が簡単に・効率化できることは何となくお分かりいただけたかと思います。
では、SBOM導入によって具体的にどれくらいの工数削減が期待できるのでしょうか?
経済産業省の調べでは「手動比で30%程度まで工数削減」といった数値が出ております。
実証では、SBOMを活用した場合に要する工数が、手動での脆弱性管理と比較して30%程度に低減されたことを確認した。
【出典】経済産業省 商務情報政策局 サイバーセキュリティ課「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引 Ver. 1.0」のP.13~14より抜粋
https://www.meti.go.jp/press/2023/07/20230728004/20230728004-1-2.pdf
約70%も工数、つまりは人件費が減るとなると、ツール導入費用を考慮してもコストカットに繋がるかもしれません。
もちろん、対象のソフトウェアやケースによりけり、といった側面はあるかと思いますが、「工数が半分以下になり得る」といった情報は、SBOM導入を検討する上で大きな材料になります。
SBOMについて気になっていること、よく聞かれる質問をピックアップしてみました。