採用情報

お問い合わせ

BLOG

Linux OS

2021 年 12 月 06 日

ELC2021 パネル 「Super Long Term Kernel Maintenance」を振り返って

サイバートラスト株式会社 工藤雅司

はじめに

Linux は誕生から 30 周年を迎えた今でも成長を続けており、さまざまなビジネス用途で広く利用されています。 Linux の利用が増え続けるにつれて、LTS (Longterm Stable Kernel) の需要も増加しており、直近の 5.15 以外の LTS カーネルのメンテナンス期間はすべて 6 年間になっています【1】。 このような驚くべき活動を実現しているのは Linux カーネルコミュニティであり、その周りには巨大なエコシステムが形成されています。

本記事では 2021 年 9 月 27 日にオンラインで開催されました、「Open Source Summit + Embedded Linux Conference 2021」でのパネルディスカッション「Super Long Term Kernel Maintenance 」のポイントをご紹介します。

パネル企画の背景

Linux カーネルコミュニティでは以下の理由により、マイクロコード/BIOS を含め最新のステーブルリリースを使い、パッチもチェリーピックせずに総て投入し、かつ堅牢化機能を有効にすることを推奨しています。

  • スタックオーバーフロー、ヒープオーバーフローなどを使ったサイバー攻撃から守ることを可能とするカーネル堅牢化機能がリリースごとに強化されている。
  • ユーザインターフェースを壊さない、というルールをコミュニティは厳格に守っており、万が一問題があった場合は、最優先で対応する。
  • メモリセーフな言語である Rust を導入していくことで、バッファーオーバーフローや解放メモリへのアクセスといった脆弱性を自動的に防ぐことができるようになる。
  • リリースを追うごとに性能向上が行われている。

一方、ビジネスの現場では、寿命が 10 年以上の長期におよぶ製品やシステムが少なくありません。また、近年、サイバーセキュリティの観点から、セキュリティ標準策定や、各国の法制化で、ソフトウェアを更新可能とすることを求める動きが進んでいます。このため、製品やシステムの存続する間、セキュリティパッチを提供し続けることが必要となるので、このような長期サポートをコミュニティに期待する声も高まっています。

果たして、Linux カーネルコミュニティの方向性を Linux ユーザーはどう考えているでしょうか。また、ビジネスの現場の声は Linux カーネルコミュニティに届いているでしょうか。

上記のような現状をどうとらえ、今後、Linux コミュニティとビジネスの現場が長期サポートに向けてどういう方向に向かうべきかについて議論すべく、Embedded Linux Conference (ELC) 2021 において、Linux LTS メンテナーの Greg Kroah-Hartman 氏を迎え、超長期サポートを目指す CIP (Civil Infrastructure Platform) メンバーとともに、このパネルディスカッションを行いました。

パネルディスカッション

パネルのビデオは公開【2】されていますので、誰でもご覧いただけます。以下で概要をご紹介します。

パネルへは、Greg 氏の他、CIP から、Siemens Technology の Jan Kiszka 氏、Renesas Electronics Europe の Chris Paterson 氏、弊社 Alice Ferrazzi 氏に参加頂き、わたしはモデレータを務めました。Jan 氏は産業分野で豊富な顧客経験を有しており、また、わたしの後任として CIP Kernel Team Chair を務めておられます。Chris 氏は、SoC ベンダーに属しアップストリームファーストを進めるとともに、CIP Test Team Chair を務めています。Alice 氏は KernelCI TSC メンバーとして Kernel CI の普及に務め、また、CIP テスト環境の Kernel CI への移行を積極的に進めています 【3】

パネルでは、事前に用意した質問を使い、最初に Greg 氏にコミュニティとしての活動状況や見解を伺い、他のパネリストに Greg 氏の発言に対するコメントや考えを聞く、という形で進めました。

最初に、Greg 氏に長期サポートの変遷を語ってもらい、Jan 氏、
Chris 氏、Alice 氏それぞれから長期サポートについての経験を話してもらいました。

Greg 氏から、Android を例にして、テスト環境を充実させることで長期間製品が存続する場合であっても最新カーネルに追随可能なことが紹介されました 。一方、Jan 氏からは、最新カーネルへ追随する際の課題は、カーネルそれ自体にあるのではなくサードパーティソフトを含む上位ソフトで問題が生じることが多い点や、手動実行のテストがまだかなりありそのために専門家が必要なこともある点などがあげられました。

このような点も含め、KernelCI を中心としてテスト強化に皆で連携を進めていることの重要性を Greg 氏が指摘し、Alice 氏からも KernelCI の取り組みの紹介がありました。また、長期サポートでのコスト削減に向け、アップストリームファーストの開発スタイルが重要であることを Chris 氏、Greg 氏がそれぞれ述べました。さらに、Chris 氏と Alice 氏からはテストでの網羅性をあげテストを充実させる必要があるとの指摘がありました。

LTS カーネルの望ましい適用を加速するために、Greg 氏は、Android の例をあげ、Debian との協力関係、その他 Linux ディストリビュータ、エンタープライズ領域や SoC ベンダーの状況について話がありました。

LTS の期間について、Greg 氏は現在の 6 年は長いと考えておられます。6 年の間には多くのことが変わり、カーネルのセキュリティ機能が強化され、バグの発現を防ぐ新たな方法が取り込まれており、新しいカーネルに移行することでよりセキュアにできるためです。これに対し、Jan 氏からは、例えば Spectre/Meltdown のようなセキュリティ問題は必ずしもすべてのユーザーで発現するわけではないため、機能の進化と安定化のバランスを考えることがビジネスの現場では必要になっているとの発言がありました。

今後の Linux カーネルコミュニティの成長を担保するためのカーネルメンテナーの育成をどう考えるかについて、Greg 氏は、コミュニティへの貢献活動を人事制度で評価するなど、企業側の文化を変えたりマネジメント要件を見直すなど必要があり、実際に企業側と議論しているとコメントされました。Jan 氏からはコミュニティへの貢献者がビジネスを理解することも重要なので、専任ではなく、業務との掛け持ちを推奨していることが述べられました。

AI(機械学習)の活用については、バグフィックスを選別するためにすでに使用されていますが、どのステーブルツリーに適用するかはまだ人間が判断しているとのことです。

将来の長期サポートの姿について、Jan 氏は理想的にはアップストリームの最新カーネルに基づく長期サポートを広く実現したいが、まだ先になるだろうと述べました。Chris 氏はすでに KernelCI でメンテナーがひとつのポータルを確認するだけで済むように作業が効率化に向かっている点をあげ、Alice 氏はアップストリームファーストを開発原則とする CIP でさらに KernelCI 連携を強めアップストリームと CIP 双方がメリットを享受できるようになりたい、とコメントがありました。

最後に Greg 氏から、Linux カーネルのリグレッション情報を追跡するプロジェクトに EU が一年間ファンドした、という情報【4】が共有されました。セキュリティバグを内在しているにも関らず多くのデバイスがソフト更新されないままでいる一つの理由がソフト更新によって引き起こされるリグレッションのリスクが判断できないことにあり、Linux カーネルコミュニティでも長年の課題でした。このプロジェクト成果が有用であることを望むとともに、このようなリグレッションに関する研究が継続し他の国にも広がっていることへの期待が述べられました。

まとめ

今回のパネルを通して、コミュニティの成果を利用するために、コミュニティの動きや考えを理解することが重要だとあらためて感じました。また、コミュニティという場が、例え競争相手であっても、ともに協力し合える場という特性を生かしてそこに投資し貢献することが、コミュニティの発展にもつながり企業やユーザーにも益となる Win-Win の関係にあることを再認識しました。

アップストリームファーストによる Linux カーネルコミュニティとの連携強化と、テスト環境を一元化する KernelCI の強化と利用拡充が、長期サポートに向けて重要な要素であることを Greg 氏は繰り返し述べておられました。弊社では、アップストリームファーストを開発原則とする CIP や、KernelCI へ引き続き貢献し、コミュニティとユーザーの橋渡しをして参ります。引き続きよろしくお願い申し上げます。

【1】
https://www.kernel.org/category/releases.html
【2】
https://www.youtube.com/watch?v=HNNz3J8oDJI
【3】
https://www.cybertrust.co.jp/info/2021/0917-kernelci-tsc.html
【4】
https://www.ngi.eu/blog/2021/10/12/whos-ngi-thorsten-leemhuis-with-linux-kernel-regression-tracking-bot/

本記事に関連するリンク
CentOS 7 延長サポートサービス
デジタルトランスフォーメーションのための電子認証基盤 iTrust
SSL/TLS サーバー証明書 SureServer Prime