SBOMとは
「SBOM」とは、「Software Bill Of Materials」の略で、「ソフトウェア部品表」という意味があります。
SBOMはアプリケーションなどの製品に含まれるすべてのソフトウェアコンポーネントや、ライセンスなどをリスト化したもので、食品の成分表のようなものです。
それに加えて複雑に絡み合うサプライチェーンがあり、SBOMはそれらのセキュリティ・ライセンス・品質に関連するリスクを把握・管理するのに役立ちます。
SBOMの必要性が増した背景
SBOMの必要性が増した背景として、以下の点が挙げられます。
- 複雑なソフトウェア構成
- ライセンス違反・OSSやサプライチェーンに潜むリスク
- DX推進やIT化によって増大するセキュリティリスク
- アメリカ大統領令
複雑なソフトウェア構成
SBOMは製造業に由来していて、製品を構成するすべての部品をリストにしたものを「BOM」といいます。 部品に欠陥が見つかると、メーカーはBOMを参照してどの製品で修理や交換が必要になるかを把握し、対応を開始できます。
同様に、アプリやソフトウェアも数多くのOSS(オープンソースソフトウェア)で構成されていて複雑です。 ソフトウェアに用いられているOSSの割合は年々増加しており、米企業:Red Hatが2021年に公開したレポートによると、全世界のITリーダー1,250人を対象にした調査で、90%が「OSSを利用している」と回答しています。
1つあたりのコードベースに用いられるOSSコンポーネントの数は、数百から、多い場合で千を超える場合もあります。
参考情報
ライセンス違反・OSSやサプライチェーンに潜むリスク
物理的な製品であれば、自社製品が直接依存しているパーツだけ管理するケースが多いでしょう。 しかし、そのパーツも様々な部品から成っていて、その小さな部品に脆弱性があっても気付くのは困難です。
ソフトウェアの場合はさらに深刻で、開発者がソフトウェアを構成しているOSSやライセンスまで把握し、さらに最新の情報に更新していなければリスクを管理できません。
OSSはソフトウェアの開発コストを抑え、制作期間の短縮に大いに貢献しますが、同時にその脆弱性がシステム全体を脅かすリスクも抱えています。そこにSBOMがあると、ライセンス違反に関連するリスクや、OSSやサプライチェーンに潜む脆弱性を把握してリスク管理できるのです。
サプライチェーン攻撃へのリスク対策に関しては、下記の記事を参考になさってください。
DX推進やIT化によって増大するセキュリティリスク
DX推進やIT化によってネットワークにつながる機器が増えると共に、サイバー攻撃の対象となる拠点や影響範囲も大きくなっています。
SBOMがないと、脆弱性を把握して対応するまでの初動が遅れ、すべてが後手に回ってしまいます。一方でSBOMがあれば、OSSやサプライチェーンに潜む脆弱性を容易に把握し、さらに発見した脆弱性に対して即座に対処できるでしょう。
アメリカ大統領令によってさらに注目を集める
SBOMはアメリカ大統領令によって、さらに注目を集めました。バイデン大統領によって2021年5月12日に発令された大統領令には、サイバーセキュリティを国家として向上させるために必要な取り組みが記載されました。(Executive Order on Improving the Nation’s Cybersecurity:国家のサイバーセキュリティ改善に関する大統領令)
サイバーリスクの多くは脆弱性のあるコンポーネントの使用から生じ、侵入された場合に国家安全保障上のリスクに発展する可能性があります。サイバー攻撃から国家を守るため、米国連邦政府で使用するソフトウェア製品を納品する企業に対して、一定の基準が求められるようになったのです。
米国政府はブラックボックス化したソフトウェアサプライチェーンが抱えているリスクを重大な脅威として捉えており、対応する具体策としてSBOMによってソフトウェアの透明性を図り、リスクを低減させようと考えています。
この大統領令は米国連邦政府組織で使用されるソフトウェアが対象となっているため、「日本の企業には直接関係ない」と思われるかもしれません。しかし経済活動のDX化やIT化が進む中で、ほとんどの企業はソフトウェアに全く関わらずには済みません。
特にサイバー攻撃が人命に関わる、自動車・医療業界においてSBOMの導入が進んでいます。サイバー攻撃に備えるため、業界ごとにSBOM仕様の策定が進む中で、米国政府が整備しているセキュリティ要件は一般企業にも大いに参考になります。
SBOMのフォーマット
SBOMのフォーマットはどのような形式で作成したらいいのでしょうか?HTMLやPDFなど、一般的なファイル形式も利用できますが、米国政府で使用するソフトウェア製品を納品する企業は、下記の3つのうちいずれかを用いることが規定されています。
- SPDX(Software Package Data Exchange)
- SWID(Software Identification)
- Cyclone DX (OWASP)
SBOMの詳細なフォーマットリストについては、下記のNTIAのレポートをご参照ください。
参考情報
SPDX
SBOMのフォーマットの中でも、2021年9月に国際標準規格(ISO/IEC 5962:2021)として認められたSPDXが注目されています。SPDXとは「Software Package Data Exchange」の略で、「ソフトウェアパッケージのデータ交換」という意味です。
SPDXを用いて様々なソースからのデータの取得をサポートし、サードパーティソフトウェアの分析などが行えます。SPDXは今や最も強固で、10年以上に渡って多くのユーザーに支持されているSBOM標準規格です。
参考情報
SBOMの導入メリット
SBOMの導入メリットには下記のような5つの点が挙げられます。
- 開発者が複雑で広範囲に渡るソフトウェアコンポーネントを把握しやすくなる
- OSSに含まれる脆弱性を監視・対応を迅速に行えるようになる
- ライセンスに関連するリスクを管理しやすくなる
- 開発の高速化・市場に送り出すまでの期間の短縮
- 開発コストの削減
開発段階でソフトウェアコンポーネントの脆弱性をある程度把握できるのは大きな進歩です。大規模なシステムになると数千個単位のOSSコンポーネントが関わってきますので、これらを手動で管理していては、見合うリソースを用意するのは困難です。
そこでSBOMがあれば、脆弱性の発見・対応を迅速に行えるようになり、開発期間の短縮やコスト削減にもつながります。
手動での作業は、加工食品に含まれるアレルギー物質を味見して確かめるようなものであり、食品成分表がなければ、多種多様な加工食品のアレルギー物質を把握するのは困難です。同じように、効率的にソフトウェアに関わるリスクを管理するためには、OSSを自動管理できるツールがどうしても必要です。
さらに高度なレベルでSBOMを抽出できる「Cybellum」
丸紅情報システムズでは、OSSを自動管理できるツールとして「Cybellum」を推奨しています。
OSSの割合が増えてサイバー攻撃の危機が高まる中で、Cybellumはさらに高度なレベルでSBOMを抽出し、Digital Twins™(現実のモノなどに関わるデータを、サイバー空間上で再現する技術)によりSBOMよりも詳細な構成情報を取得できます。
SBOMの活用によって、脆弱性の管理がより効率化・見える化されます。さらにCybellumは、新たなリスクが発見されてアップデートが行われる度に継続的にリスクを監視し、製品の発売から何年経っても安全性を維持します。
Cybellumの特徴の一つはバイナリコード をスキャンできることです。ソースコードがなく、ファームウェアやフレームワークなどがバイナリ形式の場合でも、バイナリコード※をスキャンして脆弱性を検知できます。
※コンピューターが理解できる2進数に変換されたコード
まとめ:ソフトウェアのリスク管理にはSBOMが必須
SBOMの必要性について解説してきました。数多くのOSSで構成されるソフトウェアに潜む脆弱性を把握し、リスク管理するためにはSBOMが必須です。そして数千個単位のOSSコンポーネントが含まれるソフトウェアのリスクを管理するためには、OSSを自動管理できるツールが必要です。
脆弱性を排除するために、SBOMよりもさらに詳細な構成情報を取得し、OSSを自動管理できるCybellumを検討してみてはいかがでしょうか。
Cybellum お役立ち資料
Cybellumのカタログやホワイトペーパーをダウンロードいただけます。