Linux 5.4 カーネルは、カーネル内部への root アクセスを制限するパッチを受け取りました

リーナス・トーバルズ 受け入れた Linux 5.4 カーネルの今後のリリースには、一連のパッチが含まれています。封鎖"、 提案された David Howells (Red Hat) と Matthew Garrett (マシュー・ギャレット、Google で働いています)を使用して、カーネルへの root ユーザーのアクセスを制限します。 ロックダウン関連の機能は、オプションでロードされる LSM モジュール (Linuxセキュリティモジュール)、UID 0 とカーネルの間に障壁を置き、特定の低レベルの機能を制限します。

攻撃者がルート権限でコードを実行すると、kexec を使用してカーネルを置き換えたり、/dev/kmem を介してメモリの読み取り/書き込みを行ったりすることにより、カーネル レベルでコードを実行できます。 このような活動の最も明白な結果は次のとおりです。 バイパス UEFI セキュア ブート、またはカーネル レベルで保存された機密データの取得。

当初、ルート制限機能は検証済みブートの保護を強化するという文脈で開発され、ディストリビューションではかなり長い間、サードパーティのパッチを使用して UEFI セキュア ブートのバイパスをブロックしてきました。 同時に、そのような制限はカーネルの主要な構成には含まれていませんでした。 意見の相違 実装の際の不安や、既存のシステムに混乱が生じるのではないかという懸念があります。 「ロックダウン」モジュールは、ディストリビューションですでに使用されているパッチを吸収し、UEFI セキュア ブートに関連付けられていない別のサブシステムの形で再設計されました。

ロックダウン モードでは、/dev/mem、/dev/kmem、/dev/port、/proc/kcore、debugfs、kprobes デバッグ モード、mmiotrace、tracefs、BPF、PCMCIA CIS (カード情報構造)、一部の ACPI インターフェイスおよび CPU へのアクセスが制限されます。 MSR レジスタ、kexec_file および kexec_load 呼び出しはブロックされ、スリープ モードは禁止され、PCI デバイスの DMA 使用は制限され、EFI 変数からの ACPI コードのインポートは禁止されます。
シリアルポートの割り込み番号や I/O ポートの変更を含む、I/O ポートの操作は許可されません。

デフォルトでは、ロックダウン モジュールはアクティブではありません。ロックダウン モジュールは、kconfig で SECURITY_LOCKDOWN_LSM オプションが指定されているときに構築され、カーネル パラメータ「lockdown=」、制御ファイル「/sys/kernel/security/lockdown」またはアセンブリ オプションを通じてアクティブになります。 LOCK_DOWN_KERNEL_FORCE_*、「整合性」と「機密性」の値を取ることができます。 XNUMX 番目のケースでは、実行中のカーネルにユーザー空間から変更を加えることができる機能がブロックされ、XNUMX 番目のケースでは、カーネルから機密情報を抽出するために使用できる機能も無効になります。

ロックダウンはカーネルへの標準アクセスを制限するだけであり、脆弱性の悪用による変更を防ぐものではないことに注意することが重要です。 Openwall プロジェクトによってエクスプロイトが使用される場合に、実行中のカーネルへの変更をブロックするには 開発中です 別個のモジュール LKRG (Linux カーネル ランタイム ガード)。

出所: オープンネット.ru

コメントを追加します