Google のオープン セキュリティ チームは、Linux カーネルのコードは十分ではなく、毎週ほぼ 100 件の新しい修正が行われており、少なくともさらに 100 人以上のエンジニアの協力が必要であると主張している。
Linuxカーネルのセキュリティ機能に多くの時間を費やしてきたGoogleのソフトウェアエンジニア、キース・クック氏は、十分な対策が取られていないと彼が言うカーネルの継続的な問題について投稿した。
「安定版カーネルリリース(『バグ修正のみ』)には、毎週100件近くの新規修正が含まれています」と彼は述べた。これは、Linuxベンダー(Linux上で動作する無数の製品をサポートするベンダーを含む)に、「すべての修正を無視するか、『重要な』修正だけを選別するか、あるいはすべてを採用するという困難な課題に直面するか」というプレッシャーをかけていると彼は述べた。
クック氏は、C言語を一部非難している。「LinuxがC言語で書かれているため、関連する問題が長引くことになるだろう」と彼は述べた。さらに、専門家がバグの重要度を評価するために使用するMitreのCVE(共通脆弱性識別子)リストは、「すべてのセキュリティ上の欠陥にCVEが割り当てられているわけではなく、また割り当てもタイムリーではない」ため、この課題に十分対応できていないと付け加えた。
唯一の解決策は、使用している安定リリースの最新バージョンに継続的にアップデートすることですが、クック氏は「カーネルの継続的なアップデートは、アップデートによって製品が壊れるのではないかという回帰への懸念から、組織内で大きな抵抗に直面することになります」と述べています。もう1つの問題は、多くのベンダーが古いカーネルを使用し、修正をバックポートしていることです。これは、異なる企業の複数のエンジニアが同じ問題を修正することになるため、作業が重複することを意味します。
クック氏は、現在 Linux カーネルの潜在的な問題を 1,000 件近く報告している Google のファジング ツール Syzkaller について言及している。同氏によると、1 年に約 400 件が修正されているが、新たな問題が見つかるため、その数は 1 年に 100 件ずつ増えているという。
GoogleのファジングツールはLinuxカーネルの潜在的なバグをますます多く発見している
解決策は何か?クック氏は、Linux開発で使用されている電子メールのみのワークフローからの脱却、自動テストとファジングの導入、継続的インテグレーションなど、開発プロセスを「より効率的に」するための様々なステップを含む、いくつかの提案を挙げている。現在、カーネルテストはバージョンリリース後に実施されすぎているとクック氏は指摘する。
クック氏はまた、Linux ツールチェーンの改善も提案しており、特に「Linux を Rust のようなメモリセーフな言語で記述できるようにする」ことを提案している。
- トーバルズの勧めに従い、ParagonのLinux用NTFSドライバはカーネルに搭載される予定だ。
- Debian Bullseyeへのアップグレードをお考えですか?EximやPython 2.xを使ったものの変更にご注意ください。
- Windows と Linux カーネルに管理者権限の脆弱性が発見される
- LinuxカーネルはレガシーIDEサポートを廃止したが、ドライバ中心の5.14 rc1は依然として成長を続けている
クック氏によると、「最も控えめな見積もりでも、Linuxカーネルとそのツールチェーンは現在、少なくとも100人のエンジニアの投資が不足しています」とのことです。彼は、企業に対し、カーネルコードとセキュリティに取り組んでいる社内エンジニアをアップストリームカーネルの開発に異動させることを提案しました。「これこそが、長期的なコストを適正に保ちながらセキュリティのバランスを確保できる唯一の解決策です。」
長期的なコストは妥当だろうか?無料のオペレーティングシステムであるLinuxは、世界で最も収益性の高い企業の多くを支えている。中でもGoogleは、親会社であるAlphabetが6月30日締めの四半期で193億6000万ドルの営業利益を計上したことを筆頭に、その筆頭である。GoogleはLinuxセキュリティエンジニアを100人追加採用しても躊躇しないだろう。同様にLinuxを基盤としており、直近の四半期の売上高が1131億ドルに達したAmazonも同様だ。
今年 2 月、Google は、アップストリーム カーネルのセキュリティに取り組む 2 人のフルタイム開発者をスポンサーすると発表しました。®