パスワードを忘れた? アカウント作成
15508094 story
Intel

第12世代CoreでLinuxのSpectre・Meltdown対策パッチを無効化する意味はない 44

ストーリー by nagazou
デフォでよし 部門より
LinuxではSpectreやMeltdown問題の対策として脆弱性対策を無効化するオプションパラメーターが存在している。2018年以前のインテル製CPUでは、SpectreやMeltdown対策は行われていないが、一部のLinuxユーザーはこの「mitigations=off」オプションをつけて起動することで、パフォーマンスを向上させていたという。この行為はセキュリティ上のリスクを伴うものだが、前世代のIntel CPUであれば測定可能な明確な性能差が出ることも分かっていたという(Phoronix)。

しかし、11月に発売された第12世代Core プロセッサ(Alder Lake-S)でもこのオプションを利用する意味があるのだろうか。Phoronixに掲載された記事では、その疑問に答えるためにオプションの有効・無効化によるパフォーマンスの差を調査している。Intel Core i9 12900K(Alder Lake-S)を搭載したシステムにUbuntu 21.10(Linuxカーネル5.15)をインストールした環境でテストが行われている。

それぞれのテスト内容やテスト項目に関しては元記事を見ていただきたいが、結論としてはIntel Core i9 12900K環境では「mitigations = off」の有無による差は、全体的にごくわずかなものだった。記事ではAlder Lake環境であれば、「mitigations = off」オプションを変更する価値はないと結論づけている。
  • by Anonymous Coward on 2021年12月08日 17時49分 (#4166141)

    sync; sync; sync

    ここに返信
    • by donadona (37711) on 2021年12月08日 22時26分 (#4166319)

      STOPキー連打・・・は20世紀までか。

    • by Anonymous Coward

      やってます…。
      ※ 仮想マシンですら、ついやってしまう。

      • by Anonymous Coward on 2021年12月08日 18時10分 (#4166163)

        1つ目の sync は,キャッシュをディスクに書き込むため。
        2つ目の sync は,1つ目の sync が非同期的に実行されたときに wait するため。
        3つ目の sync は,念のため。

        • by Anonymous Coward

          1つ目の sync は,キャッシュをディスクに書き込むため。
          2つ目の sync は,1つ目の sync が非同期的に実行されたときに wait するため。
          3つ目の sync は,念のため。

          艱難辛苦の語源である(嘘

        • by Anonymous Coward

          なるほど、保存用、布教用、観賞用の順ってことか。

        • by Anonymous Coward

          ヨシ!
          ヨシ!
          ヨシ!

          ↑こうすると途端に不安になる…

      • by Anonymous Coward

        私もやってます。GUIからのシャトダウンが心配なのでコンソールを開いてsync^3してから落としてます。 
        今はほんとに意味ないの?

        • by Anonymous Coward

          GUIからのシャトダウン、というか、正規ルートでのシャットダウンに不安があるのに、ユーザー操作可能な状況(他のプロセスが、いくらでも更新できるので何の意味もない)での syncをやって安心するってほうが、おかしくない?

      • by Anonymous Coward

        仮想マシンをshutdownした後、ホストでもやる

  • by Anonymous Coward on 2021年12月08日 17時12分 (#4166099)

    パッチによる性能どうこうではなくパッチなんか不要だよになってないのがなんとも

    ここに返信
    • by Anonymous Coward

      ハードウェアで完璧に対応しているかは追っていないので不明ですが、そもそも Linux の考え方としてハードウェア(あるいは Intel)をそこまで信用していないのかと
      参考:Linuxに対し米当局がバックドアを仕掛けたとされるIvyBridgeの乱数生成命令を使うなという要望、Linusキレる [srad.jp]

      あと元々の問題が高速化のための投機実行およびキャッシュに起因しているので、ハードウェアで完璧に対応するよりハードウェア+ソフトウェアで対応する方が速度的に有利、とかないかなぁ

      • by Anonymous Coward

        あと「対策済みCPUなら無効化するもの」という認識が広がると、対策済みでないマシンでもうっかり無効化した状態でセットアップしてしまう例が多発することも予想できる
        くらいにはマシン管理者を信用してない方が安全かもね。

        • by Anonymous Coward

          普通はCPUIDみて自動適用でしょ?
          一般的な使用方法ではユーザーが決めることはないかと
          もちろんLinuxでもWindowsでも

          • by Anonymous Coward

            ユーザーが手動で無効化オプションを設定するという話題なのに「自動適用でしょ?」って何が言いたいのか理解できないです。

    • by Anonymous Coward

      嫌なら全く新しいCPUを発明してもいいんだぞってレベルの話だからね
      出た頃から頭のいい人達が直らないぞって言ってた通り

  • by Anonymous Coward on 2021年12月08日 17時38分 (#4166124)

    システムコール毎に余分な処理してるのに、ほぼ速度変わらないってどういう原理なんだろう。
    一部の対策が不要になったからとかなら分かるんだけど。

    ここに返信
    • by Anonymous Coward on 2021年12月09日 12時23分 (#4166594)

      出鱈目なコメントばっかりなので、正解をかいておく。

      まず今のカーネルはCPUの種類を調べて、脆弱性の有無で動作を切り替えている。
      脆弱性があれば、処理は重くなるけど安全なルーチンを使い、
      脆弱性がなければ、処理が軽いルーチンを使う。

      そして mitigations=off オプションを指定すると、脆弱性の有無を無視して、処理が軽いルーチンが常に選ばれるようになる。

      具体的な動作は次のようになる。
      まず脆弱性が大量にある古いCPUを使っている場合:
      mitigations=off オプションなしの場合。脆弱性がたくさんあるので、重いルーチンが多数使われる。結果、激重になる。
      mitigations=off オプションありの場合。全部軽いルーチンに切り替わるので、劇的にパフォーマンスがあがる。(当然セキュリティーホールだらけになる)

      次に脆弱性が少ないCPUを使っている場合:
      mitigations=off オプションなしの場合。そもそも脆弱性が少ないので、重いルーチンはあまり使われてない。だから少しだけ重くなる。
      mitigations=off オプションありの場合。少しだけ軽いルーチンに切り替わるから、少しだけ軽くなる。

      このような動作になるので、CPUが新しくなって脆弱性が少なくなるほど、「mitigations = off」の有無による差は小さくなります。

    • by Anonymous Coward

      使用コアがビッグリトル運用の副作用で多用ユーザプロセスとカーネルごく自然に別々に割り当てられてるんでしょ
      ARMのAndroidやApple系OSが現状どうなってんのかは知らんけど

      • by Anonymous Coward

        なるほど。
        そこまで考えて、spectre系直さなくてもBigLittleで行けば解決すると判断して路線変更(?)したらな、Intelすごいなと思う。

    • by Anonymous Coward

      決まった命令パターンに最適化して、投機実行しておくとかでは。

    • by Anonymous Coward

      SpectreやMeltdownに繋がる
      特定命令パターンを避けてはいるだろうね
      今回追加されたハードウェアスケジューラがそこらへん上手くやってるんだろ
      Atomコアを元にしてるEコアを上手く使って投機実行させないとか
      カーネルとユーザーランドを分離させたりと色々対策してあって
      ソフトウェアの対策とコスト的な差がそんなに無いとか
      そんな感じじゃないかな

  • by Anonymous Coward on 2021年12月08日 20時07分 (#4166253)

    Ivyおじさんなので設定してます。目に見えるほどは違いませんけどね。

    ここに返信
    • by Anonymous Coward

      小さい字が見えずらくなりまして...

  • by Anonymous Coward on 2021年12月09日 0時59分 (#4166370)

    意識低い系?

    ここに返信
    • by Anonymous Coward

      ブラウザなんて走らせないサーバーで、信頼できるプログラムしか使ってないなら、対策なんていらないやん。
      覗き見するプログラムが走り出した時点で負け。

    • by Anonymous Coward

      これだけ大々的に対処されてしまうと攻撃する側もあまり成功が期待出来ないから、対策の無効化してもさして影響がないかもしれないなーとは思う

    • by Anonymous Coward

      この件についてはあんだけ大騒ぎして実害0だしな
      0リスク主義者は大変だわ

      • by Anonymous Coward

        大騒ぎして短期間で対策したから被害が少なかったんだと思うが。
        あと実害0はどうやって判断したのさ?
        痕跡を残さずにデータをこっそり読みだせるという、CPUのバグなんだから被害には気づかないのだが。
        だから厄介なんだよ。

        • by Anonymous Coward

          当初からまともなexploitコード出てこなくて、使いようが無いって散々言われてたよね?
          無かった悪魔の証明なんかできないんだから、実害合ったなら合ったと実例示して貰わないとね。
          そもそもだれも気づいてないなら実害無かったで良いのよ。

          とはいえ政府国防系とか金融系とか、ゼロリスクを求められる分野が有るのはわかるが、
          「高性能モード」「高信頼モード」とかに分けて実施して欲しかったところだ。
          コンシューマ向けなんか全くやる必要なかった。

    • by Anonymous Coward

      ホスト:有効
      ゲスト:無効

      ってのは二重負荷避けに有り得なくもない

      # VPSでは両方有効じゃないと怖いけど

    • by Anonymous Coward

      意識高い系は意識高い人を真似ただけの意識高くない人のことだから、意識低い系は意識低くない

      と思うんだ

typodupeerror

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

読み込み中...