Open Source Summit Japan 2023から、組込系システムにおけるサプライチェーンに関するセッションを紹介

Open Source Summit Japan 2023から、組込系システムにおけるサプライチェーンをセキュアに守るツールに関するセッションを紹介する。

松下 康之 - Yasuyuki Matsushita

2024年3月15日 6:00

Open Source Summit Japan 2023から、The Linux Foundationにおける組込系システムのVPが解説するサプライチェーンをセキュアにするための仕組みと新しいツールに関するセッションを紹介する。プレゼンテーションを行ったのはKate Stewart氏だ。動画は以下から参照して欲しい。

●動画:Building Dependable Systems with Open Source

プレゼンテーションを行うKate Stewart氏

プレゼンテーションを行うKate Stewart氏

Stewart氏はまずクルマを例に挙げて、多くのハードウェアコンポーネント、ソフトウェアが連係してモダンなクルマが構成されていること、GPSセンサーなどによるナビゲーションなどの機能が利用できることが必要だと語った。

しかし最先端を行っているクルマにおける障害、特にTeslaによるさまざまなトラブルのニュースを示しながら、機能が豊富にあるからと言って安全性が高められるわけではないことを説明した。

Teslaのトラブルを示しながら安全性が必ずしも高くなっていないことを説明

Teslaのトラブルを示しながら安全性が必ずしも高くなっていないことを説明

その上でこれまでエグゼクティブオーダーなどで注目を集められるようになったSBOM(Software Bill of Materials)に言及。ソフトウェアだけに限定せずにシステムの安全性に関わるすべてのコンポーネント、データセットなどについてもその構成要素と依存関係を明らかするべきだとして、SBOMはSystem BOMになるべきだと強調した。

安全のためにはソフトウェアのBOMからシステム全体を網羅するBOMに移行が必要

安全のためにはソフトウェアのBOMからシステム全体を網羅するBOMに移行が必要

ただしその際にベンダーごと、業界ごとの独自のデータフォーマットが乱立するべきではないとして、標準フォーマットでメタデータが提供される必要があると主張し、そこからSBOMのフォーマットであるSPDXにトピックを移した。

ソフトウェア、ハードウェア、データ、サービスで標準化されたメタデータが必要

ソフトウェア、ハードウェア、データ、サービスで標準化されたメタデータが必要

SPDXはLFがホスティングするSBOMフォーマットの一種で、同様のフォーマットとしてOWASPが推進するCycloneDXが存在する。LFとしてはSPDXが主流のフォーマットとして業界標準となることを望んでいると思われるが、素性の良さや機能の多さではなく最終的に多くのサポーター、ユーザーを集めた側が勝つというこれまでのIT業界の常識が適用されることになるだろう。すでにSPDXはバージョン3.1まで開発が進んでおり、Stewart氏が冒頭で説明したソフトウェアだけではなくハードウェアやサービス、データセットまで含めたBOMを生成できるようになることが示されている。

SPDXの進化を説明

SPDXの進化を説明

そして本来のソフトウェアにおけるBOM、SBOMについてはライフサイクルのすべてのプロセスでBOMが必要だと説明した。単にソースコードのビルドだけでインストールやデザインの段階でもBOMを生成できるようになることで、ライフサイクルのすべてを網羅するBOMとなるという意味だろう。

ソフトウェアライフサイクルのすべてのプロセスでBOMを生成することが必要

ソフトウェアライフサイクルのすべてのプロセスでBOMを生成することが必要

具体的にソフトウェアの仕様からコーディング、実装、テストなどのプロセスにおいて相互の関係を示しながら、どのような生成物が発生するのかを図で示しながら説明。

ソフトウェア開発のプロセスで何が何を生成するのか? を図で示して説明

ソフトウェア開発のプロセスで何が何を生成するのか? を図で示して説明

ここではソースコードをビルドしてテストするという主なプロセスの解説ではなく、コーディングのガイドラインからコードレビューのスクリプトが生成され実行形式モジュールであるアーティファクトとテストレポートが生成されるという成果物の依存関係を整理するフローチャートを使っているところに注目したい。CI/CDが自動化されていることが前提だが、それ以上に派生するすべての生成物を管理することでプロセスにおける成分(Ingredients)が明らかになるべきだというのがStewart氏の主張だ。

ソースコードのビルドからテストまでの依存関係を整理したチャート

ソースコードのビルドからテストまでの依存関係を整理したチャート

またバグ修正などのプロセスにおいても、それぞれのバージョンのソフトウェアから生成されるテストレポートを元にどのバージョンでバグが修正されたのかをトレースできるように「Code to Test」だけではなく「Code to Test to Evidence」という発想でシステム化される必要があることを説明した。

Code to TestからCode to Test to Evidenceに

Code to TestからCode to Test to Evidenceに

そしてLFが推進するこれの実装形としてELISA、Zephyr、Xenに応用したYoctoプロジェクトを紹介した。

LFのプロジェクトに応用された例を紹介

LFのプロジェクトに応用された例を紹介

ELISAはLinuxのバリエーション、ZephyrはリアルタイムOS、そしてXenはハイパーバイザーだが、Yoctoはカスタマイズされた組込用Linuxを作るためのツールキットである。

そして新たなツールとして紹介されたのがBASILだ。ELISAプロジェクトのブログ記事として公開されているので参照して欲しい。

●参考:BASIL: the FuSa Spice

新しいツールBASILの紹介

新しいツールBASILの紹介

BASILはRed Hatで開発されオープンソースとして公開されたツールで、ソフトウェアの仕様やドキュメントなどから仕様の分析、その仕様に合致したテストが実行されているのかなどをWebのユーザーインターフェースからチェックするツールであるという。ソフトウェアを開発したRed HatのQAエンジニアで、上記のブログの著者でもあるLuigi Pellecchiaによる動画も公開されている。

●動画:Introducing Basil

動画のデモを見る限り、ソースコードとコメントを分離し、その中身とマニュアル(man page)、テストコードを比較する方法で求められた仕様が実際のコードやコメントと合致しているのか、テストコードはその仕様のテストを満たしているのか、などをチェックするツールのようだ。セッションの中では深い説明は省いているが、安全性を高めるために仕様書が書かれていてもそれが実際に実装されていなければ意味がないし、その仕様を確認するテストが実行されていなければ意味がない、その部分に注目して作成されたツールということになる。

最後にSPDXや今回紹介されたELISA、Zephyr、Xen、Yoctoなどへの参加を促してセッションを終えた。

各プロジェクトへの参加を呼び掛けてセッション終了

各プロジェクトへの参加を呼び掛けてセッション終了

安全性を高めることは組込系では特に重要であることを冒頭のTeslaのトラブルで喚起してから、SBOMの重要性、そしてLFが手がけるさまざまなプロジェクトを駆け足で紹介した。日本の自動車メーカーによるテストの偽装が2023年に大きな問題となったが、その製造過程に今回のプロセスをまじめに適用したら不正は防ぐことができたのだろうか? ソフトウェアだけではなく製造業を含むすべての業界においても意識を高める必要があることを感じさせたセッションとなった。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30