Intel CPUセキュリティホールパッチにより失われたパフォーマンスを回復するために、ページテーブル分離を無効にする方法


43

現在のIntel CPUセキュリティホールの問題のため、システムパフォーマンスを低下させるパッチが予想されます。

Ubuntuシステムにこのパッチがインストールされないようにするにはどうすればよいですか?


49
他のさまざまなセキュリティメカニズムを無効にすることで、システムのパフォーマンスをさらに向上させることができます。いいえ、それは推奨事項ではありません。
scai

11
パフォーマンスが重要な場合は、最新のカーネルリリース候補を自分で構築し、ワークロードのパフォーマンスの低下をテストすることをお勧めします。オーバーヘッドは無視できるか、許容できるものであることがわかります。
ジェフリーボスブーム

5
これがどれほどひどいアイデアであるかを誇張することはできません。
アレクサンダー

13
私は反対します。個人的にはセキュリティ機能を無効にすることはお勧めしませんが、パフォーマンスヒットがptiを無効にしていることに気づいたユーザーにとっては、この特定のセキュリティホールに対する攻撃とターゲットコンピュータ/データの価値を活用することがいかに難しいかを考えると、合理的な選択肢かもしれません。問題は、このオプションを無効にする方法ではなく、このオプションを無効にする方法です。
パンサー

2
私は同意します、PTIは無視できないコストを持つセキュリティ機能です。それが彼らにとって正しいかどうか、そしてこの質問の範囲外であるかどうかを決定するのはOPです。
ジェイク

回答:


55

パッチ(「ページテーブル分離」とも呼ばれます)は、通常のカーネル更新(システムを更新すると取得されます)の一部になります。ただし、カーネルを他の多くのセキュリティ修正も受けるため、カーネルを最新の状態に保つことを強くお勧めします。したがって、修正せずに古いカーネルを使用することお勧めしません

ただし、カーネルコマンドライン(howto)にpti=offカーネルパッチでこのオプションを追加し、詳細情報を追加して)パッチを効果的に無効にすることができます。これを行うと、システムの安全性が低下することに注意してください。

PostgreSQLメーリングリストには、PTIを有効または無効にした情報とパフォーマンスのテストがあります-TLDRは、10〜30%のパフォーマンスへの影響があります(つまり、ProstgreSQLの場合、ゲームなどのその他の影響はおそらく少ないでしょう) 。

AMD は明らかに影響を受けないreddit)ため、これ Intelプロセッサにのみ影響することに注意してください。したがって、AMDではデフォルトでこれが無効になると予想されます。


2
「...これはAMDではデフォルトで無効になります。」Canonicalが提供するAMD CPUを搭載したマシンで実行されるUbuntuオペレーティングシステム用の追加のカーネルバージョンがあるということですか?:)
cl-netbox

16
いいえ、カーネルは(起動時に)AMD CPUで実行されている天気を検出し、修正がある場合は無効にします。@ cl-netbox
JonasCz-モニカの復活

1
register.co.uk/2018/01/04/intel_amd_arm_cpu_vulnerabilityによると、AMDチップは少なくとも1つのさまざまなSpectre攻撃(ブランチターゲットインジェクション)の影響を受けるため、今週はパフォーマンスに影響を与える可能性のあるカーネルの更新が行われる予定です。メルトダウンが適切に行われていなくても。
デイブシェーロマン

1
どうやらこの機能はx64アーキテクチャにありますが、i386 / IA-32。にはありません。このため、パッチは32ビットLinuxにも影響しません(security / KconfigにはPAGE_TABLE_ISOLATIONを有効にするためにX86_64が必要です)。ただし、別の質問があります。32ビットLinuxがインストールされたx64マシンはどうですか、これらは影響を受けますか?もしそうなら、32ビット命令(古い原子ベースのネットブックなど)のみを実行するようにBIOSによって制限されている古いx64マシンはどうですか?彼らはアヒルに座っていますか?
-thePiGrepper

2
確実にわかるまで、これを使用することを計画していたJavaScriptベースの攻撃がありました。
ジョシュア

35

更新:この問題には、MeltdownとSpectreという2つのモニカーが与えられました。新しい情報で回答を更新しました。

最初はカーネルパッチになります。上位バージョンとして表示されます。インストール済みのためlinux-image-genericインストールされます。それがそのパッケージの目的です。したがって、削除できますlinux-image-generic。それは恐ろしい、悲惨なアイデアであり、あらゆる種類の厄介な問題にさらされます、それは可能です。そこまた中には以下のCPUのマイクロコードもlinux-firmwareで、CPUの修正のために。それは本当にIntelにあります。

これを修正するために従う方法は関係ありません。バグの本当の影響も、それを修正するためのパフォーマンスコストも知らない何かをバイパスするように求めています。

  • バグは厄介です。報告されたCVEは、プロセスにまたがるメモリ読み取りです。他のプロセスのメモリを読み取ることができるプロセス。入力、パスワード、全体。これはおそらくサンドボックスにも影響を与えます。非常に早い時期であり、人々は影響とアクセスの両方でこれをさらに推進することを期待しています。

  • パフォーマンスのヒットは、おそらくあなたが心配しているほど大きくはありません。人々が放り投げている数字は、理論的なサブシステムのパフォーマンス、または最悪の場合に焦点を当てています。キャッシュが不十分なデータベースは、最も大きな打撃を受けます。ゲーム、および日常的なものは、おそらくそれほど変化しません。

今でも実際のバグが何であるかを見ることができますが、影響が何であるかを言うのは時期尚早です。RAMへの無料の読み取りアクセスは悪いですが、もっと悪いことがあります。また、修正が実際にあなたに与える影響を確認するためにテストします(あなたが行うことで)。

フラグを使用してGRUB設定をプリロードしたり、カーネルメタパッケージをまだ削除したりしないでください。


7
必要なことはpti=off、カーネルコマンドライン(GRUB)に追加してパッチを無効にすることだけです。
JonasCz -復活モニカ

3
@JonasCzそのコメント-もし本当なら、私は知らない-特にリファレンスでそれをバックアップできるなら、それは別の答えの価値があるように聞こえる。
バイトコマンダー

私見noptiは良い選択です
パンサー

3
@Oli私はそのアドバイスに同意し、他の場所でそのような自分を与えました。とはいえ、問題は、必要に応じてこの新しいセキュリティ機能を無効にする方法です。IMOでは、noptiを無効にするオプションです。
パンサー

1
ええ、仮想マシンを使用すると、システムアクティビティの一部が99%遅くなりました。ホストから仮想マシンへのファイルのコピーには、2〜3秒かかっていましたが、今では1分以上かかります。
-rboy

14

これはお勧めしませんが、PTIを無効にすることは可能です

noptiカーネルコマンドラインパラメータ

Phoronixによると。

これを行うにnoptiは、GRUB_CMDLINE_LINUX_DEFAULTin で始まる行の隣の文字列に追加してから、/etc/default/grub実行します

sudo update-grub

その後、再起動します。

パフォーマンス関連のセキュリティ機能を無効にするカーネルブートパラメーターの詳細については、Ubuntu WikiのSpectre&Meltdown MitigationControlsを参照してください。


1
カーネルブートパラメーターnoptipti = offの違いは何ですか?
-niutech

@niutech違いはありません。証拠として、こちらをご覧ください
nixpower



3

最も簡単な方法:カーネル構成のチェックを外します

->セキュリティオプション

[]ユーザーモードでカーネルマッピングを削除します

その後、新しいカーネルをコンパイルします


1
Ask Ubuntuへようこそ!現在の形式では、あなたの答えは可能な限り良くありません。あなたは見直す可能性が良い答えを書く方法、および質問と回答のスタイルガイド。- レビューから
J. Starnes

2
悲しいことに、J。スターネスは正しい。極端な最後の手段を除いて、独自のカーネルをコンパイルすることはもうありません。
ジョシュア

これはカーネルオプションに対するかなり些細な変更ですが、IMO noptiはおそらく最も優れた/より簡単な選択肢です。
パンサー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.