パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Intel CEO、Spectre/Meltdown脆弱性を解決するシリコンベースの修正内容を説明」記事へのコメント

  • 解決してないじゃん (スコア:2, すばらしい洞察)

    by Anonymous Coward on 2018年03月18日 19時41分 (#3378147)

    >バリアント1 (Spectre 1)はソフトウェアでの対策を続けるが、
    つまりSpectreは一部しか解決してない。

    >「Intel CEO、Spectre/Meltdown脆弱性を解決するシリコンベースの修正内容を説明」
    まるで脆弱性を両方解決したかのようの物言い。

    • by eru (12367) on 2018年03月18日 20時01分 (#3378157) 日記

      訴訟起きてリコールまでがワンセット
      # Pentiumの時は最初は対応するそぶりすら見せなかったけどな。

      親コメント
      • by Anonymous Coward

        リコールが起きたらどんなCPUと交換になるんだろう?
        それに加えて、普通は世代の異なるCPUだけ取り替えられないし、WindowsのDSPライセンスはPCIのLANカードに設定してるケースもありそうだけど。

      • by Anonymous Coward

        でも対応でパフォーマンスが落ちても訴訟するんでしょ?

        • by Anonymous Coward

          後から下位グレードの製品買ったのと同じにしても問題ないってことになるんなら、他も含めて皆ダウングレードやりだすぞ。

    • by Anonymous Coward on 2018年03月18日 20時56分 (#3378173)

      どう対処するのがベストなのか、それぞれ違うから。

      まず、分岐予測か投機実行という技術を使うのを止めてしまえば、問題になってる脆弱性は消えて無くなるけど、CPUの性能が大幅に劣化する。その辺の技術を安全に使うにはどうすれば良いかは、慎重に検討する必要がある。

      例えば、完全に廃止するんじゃなくプロセス間で分岐予測の結果が一切共有されないようにすれば、性能劣化をある程度に留めつつ、この脆弱性の問題を大幅に減らせる。

      でも、減らせても、ブラウザ上で走るJavascriptでアクセス不可能な情報を抜き出しうる、とされていたように、仮想マシンの類作ったサンドボックスへの封じ込めみたいに、完治しない問題は残る。諦めてCPU性能の大幅劣化を受け入れるか、その手のソフトウェアを作る時に気を付けるようにするか。

      また、プロセス間で共有されるようにしたままだと、別のプロセスのデータを不正に読み出せる危険はあるけど、ある種のソフトではその共有のおかげで性能が上がる可能性もある。共有のせいで不正行為を防止できるようにソフトを作る方法があるなら、そうした方が良い。

      逆に、ソフト側で対処すると性能が大幅に劣化する部分についてはCPUのアーキテクチャを変更した方が良い。

      親コメント
      • by Anonymous Coward

        > プロセス間で分岐予測の結果が一切共有されないようにすれば、
        されてます
        されてるけど嘘のつき方が下手だから何を知ってるかがバレる
        勉強し直してきて

        • by Anonymous Coward

          > > プロセス間で分岐予測の結果が一切共有されないようにすれば、
          > されてます

          どこにかかるのか分かりにくいけど、話の流れからして「共有」「されてます」ではないよね?
          「一切共有されないように」「されてます」で合ってる?

          > 嘘のつき方が下手だから

          嘘の付き方が下手だと、「一切」共有されないように、するという目標は達成できてないから、対策になってないと思うんだけど。

          • by Anonymous Coward

            「一切共有されないようにする」というのがリングプロテクションの仕様の一部
            「よく観察していると知っているかどうかが分かる」というのがMeltdown
            「一切」共有されないようにするのがretpolineはじめ各社の対策コード

            最初から共有することに意味があるものでも、共有するように作られているものでもない

            • by Anonymous Coward

              > 最初から共有することに意味があるものでも、共有するように作られているものでもない

              ・分岐予測をプロセス間で共有させれば、同じプログラムをたくさん並列で走らせている場合(CGIサーバとか)で性能が向上する可能性がある
              ・プロセスごとに分岐予測テーブルを変えるような仕組みは余りにコストが高く付きすぎる

              といった理由で共有されてるのかと思ってたけど、そういうわけでも無いのか。
              Hyper Threadingで同じコア上で走らされてるプロセス間ぐらいでしか共有されないのか。

    • by Anonymous Coward on 2018年03月18日 22時03分 (#3378197)

      解決してないのではない解決できない
      Spectre 1は投棄実行アルゴリズムの穴なので
      投棄実行をしている限り完全な防御は無理
      確率的に出来るだけ防ぐことは出来るが完全ではない
      そこらへんはAMDも同様
      あちらも同様に投棄実行を実装している為、成功確率的に低いがSpectre 1は存在する

      メモリ等のレスポンスを犠牲にして
      投棄実行を辞めればSpectre 1は解決する
      それをするには新規アーキテクチャを立ち上げないと行けないレベル
      それぐらい投棄実行は深く実装されている

      親コメント
      • Re:解決してないじゃん (スコア:3, おもしろおかしい)

        by Anonymous Coward on 2018年03月19日 0時15分 (#3378239)

        とりあえずポイ捨てはやめよう

        親コメント
        • by Anonymous Coward

          ポイ捨てしたから回収されたのかw

      • by Anonymous Coward
        投棄したらあかん。投機や
        • by Anonymous Coward

          予想が外れると投棄せないかん

      • by Anonymous Coward

        c = *himitsu;
        b = a[c];
        みたいなコードで、1行目で例外が発生した場合、インテルのCPUでは投機実行で2行目が実行されちゃう。
        最終的には投機実行の結果は破棄されて、cにhimitsuのデータは入らないし、bにはa[c]の値は入らない。
        でも、投機実行中はcにhimitsuのデータが入り、a[c]が読み出される。
        事前にaをキャッシュから追い出しておけば、配列aの中でcの位置のデータだけがキャッシュに載っている状態になる。
        もし、himitsuが8bitのデータなら、配列aのサイズを256にしておけば、配列を先頭から順番に読んで、
        一番速く読み出せた位置を調べることでキャッシュに載っている位置

    • by Anonymous Coward

      既存の製品はアップデートで対応できてんの?
      ちゃんと動くアップデート配信されてんの?
      うまく動かないと言う話しか聞こえてこないんだけど

    • by Anonymous Coward

      じゃん

アレゲはアレゲを呼ぶ -- ある傍観者

処理中...