カーネルセキュリティ今:Linuxのコードを保護するための独自の方法
オープンソースサミット日本において、Linux開発者のグレッグ・クロウ=ハートマンは、カーネルセキュリティの現状と今後の課題について、政府の規制の影響や絶え間ない更新の必要性という重要な苦痛を振り返ります。
Linux Foundation のグレッグ・クロア・ハートマンは、今週のオープンソースサミット(OSS)日本 2023 で、Linux カーネルのセキュリティの現状と将来の課題についての包括的な講演を行いました。Linux の安定版カーネルのメンテナであり、Linux カーネルセキュリティチームの著名なメンバーであるクロア・ハートマンは、オープンソースソフトウェアセキュリティの進化する状況、規制上の課題、そしてこれらの問題に対する Linux カーネルの対応について明らかにしました。
ほとんど毎日、ソフトウェアのセキュリティ問題が発生していますが、政府は企業や組織がどのようにセキュリティ問題を軽減すべきかを指導しようとしています。しかし、1つ問題があります。政府はソフトウェアの使用方法をほとんど理解しておらず、オープンソースの開発者がどのようにソフトウェアを作成するのかについてはさらに理解が乏しいのです。
例えば、欧州連合の提案したサイバー耐性法(CRA)は善意に満ちていますが、オープンソースソフトウェアを構築する人々には不適切です。最近のバージョンははるかに良くなっていますが、Kroah-Hartmanが指摘したように、「世界中がデバイスや製品をEUに販売しているため、これは彼らのセキュリティ要件を定義することになる」といまだに意味しています。
この新しい規制の波に対処する準備はできていますか?いいえ、できていません。
Linuxコミュニティに関して、Kroah-Hartmanは、Linuxカーネルセキュリティチームが基本的に反応的であり、他のセキュリティチームが採用する積極的な姿勢とは対照的であると述べています。2005年の正式な設立以来、チームは企業との提携や契約なしに非公式に運営されています。これにより、セキュリティ問題に対処する際の中立性と柔軟性が確保されています。このアプローチは、企業間の信頼を育み、セキュリティ問題を効果的に管理し、優先順位をつけることを可能にしました。
「他にも積極的なグループやカーネルセキュリティチーム、その他のプロジェクトがあります」と彼は付け加えました。「しかし、私たちのやり方ではありません。私たちは問題に対して反応するだけです。」
そして、問題は山ほどあります。例えば、Kroah-Hartmanは、特にSpectreやMeltdownのような脆弱性の影響を受けて、ハードウェアのセキュリティに関する継続的な課題を強調しました。本当に、彼が指摘したように、これらの深刻なCPUのバグが現れてから3年以上が経過しました。「ハードウェアで修正しようとしているのに、数時間前に別の問題が発表されたばかりです。だから、今後すぐにこれが終わることはありません。」
これは、ハードウェアの禁輸措置に対処することの複雑さと、ハードウェアの開発サイクルがソフトウェアに比べて長いことを強調しています。理想的には、クロー・ハートマンはハードウェア企業に「もっと早く行動してほしい」と願っており、これは政府や規制機関の考えとも一致しています。
Kroah-Hartmanはまた、「現在の多くの人々は、Linuxの商業ディストリビューションモデルが死んではいないものの、もはや大多数ではないことを認識していない」と指摘しました。「世界のサーバーとシステムの80%は、Debian、Fedora、またはopenSUSEに基づく無料でオープンソースのプロジェクトを実行しています」 -- Red Hat Enterprise Linux (RHEL)やSUSE Linux Enterprise Server (SLES)ではありません。
その現実は、安全保障に関する課題を複雑にしています。というのも、コラ・ハートマンが説明したように、「これらのオープンソースプロジェクトに関わるコミュニティは、メンバーが他の国に住んでいたり、異なる会社で働いているため、秘密保持契約(NDA)に署名することができません。」ということです。
代わりに、Linuxカーネル開発者のセキュリティチームは契約のない「アドホックの非公式グループ」です。クロアハートマンは続けて、「それが私たちが企業や政府に中立的な方法でこれを行うための基盤を築くのに最良のことでした。それが私たちにとって多くの問題を救ってくれました。」と述べました。
仕組み:人々はセキュリティレポートをグループのメンバーに送ります。メールリストさえありません。単なる小さなグループで、何の会社も代表していません。クロアハートマンは「すべては秘密に保たれており、2005年以降、漏えいは一度もありません」と付け加えました。
彼らが行うことは、クロウ・ハートマンが続けたように、「報告をトリアージし、何が問題かを特定し、適切な開発者を呼び寄せることです。彼らがリストに載っていない場合には、できるだけ早く修正を作成してもらいます。このパッチはその後、Linuxの安定版ブランチに含まれます。それだけです。」
「できるだけ早く」と言われると、それは本当に意味があります。「修正が完了するまで最大でも7日間は保持します。これは、修正が完了した後です。」とクロア・ハートマンは続けました。「報告を受けたら、できるだけ早く作業を始めます。修正に1年以上かかったこともありますし、ネットワークの問題もありました。適切に修正するまで18か月かかったと思います。しかし、修正したら、その修正を適用します。」
このグループはセキュリティ修正の発表もしません。「私たちは何も発表しません。特別なことは言いません。ただ、通常のバグ修正のように見えるようにそれを押し込むだけです。」
はい、それは人々を怒らせることがあります。しかし、クロア・ハートマンは説明しました。「セキュリティチームの人々にとって、バグはバグであり、バグです。セキュリティ修正には特別なものはありません。そして、セキュリティ修正を特別なものとして呼ぶなら、他の修正が特別ではないことを暗示することになります。」
それは間違いです。Kroah-Hartmanによれば、「バグはすべて、カーネルレベルでのセキュリティ問題になる可能性があります。」彼が数年前にTTY、今日のLinuxのマイナーなサブシステムに対して行った小さなバグ修正は、致命的なセキュリティホールを持っていることが判明しました。それにより誰でもRHELシステムでルートアクセスを得ることができました。セキュリティ問題がどこで、いつ発生するかわからないのです。
クロア=ハートマンは、"Linuxカーネルは約3000万行のコードがあるが、あなたのサーバーでは約200万行、電話では400万行、テレビでは150万行しか使用していない。しかし、私たちはあなたが何を使用しているのかはわからない。Linuxは至る所にあり、あなたの車、衛星、そして牛の搾乳機にも使われている。私たちはあなたの使用ケースを知らない。私たちはあなたがLinuxをどのように使用しているのか知らない。私たちはセキュリティモデルが何であるか知らない。"したがって、あらゆるものが必須であると考えなければならない。
それでは、自分を守るために何ができるのでしょうか?Kroah-Hatmanは、常に最新の長期安定版(LTS)カーネルを使用すべきだと強調しました。
残念ながら、ごく少数のLinuxディストリビューションがそれを行っています。彼は、カーネルを定期的に更新しない企業を批判しました。彼の言うところでは、古くなったシステムは本質的に安全ではありません。
これは彼の意見だけではありません。Kroah-Hartmanは何年もの研究の後、堅牢なLinuxカーネルが報告される前に、すべての既知の最近のセキュリティ問題を修正したとするGoogleのAndroidセキュリティチームを引用しました。彼らは、安定したカーネルを使用することが常に効果的であるという文書による証拠を持っており、あなたのシステムは安全であるとしています。GoogleのLinuxカーネルエンジニア、Kees Cookは言いました。「では、ベンダーはどうすればよいのでしょうか?答えは簡単ですが、苦痛です:最新のカーネルリリースに、主要または安定版のいずれかに継続的に更新することです。」
