【ルネサス×日立ソリューションズ】ルネサスエレクトロニクスにおけるSBOM管理、OSSコンプライアンスの取り組み セミナーレポート(1/2)
イベント概要
オープンソース・ソフトウェア(OSS)は、現在多くの産業で使われていますが、脆弱性やコンプライアンス面で、さまざまなリスクも存在しています。そんな中で注目されているのが、ソフトウェアを構成する要素を一覧できるリスト「SBOM(エスボム)」です。欧米の公的機関などでもSBOMの必要性が指摘されており、今後は国内のさまざまな企業・組織でも対応が求められる可能性があります。
本記事では、株式会社日立ソリューションズ主催「SBOMを語る3日間!OSSマネジメントフォーラム2022」より、ルネサスエレクトロニクスの伊藤義行氏の講演をお届けします。
スピーカー
-
伊藤 義行 氏
ルネサスエレクトロニクス株式会社
-
渡邊 歩(モデレーター)
株式会社日立ソリューションズ
セミナー内容
渡邊歩(以下、渡邊):それではお待たせいたしました。本編の方に入って行きたいと思います。申し遅れましたけれども、わたくし本日のモデレーターを担当いたします。日立ソリューションズの渡邊と申します。どうぞよろしくお願いいたします。
それでは、「ルネサスエレクトロニクスにおけるSBOM管理、OSSコンプライアンスの取り組み」と題しまして、ルネサスエレクトロニクス株式会社 オートモーティブソリューション事業本部 車載デジタルマーケティング統括部 プリンシパルスペシャリスト 伊藤様より、ご講演をいただきます。それでは伊藤様、ご講演の準備いかがでしょうか?
伊藤義行氏(以下、伊藤):よろしくお願いいたします。では画面の方いただきます。
伊藤:皆様こんにちは、ルネサスエレクトロニクスの伊藤と申します。本日は「ルネサスエレクトロニクスにおけるSBOM管理、OSSコンプライアンスの取り組み」と題しまして40分間講演をさせていただきます。
伊藤:私はご紹介いただいた通り、ルネサスエレクトロニクスの車載関係の事業部に所属しております。
経歴としては2000年から2010年頃まで携帯電話向けのLinuxカーネル、Linux周りを担当しておりました。ここ10年ほどに関しましては、車載情報機器向けにLinuxに携わっております。関係する業務としては、Linuxコミュニティ、エンジニアのコミュニティ、それからソフトウェアのコミュニティなどでも活動しておりますので、本日はこのSBOMという括りでコミュニティの動向についてもお話しさせていただければと考えております。
伊藤:私の所属するルネサスエレクトロニクスについて一旦軽く紹介させていただきます。
ルネサスエレクトロニクスはもともとNEC、日立製作所、三菱電機の半導体事業にいたメンバーが集まって分社化、あるいは統合という形で集まった企業で、日本の車載向けではかなりシェアを頂いている半導体企業になります。現在、Intersil、IDT、Dialogといった会社にも仲間に入ってもらい、アナログ製品を含めたラインアップを広げております。本日講演の中で触れさせていただくのはルネサスエレクトロニクスの一部の製品群になりますのでご了承ください。
伊藤:本日の講演ですけれども、ルネサスエレクトロニクスの現在や将来に向けた事業方針、業務内容を会社の立場として正式にご紹介するという形にはなりません。一部の製品群に係るオープンソースソフトウェアコミュニティの事例、コミュニティでの活動状況を紹介するものになります。ルネサスエレクトロニクスの製品あるいは製品に関わるお客さま向けの提供物などに関する正式なお問い合わせについては、当社の営業窓口を通してアクセスいただければと考えております。
講演内容としてはまずオープンソースソフトウェアの活用事例についてご紹介させていただきます。SBOMの中でも必要とされるのが早かったのはオープンソースソフトウェアの部分ですので、まずどういう形でオープンソースソフトウェアを活用して来たか、ということから述べさせていただきます。その後、ライセンス管理の話をさせていただきます。SBOMについては、直近はセキュリティなど広い範囲での議論が進んでおりますけれども、もともとライセンス管理を目的とするところからスタートしているものですので、こちらをご紹介させていただきます。
次にルネサスにおける私の身近な事例として、当社がどのようなSBOMの提供・管理を行っているかをご紹介させていただきます。最後に、ライセンス管理からSBOMへの対象の拡張についてお話しします。SBOMにはSPDXというフォーマットがあるんですけれども、SPDXのコミュニティで関係者の皆様と議論する機会がありましたので、SBOMに関するオープンなコミュニティがどんな議論をしているかをご紹介させていただこうかと考えております。
伊藤:一応、お断りになりますけれども、ルネサスエレクトロニクス自体は幅広くスケーラブルな製品ポートフォリオを持っておりますが、本日の講演で述べさせていただくのはごく一部のところになります。車載向けのSoCと呼ばれる複合機能を持った、言ってみればLinuxとか、高機能OSが動く製品群の、その中のオープンソースソフトウェアに関わる部分というところになります。会社の中では割と一部の狭い部分になりますが、そうであるが故にSBOMについては先端で扱わねばならないような部門になります。今回のご紹介はその部門についての事例紹介という形でご理解いただければと思います。
伊藤:それではまず当社におけるオープンソースソフトウェアの活用事例ということで、SBOMそのものの話ではありませんが、Linuxの需要やオープンソースをどのように使ってきたかということから述べさせていただきます。
伊藤:先程、私の担当分野の話でも少し触れさせて頂きましたけれども、Linuxの組み込み機器向け適用においては携帯電話が日本の中で先を走っておりました。2000年ぐらいから私の所属していた部門もフィーチャーフォンと呼ばれる昔ながらの携帯電話にLinuxを乗せるLinux BSPを用意するというところから業務を始めてまいりました。一時期、スマートフォン向けのAndroidを社内でやっていたこともございます。
それとはまた別に、旧日立含めてなんですけれども、自社の製品に載せたLinuxのカーネルやドライバーについて「Upstreamのコミュニティにどう還元していくか」「還元した後に一緒にメンテしてもらえるか」といった議論を長いことやってきた歴史がございます。これに関しては、2000年よりも前、日本国内においてLinux BSPを組み込み向けで搭載する前から、議論としてはあった状況でございます。このようにずっとルネサスとしてはやってまいりましたので、一部、次のページで紹介したいと思います。
車載向けのLinux BSPは2010年を少し過ぎた辺りからになります。これについては私も車載向けのLinuxで業務担当しておりますので、載せさせていただいております。Androidも車載向けに色々な議論がありますが、本日の紹介範囲からは逸れるところになります。
ルネサスはLinux関係の業界団体とも深い繋がりがあります。今日紹介する中でSBOMに関わるところはLinux Foundationの中にあるSPDXというコミュニティがあります。またツールとして長く使っているものはYocto Projectというものがございます。これも今日少し述べさせていただきますけれども、2013年ぐらいからYocto Projectの中に入って一緒に議論してまいりました。また車載向けのAutomotive Grade Linuxというところにも加盟しながら活発に活動させていただいているところになります。
伊藤:ルネサスがオープンソースをどのように使ってきたかという点において、日本国内企業の中でも特色があるなと自分でも思っているところは、Linuxコミュニティとの関わりですね。ワールドワイドなコミュニティで、いろいろな会社の方々がLinuxカーネルに対してコントリビューションを行っていますけれども、ルネサスは日本企業の中では比較的珍しく、Linuxコミュニティの中でずっと継続的に活動を続けてきています。2007年以降の統計を見ると、Linuxはだいたい1730くらいの組織が関わっており、コミット数は78万コミットに上るようなのですが、その中でルネサスは2005年くらいから積極的に投稿しており、会社別の投稿実績ランクで10位ちょっと下の12位、最近のLinuxカーネル向けの投稿順位でも大体10位、12位、15位という辺りで実績をキープしているという状況になります。
ご存知のようにLinuxカーネルは、先ほどから触れている携帯電話などの古いものからスマートフォンなど、広く組み込み機器で使われています。また航空宇宙のようなミッションクリティカルな分野や、証券取引所のようなエンタープライズ用途でも当然使われております。この辺りは皆様ご存知かと思いますが、Linuxカーネルそのものは実装規模が非常に拡大しているという状況があります。
今回Linux カーネルのデータを紹介しましたけれども、Linux以外にもオープンソースソフトウェアは沢山あります。車載向けのオープンソースソフトウェア、コンテナと呼ばれるものがありますし、あるいはオープンソースのツール群としてパフォーマンス測定のような開発ツールもありますし、コンパイラもありますし、実際の製品で裏方として使われるオープンソースのツールもあります。ルネサスはこれらのオープンソースを積極的に採用して検証環境として、あるいはお客さま提供環境として使わせていただいておりますので、投稿も行っているというところになります。
伊藤:そういったオープンソース、今回はLinuxカーネルを事例としてあげましたけれども、これ以外にも色々なオープンソースソフトウェアがあります。クロスセグメントのソフトウェア基盤開発で色々なところに使えるものですので、ルネサスの一部門という形ではありますが、コミュニティとの連携をしっかり取ったうえで活用を推進しております。
我々ルネサスのパートナー様との連携でもオープン化戦略というのはかなり重要となっています。協力してくださるパートナーの皆様とのエコシステムとしてR-Carコンソーシアムといったようなものがありますが、そういったところでオープンソースを使って盛んにやり取りをさせていただいて、協力関係を結ばせていただいております。
伊藤:ルネサスがオープンソースソフトウェアを2000年代からずっと使ってきたという話をさせていただきましたけれども、ここからは実際オープンソースソフトウェアを使ううえでどんなことが必要かをお話しします。今回はSBOMに関するウェビナーですので、SBOMに繋がる動きに関して述べさせていただきたいと思います。
伊藤:皆さまご存知の方が多いと思いますが、当社ルネサスエレクトロニクスは半導体をお客さまに提供する半導体製造企業です。ただ、半導体そのものをポンと渡しただけでは、それは使えませんというお話は当然いただくことになります。当社はSoCと呼ばれるかなり複雑な半導体製品を販売しておりますが、その上で動くソフトウェアというのも当然ながら複雑なものになります。
最終製品、例えば車載情報機器のようなエンドユーザー様にお届けする車の中の機材においては、メニューの底の方を探っていってライセンス情報を見ないと表には出て来ないものの、機器の中には色々なオープンソースソフトウェアが組み込まれています。
さらに言うならば、ルネサスエレクトロニクスの半導体の中に入っているアクセラレーター、3Dのグラフィックスなんかもそうですけれども、ハードウェアのIPがございます。これを活用できるようにするものを一緒に提供するといったようなことがございますけれども、それらはプロプライエタリ(有償)なソフトウェアであるというのが結構あります。3Dグラフィックス以外にも、ビデオコーデックみたいなものも含めて、そういったものがあります。
また、最近ではAI処理を行うようなハードウェアIPが載っている製品群もございます。そういったところを扱うものに関しては、プロプライエタリのソフトウェアとして提供するものがあります。また、お客さまに対してこういったオープンソースソフトウェアをそのまま手をつけずに使えますよとか、ルネサスの中で半導体製品を動作確認して行く上で、このオープンソースソフトウェアを使っておりますという形で紹介するもの、あるいは提供物の中に、それらOSSをダウンロードする仕組みを一緒にご提供するというようなことがございます。
オープンソースソフトウェアでも、例えばLinuxカーネルのように、当社の製品に合わせて若干コードを追加修正してお客さまに提供し、それをまたコミュニティに戻すということをぐるぐる回しているものもあります。またお客さまに対して「このオープンソースソフトウェアがありますよ、使ってみてください」と紹介するものや、プロプライエタリなソフトウェアなど、色々なモジュールを組み合わせて、製品用のBSP(ボードサポートパッケージ)という形で、当社の製品に向けたパッケージとして提供しています。
パッケージ構成が複雑だという話をしましたが「どんなパッケージが含まれているか?」という話が当然ながら出てきます。それをどのように提供するかというのはもともと課題としてございます。さらに、これらの提供した情報が間違っていてはいけない、ということもございます。例えば、オープンソースソフトウェアの中には、「エンドユーザーの皆様にこのオープンソースソフトウェアが使われているという情報を提供しなければならない」といったライセンス条件がついているものもあります。あるいは、オープンソースソフトウェアを使った場合に、ソースコードを公開しなければならないものもございますので、それらのライセンス情報については製品を使われる皆様に半導体ベンダーから適切に情報提供しなくてはいけないという話もございます。それらに万一、間違いがあった場合には、適切に管理情報の瑕疵を修正しなくてはいけない、あるいはその間違いがあってはいけないので、自動的にやれるものは自動的にやらなくてはいけないという話がございます。
伊藤:ライセンス管理ですけれども、サプライチェーンを跨いだ処理になりがちというのは、ごく一般的に語られることだと思います。OpenChainというプロジェクトがLinux Foundation傘下にございまして、私も一部議論に参加させていただいていますが、このOpenChainの中でライセンス遵守に関する一般講習ガイドやリーフレットを起こすワーキンググループの皆さまがいらっしゃいます。その方々が作成した資料に書かれているように、半導体を供給するようなベンダーがライセンス情報を間違えますと、色々なものと組み合わさることでライセンス遵守ができないようなものが最終的にできてしまう可能性があります。このような過去の事例は、当社が関わる・関わらないを問わず、色々なところで起きており、場合によっては訴訟ネタにもなりました。特にオープンソースの場合は、中を見ればどんなソフトが使われているかが分かるので「ライセンスと違うじゃないか」という指摘を公の場で受けることもございます。
オープンソースソフトウェアを使ううえでライセンスをしっかりと遵守しなくてはいけないというのは比較的早く議論が立ち上がってきたという経緯がございます。ルネサスは半導体、ハードウェアを提供する会社ですので、サプライチェーンの中では比較的上流に位置します。私どもが間違えますと、パートナー様、あるいはお客さまが間違った状態のままエンドユーザーの皆様に情報を伝えてしまって、公の場で「この製品を使っている人はライセンス違反してしまっている」といった指摘を受けてしまうため、このようなことになってはいけないというのがあります。
伊藤:これらの話を含めて、2010年~2015年以降、議論が行われてきたわけですけれども、ここ2、3年は「SBOM」という形で議論が盛り上がってまいりました。ここの右下に書いておりますが、米国政府系の機関からも「SBOMとはこんなものですよ」というドキュメントが出てまいりました。私どももOpenChainの会合の場とかで読み合わせをするなど、これについて勉強したという流れがございます。そういった中でSBOMのライセンス情報もそうですけれども、どう扱うか、どう管理するのかという課題意識を議論してまいりました。
その中で見えて来たのが、SBOMというのは一回リリースしただけではなく、メンテナンスが必要だなというところです。先ほどから申し上げていますように、記述に間違いがあったときにエンドユーザー様にご迷惑がかかるので、修正を入れていかなくてはいけません。実際に間違いがあって修正するという事例はあまりないものの、ソースコードからSBOMを作って「はい、おしまい」にはならない部分というのが、やはりあります。
例えば、コンパイラが取り込んでいるライブラリの構成定義も当然、最終製品として、あるいは半導体ベンダーからお客さまに渡っていく中で、組み込まれて出て行くわけです。これらのライブラリ構成定義が途中でバージョンアップにより変わるかもしれません。あるいはコンパイルの設定によって組み込まれるモジュールが変わるかもしれません。組み込まれるモジュールが変わったことで、オープンソースのライセンス条件が変わるかもしれません。追加されるかもしれません。このような話はSBOMの定義としても触れられていますし、実務上もやはり、オープンソースソフトウェアの中にはコンパイル条件によってライセンス条件が変わるものもありました。当社がリリースする中でも、プロプライエタリ向けとLinuxのようなOSS向け両方で使えるようなモジュールというのがあって、ライセンス条件がデュアルライセンスと呼ばれるものをリリースしていたりします。このような場合、実際のところはビルド時、実際に製品に焼き込むターゲットのバイナリの形に作り込んでいくところで、ライセンス条件が最終的に確定して行くという流れになります。ビルドの段階で、ツールがこれらのソースコードと定義を読み込んで、自動的にSBOMを含む関連ドキュメントを起こしてくれるという環境が望ましいです。
コンパイル関係やビルド環境の中でSBOMを含めた関連のドキュメントを起こすというのは、ルネサスではなくてYoctoプロジェクトというコミュニティが比較的先行して議論していました。実際にそれらのツールをオープンソースとして出していたという流れがありますので、ルネサスはその流れに乗っかる形でSBOM対応も進めています。