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 をサポートしていません。