派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

SBOMを作成する企業が増加。そのワケを解説

システムを開発している企業で「SBOM(エスボム)」を作成することが増えています。システムに用いた全ての部品を一覧にしたSBOM。なぜ近年ニーズが高まっているのでしょうか。その背景と、具体的にどのように作成するのかを、サクッと解説します。

SBOMとは

私たちがスーパーマーケットなどで加工食品を購入すると、そのパッケージには原材料が表示されています。これは、その食品にどのような材料が使われているのか、消費者が必要な情報を把握するためです。消費者のアレルギーへの影響を判断するだけでなく、その保存方法や問い合わせ先などを確認するために重要な情報です。

これと同じように、システム開発の現場でも、そのシステムに使用されているソフトウェアの構成を把握できることが求められています。
1つのシステムとして提供されると、そのシステムで使われている個々のソフトウェアを利用者は把握できません。そして、その一部のソフトウェアに脆弱性が見つかっても、そのソフトウェアを使っていることを知らなければ更新の必要があることすら気づかないのです。

そこで、システムで使っているソフトウェアやデータベースなどの種類、バージョンなどシステムの動作に使われている部品の一覧を整理したものがSBOM(エスボム:Software Bill of Materials)です。SBOMには、使用しているオープンソースソフトウェア(OSS)の情報やライブラリなど、製品を構築するすべての要素が含まれます。

なぜSBOMが求められるのか?

これまでもシステム開発の現場では、使用しているソフトウェアを管理していました。たとえば、パッケージ管理システムなどを使ってライブラリを導入する場合には、バージョン番号などを指定した設定ファイルを配置し、その設定ファイルを使って管理していました。

そんな中、SBOMが求められるようになった理由として、システムに対する利用者側のセキュリティ意識やコンプライアンスについての関心の高まりがあります。これまではシステムの管理は開発会社に任せていたものの、さまざまな事件の発生により、利用者側でも使用しているソフトウェアを管理したいニーズが生まれてきました。

たとえば、2021年12月に発生した「Apache Log4j」というログ作成ライブラリの脆弱性の問題がありました。このライブラリに脆弱性が発見されたことで、このライブラリを使用している多くのシステムに影響が出ました。「インターネット上で最も深刻な脆弱性の1つ」とも言われています。

このような脆弱性による影響を最小限に抑えるためには、システムで使用しているライブラリを把握し、脆弱性が見つかった場合には、そのシステムに対して修正プログラムの適用などの対策を実施しなければなりません。

また、使用しているOSSのライセンスを把握することで、ライセンス違反がないかを利用者が確認したいという要望も満たすことができます。

SBOM導入、広がる背景とは?

上記のような事件の発生だけでなく、政府などが主導してSBOMの導入を進めていることも最近の広がりに関連しています。

■米国 大統領令

2021年に米国のバイデン大統領が発行した「Executive Order on Improving the Nation’s Cybersecurity(国家のサイバーセキュリティの改善に関する大統領令)」では、政府契約のソフトウェアにSBOMの提出が要求されるようになりました。

https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/

■医療分野

2021年に医療機器のセキュリティ規格である「IEC 81001-5-1」が定められ、医療機器の開発においてはSBOMを作成できるように構成管理をすることが求められています。

https://www.pmda.go.jp/files/000250907.pdf

■日本 経済産業省

2023年7月末には日本でも、経済産業省が「ソフトウェア管理に向けたSBOM(Software Bill of Materials)の導入に関する手引」を公開しました。

https://www.meti.go.jp/press/2023/07/20230728004/20230728004.html

このように、さまざまな業界、分野でSBOMの作成が求められていることが背景にあります。

SBOMを作成するためには

SBOMを作成するには、そのシステム内でどのようなソフトウェアを使用しているのかを明らかにしなければなりません。ライブラリが他のライブラリを読み込んでいることもあるため、その全体像を把握するのは時間とリソースを要する作業です。

特に既存のシステムについてSBOMを作成するのは面倒です。このため、専用のツールが開発されたり、SBOMを作成するサービスが提供されたりしています。

現在は、作成されたSBOMを利用者が効果的に活用できるように、SBOMの書式などを標準化することについても議論されています。

さいごに、知っておきたいこと

セキュリティの強化やライセンスの遵守、製品の品質向上などの理由で、SBOMの作成は避けて通れません。最先端の企業だけでなく、すべての開発者がSBOMの重要性を認識し、利用者がSBOMを活用する時代が近づいているのです。

【解説】増井 敏克さん
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『基礎からのプログラミングリテラシー コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ!』(技術評論社)、『IT用語図鑑[エンジニア編]』(翔泳社)、最新刊には『1週間でシステム開発の基礎が学べる本』(インプレス)などがある。

▼これまでのサクッとわかるITトレンド
Pythonはなぜこれほど人気なのか
大人も自由研究!IoTでプログラミングを体験しよう
サイバー攻撃に備えている?その対策は本当に有効ですか
Javaで開発するプログラマに将来性はあるのか
ITエンジニアはWeb3とどう向き合えばいいのか
RPAとプログラマーの役割はどう分担されるのか
ITエンジニアのための“効率の良い”数学の学び方
プログラマならではの「ChatGPT」の使い方
新年度は「Obsidian」で新しいノートを作ろう
DXへのITエンジニアの現実的な取り組み方とは
プログラマーのスキルアップとして競プロ(競技プログラミング)に挑戦!
プログラミング的思考はiPhone1台でも学べる時代!
「パスキー」とは?話題のログイン方法を解説
Copilotとは?コーディングを支援するAIを解説

※本記事に記載されている会社名、製品名はそれぞれ各社の商標および登録商標です。

リクルートスタッフィング