GNU/Linux >> Linux の 問題 >  >> Linux

Linux で KPTI が有効になっているかどうかを確認するにはどうすればよいですか?

Linux カーネルは起動時に KPTI ステータスをログに記録するため、次のコマンドを実行すると、パッチが適用されたカーネルのステータスが出力されます。何も表示されない場合、KPTI は無効になっています。

dmesg -wH | grep 'Kernel/User page tables isolation'

Linux Kernel 4.15rc6 では KPTI (Kernel page-table isolation) が有効になり、Linux Kernel 4.14.11、4.9.74、4.4.109、3.16.52、および 3.2.97 に移植されました。

したがって、これらのバージョンのいずれかを実行している場合は、KPTI が適切に配置されています。ほとんどのディストリビューション (任意の Linux カーネル バージョンを実行している) は、1 日か 2 日以内に Linux カーネルにアップデートをプッシュして、メルトダウンとスペクターを修正します。

注:パラメータ pti=off を追加します KPTIを無効にするためにGRUBに。情報:https://askubuntu.com/questions/19486/how-do-i-add-a-kernel-boot-parameter


KPTI の状態を示すもの:

  • 標準カーネルでは、文字列 Kernel/User page tables isolation: enabled または Kernel/User page tables isolation: force enabled on command line dmesg で 出力は、カーネルがカーネル ページ テーブルの分離を実行していることを意味します。後者のメッセージは、カーネルが、この CPU にはページテーブルの分離が不要であると考えていることも意味します。

  • 一部のベンダーがパッチを適用したカーネル (主に RedHat および派生物):/sys/kernel/debug/x86/pti_enabled のゼロ以外の値 . 不在 ただし、このファイルの意味はありません。標準のカーネルでは提供されていません。

  • カーネル 4.14.18 以降および対応するバージョンの LTS カーネルでは、/sys/devices/system/cpu/vulnerabilities/meltdown の内容 :Mitigation: で始まる行 Not affected で始まる行は、軽減策 (KPTI、マイクロコード、またはその他のもの) が導入されていることを示します。 CPU は問題の影響を受けていないと考えられていることを示し、Vulnerable で始まる行 CPU が脆弱であると考えられているが、軽減策がまったくないか、不十分であることを示します。

KPTI の状態を示さないもの:

  • カーネル バージョン。カーネル 4.14.11 以降、および対応するバージョンの 4.1、4、4、および 4.9 LTS カーネルが対応 ただし、それらは無効にしてコンパイルすることができ、起動時に無効にすることができます。さらに、これらよりも古いバージョンが自動的に危険にさらされるわけではありません。一部のディストリビューションでは、KPTI パッチが古いカーネルにバックポートされています。

  • bugs : cpu_insecure /proc/cpuinfo で . this の存在は、if カーネルがページテーブルの分離用にコンパイルされ、if ブート時または実行時にページ テーブルの分離が無効になっていない場合は、ページ テーブルの分離が使用されます。さらに、それはしません CPU が Meltdown 攻撃に対して脆弱であることを示します。4.14.11 カーネルはすべての x86 CPU に対して設定しますが、4.14.12 カーネルはすべての非 AMD CPU (Pentium MMX や "Bonnell" Atom など) に対して設定します。脆弱でない CPU。

  • CONFIG_PAGE_TABLE_ISOLATION=y カーネル構成で。これは、カーネルがカーネル ページ テーブルの分離に対応していることを示しているだけです。 KPTI は、起動時にカーネル コマンド ラインから nopti を介して無効にすることができます。 または pti=off オプション。一部のシステムでは、実行時に 0 を記述することで無効にできます。 /sys/kernel/debug/x86/pti_enabled まで .


サポートされているカーネル:

dmesg | grep 'カーネル/ユーザー ページ テーブルの分離'

有効または無効になります。

結果がない場合、カーネルは KPTI をサポートしていません。


Linux
  1. Redhatのバージョンを確認する方法

  2. Linuxでタイムゾーンを確認する方法

  3. ターミナルでHZを確認するには?

  1. Linuxデスクトップでカーネルをアップグレードする方法

  2. Linuxでパスワードを確認するには?

  3. Linux カーネルが Retpoline に対応しているかどうかを確認するには?

  1. UbuntuでLinuxカーネルのバージョンを確認する方法は?

  2. Linuxでカーネルバージョンを確認する方法

  3. Linuxのログイン履歴を確認する方法