Microsoftが提案したLinuxカーネル6.13向けの変更が、IntelおよびAMDの64ビットCPUで制御フロー整合性(CFI)を破壊する結果となり、波紋を広げている。この問題の発端は、カーネル設定ARCH_HAS_EXECMEM_ROXの実装がx86カーネルメンテナーの承認を得ずに進められたことである。

CFIの破損に対し、IntelのエンジニアPeter Zijlstra氏は即座に修正を提案。AMDのBorislav Petkov氏も経緯に不満を表明した。特に、この混乱はセキュリティ技術CETの信頼性に疑念を生じさせ、業界全体に影響を及ぼしている。

業界標準であるCETは、リターンオリエンテッドプログラミング(ROP)やジャンプオリエンテッドプログラミング(JOP)といったサイバー攻撃を防ぐ重要なセキュリティ機能だ。Microsoftの対応の遅れがもたらす影響に注目が集まる。

MicrosoftによるLinuxカーネル変更が引き起こした技術的混乱

MicrosoftがLinuxカーネル6.13向けに提案したARCH_HAS_EXECMEM_ROX設定は、パフォーマンス向上を目指す一方で、制御フロー整合性(CFI)の破損を招いた。この設定は、AMDおよびIntelの最新64ビットCPUに対し、読み取り専用実行(ROX)権限の実行可能メモリを導入することを目的としていた。

しかし、変更がx86カーネルメンテナーの承認なしで進行し、モジュール構造やセキュリティ機能に重大な影響を与えた。IntelのPeter Zijlstra氏は「変更がCET(制御フロー強化技術)に未解決のバグを残している」と指摘し、EXECMEM_ROXサポートの撤回を提案した。

また、AMDのBorislav Petkov氏も「メンテナーの承認なく進められたことに驚いた」と批判している。こうした混乱は、産業界が共有するセキュリティ標準の維持に警鐘を鳴らすものと言えよう。今回の一件は、複数の利害関係者間での適切な協調が欠けると、技術的進歩が裏目に出る可能性を示したと言える。

次回のリリースサイクルでは、この問題がどのように解消されるか注目される。

制御フロー強化技術CETとその重要性

制御フロー強化技術(CET)は、現代のサイバーセキュリティの中核を成す技術である。この機能は、Shadow Stackと間接分岐ターゲティング(IBT)の2つの要素を組み合わせ、システムの安全性を高める。

Shadow Stackはリターンアドレスの改ざんを防ぎ、ROP(リターンオリエンテッドプログラミング)攻撃に対抗する。IBTはJOP(ジャンプオリエンテッドプログラミング)やCOP(コールオリエンテッドプログラミング)攻撃を防止する役割を担う。

この技術は、特にハードウェアとソフトウェアの連携が進む中で不可欠なセキュリティ対策となっている。しかし、今回の事態により、CETの信頼性そのものが議論の的となった。EXECMEM_ROXの不適切な実装が原因で、Shadow Stackが想定通りに機能しなくなるリスクが浮上したのである。

この問題は、CETのような高度なセキュリティ技術が依然として慎重な設計と管理を必要とすることを示している。開発者は、安全性を軽視することなく、新技術の導入を進める必要がある。

技術革新と業界全体の信頼維持の両立

Linuxは長年にわたり、オープンソースの理念と技術革新を体現してきた。しかし、Microsoftによる今回の変更は、業界全体の信頼を損ねる可能性を浮き彫りにした。特に、x86カーネルメンテナーの承認を無視した進行は、オープンソースプロジェクトのガバナンスが問われる事態を引き起こした。

IntelやAMDといった主要プレイヤーが迅速に対処したことで、最悪の事態は回避されたものの、この一件は「革新」と「信頼維持」という二つの課題の難しさを改めて示した。オープンソースの開発において、透明性と協調性を欠いた行動がいかにプロジェクト全体に波及するかが明確になったのである。

今後、Microsoftを含む主要企業が、同様の事態を防ぐためにどのような対応を取るかが問われる。技術革新と業界全体の信頼維持は相反するものではなく、むしろ両立が不可欠であることを、この事例が教えている。