アカウント名:
パスワード:
>バリアント1 (Spectre 1)はソフトウェアでの対策を続けるが、つまりSpectreは一部しか解決してない。
>「Intel CEO、Spectre/Meltdown脆弱性を解決するシリコンベースの修正内容を説明」まるで脆弱性を両方解決したかのようの物言い。
訴訟起きてリコールまでがワンセット# Pentiumの時は最初は対応するそぶりすら見せなかったけどな。
リコールが起きたらどんなCPUと交換になるんだろう?それに加えて、普通は世代の異なるCPUだけ取り替えられないし、WindowsのDSPライセンスはPCIのLANカードに設定してるケースもありそうだけど。
でも対応でパフォーマンスが落ちても訴訟するんでしょ?
後から下位グレードの製品買ったのと同じにしても問題ないってことになるんなら、他も含めて皆ダウングレードやりだすぞ。
どう対処するのがベストなのか、それぞれ違うから。
まず、分岐予測か投機実行という技術を使うのを止めてしまえば、問題になってる脆弱性は消えて無くなるけど、CPUの性能が大幅に劣化する。その辺の技術を安全に使うにはどうすれば良いかは、慎重に検討する必要がある。
例えば、完全に廃止するんじゃなくプロセス間で分岐予測の結果が一切共有されないようにすれば、性能劣化をある程度に留めつつ、この脆弱性の問題を大幅に減らせる。
でも、減らせても、ブラウザ上で走るJavascriptでアクセス不可能な情報を抜き出しうる、とされていたように、仮想マシンの類作ったサンドボックスへの封じ込めみたいに、完治しない問題は残る。諦めてCPU性能の大幅劣化を受け入れるか、その手のソフトウェアを作る時に気を付けるようにするか。
また、プロセス間で共有されるようにしたままだと、別のプロセスのデータを不正に読み出せる危険はあるけど、ある種のソフトではその共有のおかげで性能が上がる可能性もある。共有のせいで不正行為を防止できるようにソフトを作る方法があるなら、そうした方が良い。
逆に、ソフト側で対処すると性能が大幅に劣化する部分についてはCPUのアーキテクチャを変更した方が良い。
> プロセス間で分岐予測の結果が一切共有されないようにすれば、されてますされてるけど嘘のつき方が下手だから何を知ってるかがバレる勉強し直してきて
> > プロセス間で分岐予測の結果が一切共有されないようにすれば、> されてます
どこにかかるのか分かりにくいけど、話の流れからして「共有」「されてます」ではないよね?「一切共有されないように」「されてます」で合ってる?
> 嘘のつき方が下手だから
嘘の付き方が下手だと、「一切」共有されないように、するという目標は達成できてないから、対策になってないと思うんだけど。
「一切共有されないようにする」というのがリングプロテクションの仕様の一部「よく観察していると知っているかどうかが分かる」というのがMeltdown「一切」共有されないようにするのがretpolineはじめ各社の対策コード
最初から共有することに意味があるものでも、共有するように作られているものでもない
> 最初から共有することに意味があるものでも、共有するように作られているものでもない
・分岐予測をプロセス間で共有させれば、同じプログラムをたくさん並列で走らせている場合(CGIサーバとか)で性能が向上する可能性がある・プロセスごとに分岐予測テーブルを変えるような仕組みは余りにコストが高く付きすぎる
といった理由で共有されてるのかと思ってたけど、そういうわけでも無いのか。Hyper Threadingで同じコア上で走らされてるプロセス間ぐらいでしか共有されないのか。
解決してないのではない解決できないSpectre 1は投棄実行アルゴリズムの穴なので投棄実行をしている限り完全な防御は無理確率的に出来るだけ防ぐことは出来るが完全ではないそこらへんはAMDも同様あちらも同様に投棄実行を実装している為、成功確率的に低いがSpectre 1は存在する
メモリ等のレスポンスを犠牲にして投棄実行を辞めればSpectre 1は解決するそれをするには新規アーキテクチャを立ち上げないと行けないレベルそれぐらい投棄実行は深く実装されている
とりあえずポイ捨てはやめよう
ポイ捨てしたから回収されたのかw
予想が外れると投棄せないかん
c = *himitsu;b = a[c];みたいなコードで、1行目で例外が発生した場合、インテルのCPUでは投機実行で2行目が実行されちゃう。最終的には投機実行の結果は破棄されて、cにhimitsuのデータは入らないし、bにはa[c]の値は入らない。でも、投機実行中はcにhimitsuのデータが入り、a[c]が読み出される。事前にaをキャッシュから追い出しておけば、配列aの中でcの位置のデータだけがキャッシュに載っている状態になる。もし、himitsuが8bitのデータなら、配列aのサイズを256にしておけば、配列を先頭から順番に読んで、一番速く読み出せた位置を調べることでキャッシュに載っている位置
既存の製品はアップデートで対応できてんの?ちゃんと動くアップデート配信されてんの?うまく動かないと言う話しか聞こえてこないんだけど
5年超のCPUは対応せんの?家のメインマシンはC2Qなんだが
そもそもC2Qが該当するのかどうか。Sandy以降はmicrocodeがアップデートされてるけど、Spectre/Meltdown対策かどうかは分からないけど。https://downloadcenter.intel.com/download/27591/Linux-Processor-Microc... [intel.com]
ここ見て確認してマイクロコードの開発状況が載ってるhttps://newsroom.intel.com/wp-content/uploads/sites/11/2018/03/microco... [intel.com]
C2QだがProduction StatusがPlanningだったやる気はあるというアリバイの様な orz......
見た限り、Sandy以降のアップデートはSpectre対策済みのようだねWindowsだとMicrosoft純正のアップデートがどこまで反映されてるか分からないけど、VMWareのツールでやってしまうか
じゃん
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
解決してないじゃん (スコア:2, すばらしい洞察)
>バリアント1 (Spectre 1)はソフトウェアでの対策を続けるが、
つまりSpectreは一部しか解決してない。
>「Intel CEO、Spectre/Meltdown脆弱性を解決するシリコンベースの修正内容を説明」
まるで脆弱性を両方解決したかのようの物言い。
Re:解決してないじゃん (スコア:1)
訴訟起きてリコールまでがワンセット
# Pentiumの時は最初は対応するそぶりすら見せなかったけどな。
Re: (スコア:0)
リコールが起きたらどんなCPUと交換になるんだろう?
それに加えて、普通は世代の異なるCPUだけ取り替えられないし、WindowsのDSPライセンスはPCIのLANカードに設定してるケースもありそうだけど。
Re: (スコア:0)
でも対応でパフォーマンスが落ちても訴訟するんでしょ?
Re: (スコア:0)
後から下位グレードの製品買ったのと同じにしても問題ないってことになるんなら、他も含めて皆ダウングレードやりだすぞ。
Re:解決してないじゃん (スコア:1)
どう対処するのがベストなのか、それぞれ違うから。
まず、分岐予測か投機実行という技術を使うのを止めてしまえば、問題になってる脆弱性は消えて無くなるけど、CPUの性能が大幅に劣化する。その辺の技術を安全に使うにはどうすれば良いかは、慎重に検討する必要がある。
例えば、完全に廃止するんじゃなくプロセス間で分岐予測の結果が一切共有されないようにすれば、性能劣化をある程度に留めつつ、この脆弱性の問題を大幅に減らせる。
でも、減らせても、ブラウザ上で走るJavascriptでアクセス不可能な情報を抜き出しうる、とされていたように、仮想マシンの類作ったサンドボックスへの封じ込めみたいに、完治しない問題は残る。諦めてCPU性能の大幅劣化を受け入れるか、その手のソフトウェアを作る時に気を付けるようにするか。
また、プロセス間で共有されるようにしたままだと、別のプロセスのデータを不正に読み出せる危険はあるけど、ある種のソフトではその共有のおかげで性能が上がる可能性もある。共有のせいで不正行為を防止できるようにソフトを作る方法があるなら、そうした方が良い。
逆に、ソフト側で対処すると性能が大幅に劣化する部分についてはCPUのアーキテクチャを変更した方が良い。
Re: (スコア:0)
> プロセス間で分岐予測の結果が一切共有されないようにすれば、
されてます
されてるけど嘘のつき方が下手だから何を知ってるかがバレる
勉強し直してきて
Re: (スコア:0)
> > プロセス間で分岐予測の結果が一切共有されないようにすれば、
> されてます
どこにかかるのか分かりにくいけど、話の流れからして「共有」「されてます」ではないよね?
「一切共有されないように」「されてます」で合ってる?
> 嘘のつき方が下手だから
嘘の付き方が下手だと、「一切」共有されないように、するという目標は達成できてないから、対策になってないと思うんだけど。
Re: (スコア:0)
「一切共有されないようにする」というのがリングプロテクションの仕様の一部
「よく観察していると知っているかどうかが分かる」というのがMeltdown
「一切」共有されないようにするのがretpolineはじめ各社の対策コード
最初から共有することに意味があるものでも、共有するように作られているものでもない
Re: (スコア:0)
> 最初から共有することに意味があるものでも、共有するように作られているものでもない
・分岐予測をプロセス間で共有させれば、同じプログラムをたくさん並列で走らせている場合(CGIサーバとか)で性能が向上する可能性がある
・プロセスごとに分岐予測テーブルを変えるような仕組みは余りにコストが高く付きすぎる
といった理由で共有されてるのかと思ってたけど、そういうわけでも無いのか。
Hyper Threadingで同じコア上で走らされてるプロセス間ぐらいでしか共有されないのか。
Re:解決してないじゃん (スコア:1)
解決してないのではない解決できない
Spectre 1は投棄実行アルゴリズムの穴なので
投棄実行をしている限り完全な防御は無理
確率的に出来るだけ防ぐことは出来るが完全ではない
そこらへんはAMDも同様
あちらも同様に投棄実行を実装している為、成功確率的に低いがSpectre 1は存在する
メモリ等のレスポンスを犠牲にして
投棄実行を辞めればSpectre 1は解決する
それをするには新規アーキテクチャを立ち上げないと行けないレベル
それぐらい投棄実行は深く実装されている
Re:解決してないじゃん (スコア:3, おもしろおかしい)
とりあえずポイ捨てはやめよう
Re: (スコア:0)
ポイ捨てしたから回収されたのかw
Re: (スコア:0)
Re: (スコア:0)
予想が外れると投棄せないかん
Re: (スコア:0)
c = *himitsu;
b = a[c];
みたいなコードで、1行目で例外が発生した場合、インテルのCPUでは投機実行で2行目が実行されちゃう。
最終的には投機実行の結果は破棄されて、cにhimitsuのデータは入らないし、bにはa[c]の値は入らない。
でも、投機実行中はcにhimitsuのデータが入り、a[c]が読み出される。
事前にaをキャッシュから追い出しておけば、配列aの中でcの位置のデータだけがキャッシュに載っている状態になる。
もし、himitsuが8bitのデータなら、配列aのサイズを256にしておけば、配列を先頭から順番に読んで、
一番速く読み出せた位置を調べることでキャッシュに載っている位置
Re: (スコア:0)
既存の製品はアップデートで対応できてんの?
ちゃんと動くアップデート配信されてんの?
うまく動かないと言う話しか聞こえてこないんだけど
Re: (スコア:0)
5年超のCPUは対応せんの?
家のメインマシンはC2Qなんだが
Re: (スコア:0)
そもそもC2Qが該当するのかどうか。
Sandy以降はmicrocodeがアップデートされてるけど、Spectre/Meltdown対策かどうかは分からないけど。
https://downloadcenter.intel.com/download/27591/Linux-Processor-Microc... [intel.com]
Re: (スコア:0)
ここ見て確認して
マイクロコードの開発状況が載ってる
https://newsroom.intel.com/wp-content/uploads/sites/11/2018/03/microco... [intel.com]
Re:解決してないじゃん (スコア:1)
C2QだがProduction StatusがPlanningだった
やる気はあるというアリバイの様な orz......
Re: (スコア:0)
見た限り、Sandy以降のアップデートはSpectre対策済みのようだね
WindowsだとMicrosoft純正のアップデートがどこまで反映されてるか分からないけど、
VMWareのツールでやってしまうか
Re:解決してない (スコア:0)
じゃん