SUSE エンジニアの Nikolay Borisov 氏は本日、x86_64 Linux システム上で実行される x86 32 ビット プロセスのサポートを無効にする「ia32_disabled」に対するパッチ セットを送信しました。最初のステップとして、これは「ia32_disabled」が設定されている場合の起動時オプションになります。
SUSE は、IA32 互換性レイヤーを無効にする機能に関心を持っており、提案されたパッチにより、32 ビット プロセスの無効化だけでなく、64 ビット カーネル上での 32 ビット システム コールの無効化も可能になります。
ただし、彼らは 32 ビットのレガシー ソフトウェアがまだ使用されていることを認めているため、現時点では「ia32_disabled」カーネル オプションを介して起動時のオプションになっていますが、最終的には Kconfig ビルドとして提供される可能性があります。-time スイッチは、32 ビットのシステムコールとプロセスのサポートを完全に無効にする場合に使用します。
パッチのコメントは次のように詳しく説明されています。
「ディストリビューションは攻撃対象領域をできる限り減らしたいと考えていますが、同時にさまざまなレガシー ソフトウェアに対応する必要があります。ディストリビューションがバランスを取る必要がある手段の 1 つは、32 ビット システムコールのサポートです。 64 ビット カーネル。理想的には、ブート時に互換サポートを無効にできるようにします。これにより、互換サポートを無効にするか有効にするかの決定をシステム管理者に委任できるようになります。
…
32 ビット syscall インターフェイスを無効にすることに加えて、32 ビット プロセスを実行する機能も無効にしましょう。これは、GDT_ENTRY_DEFAULT_USER32_CS 記述子を存在しないように設定することで実現されます。これにより、32 ビット プロセスが #NP 例外でトラップされます。さらに、互換プロセスのロードも禁止します。.”
現時点でのパッチ シリーズは、でレビュー中です。 LKML。この取り組みがどのように進展するか、また 32 ビット プロセスのサポートをオプションで無効にすることに他のベンダーがどの程度の関心を持っているかを見るのは興味深いでしょう。